一、接口介紹
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-hant/n/155142.html