Payment:接入支付寶當面付(掃碼支付與條碼支付)教程

越寫越覺得支付類的文檔寫這麼細,會不會反而讓大家覺得很複雜呀?其實都是同樣的調用方式

這一篇,將把支付寶剩下的掃碼支付與條碼支付全部寫清楚。

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!支付寶支付類的接口基本就講完了。接下來將開始講解微信支付的接口。使用起來都一樣,不一樣的僅僅是參數部分。還是安排將微信支付的配置開一篇單獨的文章進行講解。


如果你有不清楚的或者願意交流的地方,請聯繫我:

郵箱[email protected]

如果你覺得這個項目有幫助到你,請打賞我,讓我有動力持續下去左邊微信,右邊支付寶

image

ps: 一般性的問題請大家可以先查資料,如果實在無法解決找我吧(不免費服務)。

發佈了113 篇原創文章 · 獲贊 153 · 訪問量 62萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章