• 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);
                    }
    
                  });
            }
          }
    
  • 相关阅读:
    洛谷 P1396 营救(二分答案)
    洛谷 P1807 最长路(toposort)
    洛谷 P1137 旅行计划(toposort)
    [bzoj3032][TYVJ P1924]七夕祭(环形均分纸牌,货仓选址)
    BZOJ3043 IncDec Sequence (差分)
    BZOJ2200 道路与航线(dijk+拓扑排序)
    P1462 通往奥格瑞玛的道路(二分+dijkstra)
    P1020 导弹拦截 O(nlogn)做法
    背包整理(01背包,完全背包,多重背包,分组背包)(待更新)
    [模板]树链剖分
  • 原文地址:https://www.cnblogs.com/APICloud/p/11574011.html
Copyright © 2020-2023  润新知