五月天激情丁香,国产精品2019,国产成人精品亚洲2020,国产精品免费视频一区二区三区,开心久久婷婷综合中文字幕,天堂视频在线观看免费完整版

協程支付網關(支付寶支付)

組件安裝方法和說明

注意:請務必檢查你的 php 環境有沒有安裝 php-bcmath 擴展,沒有安裝 php-bcmath 擴展時安裝的 pay 組件的版本是 1.2.17 之前的版本(不是最新)。想要使用最新穩定版 pay 組件的功能,請先安裝 php-bcmath 擴展,php 安裝此擴展的方法請自行查詢。

composer require easyswoole/pay

支付寶

支付方法

支付寶支付目前支持 7 種支付方法,對應的支付 method 如下:

method 說明 參數 返回值
web 電腦支付 Request Response
wap 手機網站支付 Request Response
app APP 支付 Request Response
pos 刷卡支付 Request Response
scan 掃碼支付 Request Response
transfer 賬戶轉賬 Request Response
mini 小程序支付 Request Response
barCode 條碼當面支付 Request Response

注意,easyswoole/pay 支付寶支付組件的默認簽名為 RSA2 普通公鑰方式簽名,也支持 RSA2 公鑰證書的簽名方式。放置應用公私鑰證書、支付寶證書路徑、支付寶根證書路徑的時候切記核對。

電腦支付

統一收單下單并支付頁面接口

/**
 * 普通公鑰方式生成密鑰驗簽(簽名和驗簽方式)
 */
// 設置支付配置
$aliConfig = new \EasySwoole\Pay\AliPay\Config();
### 配置支付公共請求參數
// (必須)設置 支付寶分配給開發者的應用ID
$aliConfig->setAppId('2017082000295641');
// (必須)設置 請求網關(默認為 沙箱模式)
$aliConfig->setGateWay(\EasySwoole\Pay\AliPay\GateWay::NORMAL);
// 設置 參數格式(默認為 'JSON',可選參數),不建議修改
//   $aliConfig->setFormat('JSON');
// 設置 return_url(默認為 null,可選參數)
//   $aliConfig->setReturnUrl(null);
// 設置 請求使用的編碼格式,如utf-8、gbk、gb2312等(默認為 'utf-8')
//   $aliConfig->setCharset('utf-8');
// 設置 商戶生成簽名字符串所使用的簽名算法類型,目前支持 RSA2 和 RSA,推薦使用 RSA2(默認為 'RSA2')
$aliConfig->setSignType('RSA2');
// 設置 調用的接口版本(默認為 '1.0')
//   $aliConfig->setApiVersion('1.0');
// 設置 支付寶服務器主動通知商戶服務器里指定的頁面http/https路徑,即支付回調地址(默認為 null,可選參數)
//   $aliConfig->setNotifyUrl(null);
// 設置 應用授權參數(默認為 null,可選參數),詳細請看(https://opendocs.alipay.com/open/common/105193)
//   $aliConfig->setAppAuthToken(null);
// 設置 阿里應用公鑰(支持 .pem 結尾的格式,默認為 PKCS1 格式),用于支付回調時驗證簽名
$aliConfig->setPublicKey('阿里應用公鑰字符串'); // 示例應用公鑰字符串
// 設置 阿里應用私鑰(支持 .pem 結尾的格式,默認為 PKCS1 格式),用于生成簽名
$aliConfig->setPrivateKey('阿里應用私鑰字符串'); // 示例應用私鑰字符串

/**
 * 公鑰證書方式生成密鑰驗簽(簽名和驗簽方式)
 */
/*
$aliConfig = new \EasySwoole\Pay\AliPay\Config();
### 配置支付公共請求參數
// (必須)設置 支付寶分配給開發者的應用ID
$aliConfig->setAppId('2017082000295641');
// (必須)設置 請求網關(默認為 沙箱模式)
$aliConfig->setGateWay(\EasySwoole\Pay\AliPay\GateWay::NORMAL);
// 設置 參數格式(默認為 'JSON',可選參數),不建議修改
//   $aliConfig->setFormat('JSON');
// 設置 return_url(默認為 null,可選參數)
//   $aliConfig->setReturnUrl(null);
// 設置 請求使用的編碼格式,如utf-8、gbk、gb2312等(默認為 'utf-8')
//   $aliConfig->setCharset('utf-8');
// 設置 商戶生成簽名字符串所使用的簽名算法類型,目前支持 RSA2 和 RSA,推薦使用 RSA2(默認為 'RSA2')
$aliConfig->setSignType('RSA2');
// 設置 調用的接口版本(默認為 '1.0')
//   $aliConfig->setApiVersion('1.0');
// 設置 支付寶服務器主動通知商戶服務器里指定的頁面http/https路徑,即支付回調地址(默認為 null,可選參數)
//   $aliConfig->setNotifyUrl(null);
// 設置 應用授權參數(默認為 null,可選參數),詳細請看(https://opendocs.alipay.com/open/common/105193)
//   $aliConfig->setAppAuthToken(null);

// (必須)設置 使用公鑰證書方式生密鑰延簽(簽名和驗簽方式)
$aliConfig->setCertMode(true);
// (必須)設置 支付寶公鑰文件路徑
$aliConfig->setCertPath(__DIR__ . '/cert/alipayCertPublicKey_RSA2.crt'); // 示例支付寶公鑰文件路徑
// (必須)設置 支付寶根證書文件路徑
$aliConfig->setRootCertPath(__DIR__ . '/cert/alipayRootCert.crt'); // 示例支付寶公鑰根證書文件路徑
// (必須)設置 阿里應用公鑰證書文件路徑
$aliConfig->setMerchantCertPath(__DIR__ . '/cert/appCertPublicKey_2016091800538780.crt');
// (必須)設置 阿里應用私鑰(支持 .pem 結尾的格式,默認為 PKCS1 格式),用于生成簽名
$aliConfig->setPrivateKey('阿里應用私鑰字符串'); // 示例應用私鑰字符串
*/

