支付宝证书支付

支付宝证书支付

require 'aop/AopCertClient.php';
require 'aop/request/AlipayTradeAppPayRequest.php';

/** 初始化 **/
$aop = new AopCertClient;

/** 支付宝网关 **/
$aop->gatewayUrl = "https://openapi.alipay.com/gateway.do";

/** 应用id,如何获取请参考:https://opensupport.alipay.com/support/helpcenter/190/201602493024 **/
$aop->appId = "";

/** 密钥格式为pkcs1,如何获取私钥请参考:https://opensupport.alipay.com/support/helpcenter/207/201602469554 **/
$aop->rsaPrivateKey = '';

/** 应用公钥证书路径,下载后保存位置的绝对路径 **/
$appCertPath = "";

/** 支付宝公钥证书路径,下载后保存位置的绝对路径 **/
$alipayCertPath = "";

/** 支付宝公钥证书路径,下载后保存位置的绝对路径 **/
$rootCertPath = "";

/** 设置签名类型 **/
$aop->signType= "RSA2";

/** 设置请求格式,固定值json **/
$aop->format = "json";

/** 设置编码格式 **/
$aop->charset= "utf-8";

/** 调用getPublicKey从支付宝公钥证书中提取公钥 **/
$aop->alipayrsaPublicKey = $aop->getPublicKey($alipayCertPath);

/** 是否校验自动下载的支付宝公钥证书,如果开启校验要保证支付宝根证书在有效期内 **/
$aop->isCheckAlipayPublicCert = true;

/** 调用getCertSN获取证书序列号 **/
$aop->appCertSN = $aop->getCertSN($appCertPath);

/** 调用getRootCertSN获取支付宝根证书序列号 **/
$aop->alipayRootCertSN = $aop->getRootCertSN($rootCertPath);

/** 实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay **/
$request = new AlipayTradeAppPayRequest ();

/** 设置业务参数 **/
$request->setBizContent("{" .
/** 商户订单号,商户自定义,需保证在商户端不重复,如:20200612000001 **/
"\"out_trade_no\":\"20200612000001\"," .

/** 销售产品码,固定值:QUICK_MSECURITY_PAY **/
"\"product_code\":\"QUICK_MSECURITY_PAY\"," .

/** 订单金额,精确到小数点后两位 **/
"\"total_amount\":\"0.01\"," .

/** 订单标题 **/
"\"subject\":\"订单标题\"," .

/** 业务扩展参数 **/
// "\"extend_params\":{" .
/** 系统商编号,填写服务商的PID用于获取返佣,返佣参数传值前提:传值账号需要签约返佣协议,用于isv商户。 **/
//"\"sys_service_provider_id\":\"2088511833207846\"," .

/** 花呗分期参数传值前提:必须有该接口花呗收款准入条件,且需签约花呗分期 **/
/** 指定可选期数,只支持3/6/12期,还款期数越长手续费越高 **/
// "\"hb_fq_num\":\"3\"," .

/** 指定花呗分期手续费承担方式,手续费可以由用户全承担(该值为0),也可以商户全承担(该值为100),但不可以共同承担,即不可取0和100外的其他值。 **/
//"\"hb_fq_seller_percent\":\"100\"" .
// "}," .

/** 订单描述 **/
"\"body\":\"订单描述\"" .
"}");

/** 异步通知地址,以http或者https开头的,商户外网可以post访问的异步地址,用于接收支付宝返回的支付结果,如果未收到该通知可参考该文档进行确认:https://opensupport.alipay.com/support/helpcenter/193/201602475759 **/
$request->setNotifyUrl("");

/** 调用SDK生成支付链接,可在浏览器打开链接进入支付页面 **/
$result = $aop->sdkExecute ($request);

/**第三方调用(服务商模式),传值app_auth_token后,会收款至授权token对应商家账号,如何获传值app_auth_token请参考文档:https://opensupport.alipay.com/support/helpcenter/79/201602494631 **/
//$result = $aop->sdkExecute($request,"");

/** response.getBody()打印结果就是orderString,可以直接给客户端请求,无需再做处理。如果传值客户端失败,可根据返回错误信息到该文档寻找排查方案:https://opensupport.alipay.com/support/helpcenter/89 **/
print_r(htmlspecialchars($result));

猜你喜欢

转载自blog.csdn.net/cmj8043719242/article/details/119969763