OVERVIEW
API Transfer to OTC
Sequence Diagram API Transfer to OTC
Informasi Umum
Service Code | 44 |
---|---|
Name | API Transfer to OTC - Create Payment |
Version | 1.0 |
HTTP Method | POST |
Path | .../{version}/emoney/otc-cashout |
Informasi Umum
Service Code | 45 |
---|---|
Name | API Transfer to OTC - Transfer Status |
Version | 1.0 |
HTTP Method | POST |
Path | .../{version}/emoney/otc-status |
Informasi Umum
Service Code | 46 |
---|---|
Name | API Transfer to OTC - Cancel Payment |
Version | 1.0 |
HTTP Method | POST |
Path | .../{version}/emoney/otc-cancel |
GUIDES
Spesifikasi Parameter Header dan Body API Transfer to OTC
Request Body
Parameter | Data Type | Mandatory | Length | Description |
---|---|---|---|---|
partnerReferenceNo | String | M | 64 | Transaction identifier on service consumer system |
customerNumber | String | M | 32 | Customer Account Number |
otp | string | M | 8 | otp |
amount | Object | M | ||
value | String | M | 16,2 | Net amount of the transaction. |
If it's IDR then value includes 2 decimal digits. | ||||
e.g. IDR 10.000,- will be placed with 10000.00 | ||||
currency | String | M | 3 | Currency |
(ISO 4217) | ||||
feeType | String | O | 25 | to whom the fee will be charged |
additionalInfo | Object | O | Additional information |
Response Body
Parameter | Data Type | Mandatory | Length | Description |
---|---|---|---|---|
responseCode | String | M | 7 | Response code |
responseMessage | String | M | 150 | Response description |
referenceNo | String | C | 64 | Transaction identifier on service provider system. Must be filled upon successful transaction |
partnerReferenceNo | String | O | 64 | Transaction identifier on service consumer system |
transactionDate | yyyyMMddHHmmss | O | 255 | Transaction date (ISO8601) |
additionalInfo | Object | O | Additional information |
Request Body
Parameter | Data Type | Mandatory | Length | Description |
---|---|---|---|---|
originalPartnerReferenceNo | String | M | 64 | Original transaction identifier on service consumer system |
originalReferenceNo | String | O | 64 | Original transaction identifier on service provider system |
originalExternalId | String | O | 32 | Original External-ID on header message |
serviceCode | String | M | 2 | Transaction type indicator (service code of the original transaction request) |
customerNumber | String | M | 32 | Customer Account Number |
transactionDate | String | O | 25 | transaction date : ISO 8601 |
amount | Object | M | ||
value | String | M | 16,2 | Net amount of the transaction. |
If it's IDR then value includes 2 decimal digits. | ||||
e.g. IDR 10.000,- will be placed with 10000.00 | ||||
currency | String | M | 3 | Currency |
(ISO 4217) | ||||
additionalInfo | Object | O | Additional information |
Response Body
Parameter | Data Type | Mandatory | Length | Description |
---|---|---|---|---|
responseCode | String | M | 7 | Response code |
responseMessage | String | M | 150 | Response description |
originalReferenceNo | String | C | 64 | Original transaction identifier on service provider system. Must be filled upon successful transaction |
originalPartnerReferenceNo | String | O | 64 | Original transaction identifier on service consumer system |
originalExternalId | String | O | 32 | Original External-ID on header message |
serviceCode | String | M | 2 | Transaction type indicator (service code of the original transaction request) |
latestTransactionStatus | String | M | 2 | 00 - Success |
01 - Initiated | ||||
02 - Paying | ||||
03 - Pending | ||||
04 - Refunded | ||||
05 - Canceled | ||||
06 - Failed | ||||
07 - Not found | ||||
transactionStatusDesc | String | O | 50 | Description of latest transaction status |
transactionDate | String | O | 25 | transaction date : ISO 8601 |
amount | Object | O | ||
value | String | M | 16,2 | Net amount of the transaction. |
If it's IDR then value includes 2 decimal digits. | ||||
e.g. IDR 10.000,- will be placed with 10000.00 | ||||
currency | String | M | 3 | Currency |
(ISO 4217) | ||||
additionalInfo | Object | O | Additional information |
Request Body
Parameter | Data Type | Mandatory | Length | Description |
---|---|---|---|---|
originalReferenceNo | String | C | 64 | Original transaction identifier on service provider system to be cancelled. |
Must be filled upon successful original transaction | ||||
Kaluu ada txnnya | ||||
originalPartnerReferenceNo | String | M | 64 | Original transaction identifier on service consumer system to be cancelled |
originalExternalId | String | O | 32 | Original External-ID on header message |
customerNumber | String | M | 32 | Customer Account Number |
reason | string | M | 512 | Reason cancellation |
additionalInfo | Object | O | Additional information |
Response Body
Parameter | Data Type | Mandatory | Length | Description |
---|---|---|---|---|
responseCode | String | M | 7 | Response code |
responseMessage | String | M | 150 | Response description |
originalReferenceNo | String | M | 64 | Original transaction identifier on service provider system to be cancelled |
originalPartnerReferenceNo | String | O | 64 | Original transaction identifier on service consumer system to be cancelled |
originalExternalId | String | O | 32 | Original External-ID on header message |
cancelTime | String | C | 25 | Cancel time |
ISO-8601. Must be filled if cancelled transaction success | ||||
transactionDate | yyyyMMddHHmmss | O | 255 | Transaction date |
ISO-8601. | ||||
additionalInfo | Object | O | Additional information |
CODE SNIPPETS
Code Snippets API Transfer to OTC
Sample Request
POST .../v1.0/emoney/otc-cashout HTTP/1.2
Content-type: application/json
Authorization: Bearer gp9HjjEj813Y9JGoqwOeOPWbnt4CUpvIJbU1mMU4a11MNDZ7Sg5u9a"
Authorization-Customer: Bearer fa8sjjEj813Y9JGoqwOeOPWbnt4CUpvIJbU1mMU4a11MNDZ7Sg5u9a"
X-TIMESTAMP: 2020-12-21T17:55:11+07:00
X-SIGNATURE: 85be817c55b2c135157c7e89f52499bf0c25ad6eeebe04a986e8c862561b19a5
ORIGIN: www.hostname.com
X-PARTNER-ID: 82150823919040624621823174737537
X-EXTERNAL-ID: 41807553358950093184162180797837
X-IP-ADDRESS: 172.24.281.24
X-DEVICE-ID: 09864ADCASA
X-LATITUDE: -6.1617169
X-LONGITUDE: 106.6643946
CHANNEL-ID: 95221
{
"partnerReferenceNo":"2020102900000000000001",
"customerNumber":"6281388370001",
"otp":"12345678",
"amount":{
"value":"10000.00",
"currency":"IDR"
},
"additionalInfo":{
"deviceId":"12345679237",
"channel":"mobilephone"
}
}
Sample Response
Content-type: application/json
X-TIMESTAMP: 2020-12-21T17:55:21+07:00
{
"responseCode":"2004400",
"responseMessage":"Request has been processed successfully",
"referenceNo":"2020102977770000000009",
"partnerReferenceNo":"2020102900000000000001",
"transactionDate":"2020-12-21T17:55:11+07:00",
"additionalInfo":{
"deviceId":"12345679237",
"channel":"mobilephone"
}
}
Sample Request
POST .../v1.0/emoney/otc-status HTTP/1.2
Content-type: application/json
Authorization: Bearer gp9HjjEj813Y9JGoqwOeOPWbnt4CUpvIJbU1mMU4a11MNDZ7Sg5u9a"
Authorization-Customer: Bearer fa8sjjEj813Y9JGoqwOeOPWbnt4CUpvIJbU1mMU4a11MNDZ7Sg5u9a"
X-TIMESTAMP: 2020-12-21T17:55:11+07:00
X-SIGNATURE: 85be817c55b2c135157c7e89f52499bf0c25ad6eeebe04a986e8c862561b19a5
ORIGIN: www.hostname.com
X-PARTNER-ID: 82150823919040624621823174737537
X-EXTERNAL-ID: 41807553358950093184162180797837
X-IP-ADDRESS: 172.24.281.24
X-DEVICE-ID: 09864ADCASA
X-LATITUDE: -6.1617169
X-LONGITUDE: 106.6643946
CHANNEL-ID: 95221
{
"originalPartnerReferenceNo":"2020102900000000000001",
"originalReferenceNo":"2020102977770000000009",
"originalExternalId":"30443786930722726463280097920912",
"serviceCode":"17",
"customerNumber":"6281388370001",
"transactionDate":"2020-12-21T14:56:11+07:00",
"amount":{
"value":"10000.00",
"currency":"IDR"
},
"additionalInfo":{
"deviceId":"12345679237",
"channel":"mobilephone"
}
}
Sample Response
Content-type: application/json
X-TIMESTAMP: 2020-12-21T17:55:21+07:00
{
"responseCode":"2004500",
"responseMessage":"Request has been processed successfully",
"originalReferenceNo":"2020102977770000000009",
"originalPartnerReferenceNo":"2020102900000000000001",
"originalExternalId":"30443786930722726463280097920912",
"serviceCode":"17",
"latestTransactionStatus":"00",
"transactionStatusDesc":"success",
"transactionDate":"2020-12-21T17:55:11+07:00",
"amount":{
"value":"10000.00",
"currency":"IDR"
},
"additionalInfo":{
"deviceId":"12345679237",
"channel":"mobilephone"
}
}
Sample Request
POST .../v1.0/otc/cashout/cancel HTTP/1.2
Content-type: application/json
Authorization: Bearer gp9HjjEj813Y9JGoqwOeOPWbnt4CUpvIJbU1mMU4a11MNDZ7Sg5u9a"
Authorization-Customer: Bearer fa8sjjEj813Y9JGoqwOeOPWbnt4CUpvIJbU1mMU4a11MNDZ7Sg5u9a"
X-TIMESTAMP: 2020-12-21T17:55:11+07:00
X-SIGNATURE: 85be817c55b2c135157c7e89f52499bf0c25ad6eeebe04a986e8c862561b19a5
ORIGIN: www.hostname.com
X-PARTNER-ID: 82150823919040624621823174737537
X-EXTERNAL-ID: 41807553358950093184162180797837
X-IP-ADDRESS: 172.24.281.24
X-DEVICE-ID: 09864ADCASA
X-LATITUDE: -6.1617169
X-LONGITUDE: 106.6643946
CHANNEL-ID: 95221
{
"originalReferenceNo":"2020102977770000000009",
"originalPartnerReferenceNo":"2020102900000000000001",
"originalExternalId":"30443786930722726463280097920912",
"customerNumber":"6281388370001",
"reason":"timeout",
"additionalInfo":{
"deviceId":"12345679237",
"channel":"mobilephone"
}
}
Sample Response
Content-type: application/json
X-TIMESTAMP: 2020-12-21T17:55:21+07:00
{
"responseCode":"2004600",
"responseMessage":"Request has been processed successfully",
"originalReferenceNo":"2020102977770000000009",
"originalPartnerReferenceNo":"2020102900000000000001",
"originalExternalId":"30443786930722726463280097920912",
"cancelTime":"2020-12-21T17:07:25+07:00",
"transactionDate":"2020-12-21T17:55:11+07:00",
"additionalInfo":{
"deviceId":"12345679237",
"channel":"mobilephone"
}
}
RESPONSES CODE
Response status merupakan informasi yang diberikan oleh service provider kepada service consumer pada response body, sebagai indikasi hasil dari pemrosesan request yang diterima.
Response status terdiri dari 2 komponen, yaitu kode (response code) dan deskripsinya (response message).
Komponen | Tipe Data | Length | Keterangan |
---|---|---|---|
responseCode | String | 7 | response code = HTTP status code + service code + case code |
responseMessage | String | 150 |
Daftar Response Code
Category | HTTP Code | Service Code | Case Code | Response Message | Description |
---|---|---|---|---|---|
Success | 200 | any | 00 | Successful | Successful |
Success | 202 | any | 00 | Request In Progress | Transaction still on process |
System | 400 | any | 00 | Bad Request | General request failed error, including message parsing failed. |
Message | 400 | any | 01 | Invalid Field Format {field name} | Invalid format |
Message | 400 | any | 02 | Invalid Mandatory Field {field name} | Missing or invalid format on mandatory field |
System | 401 | any | 00 | Unauthorized. [reason] | General unauthorized error (No Interface Def, API is Invalid, Oauth Failed, Verify Client Secret Fail, Client Forbidden Access API, Unknown Client, Key not Found) |
System | 401 | any | 01 | Invalid Token (B2B) | Token found in request is invalid (Access Token Not Exist, Access Token Expiry) |
System | 401 | any | 02 | Invalid Customer Token | Token found in request is invalid (Access Token Not Exist, Access Token Expiry) |
System | 401 | any | 03 | Token Not Found (B2B) | Token not found in the system. This occurs on any API that requires token as input parameter |
System | 401 | any | 04 | Customer Token Not Found | Token not found in the system. This occurs on any API that requires token as input parameter |
Business | 403 | any | 00 | Transaction Expired | Transaction expired |
System | 403 | any | 01 | Feature Not Allowed [Reason] | This merchant is not allowed to call Direct Debit APIs |
Business | 403 | any | 02 | Exceeds Transaction Amount Limit | Exceeds Transaction Amount Limit |
Business | 403 | any | 03 | Suspected Fraud | Suspected Fraud |
Business | 403 | any | 04 | Activity Count Limit Exceeded | Too many request, Exceeds Transaction Frequency Limit |
Business | 403 | any | 05 | Do Not Honor | Account or User status is abnormal |
System | 403 | any | 06 | Feature Not Allowed At This Time. [reason] | Cut off In Progress |
Business | 403 | any | 07 | Card Blocked | The payment card is blocked |
Business | 403 | any | 08 | Card Expired | The payment card is expired |
Business | 403 | any | 09 | Dormant Account | The account is dormant |
Business | 403 | any | 10 | Need To Set Token Limit | Need to set token limit |
System | 403 | any | 11 | OTP Blocked | OTP has been blocked |
System | 403 | any | 12 | OTP Lifetime Expired | OTP has been expired |
System | 403 | any | 13 | OTP Sent To Cardholer | initiates request OTP to the issuer |
Business | 403 | any | 14 | Insufficient Funds | Insufficient Funds |
Business | 403 | any | 15 | Transaction Not Permitted.[reason] | Transaction Not Permitted |
Business | 403 | any | 16 | Suspend Transaction | Suspend Transaction |
Business | 403 | any | 17 | Token Limit Exceeded | Purchase amount exceeds the token limit set prior |
Business | 403 | any | 18 | Inactive Card/Account/Customer | Indicates inactive account |
Business | 403 | any | 19 | Merchant Blacklisted | Merchant is suspended from calling any APIs |
Business | 403 | any | 20 | Merchant Limit Exceed | Merchant aggregated purchase amount on that day exceeds the agreed limit |
Business | 403 | any | 21 | Set Limit Not Allowed | Set limit not allowed on particular token |
Business | 403 | any | 22 | Token Limit Invalid | The token limit desired by the merchant is not within the agreed range between the merchant and the Issuer |
Business | 403 | any | 23 | Account Limit Exceed | Account aggregated purchase amount on that day exceeds the agreed limit |
Business | 404 | any | 00 | Invalid Transaction Status | Invalid transaction status |
Business | 404 | any | 01 | Transaction Not Found | Transaction not found |
System | 404 | any | 02 | Invalid Routing | Invalid Routing |
System | 404 | any | 03 | Bank Not Supported By Switch | Bank not supported by switch |
Business | 404 | any | 04 | Transaction Cancelled | Transaction is cancelled by customer |
Business | 404 | any | 05 | Merchant Is Not Registered For Card Registration Services | Merchant is not registered for Card Registration services |
System | 404 | any | 06 | Need To Request OTP | Need to request OTP |
System | 404 | any | 07 | Journey Not Found | The journeyID cannot be found in the system |
Business | 404 | any | 08 | Invalid Merchant | Merchant does not exist or status abnormal |
Business | 404 | any | 09 | No Issuer | No issuer |
System | 404 | any | 10 | Invalid API Transition | Invalid API transition within a journey |
Business | 404 | any | 11 | Invalid Card/Account/Customer [info]/Virtual Account | Card information may be invalid, or the card account may be blacklisted, or Virtual Account number maybe invalid. |
Business | 404 | any | 12 | Invalid Bill/Virtual Account [Reason] | The bill is blocked/ suspended/not found. |
Virtual account is suspend/not found. | |||||
Business | 404 | any | 13 | Invalid Amount | The amount doesn't match with what supposed to |
Business | 404 | any | 14 | Paid Bill | The bill has been paid |
System | 404 | any | 15 | Invalid OTP | OTP is incorrect |
Business | 404 | any | 16 | Partner Not Found | Partner number can't be found |
Business | 404 | any | 17 | Invalid Terminal | Terminal does not exist in the system |
Business | 404 | any | 18 | Inconsistent Request | Inconsistent request parameter found for the same partner reference number/transaction id |
It can be considered as failed in transfer debit, but it should be considered as success in transfer credit. | |||||
Considered as success: | |||||
- Transfer credit = (i) Intrabank transfer; (ii) Interbank transfer; (iii) RTGS transfer; (iv) SKNBI transfer; | |||||
- Virtual account = (i) Payment VA; (ii) Payment to VA; | |||||
- Transfer debit = (i) Refund payment; (ii) Void; | |||||
Considered as failed: | |||||
- Transfer credit = (i) Transfer to OTC; | |||||
- Transfer debit = (i) Direct debit payment; (ii) QR CPM payment; (iii) Auth payment; (iv) Capture; | |||||
Business | 404 | any | 19 | Invalid Bill/Virtual Account | The bill is expired. |
Virtual account is expired. | |||||
System | 405 | any | 00 | Requested Function Is Not Supported | Requested function is not supported |
Business | 405 | any | 01 | Requested Opearation Is Not Allowed | Requested operation to cancel/refund transaction Is not allowed at this time. |
System | 409 | any | 00 | Conflict | Cannot use same X-EXTERNAL-ID in same day |
System | 409 | any | 01 | Duplicate partnerReferenceNo | Transaction has previously been processed indicates the same partnerReferenceNo already success |
System | 429 | any | 00 | Too Many Requests | Maximum transaction limit exceeded |
System | 500 | any | 00 | General Error | General Error |
System | 500 | Any | 01 | Internal Server Error | Unknown Internal Server Failure, Please retry the process again |
System | 500 | Any | 02 | External Server Error | Backend system failure, etc |
System | 504 | any | 00 | Timeout | timeout from the issuer |
APLIKASI PENGUJIAN
Akses Terbatas, Mohon Sign Up untuk Dapat Mengakses Halaman Ini