本文出自APICloud官方论坛,
感谢论坛版主City7的分享。
首先到
https://open.alipay.com/platf... 申请应用上线
支付宝网关:这里是支付宝配置 把域名写成你自已的
https://openapi.alipay.com/ga...
应用网关:
http://shop.*.com
授权回调地址:
http://shop.**.com/authRedirect.php
加签方式:
RSA(SHA256)密钥
[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);
}
});
}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。