zoukankan      html  css  js  c++  java
  • 微信、支付宝支付

    1. 微信
    PayReq request = new PayReq();
                        request.appId = appid;
                        request.partnerId = partnerid;
                        request.prepayId = prepayid;
                        request.nonceStr = noncestr;
                        request.timeStamp = timestamp;
                        request.packageValue = "Sign=WXPay";
                        request.sign = sign;
                        IWXAPI msgApi = WXAPIFactory.createWXAPI(mContext,
                                Constants.APP_ID);
                        boolean can = msgApi.sendReq(request);
                        if(can){
                            Toast.makeText(mContext, "正在调起微信", 1000).show();
                        }else{
                            Toast.makeText(mContext, "调起微信失败", 1000).show();
                        }

    微信例子:
    链接:http://pan.baidu.com/s/1nuvbwmd 密码:ja63
    官方例子版本比较低,找客服应该可以要到高版本的。

    服务端生成预付单时候一定要

    按申请的移动的appId进行生成,不能使用pc或者什么公众号的appid,遇到个sb,非要这么干耽误了很多时间,在参数没有配置好之前调用微信api,微信是没有反应的,闪退,只有所有的参数对了才能正常支付,ios据说参数不对,但是可以进入微信界面。
    签名与包名一定要按照规则去弄,否则一直失败,签名貌似也分大小写。
    WXPayEntryActivity一定要在你的包名+.wxapi这个包下面,否则微信支付成功后不会跳入此页面,也就不能获取支付后数据,这里有个bug感觉,我取消支付后关闭此activity,返回我的上一个activity,我的上一个可以有生命周期,然而支付成功后返回后,activity没有了生命周期了,也就无法刷新页面,不知道为什么!后来加了一个广播,刷新了页面数据

    2 .支付宝开放平台

    支付宝的移动支付与微信也差不太多,包名与签名,还有一个私钥公钥的事,这个公私钥就是填写在合作伙伴密钥部分,而不是申请的应用上,与pc、wap(手机网站支付)使用同一个合作伙伴秘钥进行支付。应用的秘钥填写可以进行其他功能的开发,支付宝移动支付不需要,下载的例子签名时候有个签名bug,api版本不兼容,高版本手机报错,需要处理下,SignUtils类中,KeyFactory keyf = KeyFactory.getInstance(ALGORITHM,”BC”);加一个“BC”,这个签名在java程序是不会报错的,但是在android4.0以上必须加上“BC”,这里有个什么位数的差异。

     在服务市场签约获得的大部分接口,签约主体是商户,接口权限属于具体的商户,这部分接口需要使用PID和密钥来调用,此类接口网关一般为mapi(https://mapi.alipay.com/gateway.do),PID对应的密钥一共有三种签名方式,分别是MD5、RSA、DSA。由于产品的特殊性,每个产品支持哪些签名方式不尽相同,具体需参考各个产品的接口技术文档。
    使用合作伙伴密钥的典型功能包括:
    快捷登录、移动支付、即时到账收款、手机网站支付等。
  • 相关阅读:
    最艰难的采访IT公司ThoughtWorks代码挑战——FizzBuzzWhizz游戏
    SQL Server 存储字符数较大字段的问题
    c# var的含义与用法
    ListBox和ComboBox绑定数据简单例子
    “C# 未在本地计算机上注册microsoft.Jet.OLEDB.12.0”的解决方案
    [转] c# 操作Word
    C++ Regsvr32订购具体解释
    数字计算的有序排列的号码出现二分法
    合作信息处理模型
    内存四个领域,变量声明和定义,注册,c内联汇编,auto,堆,不变,静态变量
  • 原文地址:https://www.cnblogs.com/melons/p/5791914.html
Copyright © 2011-2022 走看看