// 以上【普通公鑰方式】 和 【公鑰證書方式】 生成密鑰驗簽(簽名和驗簽方式) 這 2 種方式,用戶可自行選擇一種】

$pay = new \EasySwoole\Pay\Pay();

## (面向對象風格)設置請求參數 biz_content,組件自動幫你組裝成對應的格式
$order = new \EasySwoole\Pay\AliPay\RequestBean\Web();
// (必須)設置 商戶訂單號(商戶訂單號。64 個字符以內的大小,僅支持字母、數字、下劃線。需保證該參數在商戶端不重復。)
$order->setOutTradeNo(time() . '123456'); // 示例訂單號(僅供參考)
// (必須)設置 訂單總金額
$order->setTotalAmount('0.01'); // 示例訂單總金額,單位:元(僅供參考)
// (必須)設置 商品標題/交易標題/訂單標題/訂單關鍵字等。注意:不可使用特殊字符,如 /,=,& 等。
$order->setSubject('測試'); // 示例商品標題(僅供參考)
// (可選)設置 訂單描述,默認為 null
//   $order->setBody(null);
// (可選)設置 在訂單中設置支付寶服務器主動通知商戶服務器里指定的頁面http/https路徑,即支付回調地址(默認為 null,可選參數)
//   $order->setNotifyUrl(null); // 等價于在配置中設置 支付回調地址,兩者中只要設置一次即可
// (可選)設置 return_url(默認為 null,可選參數)
//   $order->setReturnUrl(null); // 等價于在配置中設置 return_url,兩者中只要設置一次即可
// 本庫只預置了常用的請求參數,沒預置的參數請求使用:$order->addProperty('其他字段','其他字段值');
// 支付其他可選參數(詳細請看支付寶接口的可選參數,支付寶接口對應地址請看下文)

## (數組風格)設置請求參數 biz_content,組件自動幫你組裝成對應的格式
/*
$order = new \EasySwoole\Pay\AliPay\RequestBean\Web([
    'out_trade_no' => time() . '123456', // 示例訂單號(僅供參考)
    'total_amount' => '0.01', // 示例訂單總金額,單位:元(僅供參考)
    'subject' => '測試', // 示例商品標題(僅供參考)
    '額外的字段鍵值' => '額外字段值', // 示例支付其他可選參數(詳細請看支付寶接口的可選參數,支付寶接口對應地址請看下文)
], true);
*/

// 以上 2 種風格設置請求參數,用戶可根據個人需要,選其一即可

// 獲取構造請求參數對象
$res = $pay->aliPay($aliConfig)->web($order);
// 將所有請求參數轉為數組
var_dump($res->toArray());

// 構造請求表單(buildPayHtml 該方法的實現請看下文)  
$html = buildPayHtml(\EasySwoole\Pay\AliPay\GateWay::NORMAL, $res->toArray());
file_put_contents('test.html', $html); 

訂單配置參數

所有訂單配置中,對于客觀非必選參數,用戶可以自行選擇是否進行配置,也可以不進行配置,擴展包已經為您自動處理了,比如,product_code 等參數。

所有訂單配置參數和官方無任何差別,兼容所有功能,所有參數請參考 這里,查看「請求參數」一欄。

參數查詢:https://opendocs.alipay.com/apis/api_1/alipay.trade.page.pay

生成支付的跳轉 html 示例

function buildPayHtml($endpoint, $payload)
{
    $sHtml = "<form id='alipaysubmit' name='alipaysubmit' action='".$endpoint."' method='POST'>";
    foreach ($payload as $key => $val) {
        $val = str_replace("'", '&apos;', $val);
        $sHtml .= "<input type='hidden' name='".$key."' value='".$val."'/>";
    }
    $sHtml .= "<input type='submit' value='ok' style='display:none;'></form>";
    $sHtml .= "<script>document.forms['alipaysubmit'].submit();</script>";
    return $sHtml;
}

手機網站支付接口 2.0

/**
 * 普通公鑰方式生成密鑰驗簽(簽名和驗簽方式)
 */
// 設置支付配置
$aliConfig = new \EasySwoole\Pay\AliPay\Config();
### 配置支付公共請求參數
// (必須)設置 支付寶分配給開發者的應用ID
$aliConfig->setAppId('2017082000295641');
// (必須)設置 請求網關(默認為 沙箱模式)
$aliConfig->setGateWay(\EasySwoole\Pay\AliPay\GateWay::NORMAL);
// 設置 參數格式(默認為 'JSON',可選參數),不建議修改
//   $aliConfig->setFormat('JSON');
// 設置 return_url(默認為 null,可選參數)
//   $aliConfig->setReturnUrl(null);
// 設置 請求使用的編碼格式,如utf-8、gbk、gb2312等(默認為 'utf-8')
//   $aliConfig->setCharset('utf-8');
// 設置 商戶生成簽名字符串所使用的簽名算法類型,目前支持 RSA2 和 RSA,推薦使用 RSA2(默認為 'RSA2')
$aliConfig->setSignType('RSA2');
// 設置 調用的接口版本(默認為 '1.0')
//   $aliConfig->setApiVersion('1.0');
// 設置 支付寶服務器主動通知商戶服務器里指定的頁面http/https路徑,即支付回調地址(默認為 null,可選參數)
//   $aliConfig->setNotifyUrl(null);
// 設置 應用授權參數(默認為 null,可選參數),詳細請看(https://opendocs.alipay.com/open/common/105193)
//   $aliConfig->setAppAuthToken(null);
// 設置 阿里應用公鑰(支持 .pem 結尾的格式,默認為 PKCS1 格式),用于支付回調時驗證簽名
$aliConfig->setPublicKey('阿里應用公鑰字符串'); // 示例應用公鑰字符串
// 設置 阿里應用私鑰(支持 .pem 結尾的格式,默認為 PKCS1 格式),用于生成簽名
$aliConfig->setPrivateKey('阿里應用私鑰字符串'); // 示例應用私鑰

