Receive payout result notificationSignature required
WorldFirst notifies you of the fund payout results with this interface.
You can set up the URL for receiving payout notifications by specifying the transferToDetail.transferNotifyUrl parameter when calling the createPayout API.
You need to acknowledge the reception of the notification; Otherwise, WorldFirst takes the notification delivery as unsuccessful and retries sending it up to 7 times. For more details, refer to the Result processing logic section.
Structure
A message consists of a header and body.
Request header parameters
Field Required Sample Description Client-Id Yes For detailed field descriptions, see API Overview. Signature Yes Content-Type Yes Request-Time YesClient-Id: *****
Signature: algorithm=RSA256, keyVersion=2, signature=*****
Content-Type: application/json; charset=UTF-8
Request-Time: 2019-04-04T12:08:56+08:00
Request parameters
transferResult Result object REQUIRED
Indicates the result of the payout request.
transferRequestId String REQUIRED
The unique ID assigned by the Partner to identify a payout request.
More information:
- This field is an API idempotency field.For details about API idempotency, see the Idempotency chapter.
- Maximum length: 64 characters
transferId String REQUIRED
The unique ID assigned by WorldFirst to identify a payout.
More information:
- Maximum length: 64 characters
transferFinishTime DateTime REQUIRED
Indicates the finishing time of a payout.
More information:
- The value follows the ISO 8601 standard format. For example, "2019-11-27T12:01:01+08:00".
transferFromDetail TransferFromDetail object REQUIRED
Payout details submitted by the payer.
transferToDetail TransferToDetail object REQUIRED
Payout details for the beneficiary.
Response parameters
result Result object REQUIRED
Indicates whether this API is called successfully.
Request
Response
Result processing logic
The parameter transferResult.resultCode indicates the result of the payout. For more details, refer to the transferResult.resultCode section.
After receiving the notification, you need to send a response message to acknowledge the receipt of the notification.
Make sure you properly sign the message before sending the response. For details, refer to the Sign a request and validate the signature chapter.
For more details on the response header, refer to the API overview chapter.
The response body has the following fixed value:
In the absense of an ackowledgement reponse from the Partner, WorldFirst will resend the result.
The following policy represents how WorldFirst makes retry attempts:
- WorldFirst retries notifications 7 times.
- Intervals between notifications: 2m, 10m, 10m, 1h, 2h, 6h, and 15h.
result.resultCode
Code | Value | Message | Further action |
---|---|---|---|
SUCCESS | S | Success | |
UNKNOWN_EXCEPTION | U | API failed due to unknown reason. | The service might be down, retry later. |
PROCESS_FAIL | F | A general business failure occurred. Do not retry. | Human intervention is usually needed. |
transferResult.resultCode
Code | Value | Message | Further action |
---|---|---|---|
SUCCESS | S | Success | |
PROCESSING | S | The transfer is in process. | Try again later. |
PROCESS_FAIL | F | A general business failure occurred. Do not retry. | Human intervention is usually needed. It is recommended that you contact our Technical Support Team to resolve the issue. |
USER_ACCOUNT_ABNORMAL | F | The user account status is abnormal. | Retry with a different user. If the issue persists, contact our Technical Support Team for more details. |
AMOUNT_EXCEED_LIMIT | F | The amount exceeds the limit. | Make sure the amount submitted is correct and retry. |
RISK_REJECT | F | The transfer is rejected for risk control reasons. | Prompt the user that the request is rejected because the risk control failed. |
ORDER_IS_CLOSED | F | The order is closed. | Retry with another payout order. |
ORDER_IS_REVERSED | F | The order is reversed. | Retry with another payout order. |
ORDER_NOT_FOUND | U | Order not found. | Retry with correct order information. |
CARD_INFO_NOT_MATCH | F | The card information does not match. | Retry with another payout order. |
BALANCE_NOT_ENOUGH | F | Balance is not enough. | Make sure the balance is sufficient and retry. |