支付寶小程序API 信用借還

2018-01-09 11:46 更新

有關(guān)信用借還詳細(xì)功能,見(jiàn)信用借還產(chǎn)品介紹

my.zmCreditBorrow

調(diào)用此接口喚起芝麻信用頁(yè)面

入?yún)⒄f(shuō)明

注意:

  1. 如果參數(shù)值有中文, 請(qǐng)使用 encodeURIComponent 來(lái)編碼該參數(shù)值;
  2. 如果 invoke_stateJSON 字符串的某一項(xiàng)值包含中文,請(qǐng)使用encodeURIComponent對(duì)該值進(jìn)行編碼;
名稱 類型 必填 描述
out_order_no String 外部訂單號(hào),需要唯一,由商戶傳入,芝麻內(nèi)部會(huì)做冪等控制,格式為:yyyyMMddHHmmss+隨機(jī)數(shù)
product_code String 信用借還的產(chǎn)品碼,傳入固定值:w1010100000000002858
goods_name String 物品名稱,最長(zhǎng)不能超過(guò)14個(gè)漢字
rent_unit String 租金單位,租金+租金單位組合才具備實(shí)際的租金意義。取值定義如下:DAY_YUAN:元/天HOUR_YUAN:元/小時(shí)YUAN:元YUAN_ONCE: 元/次
rent_amount String 租金,租金+租金單位組合才具備實(shí)際的租金意義。>0.00元,代表有租金=0.00元,代表無(wú)租金,免費(fèi)借用注:參數(shù)傳值必須>=0,傳入其他值會(huì)報(bào)錯(cuò)參數(shù)非法
deposit_amount String 押金,金額單位:元。注:不允許免押金的用戶按此金額支付押金;當(dāng)物品丟失時(shí),賠償金額不得高于該金額。
deposit_state String 該字段目前默認(rèn)傳Y;是否支持當(dāng)借用用戶信用不夠(不準(zhǔn)入)時(shí),可讓用戶支付押金借用:Y:支持N:不支持 注:支付押金的金額等同于deposit_amount。
invoke_return_url String 回調(diào)到商戶的小程序schema地址。說(shuō)明:商戶的回調(diào)地址可以在商戶后臺(tái)里進(jìn)行配置,服務(wù)端回調(diào)時(shí),首先根據(jù)參數(shù):invoke_type 查詢是否有對(duì)應(yīng)的配置地址,如果有,則使用已定義的地址,否則,使用該字段定義的地址執(zhí)行回調(diào);參考表格下方的說(shuō)明一;小程序回調(diào)地址參考表格下方的說(shuō)明三;
invoke_type String 商戶訪問(wèn)螞蟻的對(duì)接模式,默認(rèn)傳TINYAPP:TINYAPP:回跳至小程序地址;WINDOWS:支付寶服務(wù)窗,默認(rèn)值;
credit_biz String 信用業(yè)務(wù)服務(wù),注意:該字段不能為空,且必須根據(jù)說(shuō)明的指引配置商戶專屬的場(chǎng)景ID,商戶自助接入時(shí),登錄后臺(tái)可配置場(chǎng)景ID,將后臺(tái)配置的場(chǎng)景ID作為該字段的輸入;參考說(shuō)明一自助進(jìn)行配置;
borrow_time String 商戶訂單創(chuàng)建的起始借用時(shí)間,格式:YYYY-MM-DD HH:MM:SS。如果不傳入或者為空,則認(rèn)為訂單創(chuàng)建起始時(shí)間為調(diào)用此接口時(shí)的時(shí)間。
expiry_time String 到期時(shí)間,不允許為空,請(qǐng)根據(jù)實(shí)際業(yè)務(wù)合理設(shè)置該值,格式:YYYY-MM-DD HH:MM:SS,是指最晚歸還時(shí)間,表示借用用戶如果超過(guò)此時(shí)間還未完結(jié)訂單(未歸還物品或者未支付租金)將會(huì)進(jìn)入逾期狀態(tài),芝麻會(huì)給借用用戶發(fā)送催收提醒;需要晚于borrow_time。
mobile_no String 借用用戶的手機(jī)號(hào)碼,可選字段。推薦商戶傳入此值,會(huì)將此手機(jī)號(hào)碼與用戶身份信息進(jìn)行匹配驗(yàn)證,防范欺詐風(fēng)險(xiǎn)。
borrow_shop_name String 物品借用地點(diǎn)的描述,便于用戶知道物品是在哪里借的??蔀榭?/td>
rent_settle_type String 租金的結(jié)算方式,非必填字段,默認(rèn)是支付寶租金結(jié)算支付 merchant:表示商戶自行結(jié)算,信用借還不提供租金支付能力; alipay:表示使用支付寶支付功能,給用戶提供租金代扣及賠償金支付能力;
invoke_state String 商戶請(qǐng)求狀態(tài)上下文。商戶發(fā)起借用服務(wù)時(shí),需要在借用結(jié)束后返回給商戶的參數(shù),格式:json;如果json的某一項(xiàng)值包含中文,請(qǐng)使用encodeURIComponent對(duì)該值進(jìn)行編碼;例如:var ext = {  name: encodeURIComponent('名字')};var obj = {  invoke_state: JSON.stringify(ext)}
rent_info String 租金信息描述 ,長(zhǎng)度不超過(guò)14個(gè)漢字,只用于頁(yè)面展示給C端用戶,除此之外無(wú)其他意義。
name String 借用用戶的真實(shí)姓名,非必填字段。但name和cert_no必須同時(shí)非空,或者同時(shí)為空,一旦傳入會(huì)對(duì)用戶身份進(jìn)行校驗(yàn)。
cert_no String 借用用戶的真實(shí)身份證號(hào),非必填字段。但name和cert_no必須同時(shí)非空,或者同時(shí)為空,一旦傳入會(huì)對(duì)用戶身份進(jìn)行校驗(yàn)。
address String 借用用戶的收貨地址,可選字段,最大長(zhǎng)度128。推薦商戶傳入此值,會(huì)將此手機(jī)號(hào)碼與用戶身份信息進(jìn)行匹配驗(yàn)證,防范欺詐風(fēng)險(xiǎn)。
success Function 調(diào)用成功的回調(diào)函數(shù)
fail Function 調(diào)用失敗的回調(diào)函數(shù)
complete Function 調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)

