logo

Authentication

Get Token

💡
The API is used to obtain token, which is set on the request header. The token is expired after one hour, you can get the new token before the token expires or get a new token for requests.
  • URI
    • POST /payout/oauth/token
  • Body Param
    • REQUEST BODY SCHEMA: application/json
      Body Json Demo
      Name
      Type
      Required
      Description
      appKey
      string
      Required
      appkey; From xCurrency Hubs
      secretKey
      string
      Required
      secretKey; From xCurrency Hubs
  • Response
    • Name
      Type
      Required
      Description
      data
      string
      Conditional Required
      if the status is 1,the token is responded
      status
      string
      Required
      1 : Success -1: Error
      message
      string
      Conditional Required
      if the status is -1,the err message is responded
    • Response
      • Name
        Type
        Required
        Description
        data
        string
        Conditional Required
        if the status is 1,the token is responded
        status
        string
        Required
        1 : Success -1: Error
        message
        string
        Conditional Required
        if the status is -1,the err message is responded
        Response Status : 200, Body Json Demo
        Response Status : 400, Body Json Demo

Check

💡
The API is used to verify the sign data, will return true when the sign data is correct, will return 10001 when the sign method error.
  • URI
    • POST /payout/encrypt/check
  • Body Params
    • Encrypted object, not necessarily dictionary type
      Body Json Demo
  • Response
    • Name
      Type
      Required
      Description
      status
      string
      Required
      1 : Success 10001: Failed to verify the signature
      message
      string
      Conditional Required
      if the status is 10001,the err message is responded
      Response Status : 200, Body Json Demo
      Response Status : 400, Body Json Demo

Commons

Beneficiary's PBC area list.

💡
The areaLevel value of 1 is state, 2 is city, 3 is district, for beneficiary's address data can be filled by pinyin fields.Request headers just need appkey and token.
  • URI
    • GET /payout/common/area/list
  • Body Params
    • Encrypted object, not necessarily dictionary type
      Body Json Demo
      Name
      Type
      Required
      Description
      xxxx
      string
      Conditional Required
  • Response
    • Name
      Type
      Required
      Description
      data
      array
      Conditional Required
      of objects (ChinaAreaInfoVo)
      data → ChinaAreaInfoVo
      object
      Conditional Required
      data → ChinaAreaInfoVo → areaLevel
      string
      Conditional Required
      the value 1 is state, value 2 is city, value 3 is district
      data → ChinaAreaInfoVo → areaKey
      string
      Conditional Required
      the key of area
      data → ChinaAreaInfoVo → code
      string
      Conditional Required
      postal code
      data → ChinaAreaInfoVo → list
      array
      Conditional Required
      of objects (ChinaAreaInfoVo)
      data → ChinaAreaInfoVo → name
      string
      Conditional Required
      Simple Chinese of area name
      data → ChinaAreaInfoVo → pinyin
      string
      Conditional Required
      Chinese PINYIN of area name
      status
      string
      Required
      1 : Success -1: Error
      message
      string
      Conditional Required
      if the status is -1,the err message is responded
      Response Status : 200, Body Json Demo
      Response Status : 400, Body Json Demo

Beneficiary's occupation list

💡
For beneficiary's occupation can be filled by nameEn fields. Request headers just need appkey and token.
  • URI
    • GET /payout/common/occupation/list
  • Body Params
    • Body Json Demo
      Name
      Type
      Required
      Description
      xxxx
      string
      Conditional Required
  • Response
    • 返回 json 数据
      Name
      Type
      Required
      Description
      data
      array
      Conditional Required
      of objects (OccupationEntity)
      data → OccupationEntity
      object
      Conditional Required
      data → OccupationEntity → nameCn
      string
      Conditional Required
      Simple Chinese of occupation
      data → ChinaAreaInfoVo → nameEn
      string
      Conditional Required
      english of occupation
      data → ChinaAreaInfoVo → nameTw
      string
      Conditional Required
      Traditional Chinese of occupation
      status
      string
      Required
      1 : Success -1: Error
      message
      string
      Conditional Required
      if the status is -1,the err message is responded
      Response Status : 200, Body Json Demo
      Response Status : 400, Body Json Demo

