zoukankan      html  css  js  c++  java
  • aliPayPlus 科普使用

    本文出自APICloud官方论坛,

    感谢论坛版City7分享。

    首先到

    https://open.alipay.com/platform/manageHome.htm 申请应用上线

    支付宝网关:这里是支付宝配置 把域名写成你https://openapi.alipay.com/gateway.do


    应用网关:

    http://shop.*****.com

    授权回调地址:

    http://shop.****.com/authRedirect.php

    加签方式:
    RSA(SHA256)密钥
    [url=]查看应用公钥[/url][url=]查看支付宝公钥[/url]


    下面是GetAliPaySign.php 源 方案一:开发者通过 payOrder 方法来进行支付,自己处理订单信息以及签名过程;要用到这个源

    <?php
    /**
    * APP支付 RSA2签名方法
    */
    require_once 'AopSdk.php';
    
    $rsaPrivateKey="";//对应,rsa_private_key.pem里面的内容 一定要是一行,注意,不要删一个字节
    
    $alipayrsaPublicKey='';//对应 rsa_public_key.pem里面的内容 一定要是一行,注意
            
    $aop = new AopClient ();
    $aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do';
    $aop->appId = '201903***********';//用你的APPID
    $aop->rsaPrivateKey = $rsaPrivateKey;
    $aop->alipayrsaPublicKey=$alipayrsaPublicKey;
    $aop->apiVersion = '1.0';
    $aop->postCharset='utf-8';
    $aop->format='json';
    $aop->signType = 'RSA2';
    //生成随机订单号
    $date=date("YmdHis");
    $arr=range(1000,9999);
    shuffle($arr);
    $request = new AlipayTradeAppPayRequest();
    //异步地址传值方式
    $request->setNotifyUrl("http://shop.****.com/authRedirect.php");
    $request->setBizContent("{"out_trade_no":"".$date.$arr[0]."","total_amount":0.01,"product_code":"QUICK_MSECURITY_PAY","subject":"app测试"}");
    $result = $aop->sdkExecute($request);
    //print_r(htmlspecialchars($result));
    echo json_encode(array("data"=>$result));
                                    exit();
    ?>
    

     下面是JS代码 先从服务器取订单信息

    function Getalipaysign(out_trade_no,subject,body,total_amount)
          {
            api.ajax({
                url: window.AppWeb + 'alipay/GetAliPaySign.php',
                method: 'post',
                data: {
                    values: {
                        out_trade_no: out_trade_no,
                        subject:subject,
                        body:body,
                        total_amount:total_amount
                    }
                }
            },function(ret, err){
                if (ret) {
                    console.log( JSON.stringify( ret ) );
                    alipayData = ret.data;
                } else {
                    alert( JSON.stringify( err ) );
                }
            });
    
    
          }
    
    //确认支付时,使用
          function Pay()
          {
    
            if(alipayData)
            {
              console.log('支付宝支付');
              var aliPayPlus = api.require('aliPayPlus');
                  aliPayPlus.payOrder({
                      orderInfo:alipayData//服务器取回的数据
                  }, function(ret, err) {
                    console.log(JSON.stringify(ret));
                    if(ret)
                    {
                      api.alert({
                          title: '支付结果',
                          msg: ret.code,
                          buttons: ['确定']
                      });
                    }
                    else {
                      $api.Api_alert(err.msg);
                    }
    
                  });
            }
          }
    
  • 相关阅读:
    什么是仿射变换
    转:vim比较好的学习资料
    学好C++的五十条建议
    转:美国设置地理系的大学名单
    转:windows下安装emacs
    我学习GNU/Linux: 如何上手
    Linux学习路线图 (转载)
    unix编程学习路线图(转)
    转:C++资源之不完全导引
    Why Linux Programming?
  • 原文地址:https://www.cnblogs.com/APICloud/p/11574011.html
Copyright © 2011-2022 走看看