我用的官方sdk https://docs.open.alipay.com/270/106291/
直接aop文件夾放到PHP環境
配置 AopClient.php這個文件 秘鑰和公鑰搞了一會 這個一定要配置正確
//應用ID
public $appId
//私鑰值
public $rsaPrivateKey
//支付寶公鑰
public $alipayrsaPublicKey
然后我寫了一個 alipay_functions.php放在aop同級目錄 寫了退款和查詢訂單兩個函數 代碼如下
<?php
//獲取 支付編號 支付信息
function alipay_get_pay_info($trade_no){
include('aop/AopClient.php');
include('aop/SignData.php');
include('aop/request/AlipayTradeQueryRequest.php');
$aop = new AopClient;
$request = new AlipayTradeQueryRequest();
$bizcontent = json_encode(['trade_no'=>$trade_no,]);
$request->setBizContent($bizcontent);
$result = $aop->execute($request);
var_dump($result);
}
//訂單 退款
function alipay_refund($trade_no,$order_amount){
include('aop/AopClient.php');
include('aop/SignData.php');
include('aop/request/AlipayTradeRefundRequest.php');
$aop = new AopClient;
$request = new AlipayTradeRefundRequest();
$bizcontent = json_encode(['trade_no'=>$trade_no,'refund_amount'=>$order_amount]);
$request->setBizContent($bizcontent);
$result = $aop->execute($request);
//var_dump($result);
}
添加對賬單查詢函數
//對賬單 賬單時間:日賬單格式為yyyy-MM-dd,月賬單格式為yyyy-MM。
function alipay_bills($date){
include('aop/AopClient.php');
include('aop/SignData.php');
include('aop/request/AlipayDataDataserviceBillDownloadurlQueryRequest.php');
$aop = new AopClient;
$request = new AlipayDataDataserviceBillDownloadurlQueryRequest();
$bizcontent = json_encode(['bill_type'=>'trade','bill_date'=>$date]);
$request->setBizContent($bizcontent);
$result = $aop->execute($request);
header("Location: ".$result->alipay_data_dataservice_bill_downloadurl_query_response->bill_download_url);
}
然后項目內調用
include(ROOT_PATH.'666plugins/alipay_functions.php');
alipay_refund($order['transaction_id'],$order['order_amount']);
問題 1 如果原有項目中有 function encrypt() 這個函數 會報錯函數名沖突
打開 AopEncrypt.php 修改 函數名 encrypt 為 encrypt_aop
打開 AopClient.php 修改兩處調用函數的地方
摘自(原文:https://blog.csdn.net/varius/article/details/78740449 )