/**
 * 公鑰證書方式生成密鑰驗簽(簽名和驗簽方式)
 */
/*
$aliConfig = new \EasySwoole\Pay\AliPay\Config();
### 配置支付公共請求參數
// (必須)設置 支付寶分配給開發者的應用ID
$aliConfig->setAppId('2017082000295641');
// (必須)設置 請求網關(默認為 沙箱模式)
$aliConfig->setGateWay(\EasySwoole\Pay\AliPay\GateWay::NORMAL);
// 設置 參數格式(默認為 'JSON',可選參數),不建議修改
//   $aliConfig->setFormat('JSON');
// 設置 return_url(默認為 null,可選參數)
//   $aliConfig->setReturnUrl(null);
// 設置 請求使用的編碼格式,如utf-8、gbk、gb2312等(默認為 'utf-8')
//   $aliConfig->setCharset('utf-8');
// 設置 商戶生成簽名字符串所使用的簽名算法類型,目前支持 RSA2 和 RSA,推薦使用 RSA2(默認為 'RSA2')
$aliConfig->setSignType('RSA2');
// 設置 調用的接口版本(默認為 '1.0')
//   $aliConfig->setApiVersion('1.0');
// 設置 支付寶服務器主動通知商戶服務器里指定的頁面http/https路徑,即支付回調地址(默認為 null,可選參數)
//   $aliConfig->setNotifyUrl(null);
// 設置 應用授權參數(默認為 null,可選參數),詳細請看(https://opendocs.alipay.com/open/common/105193)
//   $aliConfig->setAppAuthToken(null);

// (必須)設置 使用公鑰證書方式生密鑰延簽(簽名和驗簽方式)
$aliConfig->setCertMode(true);
// (必須)設置 支付寶公鑰文件路徑
$aliConfig->setCertPath(__DIR__ . '/cert/alipayCertPublicKey_RSA2.crt'); // 示例支付寶公鑰文件路徑
// (必須)設置 支付寶根證書文件路徑
$aliConfig->setRootCertPath(__DIR__ . '/cert/alipayRootCert.crt'); // 示例支付寶公鑰根證書文件路徑
// (必須)設置 阿里應用公鑰證書文件路徑
$aliConfig->setMerchantCertPath(__DIR__ . '/cert/appCertPublicKey_2016091800538780.crt');
// (必須)設置 阿里應用私鑰(支持 .pem 結尾的格式,默認為 PKCS1 格式),用于生成簽名
$aliConfig->setPrivateKey('阿里應用私鑰字符串');
*/

// 以上【普通公鑰方式】 和 【公鑰證書方式】 生成密鑰驗簽(簽名和驗簽方式) 這 2 種方式,用戶可自行選擇一種】

$pay = new \EasySwoole\Pay\Pay();

## (面向對象風格)設置請求參數 biz_content,組件自動幫你組裝成對應的格式
$order = new \EasySwoole\Pay\AliPay\RequestBean\Wap();
// (必須)設置 商品標題/交易標題/訂單標題/訂單關鍵字等。注意:不可使用特殊字符,如 /,=,& 等。
$order->setSubject('測試'); // 示例商品標題(僅供參考)
// (必須)設置 商戶訂單號(商戶訂單號。64 個字符以內的大小,僅支持字母、數字、下劃線。需保證該參數在商戶端不重復。)
$order->setOutTradeNo(time() . '123456'); // 示例訂單號(僅供參考)
// (必須)設置 訂單總金額
$order->setTotalAmount('0.01'); // 示例訂單總金額,單位:元(僅供參考)
// (必須)設置 用戶付款中途退出返回商戶網站的地址
$order->addProperty('quit_url', 'http://www.fe88.cn'); // 示例中途退出返回商戶網站的地址(僅供參考)

// (可選)設置 訂單描述,默認為 null
//   $order->setBody(null);
// (可選)設置 在訂單中設置支付寶服務器主動通知商戶服務器里指定的頁面http/https路徑,即支付回調地址(默認為 null,可選參數)
//   $order->setNotifyUrl(null); // 等價于在配置中設置 支付回調地址,兩者中只要設置一次即可
// (可選)設置 return_url(默認為 null,可選參數)
//   $order->setReturnUrl(null); // 等價于在配置中設置 return_url,兩者中只要設置一次即可
// 本庫只預置了常用的請求參數,沒預置的參數請求使用:$order->addProperty('其他字段','其他字段值');
// 支付其他可選參數(詳細請看支付寶接口的可選參數,支付寶接口對應地址請看下文)

## (數組風格)設置請求參數 biz_content,組件自動幫你組裝成對應的格式
/*
$order = new \EasySwoole\Pay\AliPay\RequestBean\Wap([
    'out_trade_no' => time() . '123456', // 示例訂單號(僅供參考)
    'total_amount' => '0.01', // 示例訂單總金額,單位:元(僅供參考)
    'subject' => '測試', // 示例商品標題(僅供參考)
    'quit_url' => 'http://www.fe88.cn', // 示例中途退出返回商戶網站的地址(僅供參考)
    '額外的字段鍵值' => '額外字段值', // 示例支付其他可選參數(詳細請看支付寶接口的可選參數,支付寶接口對應地址請看下文)
], true);
*/

