支付宝支付接口,subject有中文的时候应该怎么处理?

junguo_fan 2019-04-18 03:52:29
最近在接支付宝的支付接口,遇到一个问题:在设置业务参数的时候,subject如果有中文,支付页面跳转会失败; 官方文档中说需要urlencode. 转码之后能正常跳转到支付页面,但是商品名称却还是转码状态,不是中文.请问有没有大神遇到过这个问题,怎么解决的?


...全文
1329 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qybao 2019-04-19
  • 打赏
  • 举报
回复
你的bizContent是怎么转成json的?貌似转json的时候不能用中文,要用unicode码
junguo_fan 2019-04-18
  • 打赏
  • 举报
回复
引用 1 楼 qybao 的回复:
你用URLEncoder转码了,你不用URLDecoder解码吗? 不加encode会乱码吗?不知道你的系统是什么编码的 你可以试试 put("subject", new String("显示器".getBytes("UTF-8"), "GBK"))
我的编辑器编码是utf-8. 我用你的方法尝试了,不可以.subject中不能包含中文.
qybao 2019-04-18
  • 打赏
  • 举报
回复
你用URLEncoder转码了,你不用URLDecoder解码吗?
不加encode会乱码吗?不知道你的系统是什么编码的
你可以试试 put("subject", new String("显示器".getBytes("UTF-8"), "GBK"))
.支付宝接口中需要修改参数的文件有 alipay_config.asp 文件,index.asp;买家付款成功后反馈的页面时 return_url(页面跳转),notify_url(后台通知);alipayto 不用修改. alipay_config.asp 文件中 seller_email,key,partner 对应的分别是支付宝帐号,安全校验码和合作id ,怎么获取建 alipay_config.asp 注释说明. index.asp 页面,需要传递参数到这个页面,需要传递的参数是 subject(商品名称),body(商品说明),out_trade_no(外部商家订单号.为了方便测试,我在index.asp这个页面采用的是以日期的形式的数字字符串,这个订单号必须保证提交给支付宝的时候是唯一的,否则支付不了) 2. return_url 和 notify_url 的区别及其操作. 买家付款成功后,如果接口中指定有return_url ,买家付完款后会跳到 return_url所在的页面,这个页面可以展示给客户看,这个页面只有付款成功才会跳转. notify_url: 服务器后台通知,这个页面是程序后台运行的(买家和卖家都看不到),买家付完款后,支付宝会调用notify_url这个页面所在的页面并把相应的参数传递到这个页面,这个页面根据支付宝传递过来的参数修改网站订单的状态,更新完订单后需要在页面上打印出一个success 给支付宝,如果反馈给支付宝的不是success,支付宝会继续调用这个页面. 流程: 买家付完款(trade_status=WAIT_SELLER_SEND_GOODS)--->支付宝通知notify_url--->如果反馈给支付宝的是success(表示成功,这个状态下不再反馈,如果不是继续通知,一般第一次发送和第二次发送的时间间隔是3分钟) 剩下的过程,卖家发货,买家确认收货,交易成功都是这个流程

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