Appearance
API Account Inquiry
API Account Inquiry is an endpoint to get an account's verification status and bank account holder's name.
API Information
| Field | Value |
|---|---|
| Path | /api/{version}/account-inquiry-external |
| HTTP Method | POST |
| Service Code | 16 |
| Version | v1.0 |
| Type | JSON |
| Authentication | OAuth 2.0 with Access Token |
Request Structure
Request Header
Details
| Parameter / Field | Mandatory | Type | Description |
|---|---|---|---|
Content-Type | M | String | Indicates the media type of the resource. Use: application/json |
Authorization | M | String | Represents the access_token of a request. Starts with keyword "Bearer" followed by the access token. e.g.: Bearer eyJraWQiOi... |
X-TIMESTAMP | M | String | Client's current local time in yyyy-MM-ddTHH:mm:ss.SSSTZD format |
X-SIGNATURE | M | String | Symmetric signature using HMAC_SHA512. Formula: stringToSign = HTTPMethod + ":" + EndpointUrl + ":" + AccessToken + ":" + Lowercase(HexEncode(SHA256(minify(RequestBody)))) + ":" + TimeStamp. Notes: (1) Use full URL endpoint including all parameters. (2) If no Request Body, use empty string. |
X-PARTNER-ID | M | String | Unique ID for a partner. Use the Client ID obtained after the onboarding process. |
X-EXTERNAL-ID | M | String | Numeric String. A unique reference number you should generate. Must be unique on the same day. |
ORIGIN | O | String | Origin domain registered on the iFortepay system. |
CHANNEL-ID | M | String | Device identification on which the API services are being accessed. Use value: api |
M = Mandatory, O = Optional
Request Body
Details
| Parameter / Field | Mandatory | Type | Length | Description |
|---|---|---|---|---|
beneficiaryBankCode | M | String | 8 | Beneficiary Bank Code |
beneficiaryAccountNo | M | String | 34 | Destination bank or e-wallet account number. If disbursing to an e-wallet, use the phone number registered with the e-wallet account. |
partnerReferenceNo | O | String | 64 | Transaction identifier on service client system |
additionalInfo | O | Object | - | Additional information |
additionalInfo.isVirtualAccount | O | String | 1 | Parameter to differentiate virtual account transaction requests. Possible values: Y or N. Default value is N |
Example Request
Details
artifact
id: account-inquiry-request
name: Example Request - API Account Inquiry
type: code.bash
content: |-
curl --location --request POST 'https://api-stage.senmo.id/api/v1.0/account-inquiry-external' \
--header 'Content-Type: application/json' \
--header 'X-TIMESTAMP: 2023-01-04T14:49:49+07:00' \
--header 'X-SIGNATURE: 1DOf0QTRM0uWUs+FrunbW9dQar3eTGVj+Azg2snUqQQiikyyua0ftMkI2BkX3fEbKhOst6X/7r0bmEZSTZgw5Q==' \
--header 'X-PARTNER-ID: MCPD00000012' \
--header 'X-EXTERNAL-ID: 1672818589804' \
--header 'CHANNEL-ID: api' \
--header 'ORIGIN: https://www.mcpayment.id' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...' \
--data-raw '{
"partnerReferenceNo": "20221220-0009",
"beneficiaryBankCode": "011",
"beneficiaryAccountNo": "8753293240",
"additionalInfo": {
"isVirtualAccount": "N"
}
}'Response Structure
Response Header
Details
| Parameter / Field | Mandatory | Type | Description |
|---|---|---|---|
Content-Type | M | String | Indicates the media type of the resource (e.g. application/json) |
X-TIMESTAMP | M | String | Client's current local time in yyyy-MM-ddTHH:mm:ss.SSSTZD format |
Response Body
Details
| Parameter / Field | Mandatory | Type | Length | Description |
|---|---|---|---|---|
responseCode | M | String | 7 | Response code |
responseMessage | M | String | 150 | Response description |
referenceNo | O | String | 64 | Transaction identifier on service provider system. Must be filled upon successful transaction |
partnerReferenceNo | O | String | 64 | Transaction identifier on service consumer system |
beneficiaryAccountName | M | String | 100 | Beneficiary account name |
beneficiaryAccountNo | M | String | 34 | Beneficiary account number |
beneficiaryBankCode | O | String | 8 | Beneficiary bank code |
beneficiaryBankName | O | String | 50 | Beneficiary bank name |
currency | O | String | 3 | Currency type |
additionalInfo | O | Object | - | Additional information |
additionalInfo.inquiryStatus | M | String | - | Bank inquiry status on iFortepay system. Possible values: PENDING (still in process), SUCCESS (complete, account data returned), FAILED (process failed before final status, e.g. timeout or bank error) |
additionalInfo.beneficiaryAccountStatus | O | String | - | Beneficiary account status. Possible values: ACTIVE (account is active and can be used for disbursement), INVALID (account number is invalid or may be a virtual account) |
additionalInfo.isVirtualAccount | C | String | - | Differentiates virtual account transaction requests. Possible values: Y or N. Default: N |
additionalInfo.amountVirtualAccount | C | String | - | Amount for virtual account. Populated if the beneficiary is a virtual account (e.g. for bill payments) |
M = Mandatory, O = Optional, C = Conditional
Example Response
Details
✅ Success Response
json
{
"responseCode": "2001600",
"responseMessage": "Successful",
"referenceNo": "63b53652f1c4599ccc555433",
"partnerReferenceNo": "20221220-0010",
"beneficiaryAccountName": "Test BCA",
"beneficiaryAccountNo": "8753293240",
"beneficiaryBankCode": "014",
"beneficiaryBankName": "BCA",
"currency": "IDR",
"additionalInfo": {
"inquiryStatus": "SUCCESS",
"beneficiaryAccountStatus": "ACTIVE",
"isVirtualAccount": "Y",
"amountVirtualAccount": "15000.00"
}
}❌ Error Response
json
{
"responseCode": "4041603",
"responseMessage": "Bank Not Supported - Not Support Provider Bank Code"
}Callback
Account Inquiry status will be sent as a callback notification to your provided callback URL after the account inquiry reaches its final status. The provided URL must return a 200 HTTP Status Code. iFortepay will call your URL using HTTP Method POST with the following details:
Callback Header
Details
| Parameter / Field | Mandatory | Type | Description |
|---|---|---|---|
Content-Type | M | String | Use: application/json |
X-TIMESTAMP | M | String | Client's current local time in yyyy-MM-ddTHH:mm:ss.SSSTZD format |
X-SIGNATURE | M | String | Symmetric signature using HMAC_SHA512. Formula: stringToSign = PartnerCallbackURL + ":" + X-VERSION + ":" + Lowercase(HexEncode(SHA-256(minify(RequestBody)))) + ":" + X-TIMESTAMP |
X-VERSION | M | String | Callback version. Value: 1.0 |
Callback Body
The callback body follows the same structure as the Response Body table above. Example:
Details
json
{
"referenceNo": "63b53652f1c4599ccc555433",
"partnerReferenceNo": "20221220-0010",
"beneficiaryAccountName": "Test BCA",
"beneficiaryAccountNo": "8753293240",
"beneficiaryBankCode": "014",
"beneficiaryBankName": "BCA",
"currency": "IDR",
"additionalInfo": {
"inquiryStatus": "SUCCESS",
"beneficiaryAccountStatus": "ACTIVE",
"isVirtualAccount": "N"
}
}Testing Account
Refer to disbursement testing account section.