关于第三方支付实现
- 1.点击第一个支付按钮,后台自己生成一个订单,成功之后进入下一个支付页面
- 2.点击取消,返回上一个界面
- 3.点击确定,调用后台支付接口,后台开始调用支付宝接口预下单,生成加签后的移动端需要的参数,返回给移动端
- 移动端拿到 支付需要的参数,调用支付功能,代开第三方支付的app进行支付,支付成功,支付宝返回成功状态码给移动端,然后从第三方app返回自己的app
- 支付宝后台异步返回成功的消息给 app的后台
- 自己的app收到支付成功的响应,就请求后台接口,看是否成功,如果成功,则进入支付成功的界面
- 失败提示失败,增加个 如果对订单有任何疑问的超链接,人工解决这些异常状况
1. 关于支付宝集成
-
- 支付遇到的bug
- 与后台联调的过程中,传参的时候,报网络繁忙的错误,是因为传的参数不对,必须使用后台给的加签之后的参数,才可以。
例如后台返回一下格式的数据,那么 aliPayOrderString 的值就是我们要传的参
{
"seq": "321321",
"code": 0,
"msg": "sucessfull",
"resMap": {},
"aliPayOrderString": "alipay_sdk=alipay-sdk-java-dynamo&app_id9%3A52&version=1.0"
}
- 与后台联调,在支付成功的时候,没有跳回app, 没有接收到来自支付宝支付成功9000的回调,导致后台查询不到支付成功的订单,是由于客户端没有配置 urlScheme ,导致支付宝没法返回app
-
- 支付接入流程
- 申请app的配置所需要的 appid、 应用公钥、应用私钥 ,需要填写的信息如下:
1. 进入网站,点击开发接入,扫码登陆
2. 使用场景选择第三方应用
3. 名称:appname
4. 提供给我 appid:应用ID,调用API时用来识别开发者
5. private_key:应用私钥,pkcs8格式
6. 签约才能获取应用密钥:使用公司支付宝 ,
联系人填法人
(签约需要时间的,以及上架慢一点估计要3天+)
- 配置所有参数之后,支付第一步 :需后台拿着相关参数加签,返回加签之后的参数给app移动端; 支付第二步,发起支付,调用支付方法,调用支付宝客户端,支付宝付款界面进行付款,支付宝使用应用公钥对交易数据进行验签,(付款成功失败支付宝都会一部回调结果给后台,再次请求后台接口,根据后台返回的结果,来真正判断是否付款成功)付款成功与失败都返回自己的app,收到支付宝的回调; 支付第三步:若支付宝返回成功。app端收到9000支付成功的回调,再次调用后台接口,若后台接口返回支付成功,则提示用户支付成功。
- APP移动端所有工作完成的之后,后台还需要做订单核对功能
2. 关于微信支付集成
-
- 微信支付中遇到的BUG
- 在支付的过程完成的时候,返回0,由于订单号不对的原因,用正确规则行成的订单号才可以,调起app支付的功能。
-
- 微信支付接入流程
- 在微信开放平台新建一个app, 获取项目需要配置参数的appid、appkey、微信支付商户号、API密钥
- 其余的步骤同支付宝
tips: 仔细看第三方文档,加强自己文档阅读的能力。不懂的多问,多积累,学会感恩