一、接口介紹
pay/unifiedorder是支付寶開放平台提供的支付接口,主要用於商戶發起支付請求,獲取預支付訂單號(prepare_id)並生成支付二維碼,用戶掃碼完成支付流程。該接口支持多種交易場景,包括APP、小程序、H5等。
二、接口參數
支付寶開放平台提供了詳細的pay/unifiedorder接口參數,其中必傳參數包括app_id、out_trade_no、total_amount、subject、product_code等。其他可選參數包括timeout_express、passback_params等。下面是一個示例參數:
{
"app_id":"2016110100792789",
"method":"alipay.trade.precreate",
"format":"JSON",
"charset":"utf-8",
"sign_type":"RSA2",
"timestamp":"2018-01-01 00:00:00",
"version":"1.0",
"notify_url":"http://www.yourdomain.com/notify_url",
"biz_content":{
"out_trade_no":"20150401005",
"total_amount":88.88,
"subject":"Iphone6 16G",
"store_id":"NJ_001",
"timeout_express":"5m",
"seller_id":"2088102146225135"
}
}
三、調用流程
pay/unifiedorder接口調用流程分為請求和響應兩部分。
請求流程:商戶向支付寶發送支付請求,包括APPID、商戶訂單號、付款金額、商品描述等,同時計算簽名並攜帶簽名一起發送。
響應流程:支付寶收到請求後校驗APPID和簽名,校驗通過後生成預支付訂單(prepare_id),並返回給商戶二維碼(code_url)和支付寶訂單號(trade_no)。
四、代碼示例
下面是使用Node.js調用pay/unifiedorder接口的示例代碼:
const AlipaySdk = require('alipay-sdk').default;
const AlipayFormData = require('alipay-sdk/lib/form').default;
const alipaySdk = new AlipaySdk({
appId: 'app_id',
privateKey: 'private_key',
signType: 'RSA2',
alipayPublicKey: 'alipay_public_key',
});
const formData = new AlipayFormData();
formData.setMethod('get');
formData.addField('return_url', 'http://www.yourdomain.com/return_url');
formData.addField('notify_url', 'http://www.yourdomain.com/notify_url');
formData.addField('biz_content', {
out_trade_no: 'out_trade_no',
product_code: 'FAST_INSTANT_TRADE_PAY',
total_amount: '0.01',
subject: 'subject',
});
const result = await alipaySdk.exec(
'alipay.trade.precreate',
{},
{ formData: formData },
);
五、常見問題
1、支付寶開放平台的appid在哪裡申請?
支付寶開放平台的appid需要在支付寶開放平台註冊並審核通過後獲取。
2、為什麼調用pay/unifiedorder接口返回「支付寶合作夥伴賬戶餘額不足」?
這可能是由於支付寶賬戶餘額不足導致的,請檢查賬戶餘額是否充足。
3、支付寶交易賬單是在哪裡查看?
支付寶交易賬單可以在支付寶開放平台賬戶中心-交易記錄中查看。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/155142.html
微信掃一掃
支付寶掃一掃