說(shuō)明一:

  1. 支付寶商戶賬號(hào)登錄我的商家服務(wù)打開(kāi)入口鏈接;
  2. 商家服務(wù)中選擇“您可能需要->信用借還”或者點(diǎn)擊鏈接;
  3. 場(chǎng)景ID配置->配置新ID,選擇對(duì)應(yīng)的業(yè)務(wù)類型、服務(wù)類目和聯(lián)盟,將生成的場(chǎng)景ID作為credit_biz的值傳入即可;
  4. 回調(diào)地址配置->修改對(duì)應(yīng)類型的回調(diào)地址

說(shuō)明二:

  1. 如果參數(shù)值中有中文, 請(qǐng)使用 encodeURIComponent 來(lái)編碼參數(shù)值;
  2. 如果 invoke_state 的 JSON 字符串的某一項(xiàng)值包含中文,請(qǐng)使用encodeURIComponent對(duì)該值進(jìn)行編碼;

說(shuō)明三:

  1. 小程序回調(diào)地址示例一:alipays://platformapi/startapp?appId=1999;
  2. 小程序回調(diào)地址示例二:alipays://platformapi/startapp?appId=1999&page=pages/map;

出參

名稱 類型 示例值 描述
invoke_state String {"user_name":"john"} 商戶發(fā)起借用服務(wù)時(shí)傳入的參數(shù),需要在借用結(jié)束后返回給商戶的參數(shù)
out_order_no String 201610010000283627 外部訂單號(hào),需要唯一,由商戶傳入,芝麻內(nèi)部會(huì)做冪等控制,格式為yyyyMMddHHmmss+4位隨機(jī)數(shù)
order_no String 10020027631 芝麻信用借還訂單號(hào)
admit_state String Y 是否準(zhǔn)入:Y:準(zhǔn)入;N:不準(zhǔn)入(該字段目前無(wú)實(shí)際意義)
user_id String 2088202924240029 物品借用/租賃者的用戶id

其他字段:

resultStatus 狀態(tài)碼

resultStatus 描述
6001 用戶取消了業(yè)務(wù)流程
6002 網(wǎng)絡(luò)異常
9000 成功
4000 系統(tǒng)異常

錯(cuò)誤碼