// 以上 2 種風格設置請求參數,用戶可根據個人需要,選其一即可

// 獲取構造請求參數對象
$res = $pay->aliPay($aliConfig)->wap($order);
// 將所有請求參數轉為數組
var_dump($res->toArray());

// 構造請求表單(buildPayHtml 該方法的實現請看上文)  
$html = buildPayHtml(\EasySwoole\Pay\AliPay\GateWay::NORMAL, $res->toArray());
file_put_contents('test.html', $html);

訂單配置參數

所有訂單配置中,對于客觀非必選參數,用戶可以自行選擇是否進行配置,也可以不進行配置,擴展包已經為您自動處理了,比如,product_code 等參數。

所有訂單配置參數和官方無任何差別,兼容所有功能,所有參數請參考 這里,查看「請求參數」一欄。

參數查詢:https://opendocs.alipay.com/apis/api_1/alipay.trade.wap.pay

APP支付接口 2.0

/**
 * 普通公鑰方式生成密鑰驗簽(簽名和驗簽方式)
 */
// 設置支付配置
$aliConfig = new \EasySwoole\Pay\AliPay\Config();
### 配置支付公共請求參數
// (必須)設置 支付寶分配給開發者的應用ID
$aliConfig->setAppId('2017082000295641');
// (必須)設置 請求網關(默認為 沙箱模式)
$aliConfig->setGateWay(\EasySwoole\Pay\AliPay\GateWay::NORMAL);
// 設置 參數格式(默認為 'JSON',可選參數),不建議修改
//   $aliConfig->setFormat('JSON');
// 設置 return_url(默認為 null,可選參數)
//   $aliConfig->setReturnUrl(null);
// 設置 請求使用的編碼格式,如utf-8、gbk、gb2312等(默認為 'utf-8')
//   $aliConfig->setCharset('utf-8');
// 設置 商戶生成簽名字符串所使用的簽名算法類型,目前支持 RSA2 和 RSA,推薦使用 RSA2(默認為 'RSA2')
$aliConfig->setSignType('RSA2');
// 設置 調用的接口版本(默認為 '1.0')
//   $aliConfig->setApiVersion('1.0');
// 設置 支付寶服務器主動通知商戶服務器里指定的頁面http/https路徑,即支付回調地址(默認為 null,可選參數)
//   $aliConfig->setNotifyUrl(null);
// 設置 應用授權參數(默認為 null,可選參數),詳細請看(https://opendocs.alipay.com/open/common/105193)
//   $aliConfig->setAppAuthToken(null);
// 設置 阿里應用公鑰(支持 .pem 結尾的格式,默認為 PKCS1 格式),用于支付回調時驗證簽名
$aliConfig->setPublicKey('阿里應用公鑰字符串'); // 示例應用公鑰字符串
// 設置 阿里應用私鑰(支持 .pem 結尾的格式,默認為 PKCS1 格式),用于生成簽名
$aliConfig->setPrivateKey('阿里應用私鑰字符串'); // 示例應用私鑰

/**
 * 公鑰證書方式生成密鑰驗簽(簽名和驗簽方式)
 */
/*
$aliConfig = new \EasySwoole\Pay\AliPay\Config();
### 配置支付公共請求參數
// (必須)設置 支付寶分配給開發者的應用ID
$aliConfig->setAppId('2017082000295641');
// (必須)設置 請求網關(默認為 沙箱模式)
$aliConfig->setGateWay(\EasySwoole\Pay\AliPay\GateWay::NORMAL);
// 設置 參數格式(默認為 'JSON',可選參數),不建議修改
//   $aliConfig->setFormat('JSON');
// 設置 return_url(默認為 null,可選參數)
//   $aliConfig->setReturnUrl(null);
// 設置 請求使用的編碼格式,如utf-8、gbk、gb2312等(默認為 'utf-8')
//   $aliConfig->setCharset('utf-8');
// 設置 商戶生成簽名字符串所使用的簽名算法類型,目前支持 RSA2 和 RSA,推薦使用 RSA2(默認為 'RSA2')
$aliConfig->setSignType('RSA2');
// 設置 調用的接口版本(默認為 '1.0')
//   $aliConfig->setApiVersion('1.0');
// 設置 支付寶服務器主動通知商戶服務器里指定的頁面http/https路徑,即支付回調地址(默認為 null,可選參數)
//   $aliConfig->setNotifyUrl(null);
// 設置 應用授權參數(默認為 null,可選參數),詳細請看(https://opendocs.alipay.com/open/common/105193)
//   $aliConfig->setAppAuthToken(null);

// (必須)設置 使用公鑰證書方式生密鑰延簽(簽名和驗簽方式)
$aliConfig->setCertMode(true);
// (必須)設置 支付寶公鑰文件路徑
$aliConfig->setCertPath(__DIR__ . '/cert/alipayCertPublicKey_RSA2.crt'); // 示例支付寶公鑰文件路徑
// (必須)設置 支付寶根證書文件路徑
$aliConfig->setRootCertPath(__DIR__ . '/cert/alipayRootCert.crt'); // 示例支付寶公鑰根證書文件路徑
// (必須)設置 阿里應用公鑰證書文件路徑
$aliConfig->setMerchantCertPath(__DIR__ . '/cert/appCertPublicKey_2016091800538780.crt');
// (必須)設置 阿里應用私鑰(支持 .pem 結尾的格式,默認為 PKCS1 格式),用于生成簽名
$aliConfig->setPrivateKey('阿里應用私鑰字符串');
*/

