越寫越覺得支付類的文檔寫這麼細,會不會反而讓大家覺得很複雜呀?其實都是同樣的調用方式
這一篇,將把支付寶剩下的掃碼支付與條碼支付全部寫清楚。
Payment 3.0
支付寶的配置設置文檔請 點擊這裏
項目GitHub地址:https://github.com/helei112g/payment
支付寶的當面付,包括掃碼支付與條碼支付。
- 掃碼支付,是消費者用手機去掃商家生成的二維碼。個人覺得也可以將這個功能用在pc支付上。取代即時到賬接口。
- 條碼支付,商家用掃碼槍讀取用戶支付寶上的條碼。對應微信的刷卡支付。該項廣泛用在超市結賬時。
參數 | 類型 | 是否必須 | 說明 |
---|---|---|---|
body | boolean | 是 | 商品描述 |
subject | string | 是 | 商品名稱,該參數最長爲128個漢字 |
order_no | string | 是 | 商戶網站唯一訂單號 |
timeout_express | string | 是 | 設置未付款交易的超時時間,一旦超時,該筆交易就會自動被關閉。 |
amount | float | 是 | 該筆訂單的資金總額,單位爲RMB-Yuan |
store_id | string | 否 | 商戶門店編號 |
operator_id | string | 否 | 商戶操作員編號 |
terminal_id | string | 否 | 商戶機具終端編號 |
alipay_store_id | string | 否 | 支付寶店鋪的門店ID |
scene | string | 是 | 條碼支付時,必須設置 |
auth_code | string | 是 | 條碼支付時,必須設置 |
body
主要是對商品的描述,根據自己的業務寫就好,不過不要用一些非常特殊的字符,支付寶可能會進行一些處理,導致你的結果與預期不一樣
subject
可以寫一下商品名稱信息,主要是方便支付寶後臺對賬時查看
order_no
自己生成的訂單號,每次下單的單號必須唯一。也就是說:同一個 order_no 他的其他下單數據不能發生變化,價格、名稱等等。如果有變化,需要重新生成一個訂單號。
timeout_express
訂單過期時間,很簡單,你希望在那一刻過期,就寫那個點的時間戳。只會精確到分鐘
amount
訂單的金額,就是用戶實際需要支付的金額。
store_id
門店編號,這部分數據主要是支付寶爲了將業務深化到線下而提供的,如果用不到,不設置就好。
operator_id
商戶操作員編號,可以不設置。
terminal_id
商戶機具終端編號,可以不設置。
alipay_store_id
支付寶店鋪的門店ID,沒有的話,也可以不設置。
scene
條碼支付,必須設置該選項,條碼支付,取值:bar_code 聲波支付,取值:wave_code
auth_code
條碼支付必須設置。
在上面的參數中,除了特別說明的,其它部分,掃碼支付與條碼支付都需要。
代碼調用。
use Payment\Common\PayException;
use Payment\Client\Charge;
$config = require_once('./aliconfig.php');// 支付寶的配置信息
$channel = 'ali_qr';// ali_bar
$payData = [
'body' => '一個蘋果',
'subject' => '牛逼公司--付款吧',
'order_no' => 'NB12312355',
'timeout_express' => '1489241888',
'amount' => '100',
'return_param' => 'buy some',
'goods_type' => 1,// 默認值爲1,因此也可以省略
'store_id' => '',// 沒有就不設置
];
try {
$str = Charge::run($channel, $config, $payData);
} catch (PayException $e) {
// 異常處理
exit;
}
echo htmlspecialchars($str);
如果使用的掃碼支付, $channel = 'ali_qr'
則返回一個url。大家可以通過將返回的字符串生成一個二維碼。即可進行掃碼支付。
另外請記得,如果使用的沙箱請使用對應的沙箱支付寶來掃碼。關於沙箱的介紹。看這裏
如果使用的條碼支付, $channel = 'ali_bar'
必須設置以下兩個字段
- scene 支付場景 條碼支付,取值:bar_code 聲波支付,取值:wave_code
- auth_code 支付授權碼,也就是用戶手機條碼對應的值。
這個接口測試時,大家可以手動把條碼的值,輸入進去
ok!支付寶支付類的接口基本就講完了。接下來將開始講解微信支付的接口。使用起來都一樣,不一樣的僅僅是參數部分。還是安排將微信支付的配置開一篇單獨的文章進行講解。
如果你有不清楚的或者願意交流的地方,請聯繫我:
如果你覺得這個項目有幫助到你,請打賞我,讓我有動力持續下去左邊微信,右邊支付寶:
ps: 一般性的問題請大家可以先查資料,如果實在無法解決找我吧(不免費服務)。