統(tǒng)一對(duì)外錯(cuò)誤碼 內(nèi)部業(yè)務(wù)錯(cuò)誤碼 錯(cuò)誤描述 解決方案
INVALID_PARAMETER ZMMER.ILLEGAL_ARGUMENT 參數(shù)有誤。 請(qǐng)確認(rèn)參數(shù)格式
INVALID_PARAMETER ZMMER.NULL_ARGUMENT 參數(shù)有誤。 請(qǐng)確認(rèn)參數(shù)是否正確
ARRANGEMENT_NOT_EXIST ZMMER.ARRANGEMENT_NOT_EXIST 商戶對(duì)產(chǎn)品未簽約 請(qǐng)聯(lián)系業(yè)務(wù)與芝麻簽約信用借還產(chǎn)品
DEPOSIT_CLOSED ZMMER.DEPOSIT_CLOSED 不支持押金模式 目前不支持押金模式,請(qǐng)與芝麻業(yè)務(wù)確認(rèn)
GOODS_HAS_BORROW ZMMER.GOODS_HAS_BORROW 該物品已經(jīng)借用,請(qǐng)先歸還后再借 請(qǐng)先歸還物品
PREAUTH_FREEZE_ERROR ZMMER.PREAUTH_FREEZE_ERROR 該用戶預(yù)授權(quán)凍結(jié)押金失敗 請(qǐng)確認(rèn)支付寶賬號(hào)中是否有足夠的金額
WITHHOLD_CONTRACT_ERROR ZMMER.WITHHOLD_CONTRACT_ERROR 簽約代扣協(xié)議錯(cuò)誤 請(qǐng)聯(lián)系支付寶客服
ZM_ACCOUT_REGISTER_FAIL ZMMER.ZM_ACCOUT_REGISTER_FAIL 芝麻會(huì)員開(kāi)通失敗 請(qǐng)確保支付寶會(huì)員是否正常
OUT_ORDER_NO_INVALID ZMMER.OUT_ORDER_NO_INVALID 外部訂單號(hào)重復(fù) 請(qǐng)更換外部訂單號(hào)
USER_NOT_LOGON ZMMER.USER_NOT_LOGON 該支付寶賬號(hào)沒(méi)有登錄 請(qǐng)登錄支付寶
INFOSEC_VERIFY_FAILED ZMMER.INFOSEC_VERIFY_FAILED 信息含敏感內(nèi)容 請(qǐng)檢查入?yún)⑿畔⑹欠癜舾袃?nèi)容

示例代碼

    my.zmCreditBorrow({
      credit_biz: "",
      out_order_no: "",
      borrow_shop_name: "",
      goods_name: "",
      product_code: "w1010100000000002858",
      rent_unit: "HOUR_YUAN",
      rent_amount: "0.10",
      deposit_amount: "0.50",
      deposit_state: "Y",
      invoke_return_url: "",
      invoke_type: "TINYAPP",
      borrow_time: "2017-04-27 10:01:01",
      expiry_time: "2017-05-27 10:01:01",
      rent_info: "2hour-free",
      success: (res) => {
        try {
          const {resultStatus, result} = res;
          switch (resultStatus) {
            case '9000':
              const callbackData = res.result.callbackData;
              const decodedCallbackData = decodeURIComponent(callbackData)
              const json = JSON.parse(decodedCallbackData.match(/{.*}/));
              const jsonStr = JSON.stringify(json, null, 4);
              if (json.success === true || json.success === 'true') {
                // 創(chuàng)建訂單成功, 此時(shí)可以跳轉(zhuǎn)到訂單詳情頁(yè)面
                my.alert({content: '下單成功: ' + jsonStr})
              } else {
                // 創(chuàng)建訂單失敗, 請(qǐng)?zhí)崾居脩魟?chuàng)建失敗
                my.alert({content: '下單失敗: ' + jsonStr})
              }
              this.setData({
                callbackData: callbackData,
                decodedCallbackData: decodedCallbackData,
                parsedJSON: jsonStr,
              })
              break;
            case '6001':
              // 用戶點(diǎn)擊返回, 取消此次服務(wù), 此時(shí)可以給提示
              my.alert({content: '取消'})
              break;
            default:
              break;
          }
        } catch (error) {
          // 異常, 請(qǐng)?jiān)谶@里提示用戶稍后重試
          my.alert({
            content: '異常' + JSON.stringify(error, null, 4)
          });
        }
      },
      fail: (error) => {
        // 調(diào)用接口失敗, 請(qǐng)?jiān)谶@里提示用戶稍后重試
        my.alert({
          content: '調(diào)用失敗' + JSON.stringify(error, null, 4)
        });
      }
    }); 
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)