// 以上【普通公鑰方式】 和 【公鑰證書方式】 生成密鑰驗簽(簽名和驗簽方式) 這 2 種方式,用戶可自行選擇一種】

$pay = new \EasySwoole\Pay\Pay();

## (面向對象風格)設置請求參數 biz_content,組件自動幫你組裝成對應的格式
$order = new \EasySwoole\Pay\AliPay\RequestBean\App();
// (必須)設置 訂單總金額
$order->setTotalAmount('0.01'); // 示例訂單總金額,單位:元(僅供參考)
// (必須)設置 商品標題/交易標題/訂單標題/訂單關鍵字等。注意:不可使用特殊字符,如 /,=,& 等。
$order->setSubject('測試'); // 示例商品標題(僅供參考)
// (必須)設置 商戶訂單號(商戶訂單號。64 個字符以內的大小,僅支持字母、數字、下劃線。需保證該參數在商戶端不重復。)
$order->setOutTradeNo(time() . '123456'); // 示例訂單號(僅供參考)
// (可選)設置 銷售產品碼,商家和支付寶簽約的產品碼,默認為 QUICK_MSECURITY_PAY(App支付)。
//   $order->addProperty('product_code', 'QUICK_MSECURITY_PAY'); // 示例銷售產品碼(僅供參考)
// (可選)設置 訂單描述,默認為 null
//   $order->setBody(null);
// (可選)設置 在訂單中設置支付寶服務器主動通知商戶服務器里指定的頁面http/https路徑,即支付回調地址(默認為 null,可選參數)
//   $order->setNotifyUrl(null); // 等價于在配置中設置 支付回調地址,兩者中只要設置一次即可
// (可選)設置 return_url(默認為 null,可選參數)
//   $order->setReturnUrl(null); // 等價于在配置中設置 return_url,兩者中只要設置一次即可
// 本庫只預置了常用的請求參數,沒預置的參數請求使用:$order->addProperty('其他字段','其他字段值');
// 支付其他可選參數(詳細請看支付寶接口的可選參數,支付寶接口對應地址請看下文)

## (數組風格)設置請求參數 biz_content,組件自動幫你組裝成對應的格式
/*
$order = new \EasySwoole\Pay\AliPay\RequestBean\Wap([
    'out_trade_no' => time() . '123456', // 示例訂單號(僅供參考)
    'total_amount' => '0.01', // 示例訂單總金額,單位:元(僅供參考)
    'subject' => '測試', // 示例商品標題(僅供參考)
    '額外的字段鍵值' => '額外字段值', // 示例支付其他可選參數(詳細請看支付寶接口的可選參數,支付寶接口對應地址請看下文)
], true);
*/

// 以上 2 種風格設置請求參數,用戶可根據個人需要,選其一即可

// 獲取構造請求參數對象
$res = $pay->aliPay($aliConfig)->app($order);
// 將所有請求參數轉為數組
var_dump($res->toArray());

訂單配置參數

所有訂單配置中,對于客觀非必選參數,用戶可以自行選擇是否進行配置,也可以不進行配置,擴展包已經為您自動處理了,比如,product_code 等參數。

所有訂單配置參數和官方無任何差別,兼容所有功能,所有參數請參考 這里,查看「請求參數」一欄。

參數查詢:https://opendocs.alipay.com/apis/api_1/alipay.trade.app.pay

刷卡支付

/**
 * 普通公鑰方式生成密鑰驗簽(簽名和驗簽方式)
 */
// 設置支付配置
$aliConfig = new \EasySwoole\Pay\AliPay\Config();
### 配置支付公共請求參數
// (必須)設置 支付寶分配給開發者的應用ID
$aliConfig->setAppId('2017082000295641');
// (必須)設置 請求網關(默認為 沙箱模式)
$aliConfig->setGateWay(\EasySwoole\Pay\AliPay\GateWay::NORMAL);
// 設置 參數格式(默認為 'JSON',可選參數),不建議修改
//   $aliConfig->setFormat('JSON');
// 設置 請求使用的編碼格式,如utf-8、gbk、gb2312等(默認為 'utf-8')
//   $aliConfig->setCharset('utf-8');
// 設置 商戶生成簽名字符串所使用的簽名算法類型,目前支持 RSA2 和 RSA,推薦使用 RSA2(默認為 'RSA2')
$aliConfig->setSignType('RSA2');
// 設置 調用的接口版本(默認為 '1.0')
//   $aliConfig->setApiVersion('1.0');
// 設置 支付寶服務器主動通知商戶服務器里指定的頁面http/https路徑,即支付回調地址(默認為 null,可選參數)
//   $aliConfig->setNotifyUrl(null);
// 設置 應用授權參數(默認為 null,可選參數),詳細請看(https://opendocs.alipay.com/open/common/105193)
//   $aliConfig->setAppAuthToken(null);
// 設置 阿里應用公鑰(支持 .pem 結尾的格式,默認為 PKCS1 格式),用于支付回調時驗證簽名
$aliConfig->setPublicKey('阿里應用公鑰字符串'); // 示例應用公鑰字符串
// 設置 阿里應用私鑰(支持 .pem 結尾的格式,默認為 PKCS1 格式),用于生成簽名
$aliConfig->setPrivateKey('阿里應用私鑰字符串'); // 示例應用私鑰

/**
 * 公鑰證書方式生成密鑰驗簽(簽名和驗簽方式)
 */