Quotes

Get a quote

💡
The API is used to get currency rate.
  • URI
    • POST /payout/payment/query/price
  • Body Params
    • Body Json Demo
      Name
      Type
      Required
      Description
      sourceCurrency
      string
      Required
      Currency you are sending
      targetCurrency
      string
      Required
      Target currency
  • Response
    • Response Status : 200, Body Json Demo
      Response Status : 400, Body Json Demo

Currencies

Transfer

Create Transfer

💡
The API is used to create a personal payment on xCurrency, then orderNo should be unique, the same order number can create a payment one time.
  • URI
    • POST /payout/payment/create
  • Body Params
    • Body Json Demo
  • Response
    • Response Status : 200, Body Json Demo
      Response Status : 400, Body Json Demo

Confirm Transfer ( Have been abandoned,pls use Async confirm transfer)

💡
This API is used to send CNY to the beneficiary's bank account.
  • URI
    • POST /payout/payment/transfer
  • Body Params
    • Body Json Demo
  • Response
    • Response Status : 200, Body Json Demo
      Response Status : 400, Body Json Demo

Async confirm transfer

💡
This API is used to send CNY to the beneficiary's bank account, we will async to work it, and callback the result for partner.
  • URI
    • POST /payout/payment/transfer/async
  • Body Params
    • Body Json Demo
  • Response
    • Response Status : 200, Body Json Demo
      Response Status : 400, Body Json Demo

Cancel transfer

💡
The API can cancel payment, but the payment’s should be pending.
  • URI
    • POST /payout/payment/cancel
  • Body Params
    • Body Json Demo
  • Response
    • Response Status : 200, Body Json Demo
      Response Status : 400, Body Json Demo

Get a transfer status

💡
The API can get payment status, the status can see below.
  • URI
    • POST /payout/payment/status
  • Body Params
    • Body Json Demo
  • Response
    • Response Status : 200, Body Json Demo
      Response Status : 400, Body Json Demo

Update Info

💡
The API is used to update payment data, just for payer, beneficiary, purpose , fundsSourcerelationship .
  • URI
    • POST /payout/payment/update
  • Body Params
    • Body Json Demo
  • Response
    • 返回 json 数据
      Response Status : 200, Body Json Demo
      Response Status : 400, Body Json Demo

Balance

Balance for single currency

💡
Get balance information by currency
The API can get all currencies balance amount.
  • URI
    • POST /payout/wallet/get
  • Body Params
    • Body Json Demo { } Note that the empty dictionary still needs to be encrypted without the body
  • Response
    • Response Status : 200, Body Json Demo
      Response Status : 400, Body Json Demo

Balance list

💡
Get balance of all currencies
  • URI
    • POST /payout/wallet/list
  • Body Params
    • Body Json Demo
  • Response
    • 返回 json 数据
      Response Status : 200, Body Json Demo
      Response Status : 400, Body Json Demo

Upload Supporting Docs

💡
Upload Supporting Docs for tradeId
  • URI
    • POST /payment/risk/upload
  • Body Params
    • Body Json Demo
  • Response
    • Response Status : 200, Body Json Demo
      Response Status : 400, Body Json Demo

Upload Supporting Docs Completed

💡
Completed to upload Supporting Docs for tradeId, It will change the transfer status to awaiting_transfe
  • URI
    • POST /payment/risk/completed
  • Body Params
    • Body Json Demo
  • Response
    • Response Status : 200, Body Json Demo
      Response Status : 400, Body Json Demo

Notification

Order status notification

💡
host: xxxxxxxxx , xxxxxxxx is your callback url, the xCurrency Hubs will be notified back at xxxxxxxx/xcurrency/webhook. Need to IP allowlist if you have a limit.
  • URI
    • POST /xcurrency/webhook
  • Headers
    • appkey: xCurrency Hubs' appkey which is used for secondary verification, not required.
  • Body Params
    • Body Json Demo
  • Response
    • 返回 json 数据
      Response Status : 200, Body Json Demo
      Response Status : 400, Body Json Demo

Data API

List all areas of china

List occupations

string Enum: "Business income" "Employment income" "Part-time income" "Saving deposits" Sources of funding
address