自定义参数passback_params-参数解读系列

简介: passback_params:公用回传参数,如果请求时传递了该参数,则返回给商户时会回传该参数。支付宝只会在异步通知时将该参数原样返回。本参数必须进行UrlEncode之后才可以发送给支付宝1.

passback_params:公用回传参数,如果请求时传递了该参数,则返回给商户时会回传该参数。支付宝只会在异步通知时将该参数原样返回。

本参数必须进行UrlEncode之后才可以发送给支付宝


1.代码示例:

//获得初始化的AlipayClient
    AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.gatewayUrl, AlipayConfig.app_id, AlipayConfig.merchant_private_key, "json", AlipayConfig.charset, AlipayConfig.alipay_public_key, AlipayConfig.sign_type);
      
    //设置请求参数
    AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest();
    alipayRequest.setReturnUrl(AlipayConfig.return_url);
    alipayRequest.setNotifyUrl(AlipayConfig.notify_url);
      
    //商户订单号,商户网站订单系统中唯一订单号,必填
    String out_trade_no = new String(request.getParameter("WIDout_trade_no").getBytes("ISO-8859-1"),"UTF-8");
    //付款金额,必填
    String total_amount = new String(request.getParameter("WIDtotal_amount").getBytes("ISO-8859-1"),"UTF-8");
    //订单名称,必填
    String subject = new String(request.getParameter("WIDsubject").getBytes("ISO-8859-1"),"UTF-8");
    //商品描述,可空
    String body = new String(request.getParameter("WIDbody").getBytes("ISO-8859-1"),"UTF-8");
    //设置自定义参数
    String passback_params = "ab=测试一下;tdst=公共参数;ccsd=gds;dfa=23·12";
    //将参数encode
    String passback_params2 =java.net.URLEncoder.encode(passback_params,"UTF-8");
    alipayRequest.setBizContent("{\"out_trade_no\":\""+ out_trade_no +"\","
            + "\"total_amount\":\""+ total_amount +"\","
            + "\"subject\":\""+ subject +"\","
            + "\"body\":\""+ body +"\","
            + "\"passback_params\":\""+ passback_params2 +"\","
            + "\"product_code\":\"FAST_INSTANT_TRADE_PAY\"}");
    //请求
    String result = alipayClient.pageExecute(alipayRequest).getBody();

注意事项   

a).passback_params 必须encode,否则运行会报“订单信息无法识别,建议联系卖家” 



 b).自定义参数encode传入后,会将encode后的数据在异步通知中原样返回,异步通知数据返回如下:

app_id=2014100900013222&auth_app_id=2014100900013222&buyer_id=2088802862373955&buyer_pay_amount=0.01&charset=utf-8&fund_bill_list=[{"amount":"0.01","fundChannel":"ALIPAYACCOUNT"}]&gmt_create=2018-01-05 16:07:20&gmt_payment=2018-01-05 16:07:31&invoice_amount=0.01¬ify_id=02483fa093d2793a87f8bd5790818aanc1¬ify_time=2018-01-05 16:07:32¬ify_type=trade_status_sync&out_trade_no=2018151671825&passback_params={ab%3D%E6%B5%8B%E8%AF%95%3Bb%3D3421%3Bc%3Dgds}&point_amount=0.00&receipt_amount=0.01&seller_id=2088501624560335&sign=XXXXXXX&sign_type=RSA2&subject=测试&total_amount=0.01&trade_no=2018010521001004950523397325&trade_status=TRADE_SUCCESS&version=1.0

注意:

自定义参数不要与支付宝定义的参数,内置对象和属性等相同,以免发生不必要的错误 !! 

如果您接入这个参数报错欢迎追问   

正确的提问方式:     测试环境+开发语言+请求参数+appid+请求时间    方便判断问题

目录
相关文章
|
小程序
小程序一直未提审的原因及解决方案
小程序一直未提审的原因及解决方案
715 11
invalid-app-id(无效的AppID)参数问题自查方案
1.首先检查支付宝网关     沙箱环境网关为: [url]https://openapi.alipay[/url]dev.com/gateway.do     正式环境网关为: [url]https://openapi.
9329 12
|
安全 算法 API
支付宝支付加密规则梳理,写的太好了!
前言 支付是一个安全等级很高的场景,系统间交互的每一条数据的泄露都有可能造成及其大的损失。因此支付时系统间交互的每一
支付宝支付加密规则梳理,写的太好了!
|
数据采集 API 开发工具
项目支付接入支付宝【沙箱环境】
该博客文章详细介绍了如何在PC端项目中接入支付宝支付功能,特别是在沙箱环境中的配置和实现步骤。文章提供了详细的配置指南,包括获取支付宝公钥和私钥、配置沙箱应用环境、生成密钥、设置服务端代码以及调用支付接口等步骤,并附有相应的代码示例和说明。
项目支付接入支付宝【沙箱环境】
|
9月前
|
传感器 SQL 人工智能
Qoder NEXT 来了:补全功能全新升级,AI 代码采纳率提升 65%
Qoder智能补全全面升级,推出全新品牌NEXT。基于自研模型,Qoder NEXT可感知代码库与编辑历史,预测开发意图,实现跨文件联动、多点位自动补全,突破传统补全局限。通过ActionRL算法构建“训练-反馈-优化”闭环,代码采纳率提升65%,助力AI编程“最后一公里”。
|
大数据 数据处理 PHP
PHP中的数组过滤与映射:高效数据处理技巧
PHP中的数组过滤与映射:高效数据处理技巧
|
SQL 关系型数据库 MySQL
案例剖析:MySQL唯一索引并发插入导致死锁!
案例剖析:MySQL唯一索引并发插入导致死锁!
1374 0
案例剖析:MySQL唯一索引并发插入导致死锁!
|
运维 Kubernetes 监控
一文读懂蓝绿发布、A/B 测试和金丝雀发布的优缺点
目前,业界已经总结出了几种常见的服务发布策略来解决版本升级过程中带来的流量有损问题。本文首先会对这些普遍的发布策略进行简单的原理解析,最后结合阿里云的云原生网关对这些发布策略进行实践。
3691 121
一文读懂蓝绿发布、A/B 测试和金丝雀发布的优缺点
|
测试技术 网络安全
支付宝接口代签约失败排查指南
【11月更文挑战第5天】支付宝接口代签约失败排查指南:检查参数信息(必填参数、格式、业务合理性)、确认签约状态和权限(商户状态、应用权限、用户授权)、验证网络和系统环境(网络连接、系统兼容性、服务器配置)、检查异步通知设置(通知地址、处理逻辑)、查看官方文档和错误码、联系支付宝客服。
1181 14
|
存储 安全 数据安全/隐私保护
iOS App 上架App Store及提交审核详细教程
前四布我们之前都做了,详见这篇博客: 利用Appuploader在window上申请IOS开发所需要的证书及描述文件,我们主要看后面几步。

热门文章

最新文章