/*
$aliConfig = new \EasySwoole\Pay\AliPay\Config();
### 配置支付公共請求參數
// (必須)設置 支付寶分配給開發者的應用ID
$aliConfig->setAppId('2017082000295641');
// (必須)設置 請求網關(默認為 沙箱模式)
$aliConfig->setGateWay(\EasySwoole\Pay\AliPay\GateWay::NORMAL);
// 設置 參數格式(默認為 'JSON',可選參數),不建議修改
//   $aliConfig->setFormat('JSON');
// 設置 請求使用的編碼格式,如utf-8、gbk、gb2312等(默認為 'utf-8')
//   $aliConfig->setCharset('utf-8');
// 設置 商戶生成簽名字符串所使用的簽名算法類型,目前支持 RSA2 和 RSA,推薦使用 RSA2(默認為 'RSA2')
$aliConfig->setSignType('RSA2');
// 設置 調用的接口版本(默認為 '1.0')
//   $aliConfig->setApiVersion('1.0');
// 設置 支付寶服務器主動通知商戶服務器里指定的頁面http/https路徑,即支付回調地址(默認為 null,可選參數)
//   $aliConfig->setNotifyUrl(null);
// 設置 應用授權參數(默認為 null,可選參數),詳細請看(https://opendocs.alipay.com/open/common/105193)
//   $aliConfig->setAppAuthToken(null);

// (必須)設置 使用公鑰證書方式生密鑰延簽(簽名和驗簽方式)
$aliConfig->setCertMode(true);
// (必須)設置 支付寶公鑰文件路徑
$aliConfig->setCertPath(__DIR__ . '/cert/alipayCertPublicKey_RSA2.crt'); // 示例支付寶公鑰文件路徑
// (必須)設置 支付寶根證書文件路徑
$aliConfig->setRootCertPath(__DIR__ . '/cert/alipayRootCert.crt'); // 示例支付寶公鑰根證書文件路徑
// (必須)設置 阿里應用公鑰證書文件路徑
$aliConfig->setMerchantCertPath(__DIR__ . '/cert/appCertPublicKey_2016091800538780.crt');
// (必須)設置 阿里應用私鑰(支持 .pem 結尾的格式,默認為 PKCS1 格式),用于生成簽名
$aliConfig->setPrivateKey('阿里應用私鑰字符串');
*/

// 以上【普通公鑰方式】 和 【公鑰證書方式】 生成密鑰驗簽(簽名和驗簽方式) 這 2 種方式,用戶可自行選擇一種】

$pay = new \EasySwoole\Pay\Pay();

## (面向對象風格)設置請求參數 biz_content,組件自動幫你組裝成對應的格式
$order = new \EasySwoole\Pay\AliPay\RequestBean\Pos();
// (必須)設置 商戶訂單號(商戶訂單號。64 個字符以內的大小,僅支持字母、數字、下劃線。需保證該參數在商戶端不重復。)
$order->setOutTradeNo(time() . '123456'); // 示例訂單號(僅供參考)
// (必須)設置 支付授權碼(詳細說明請看支付寶官網文檔:https://opendocs.alipay.com/apis/api_1/alipay.trade.pay?scene=common)
$order->setAuthCode('289756915257123456'); // 示例支付授權碼(僅供參考)
// (必須)設置 商品標題/交易標題/訂單標題/訂單關鍵字等。注意:不可使用特殊字符,如 /,=,& 等。
$order->setSubject('測試'); // 示例商品標題(僅供參考)
// (可選)設置 支付場景,(默認為 'bar_code')
//   $order->addProperty('scene', 'bar_code');
// (可選)設置 產品碼,默認為 'FACE_TO_FACE_PAYMENT'(當面付)
//   $order->addProperty('product_code', 'FACE_TO_FACE_PAYMENT');
// (可選)設置 訂單描述,默認為 null
//   $order->setBody(null);
// (可選)設置 在訂單中設置支付寶服務器主動通知商戶服務器里指定的頁面http/https路徑,即支付回調地址(默認為 null,可選參數)
//   $order->setNotifyUrl(null); // 等價于在配置中設置 支付回調地址,兩者中只要設置一次即可
// 本庫只預置了常用的請求參數,沒預置的參數請求使用:$order->addProperty('其他字段','其他字段值');
// 支付其他可選參數(詳細請看支付寶接口的可選參數,支付寶接口對應地址請看下文)

## (數組風格)設置請求參數 biz_content,組件自動幫你組裝成對應的格式
/*
$order = new \EasySwoole\Pay\AliPay\RequestBean\Wap([
    'out_trade_no' => time() . '123456', // 示例訂單號(僅供參考)
    'auth_code' => '289756915257123456', // 示例支付授權碼(僅供參考)
    'product_code' => 'FACE_TO_FACE_PAYMENT', // 示例產品碼,默認為 'FACE_TO_FACE_PAYMENT'(當面付)
    'subject' => '測試', // 示例商品標題(僅供參考)
    '額外的字段鍵值' => '額外字段值', // 示例支付其他可選參數(詳細請看支付寶接口的可選參數,支付寶接口對應地址請看下文)
], true);
*/

// 以上 2 種風格設置請求參數,用戶可根據個人需要,選其一即可

// 獲取構造請求參數對象
$res = $pay->aliPay($aliConfig)->pos($order);
// 將所有請求參數轉為數組
$data = $res->toArray();

訂單配置參數

所有訂單配置中,對于客觀非必選參數,用戶可以自行選擇是否進行配置,也可以不進行配置,擴展包已經為您自動處理了,比如,product_codeauth_codescene等參數。

所有訂單配置參數和官方無任何差別,兼容所有功能,所有參數請參考 這里,查看「請求參數」一欄。

參數查詢:https://opendocs.alipay.com/apis/api_1/alipay.trade.pay

掃碼支付

$aliConfig = new \EasySwoole\Pay\AliPay\Config();
$aliConfig->setGateWay(\EasySwoole\Pay\AliPay\GateWay::SANDBOX);
$aliConfig->setAppId('2016091800538339');
$aliConfig->setPublicKey('阿里公鑰');
$aliConfig->setPrivateKey('阿里私鑰');

