支付宝微信银行卡支付SDK接入
支付宝支付:
一.绑定前提:
我们自己要和支付宝签约(商户签约).-->运营完成 秘钥配置-->协助运营完成秘钥的配置(公钥互换),可能程序员会参与 集成支付宝-->必须是程序员去做
二.绑定步骤
集成调用支付宝接口进行支付的步骤:
1.将商户ID,收款帐号,外部订单号,商品名称,商品介绍,价格,通知地址封装成订单信息
2.对订单信息进行签名
3.将订单信息,签名,签名方式封装成请求参数
4.调用pay方法。
三.支付完成.返回交易结果:
1.支付结果作为接口返回的字符串返回。返回的参数包含在result字符串中,具体再进行解析。
2.支付宝服务器通知。商户需要提供一个http协议的接口,包含在参数里传递给安全支付,即notify_url。支付宝服务器在支付完成后,会用POST方法调用notufy_url,以xml为数据格式传输支付结果。
具体参考支付宝开发文档或者链接如下:
/benben_long/blog/static/1994582432279427395/
注意:
1. 添加android.permission.INTERNET权限和android.permission.ACCESS_NETWORK_STATE权限
二.微信支付
与支付宝类似,运营人员注册获取支付功能,得到平台给的APPID、APPsercet、以及商户平台上设置的APP_key
绑定支付步骤
1.注册registerApp
2.获取token
3.获取prepayid
4.调用sendReq
二.服务端签名,安卓客户端具体操作如下:
1.把Constants.java,MD5.java,PayActivity.jav,util.java拷贝到项目下,复制wxapi/WXPayEntryActivity.java到项目下;
2.修改微信开放平台中后台的包名和签名,可以用腾讯开放平台的签名工具获取签名Gen_Signature_Android.apk
(1)AndroidManifest.xml中package名字和项目包名一样;
(2)AndroidManifest.xml中添加.wxapi.WXPayEntryActivity(不添加,支付成功后无法跳转到相应的通知Activity界面);
3.具体调用参照微信支付开发文档:
4.接收支付结果的WXPayEntryActivity中的onResp函数里处理支付结果:
微信支付遇到的问题:
微信遇到的具体问题:
1.在demo中找不到APP_KEY,邮箱发过来的没有此参数,对应文档找到是PaySignKey;
2.测试返回的支付结果是-1,可能产生此问题的地方:包名不一致;应用签名和后台不一致。
3.如果是客户端demo测试,记得注意价格单位是分(调用失败),body是中文的时候需要字符转换(返回错误ERR_JSON)。
客户端demo测试返回支付结果-1,记得删除微信缓冲数据(设置-》应用程序管理器->选中微信->清除数据)
可以用demo里的debug.keystore来测试,功能修改目录:preferences->android->build->custom debugkeystore->browse。
三.银行卡支付SDK
银联开发者中心连接
/ajweb/help/file/techFile?productId=3
前提:下载安卓版银联支付开发包
步骤
1.导入银联支付依赖包
2.在res目录下增加资源包
3.在Manifest文件配置里配置打开的Activity
4.获取TN号 2.
5.请求控件界面(PayActivity)
6.ActivityResult处理支付结果
PS:完全具体版细节与流程请参照官方开发文档.