支付宝APP支付Android与IONIC与服务端,服务端类库从android端考取

支付宝支付


android端

开发工具eclise(选择性与服务器交互)

jar包:alipaySdk-20170710.jar

注意事项

1、对secret_key_tools_RSA_win工具的使用
2、第一次注册需要向合作商配置公钥,项目配置PKCS8/1024,PKCS8/2048,合作商配置公钥
3、签名的使用,要配合API拼写对象,API网址如下https://doc.open.alipay.com/docs/doc.htm?docType=1&articleId=106118

重要代码如下

    /** 支付宝支付业务:入参app_id */
    public static final String APPID = "201XX629XXXXX001";

    /** 支付宝账户登录授权业务:入参pid值 */
    public static final String PID = "208XX219XXXXX569";
    /** 支付宝账户登录授权业务:入参target_id值 */
    public static final String TARGET_ID = "支付宝帐号";

    /** 商户私钥,pkcs8格式 */
    /** 如下私钥,RSA2_PRIVATE 或者 RSA_PRIVATE 只需要填入一个 */
    /** 如果商户两个都设置了,优先使用 RSA2_PRIVATE */
    /** RSA2_PRIVATE 可以保证商户交易在更加安全的环境下进行,建议使用 RSA2_PRIVATE */
    /** 获取 RSA2_PRIVATE,建议使用支付宝提供的公私钥生成工具生成, */
    /** 工具地址:https://doc.open.alipay.com/docs/doc.htm?treeId=291&articleId=106097&docType=1 */
    public static final String RSA2_PRIVATE ="";
    public static final String RSA_PRIVATE = "xWBdnIeTtXF2Mcc5iEqnj54I7FMGLLhBnxaE5Atr0u1Jbfijny69B。。。。很多";

IONIC端

开发工具Sublime(必须与服务器交互)

1、添加插件 https://github.com/hhjjj1010/cordova-plugin-alipay-v2

2、添加事件

var payInfo  = "charset=utf-8&biz_content=%7B%22timeout_express%22%3A%2230m%22%2C%22product_code%22%3A%22QXXXXXXXXXXXXXXXXXXXXXX2BD3SqTV1AujE8cWZzaqFsiInoBzbfd7ohROrFxYLG1MSysGk%2B6n4Dg%3D%3D";

// 第二步:调用支付插件
cordova.plugins.alipay.payment(payInfo,function success(e){
    alert(e.result)
},function error(e){
    alert(e.result)
});

注意事项

1、payInfo从服务器获取
2、返回的e.result要传给服务器

服务端

开发工具Eclipse

jar包:alipay-sdk-java20170615110434.jar,commons-logging-1.1.1.jar

所需工具类:Base64.java,OrderInfoUtil2_0.java,SignUtils.java

主要代码如下

    public static void main(String[] args) throws AlipayApiException {
        /** 支付宝支付业务:入参app_id */
        final String APPID = "2017XXXX075XXXX1";
        /** 支付宝账户登录授权业务:入参pid值 */
        final String PID = "";
        /** 支付宝账户登录授权业务:入参target_id值 */
        final String TARGET_ID = "20886XXXX1XXXX69";
        String RSA2_PRIVATE = "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDTfcE5KZOfmtHpsF2JUjBJTvNwcM2t2N8GVSzcp/ssTsOXP0C1d6P9VS6tt4K/VnXDoxzoxMdLzldryi8DOro6TeDMwH7K9pDRGcZVvv很多";

        Map<String, String> params = OrderInfoUtil2_0.buildOrderParamMap(APPID,
                true);
        String orderParam = OrderInfoUtil2_0.buildOrderParam(params);

        String privateKey = RSA2_PRIVATE;
        String sign = OrderInfoUtil2_0.getSign(params, privateKey, true);
        final String orderInfo = orderParam + "&" + sign;
        System.out.println(orderInfo);
    }

注意事项

1、orderInfo为最后生成的串,IONIC/Android客户端要从服务器获取该串
2、需要接受客户端返回的result对象,判断是否交易完成

猜你喜欢

转载自blog.csdn.net/weixin_39394526/article/details/75453537