$pay = new \EasySwoole\Pay\Pay();

$pay = new \EasySwoole\Pay\Pay();
$order = new \EasySwoole\Pay\AliPay\RequestBean\Scan();
$order->setSubject('測試');
$order->setTotalAmount('0.01');
$order->setOutTradeNo(time());

$aliPay = $pay->aliPay($aliConfig);
$data = $aliPay->scan($order)->toArray();
$response = $aliPay->preQuest($data);
var_dump($response);
// qr_code 當前預下單請求生成的二維碼碼串,可以用二維碼生成工具根據該碼串值生成對應的二維碼  https://qr.alipay.com/bavh4wjlxf12tper3a

訂單配置參數

所有訂單配置中,客觀參數均不用配置,擴展包已經為大家自動處理了,比如,product_code 等參數。

所有訂單配置參數和官方無任何差別,兼容所有功能,所有參數請參考這里,查看「請求參數」一欄。

參考參數:https://docs.open.alipay.com/api_1/alipay.trade.precreate

單筆轉賬到支付寶賬戶接口

$aliConfig = new \EasySwoole\Pay\AliPay\Config();
$aliConfig->setGateWay(\EasySwoole\Pay\AliPay\GateWay::SANDBOX);
$aliConfig->setAppId('2016091800538339');
$aliConfig->setPublicKey('阿里公鑰');
$aliConfig->setPrivateKey('阿里私鑰');

$pay = new \EasySwoole\Pay\Pay();

$order = new \EasySwoole\Pay\AliPay\RequestBean\Transfer();
$order->setSubject('測試');
$order->setAmount('0.01');
/*
    收款方賬戶類型。可取值:
    1、ALIPAY_USERID:支付寶賬號對應的支付寶唯一用戶號。以2088開頭的16位純數字組成。
    2、ALIPAY_LOGONID:支付寶登錄號,支持郵箱和手機號格式。
*/
$order->setPayeeType('ALIPAY_LOGONID');
$order->setPayeeAccount('hcihsn8174@sandbox.com');

$aliPay = $pay->aliPay($aliConfig);
$data = $aliPay->transfer($order)->toArray();
$aliPay->preQuest($data);
var_dump($data);

本接口用的是老版本的 https://docs.open.alipay.com/309/alipay.fund.trans.toaccount.transfer

訂單配置參數

所有訂單配置中,客觀參數均不用配置,擴展包已經為大家自動處理了,比如,product_code 等參數。

所有訂單配置參數和官方無任何差別,兼容所有功能,所有參數請參考這里,查看「請求參數」一欄。

參數查詢:https://docs.open.alipay.com/api_28/alipay.fund.trans.toaccount.transfer

小程序支付

$aliConfig = new \EasySwoole\Pay\AliPay\Config();
$aliConfig->setGateWay(\EasySwoole\Pay\AliPay\GateWay::SANDBOX);
$aliConfig->setAppId('2016091800538339');
$aliConfig->setPublicKey('阿里公鑰');
$aliConfig->setPrivateKey('阿里私鑰');

$pay = new \EasySwoole\Pay\Pay();

$order = new \EasySwoole\Pay\AliPay\RequestBean\MiniProgram();
$order->setSubject('測試');
$order->setOutTradeNo(time().'123456');
$order->setTotalAmount('0.01');
$order->setBuyerId('hcihsn8174@sandbox.com');

$aliPay = $pay->aliPay($aliConfig);
$data = $aliPay->miniProgram($order)->toArray();
var_dump($data);

訂單配置參數

所有訂單配置中,客觀參數均不用配置,擴展包已經為大家自動處理了,比如,product_code 等參數。

所有訂單配置參數和官方無任何差別,兼容所有功能,所有參數請參考這里,查看「請求參數」一欄。

小程序支付接入文檔:https://docs.alipay.com/mini/introduce/pay

參數查詢:

訂單查詢

$aliConfig = new \EasySwoole\Pay\AliPay\Config();
$aliConfig->setGateWay(\EasySwoole\Pay\AliPay\GateWay::SANDBOX);
$aliConfig->setAppId('2016091800538339');
$aliConfig->setPublicKey('阿里公鑰');
$aliConfig->setPrivateKey('阿里私鑰');
$pay = new \EasySwoole\Pay\Pay();
$order = new \EasySwoole\Pay\AliPay\RequestBean\OrderFind();
$order->setOutTradeNo(time().'123456');
$aliPay = $pay->aliPay($aliConfig);

var_dump($aliPay->orderFind($order)->toArray());

官方參數查詢:https://docs.open.alipay.com/api_1/alipay.trade.fastpay.refund.query

退款查詢

$aliConfig = new \EasySwoole\Pay\AliPay\Config();
$aliConfig->setGateWay(\EasySwoole\Pay\AliPay\GateWay::SANDBOX);
$aliConfig->setAppId('2016091800538339');
$aliConfig->setPublicKey('阿里公鑰');
$aliConfig->setPrivateKey('阿里私鑰');
$pay = new \EasySwoole\Pay\Pay();
$order = new \EasySwoole\Pay\AliPay\RequestBean\RefundFind();
$order->setOutTradeNo('20150320010101001');
$order->setOutRequestNo(time().'2014112611001004680073956707');
$aliPay = $pay->aliPay($aliConfig);
$data = $aliPay->refundFind($order)->toArray();
var_dump($aliPay->preQuest($data));

官方參數查詢:https://docs.open.alipay.com/api_1/alipay.trade.refund

查詢轉賬訂單接口

