W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
接口功能:外部商戶App喚起快捷SDK創(chuàng)建訂單并支付。
請(qǐng)求參數(shù)是商戶在與支付寶進(jìn)行數(shù)據(jù)交互時(shí),提供給支付寶的請(qǐng)求數(shù)據(jù),以便支付寶根據(jù)這些數(shù)據(jù)進(jìn)一步處理。
參數(shù) | 類型 | 是否必填 | 最大長度 | 描述 | 示例值 |
---|---|---|---|---|---|
app_id | String | 是 | 32 | 支付寶分配給開發(fā)者的應(yīng)用ID | 2014072300007148 |
method | String | 是 | 128 | 接口名稱 | alipay.trade.app.pay |
format | String | 否 | 40 | 僅支持JSON | JSON |
charset | String | 是 | 10 | 請(qǐng)求使用的編碼格式,如utf-8,gbk,gb2312等 | utf-8 |
sign_type | String | 是 | 10 | 商戶生成簽名字符串所使用的簽名算法類型,目前支持RSA2和RSA,推薦使用RSA2 | RSA2 |
sign | String | 是 | 256 | 商戶請(qǐng)求參數(shù)的簽名串,詳見簽名 | 詳見示例 |
timestamp | String | 是 | 19 | 發(fā)送請(qǐng)求的時(shí)間,格式"yyyy-MM-dd HH:mm:ss" | 2014-07-24 03:07:50 |
version | String | 是 | 3 | 調(diào)用的接口版本,固定為:1.0 | 1.0 |
notify_url | String | 是 | 256 | 支付寶服務(wù)器主動(dòng)通知商戶服務(wù)器里指定的頁面http/https路徑。建議商戶使用https | https://api.xx.com/receive_notify.htm |
biz_content | String | 是 | - | 業(yè)務(wù)請(qǐng)求參數(shù)的集合,最大長度不限,除公共參數(shù)外所有請(qǐng)求參數(shù)都必須放在這個(gè)參數(shù)中傳遞,具體參照各產(chǎn)品快速接入文檔 | - |
參數(shù) | 類型 | 是否必填 | 最大長度 | 描述 | 示例值 |
---|---|---|---|---|---|
body | String | 否 | 128 | 對(duì)一筆交易的具體描述信息。如果是多種商品,請(qǐng)將商品描述字符串累加傳給body。 | Iphone6 16G |
subject | String | 是 | 256 | 商品的標(biāo)題/交易標(biāo)題/訂單標(biāo)題/訂單關(guān)鍵字等。 | 大樂透 |
out_trade_no | String | 是 | 64 | 商戶網(wǎng)站唯一訂單號(hào) | 70501111111S001111119 |
timeout_express | String | 否 | 6 | 該筆訂單允許的最晚付款時(shí)間,逾期將關(guān)閉交易。取值范圍:1m~15d。m-分鐘,h-小時(shí),d-天,1c-當(dāng)天(1c-當(dāng)天的情況下,無論交易何時(shí)創(chuàng)建,都在0點(diǎn)關(guān)閉)。 該參數(shù)數(shù)值不接受小數(shù)點(diǎn), 如 1.5h,可轉(zhuǎn)換為 90m。注:若為空,則默認(rèn)為15d。 | 90m |
total_amount | String | 是 | 9 | 訂單總金額,單位為元,精確到小數(shù)點(diǎn)后兩位,取值范圍[0.01,100000000] | 9.00 |
product_code | String | 是 | 64 | 銷售產(chǎn)品碼,商家和支付寶簽約的產(chǎn)品碼,為固定值QUICK_MSECURITY_PAY | QUICK_MSECURITY_PAY |
goods_type | String | 否 | 2 | 商品主類型:0—虛擬類商品,1—實(shí)物類商品注:虛擬類商品不支持使用花唄渠道 | 0 |
passback_params | String | 否 | 512 | 公用回傳參數(shù),如果請(qǐng)求時(shí)傳遞了該參數(shù),則返回給商戶時(shí)會(huì)回傳該參數(shù)。支付寶會(huì)在異步通知時(shí)將該參數(shù)原樣返回。本參數(shù)必須進(jìn)行UrlEncode之后才可以發(fā)送給支付寶 | merchantBizType%3d3C%26merchantBizNo%3d2016010101111 |
promo_params | String | 否 | 512 | 優(yōu)惠參數(shù)注:僅與支付寶協(xié)商后可用 | {"storeIdType":"1"} |
extend_params | String | 否 | - | 業(yè)務(wù)擴(kuò)展參數(shù),詳見下面的“業(yè)務(wù)擴(kuò)展參數(shù)說明” | {"sys_service_provider_id":"2088511833207846"} |
enable_pay_channels | String | 否 | 128 | 可用渠道,用戶只能在指定渠道范圍內(nèi)支付當(dāng)有多個(gè)渠道時(shí)用“,”分隔注:與disable_pay_channels互斥 | pcredit,moneyFund,debitCardExpress |
disable_pay_channels | String | 否 | 128 | 禁用渠道,用戶不可用指定渠道支付當(dāng)有多個(gè)渠道時(shí)用“,”分隔注:與enable_pay_channels互斥 | pcredit,moneyFund,debitCardExpress |
store_id | String | 否 | 32 | 商戶門店編號(hào)。該參數(shù)用于請(qǐng)求參數(shù)中以區(qū)分各門店,非必傳項(xiàng)。 | NJ_001 |
ext_user_info | ExtUserInfo | 否 | - | 外部指定買家,詳見外部用戶ExtUserInfo參數(shù)說明 | - |
參數(shù) | 類型 | 是否必填 | 最大長度 | 描述 | 示例值 |
---|---|---|---|---|---|
sys_service_provider_id | String | 否 | 64 | 系統(tǒng)商編號(hào),該參數(shù)作為系統(tǒng)商返傭數(shù)據(jù)提取的依據(jù),請(qǐng)?zhí)顚懴到y(tǒng)商簽約協(xié)議的PID | 2088511833207846 |
needBuyerRealnamed | String | 否 | 1 | 是否發(fā)起實(shí)名校驗(yàn)T:發(fā)起F:不發(fā)起 | T |
TRANS_MEMO | String | 否 | 128 | 賬務(wù)備注注:該字段顯示在離線賬單的賬務(wù)備注中 | 促銷 |
hb_fq_num | String | 否 | 5 | 花唄分期數(shù)(目前僅支持3、6、12)注:使用該參數(shù)需要仔細(xì)閱讀“花唄分期接入文檔” | 3 |
hb_fq_seller_percent | String | 否 | 3 | 賣家承擔(dān)收費(fèi)比例,商家承擔(dān)手續(xù)費(fèi)傳入100,用戶承擔(dān)手續(xù)費(fèi)傳入0,僅支持傳入100、0兩種,其他比例暫不支持注:使用該參數(shù)需要仔細(xì)閱讀“花唄分期接入文檔” | 100 |
渠道名稱 | 說明 |
---|---|
balance | 余額 |
moneyFund | 余額寶 |
coupon | 紅包 |
pcredit | 花唄 |
pcreditpayInstallment | 花唄分期 |
creditCard | 信用卡 |
creditCardExpress | 信用卡快捷 |
creditCardCartoon | 信用卡卡通 |
credit_group | 信用支付類型(包含信用卡卡通、信用卡快捷、花唄、花唄分期) |
debitCardExpress | 借記卡快捷 |
mcard | 商戶預(yù)存卡 |
pcard | 個(gè)人預(yù)存卡 |
promotion | 優(yōu)惠(包含實(shí)時(shí)優(yōu)惠+商戶優(yōu)惠) |
voucher | 營銷券 |
point | 積分 |
mdiscount | 商戶優(yōu)惠 |
bankPay | 網(wǎng)銀 |
參數(shù) | 類型 | 是否必填 | 最大長度 | 示例值 | 描述 |
---|---|---|---|---|---|
name | String | 否 | 16 | 李明 | 姓名 注: need_check_info=T時(shí)該參數(shù)才有效 |
mobile | String | 否 | 20 | 16587658765 | 手機(jī)號(hào)注:該參數(shù)暫不校驗(yàn) |
cert_type | String | 否 | 32 | IDENTITY_CARD | 身份證:IDENTITY_CARD、護(hù)照:PASSPORT、軍官證:OFFICER_CARD、士兵證:SOLDIER_CARD、戶口本:HOKOU等。如有其它類型需要支持,請(qǐng)與螞蟻金服工作人員聯(lián)系。注: need_check_info=T時(shí)該參數(shù)才有效 |
cert_no | String | 否 | 64 | 362334768769238881 | 證件號(hào)注:need_check_info=T時(shí)該參數(shù)才有效 |
min_age | String | 否 | 3 | 18 | 允許的最小買家年齡,買家年齡必須大于等于所傳數(shù)值注:1. need_check_info=T時(shí)該參數(shù)才有效2. min_age為整數(shù),必須大于等于0 |
fix_buyer | String | 否 | 8 | F | 是否強(qiáng)制校驗(yàn)付款人身份信息T:強(qiáng)制校驗(yàn),F(xiàn):不強(qiáng)制 |
need_check_info | String | 否 | 1 | F | 是否強(qiáng)制校驗(yàn)身份信息T:強(qiáng)制校驗(yàn),F(xiàn):不強(qiáng)制 |
請(qǐng)求參數(shù)組裝分下列3步,以最后第三步獲取到的請(qǐng)求為準(zhǔn)
1.請(qǐng)求參數(shù)按照key=value&key=value
方式拼接的未簽名原始字符串:
app_id=2015052600090779&biz_content={"timeout_express":"30m","product_code":"QUICK_MSECURITY_PAY","total_amount":"0.01","subject":"1","body":"我是測試數(shù)據(jù)","out_trade_no":"IQJZSRC1YMQB5HU"}&charset=utf-8&format=json&method=alipay.trade.app.pay¬ify_url=http://domain.merchant.com/payment_notify&sign_type=RSA2×tamp=2016-08-25 20:26:31&version=1.0
2.再對(duì)原始字符串進(jìn)行簽名,參考簽名規(guī)則:
app_id=2015052600090779&biz_content={"timeout_express":"30m","product_code":"QUICK_MSECURITY_PAY","total_amount":"0.01","subject":"1","body":"我是測試數(shù)據(jù)","out_trade_no":"IQJZSRC1YMQB5HU"}&charset=utf-8&format=json&method=alipay.trade.app.pay¬ify_url=http://domain.merchant.com/payment_notify&sign_type=RSA2×tamp=2016-08-25 20:26:31&version=1.0&sign=cYmuUnKi5QdBsoZEAbMXVMmRWjsuUj+y48A2DvWAVVBuYkiBj13CFDHu2vZQvmOfkjE0YqCUQE04kqm9Xg3tIX8tPeIGIFtsIyp/M45w1ZsDOiduBbduGfRo1XRsvAyVAv2hCrBLLrDI5Vi7uZZ77Lo5J0PpUUWwyQGt0M4cj8g=
3.最后對(duì)請(qǐng)求字符串的所有一級(jí)value(biz_content
作為一個(gè)value)進(jìn)行encode,編碼格式按請(qǐng)求串中的charset為準(zhǔn),沒傳charset按UTF-8
處理,獲得最終的請(qǐng)求字符串:
app_id=2015052600090779&biz_content=%7B%22timeout_express%22%3A%2230m%22%2C%22product_code%22%3A%22QUICK_MSECURITY_PAY%22%2C%22total_amoun
1.商戶在請(qǐng)求參數(shù)中,自己附屬的一些額外參數(shù),不要和支付寶系統(tǒng)中約定的key(下表中 公共請(qǐng)求參數(shù)\請(qǐng)求參數(shù))重名,否則將可能導(dǎo)致未知的異常。 比如以下示例中app_id=2014072300007148**&version=1.0&biz_content的key是公共請(qǐng)求參數(shù),業(yè)務(wù)方自己的擴(kuò)展參數(shù)需要放在biz_content內(nèi)部,比如示例中tips屬性,很顯然下面total_amount屬性是商戶按照自己的業(yè)務(wù)屬性賦值的,但是由于total_amount也是支付寶關(guān)鍵key,支付寶將會(huì)認(rèn)為這個(gè)total_amount是支付寶業(yè)務(wù)的參數(shù)應(yīng)該是金額,這個(gè)最終將導(dǎo)致誤解析。下列請(qǐng)求串為了展示清晰,未進(jìn)行encode并且做了格式化處理,下同。
app_id=2014072300007148&charset=UTF-8&version=1.0×tamp=2016-07-01 08:08:08&method=alipay.trade.app.pay¬ify_url=https://api.**.com/pay_receive_notify.html&sign_type=RSA2&sign=ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE&version=1.0&biz_content=
{
"body":"對(duì)一筆交易的具體描述信息。如果是多種商品,請(qǐng)將商品描述字符串累加傳給body。",
"subject":"大樂透",
"out_trade_no":"70501111111S001111119",
"timeout_express":"90m",
"total_amount":"一共花費(fèi)了10元",
"product_code":"QUICK_MSECURITY_PAY",
"tips":"測試一筆支付"
}
2.商戶的請(qǐng)求參數(shù)中,所有的key(支付寶關(guān)鍵key或者商戶自己的key),其對(duì)應(yīng)的value中都不應(yīng)該出現(xiàn)支付寶關(guān)鍵key,否則該類交易將可能被支付寶攔截禁止支付。
比如以下的請(qǐng)求中"subject":“大樂透 這個(gè)辣條不錯(cuò) out_trade_no=123 total_fee=123.5”,其value值中有支付寶關(guān)鍵key"out_trade_no"、“total_fee
”,這樣的業(yè)務(wù)請(qǐng)求參數(shù)支付寶將會(huì)攔截。
app_id=2014072300007148&charset=UTF-8&version=1.0×tamp=2016-07-01 08:08:08&method=alipay.trade.app.pay¬ify_url=https://api.**.com/pay_receive_notify.htm&sign_type=RSA2&sign=ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE&version=1.0&biz_content=
{
"body":"對(duì)一筆交易的具體描述信息。如果是多種商品,請(qǐng)將商品描述字符串累加傳給body。",
"subject":"大樂透 這個(gè)辣條不錯(cuò) out_trade_no=123 total_fee=123.5",
"out_trade_no":"70501111111S001111119",
"timeout_express":"90m",
"total_amount":10.0,
"product_code":"QUICK_MSECURITY_PAY"
}
3.商戶支付請(qǐng)求參數(shù)的安全注意點(diǎn):
a)請(qǐng)求參數(shù)的sign字段請(qǐng)務(wù)必在服務(wù)端完成簽名生成(不要在客戶端本地簽名);
b)支付請(qǐng)求中的訂單金額total_amount
,請(qǐng)務(wù)必依賴服務(wù)端,不要輕信客戶端上行的數(shù)據(jù)(客戶端本地上行數(shù)據(jù)在用戶手機(jī)環(huán)境中無法確保一定安全)。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: