两张图看懂APP微信支付、APP支付宝支付
商户系统和微信支付系统主要交互说明:
步骤1:用户在商户APP中选择商品,提交订单,选择微信支付。
步骤2:商户后台收到用户支付单,调用微信支付统一下单接口。
步骤3:统一下单接口返回正常的prepay_id,再按签名规范重新生成签名后,将数据传输给APP。参与签名的字段名为appId,partnerId,prepayId,nonceStr,timeStamp,package。注意:package的值格式为Sign=WXPay
步骤4:商户APP调起微信支付。
步骤5:商户后台接收支付通知。
步骤6:商户后台查询支付结果。
参考官方文档
第4步:调用支付接口:此消息就是本接口所描述的支付宝客户端SDK提供的支付对象PayTask,将商户签名后的订单信息传进payv2方法唤起支付宝收银台。
第5步:支付请求:支付宝客户端SDK将会按照商户客户端提供的请求参数发送支付请求。
第8步:接口返回支付结果:商户客户端在第4步中调用的支付接口,会返回最终的支付结果(即同步通知)。
第13步:用户在支付宝APP或H5收银台完成支付后,会根据商户在手机网站支付API中传入的前台回跳地址return_url自动跳转回商户页面,同时在URL请求中附带上支付结果参数。同时,支付宝还会根据原始支付API中传入的异步通知地址notify_url,通过POST请求的形式将支付结果作为参数通知到商户系统。
除了正向支付流程外,支付宝也提供交易查询、关闭、退款、退款查询以及对账等配套API。
参考官方文档
为什么支付宝经常无响应而微信帐户却没有这一现象?
、微信支付不成功的原因
调试微信支付Demo时特别令人心烦,麻蛋的,不是闪退就是调不起微信支付界面,微信支付一定要理解的几个概念:
导出应用签名,区别于应用签名,使用debug.keystore密钥库,导出应用时进行签名
项目包名,比如:com.shangmai.recovery
应用签名,签名使用官网提供的工具——Gen_Signature_Android.apk,输入包名生成,比如:a04b960af8bf3b8bde86a25ecb791f84
APP_ID,微信开发平台创建移动应用并通过审核后,获取的,比如:wx530bae695c99f478
APP_SECRET,同APP_ID一样通过审核后,获取的,比如:8721ac50bd95c09da879f27d7b466a21
微信支付接口,默认未开通,开通后获取对应的商户账号,比如:1233848001
登录微信支付商户平台,点击“API安全”,设置API密钥,比如:412fde4e6c2e2bb619514ecea142e446
修改APP_ID:请同时修改 androidmanifest.xml里面,.PayActivity里的属性
经过两次尝试,总结了微信支付不成功的几个原因:
1、第一种情况:调试官网的支付Demo
使用官网提供的支付Demo,导入Eclipse或Android Studio,不过我下载的Demo是Android Studio版本,只能导入Android Studio中,根据上述罗列的几个概念一一分析:
Demo提供的包名是:com.weixin.paydemo,但由于Demo未提供对应的debug.keystore,所以无法调起微信支付
2、第二种情况:修改官网的支付Demo
生成自己自己的debug.keystore密钥库(建议生成),使用Eclipse或Android Studio默认的debug.keystore也可以,但发布APP时,需要重新使用自己生成的debug.keystore导出签名,否则调不起支付
查看开发平台填写的Android应用包名
手机或模拟器上,安装签名工具——Gen_Signature_Android.apk,输入包名,将获取的应用签名,填写到开发平台,同一个包名,应用签名是唯一的
APP_ID,微信开发平台“管理中心——查看”,APP_ID是唯一的,替换Demo的APP_ID,同时替换manifest中的属性,否则调不起支付
APP_SECRET,微信开发平台“管理中心——查看”,APP_SECRET允许重置,支付中未用到的常量
开通Android应用支付接口,获取商户账号,替换Demo的常量:MCH_ID
如果你开通支付接口的邮件中有对应的API密钥,替换Demo的常量:API_KEY。否则,登录商户平台,点击“API安全——设置API密钥”,重置时输入自定义的密钥(必须记住)
最终支付成功界面:
0322-pay fail account
同样的一个Demo,在我这里测试可以成功调起支付界面,将Demo导入到你的Eclipse或Android Studio中运行不成功,原因在于我使用了自己的debug.keystore密钥库导出签名,你使用的是自己的debug.keystore或默认的debug.keystore,所以按照上述要求修改即可
二、推荐阅读
《APP签名的三种方式使用说明》
《微信开放平台怎么创建移动应用》
《Android应用微信支付功能实现》
原文链接:
改进SEIR模型的matlab代码.zip
本资源包括,基于SEIR模型的新冠肺炎疫情分析matlab代码和最新的国内疫情数据集。代码已详细备注,具体模型详解见本人博客,大家可以下载交流,略有瑕疵,欢迎指正。
APP打开
Paypal支付跳转失败的原因及解决办法
Paypal支付跳转失败的原因及解决办法
APP打开
炉温系统的PID控制器设计——MATLAB程序
本文主要研究的课题是:炉温系统的PID控制器设计研究 ,并且在MATLAB的大环境下进行模拟仿真。 (1)第一章 介绍课题的研究背景、意义以及发展现状。 (2)第二章 建立炉温系统数学模型 (3)第三
APP打开
微信支付报签名失败的几种可能原因
一:统一下单参数:out_trade_no 商品订单号必须唯一。不可与历史数据重复。如果重复可以通过微信下单返回参数:预支付交易会话标识 prepay_id 是否为空来判断下单是否成功。二:签名的各种参数不建议为空测试过程中一直报签名失败,返回签名信息:sign63FBA04E22E69BC25D65EF6BAC1EC460/signproduct_idg...
APP打开
【Android开发 】微信支付不成功的几个原因_阳光灿烂的..._CSDN博客
调试微信支付Demo时特别令人心烦,麻蛋的,不是闪退就是调不起微信支付界面。微信支付一定要理解的几个概念:1导出应用签名区别于应用签名,使用debug.keystore密钥库,...
【Android开发 】微信支付不成功的几个原因 - 阳光灿烂..._CSDN博客
调试微信支付Demo时特别令人心烦,麻蛋的,不是闪退就是调不起微信支付界面。微信支付一定要理解的几个概念:1导出应用签名区别于应用签名,使用debug.keystore密钥库,...
一维热传导问题求解函数matlab
求解一维热传导问题/给定边界条件/纯手打代码/参考书籍为数值计算方法
APP打开
微信公众号支付 交易异常 请稍后重试
![图片说明]()本来公众号内申请的是微信官方支付,使用一切正常。后来由于结算周期问题,通过第三方重新申请了一个支付接口,测试唤醒支付一切正常,测试金额0.1的时候也都正常,可正式上线后,能正常唤醒支付,可是输入支付密码后一直读条,然后大面积订单显示 交易异常 请上后重试,但也有支付成功的。大致几十单能成功支付1单。 然后在切换回原先微信官方支付又一切正常。
APP打开
微信支付踩坑合集:微信小程序支付失败是什么原因?持续..._CSDN博客
微信小程序开发的过程一定会遇到各种问题,最让人棘手的就是支付问题,因为没有支付做商城类似的小程序就没有办法完成最关键的一步。那么支付失败到底什么原因呢?一下...
微信支付踩坑合集:微信小程序支付失败是
支付宝统一下单失败错误代码0001什么意思
是商家违规操作或者支付的顾客支付宝被风控,支付宝网络技术有限公司 是国内的第三方支付平台。
关于支付宝统一下单测试工具和下单支付的测试点的介绍本篇到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
还没有评论,来说两句吧...