$aliConfig = new \EasySwoole\Pay\AliPay\Config();
$aliConfig->setGateWay(\EasySwoole\Pay\AliPay\GateWay::SANDBOX);
$aliConfig->setAppId('2016091800538339');
$aliConfig->setPublicKey('阿里公鑰');
$aliConfig->setPrivateKey('阿里私鑰');
$pay = new \EasySwoole\Pay\Pay();
$order = new \EasySwoole\Pay\AliPay\RequestBean\TransferFind();
$order->setOutBizNo('3142321423432');
// 二選一
//  $order->setOrderId('20160627110070001502260006780837');
$aliPay = $pay->aliPay($aliConfig);
$data = $aliPay->transferFind($order)->toArray();
var_dump($aliPay->preQuest($data));

官方參數查詢:https://docs.open.alipay.com/api_28/alipay.fund.trans.order.query

交易撤銷接口

$aliConfig = new \EasySwoole\Pay\AliPay\Config();
$aliConfig->setGateWay(\EasySwoole\Pay\AliPay\GateWay::SANDBOX);
$aliConfig->setAppId('2016091800538339');
$aliConfig->setPublicKey('阿里公鑰');
$aliConfig->setPrivateKey('阿里私鑰');
$pay = new \EasySwoole\Pay\Pay();
$order = new \EasySwoole\Pay\AliPay\RequestBean\Cancel();
$order->setOutTradeNo('20150320010101001');
$aliPay = $pay->aliPay($aliConfig);
$data = $aliPay->cancel($order)->toArray();
var_dump($aliPay->preQuest($data));

官方參數查詢:https://docs.open.alipay.com/api_1/alipay.trade.cancel

交易關閉接口

$aliConfig = new \EasySwoole\Pay\AliPay\Config();
$aliConfig->setGateWay(\EasySwoole\Pay\AliPay\GateWay::SANDBOX);
$aliConfig->setAppId('2016091800538339');
$aliConfig->setPublicKey('阿里公鑰');
$aliConfig->setPrivateKey('阿里私鑰');
$pay = new \EasySwoole\Pay\Pay();
$order = new \EasySwoole\Pay\AliPay\RequestBean\Close();
$order->setOutTradeNo(time().'123456');
$aliPay = $pay->aliPay($aliConfig);
$data = $aliPay->close($order)->toArray();
var_dump($aliPay->preQuest($data));

官方參數查詢:https://docs.open.alipay.com/api_1/alipay.trade.close

查詢對賬單下載地址

$aliConfig = new \EasySwoole\Pay\AliPay\Config();
$aliConfig->setGateWay(\EasySwoole\Pay\AliPay\GateWay::SANDBOX);
$aliConfig->setAppId('2016091800538339');
$aliConfig->setPublicKey('阿里公鑰');
$aliConfig->setPrivateKey('阿里私鑰');
$pay = new \EasySwoole\Pay\Pay();
$order = new \EasySwoole\Pay\AliPay\RequestBean\Download();
$order->setBillType('trade');
$order->setBillDate('2016-04-05');
$aliPay = $pay->aliPay($aliConfig);
$data = $aliPay->download($order)->toArray();
var_dump($aliPay->preQuest($data));

官方參數查詢:https://docs.open.alipay.com/api_15/alipay.data.dataservice.bill.downloadurl.query

驗證服務器數據

$aliConfig = new \EasySwoole\Pay\AliPay\Config();
$aliConfig->setGateWay(\EasySwoole\Pay\AliPay\GateWay::SANDBOX);
$aliConfig->setAppId('2016091800538339');
$aliConfig->setPublicKey('阿里公鑰');
$aliConfig->setPrivateKey('阿里私鑰');
$pay = new \EasySwoole\Pay\Pay();

$param = [];//偽代碼,post數據
unset($param['sign_type']);//需要忽略sign_type組裝
$order = new \EasySwoole\Pay\AliPay\RequestBean\NotifyRequest($param,true);
$aliPay = $pay->aliPay($aliConfig);
$result = $aliPay->verify($order);
var_dump($result);

服務器確認收到異步通知字符串獲取

可通過調用如下方法得到響應支付寶的異步通知字符串:'success'/'failure'

\EasySwoole\Pay\AliPay\AliPay::success(); // 成功響應
\EasySwoole\Pay\AliPay\AliPay::fail(); // 失敗響應
主站蜘蛛池模板: 嫁给哑巴渔夫 在吃鸡排 | 久久精品2 | 激情六月丁香 | 99精品久久久久中文字幕 | 免费看一级视频 | 欧美特级午夜一区二区三区 | 日本福利在线观看 | 国内精品久久久久 | 国产青草 | 精品国产日韩一区三区 | 国产视频你懂得 | 欧美在线看欧美高清视频免费 | 精品一区二区三区四区 | 国产免费播放一区二区三区 | 久久精品亚洲精品国产欧美 | 国产美女精品在线 | 久久国产精彩视频 | 婷婷亚洲综合五月天小说 | 国产成人久久精品二区三区 | 精品无人区乱码1区2区3区免费 | 国产成人精品久久二区二区 | 五月精品 | 免费理伦片在线观看全网站 | 青草青青在线 | 成人伊人网 | 五月天激情影院 | 日本免费新一区二区三区 | 你懂的在线视频网站 | 欧美色女人| 97视频免费上传播放 | 免费色网址 | 国产一级高清视频在线 | 日本最新免费二区三区 | 国产一区在线观看视频 | 日韩欧美成人免费中文字幕 | 四虎影视永久在线 yin56xyz | 欧美日韩另类视频 | 婷婷草| 国产精品va免费视频 | 97se亚洲综合在线 | 国产精品亚洲天堂 |