亚洲精品成人_精品成人一区_999视频在线播放_免费黄色在线_亚洲成人久久久_久久www免费视频

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

組件安裝方法和說明

注意:請務必檢查你的 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.b3f21.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.b3f21.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(); // 失敗響應
亚洲精品成人_精品成人一区_999视频在线播放_免费黄色在线_亚洲成人久久久_久久www免费视频
  • <kbd id="eqi2k"><code id="eqi2k"></code></kbd><cite id="eqi2k"><tbody id="eqi2k"></tbody></cite>
    一区二区三区免费看| 欧美午夜电影在线观看 | 久久精品日产第一区二区三区乱码 | 亚洲一区二区高清视频| 欧美午夜不卡| 午夜一级久久| 欧美福利一区二区三区| 欧美日韩三区| 超碰97网站| 亚洲最新在线| 午夜综合激情| 青青草久久网络| 伊人婷婷久久| 久久精品99| 亚洲激情一区二区| 精品欧美一区二区精品久久| 亚洲精品日韩成人| 在线亚洲观看| 日本不卡一区二区三区在线观看| 国产精品啊啊啊| 国产精品永久入口久久久| 欧美激情国产日韩| 国产精品10p综合二区| 中文字幕在线亚洲精品 | 亚洲精品一品区二品区三品区| 1卡2卡3卡精品视频| 制服国产精品| 国产99午夜精品一区二区三区 | 巨乳诱惑日韩免费av| 宅男在线精品国产免费观看| 久久国产精品久久久久久电车| 欧美一级二级三级九九九| 永久久久久久| 品久久久久久久久久96高清| 久久精品人人做人人爽电影蜜月| 亚洲在线色站| 韩国一区二区三区美女美女秀| 亚洲精品1区2区| 中文字幕成人一区| 国产欧美日韩一区| 新67194成人永久网站| 欧美日本亚洲| 亚洲国产另类久久久精品极度| www.成人三级视频| 中文精品视频一区二区在线观看| 亚洲国产欧美一区二区三区不卡| 91精品国产91久久久久青草| 黄色亚洲精品| 日韩福利在线| 久久精品国产一区二区三区日韩 | 欧美a级片网站| 麻豆成人av| 97伦理在线四区| 国产精品久久久亚洲一区| 欧美日韩大片一区二区三区| 日韩电影大全在线观看| 久久国产手机看片| 国产一区二区在线观看免费播放| 一区二区91| 亚洲黄色在线| 日韩一级不卡| 黄色av日韩| 欧美久久久久久久| 欧美日韩午夜| 欧美a级片网站| 欧美激情91| 激情成人综合| 在线 亚洲欧美在线综合一区| 韩国欧美一区| 中文有码久久| 久久精品午夜| 波多野结衣精品久久| 老司机精品福利视频| 91在线短视频| 精品福利影视| 欧美日韩在线一区二区三区| 欧美一区观看| 欧美国产精品| 影音欧美亚洲| 久久久久久久久久码影片| 亚洲一区二区三区免费在线观看| 午夜在线精品| eeuss一区二区三区| 国产一区免费在线观看| 精品国产乱码久久久久久郑州公司| 成人av男人的天堂| 青青草成人网| 国内精品久久国产| 99国产精品自拍| 久热综合在线亚洲精品| 国产亚洲情侣一区二区无| 日本一区二区三区视频在线观看| 亚洲开发第一视频在线播放| 欧美精品99| 国产精品毛片| 精品久久精品久久| 一级做a爰片久久| 亚洲福利免费| 国产日产精品一区二区三区四区| 欧美深深色噜噜狠狠yyy| 午夜日韩福利| 欧美一级播放| 日韩精品久久久| 在线观看欧美一区| 97人人干人人| 亚洲欧美日韩精品在线| 亚洲美女色禁图| 国产一区不卡在线观看| 欧美在线播放一区| 久久男女视频| 亚洲国产精品日韩| 久久久久九九九| 亚洲精品国产系列| 久久综合一区二区三区| 亚洲一区二区三区在线观看视频| 亚洲人妖在线| 日本精品一区二区三区视频 | 国产精品一区二区免费看| 亚洲一区二区三区午夜| 性欧美长视频| 中文字幕日韩一区二区三区不卡| 午夜综合激情| 欧美日韩一区在线视频| 国产精品久久久久久免费观看| 亚洲欧洲精品一区二区| 久久久久久精| 好看的日韩av电影| 欧美一级爽aaaaa大片| 亚洲免费网址| 欧美aⅴ99久久黑人专区| 精品一区国产| 亚洲免费在线| 国产精品国产精品| 日本精品视频一区| 丁香五月网久久综合| 亚洲图片在线| 亚洲精品高清国产一线久久| 成人av播放| 亚洲一区二区三区精品动漫| 欧美黄色一区二区| 日本在线视频不卡| 99re国产| 国产伦精品一区二区三区高清版 | 影音先锋久久久| 涩涩涩999| 精品在线视频一区二区| 国产精品丝袜xxxxxxx| 欧美日韩99| 亚洲精品第一区二区三区| 精品国产乱码久久久久软件| 亚洲免费在线| 国产精品久久久久久久免费软件| 女同一区二区| 日本一区免费看| 精品日本一区二区三区| 久久久久久久久久久久久久一区| 亚洲国产99| 伊人久久大香线蕉综合热线| 午夜免费电影一区在线观看| 深田咏美在线x99av| 日本不卡久久| 欧美福利精品| 欧美日韩在线不卡一区| 欧美精品在线一区| 欧美中文娱乐网| 日韩偷拍一区二区| 午夜精品电影在线观看| 亚洲黄色一区二区三区| 午夜精品区一区二区三| 亚洲一区精品视频| 欧美精品一区二区视频| 欧美日韩视频在线一区二区观看视频| 先锋影音一区二区三区| 伊人色综合久久天天五月婷| 亚洲一区二区在线观| 欧美日韩精品免费看| 亚洲激情一区二区三区| 亚洲欧美日韩国产一区二区| 久久天堂精品| 久久精品女人的天堂av| 日日噜噜噜噜夜夜爽亚洲精品| 日韩欧美亚洲精品| 狠狠88综合久久久久综合网| 99日韩精品| 99久久国产免费免费| 欧美二区三区在线| 亚洲精品一卡二卡三卡四卡| 女女同性女同一区二区三区91| 欧美精品一区二区视频| 日韩午夜免费视频| 不卡视频一区二区| 日韩精品久久久免费观看| 欧美一区二区三区另类| 欧美精品激情| 免费试看一区| 欧美最大成人综合网| 影音先锋国产精品| 成人动漫视频在线观看完整版| 任我爽在线视频精品一| 最新亚洲视频|