# Data Model - MPM Payment
- The following is the list of data model that used on MPM Payment API:
# Money
The following table is data of Money data model:
| No | Name | Type | Length | Required | Condition | Remarks |
|---|---|---|---|---|---|---|
| 1 | value | String | Variable, 19 max | Mandatory | - | Value of amount. Following ISO-4217, for IDR the value includes 2 decimal digits separated with point e.g. ,IDR 10.000,- will be placed with 10000.00 |
| 2 | currency | String | Variable, 3 max | Mandatory | - | Currency |
# QrGenerateAdditionalInfo
The following table is data of QrGenerateAdditionalInfo data model:
| No | Name | Type | Length | Required | Condition | Remarks |
|---|---|---|---|---|---|---|
| 1 | channelCode | String | Variable | Mandatory | - | Channel Code, can fill in:QRIS_DYNAMIC_QR |
| 2 | notifyUrl | String | Variable | Mandatory | - | The Url used to call back the merchant after a successful transaction |
| 3 | customerName | String | Variable, 4 min, 100 max | Optional | - | The customer name |
| 4 | String | Variable | Optional | The customer email. Match mailbox format | ||
| 5 | customerMobile | String | Variable | Optional | - | The customer mobile |
| 6 | remark | String | Variable | Optional | remark | |
| 7 | feeSplitType | Integer | Variable | Optional | Fee Burden Mode: 1 merchant, 2 user. If not specified, it defaults to Merchant. | |
| 8 | instituteWayCode | String | Variable | Optional | Institute Way Code: "BCA","OTHERS". If not specified, it defaults to "OTHERS". | |
| 9 | items | List<ItemInfo> | Variable | Mandatory | Item Info |
# ItemInfo
The following table is data of ItemInfo data model:
| No | Name | Type | Length | Required | Condition | Remarks |
|---|---|---|---|---|---|---|
| 1 | subOrderId | String | Variable | Mandatory | - | J&T Tracking number |
| 2 | amount | MONEY | Variable | Mandatory | - | The item amount |
| 3 | regionNo | String | Variable | Mandatory | - | The region No. |
| 4 | branchNo | String | Variable | Mandatory | - | The branch No. |
| 5 | courierNo | String | Variable | Mandatory | - | The courier No. |
| 6 | courierName | String | Variable | Optional | - | The courier name |
| 7 | courierMobile | String | Variable | Optional | - | The courier mobile |
# QrAdditionalInfoResp
The following table is data of QrGenerateAdditionalInfoResp data model:
| No | Name | Type | Length | Required | Condition | Remarks |
|---|---|---|---|---|---|---|
| 1 | channelCode | String | Variable | Mandatory | - | Channel Code, can fill in:QRIS_DYNAMIC_QR |
| 2 | notifyUrl | String | Variable | Mandatory | - | The Url used to call back the merchant after a successful transaction |
| 3 | customerName | String | Variable, 4 min, 100 max | Optional | - | The customer name |
| 4 | String | Variable | Optional | The customer email. Match mailbox format | ||
| 5 | customerMobile | String | Variable | Optional | - | The customer mobile |
| 6 | remark | String | Variable | Optional | remark | |
| 7 | feeSplitType | Integer | Variable | Optional | Fee Burden Mode: 1 merchant, 2 user. If not specified, it defaults to Merchant. | |
| 8 | instituteWayCode | String | Variable | Optional | Institute Way Code: "BCA","OTHERS". If not specified, it defaults to "OTHERS". | |
| 9 | items | List<ItemInfoResp> | Variable | Mandatory | Item Info |
# ItemInfoResp
The following table is data of ItemInfoResp data model:
| No | Name | Type | Length | Required | Condition | Remarks |
|---|---|---|---|---|---|---|
| 1 | subOrderId | String | Variable | Mandatory | - | J&T Tracking number |
| 2 | amount | MONEY | Variable | Mandatory | - | The item amount |
| 3 | regionNo | String | Variable | Mandatory | - | The region No. |
| 4 | branchNo | String | Variable | Mandatory | - | The branch No. |
| 5 | courierNo | String | Variable | Mandatory | - | The courier No. |
| 6 | courierName | String | Variable | Optional | - | The courier name |
| 7 | courierMobile | String | Variable | Optional | - | The courier mobile |
| 8 | feeAmount | MONEY | Variable | Mandatory | - | The item fee amount |
| 9 | totalAmount | MONEY | Variable | Mandatory | - | The item total amount |
# NotifyAdditionalInfo
The following table is data of NotifyAdditionalInfo data model:
| No | Name | Type | Length | Required | Condition | Remarks |
|---|---|---|---|---|---|---|
| 1 | channelCode | String | Variable | Mandatory | - | Channel Code |
| 2 | createTime | String | Variable | Mandatory | - | Create time of the individual transaction format yyyy-MM-ddTHH:mm:ss.SSSTZD |
| 3 | eventName | String | Variable | Mandatory | - | Event Name: qrcode.payment.success |
| 4 | returnTime | String | Variable | Mandatory | - | Return time of the individual transaction format yyyy-MM-ddTHH:mm:ss.SSSTZD |
| 5 | issuerName | String | Variable | Mandatory | - | IssuerName: 'BCA','Others','PayCools' |
# CdmGenerateAdditionalInfo
The following table is data of QrGenerateAdditionalInfo data model:
| No | Name | Type | Length | Required | Condition | Remarks |
|---|---|---|---|---|---|---|
| 1 | channelCode | String | Variable | Mandatory | - | Channel Code, can fill in:ATM_STATIC_QR |
| 2 | notifyUrl | String | Variable | Mandatory | - | The Url used to call back the merchant after a successful transaction |
| 3 | regionNo | String | Variable | Mandatory | - | The region No. |
| 4 | branchNo | String | Variable | Mandatory | - | The branch No. |
| 5 | courierNo | String | Variable | Mandatory | - | The courier No. |
| 6 | courierName | String | Variable | Optional | - | The courier name |
| 7 | courierMobile | String | Variable | Optional | - | The courier mobile |
# CdmNotifyAdditionalInfo
The following table is data of NotifyAdditionalInfo data model:
| No | Name | Type | Length | Required | Condition | Remarks |
|---|---|---|---|---|---|---|
| 1 | channelCode | String | Variable | Mandatory | - | Channel Code |
| 2 | createTime | String | Variable | Mandatory | - | Create time of the individual transaction format yyyy-MM-ddTHH:mm:ss.SSSTZD |
| 3 | eventName | String | Variable | Mandatory | - | Event Name: atm.payment.success |
| 4 | returnTime | String | Variable | Mandatory | - | Return time of the individual transaction format yyyy-MM-ddTHH:mm:ss.SSSTZD |
# CdmNotifyItem
The following table is data of CdmNotifyItem data model:
| No | Name | Type | Length | Required | Condition | Remarks |
|---|---|---|---|---|---|---|
| 1 | originalReferenceNo | String | Variable, 64 max | Optional | - | Transaction identifier on PayCools system |
| 2 | originalPartnerReferenceNo | String | Variable, 64 max | Optional | - | Transaction identifier on partner system |
| 3 | cdmQrcode | String | Variable, 64 max | Optional | - | ATM User ID from PayCools |
| 4 | cdmReferenceId | String | Variable, 64 max | Optional | - | ATM User Reference ID from PayCools |
| 5 | machineNumber | String | Variable, 64 max | Optional | - | ATM Machine serial number |
| 6 | channelReferNo | String | Variable, 64 max | Optional | - | AMT deposit receipt code |
| 7 | amount | MONEY | Variable | Mandatory | - | Amount. Contains two sub-fields: 1. Value: Transaction amount, including the cents 2. Currency: Currency code based on ISO |
| 8 | feeAmount | MONEY | Variable | Mandatory | - | Fee Amount. Contains two sub-fields: 1. Value: Transaction amount, including the cents 2. Currency: Currency code based on ISO |
| 9 | totalAmount | MONEY | Variable | Mandatory | - | Total Amount. Contains two sub-fields: 1. Value: Transaction amount, including the cents 2. Currency: Currency code based on ISO |
| 10 | latestTransactionStatus | String | Fixed, 2 max | Conditional | Y:= Transaction exists | Transaction status code Successfully = 00 |
| 11 | additionalInfo | CdmNotifyAdditionalInfo | Variable | Mandatory | - | Additional information |
# CdmQueryRespItem
The following table is data of CdmNotifyItem data model:
| No | Name | Type | Length | Required | Condition | Remarks |
|---|---|---|---|---|---|---|
| 1 | originalReferenceNo | String | Variable, 64 max | Optional | - | Transaction identifier on PayCools system |
| 2 | originalPartnerReferenceNo | String | Variable, 64 max | Optional | - | Transaction identifier on partner system |
| 3 | cdmQrcode | String | Variable, 64 max | Optional | - | ATM User ID from PayCools |
| 4 | cdmReferenceId | String | Variable, 64 max | Optional | - | ATM User Reference ID from PayCools |
| 5 | machineNumber | String | Variable, 64 max | Optional | - | ATM Machine serial number |
| 6 | channelReferNo | String | Variable, 64 max | Optional | - | AMT deposit receipt code |
| 7 | amount | MONEY | Variable | Mandatory | - | Amount. Contains two sub-fields: 1. Value: Transaction amount, including the cents 2. Currency: Currency code based on ISO |
| 8 | feeAmount | MONEY | Variable | Mandatory | - | Fee Amount. Contains two sub-fields: 1. Value: Transaction amount, including the cents 2. Currency: Currency code based on ISO |
| 9 | totalAmount | MONEY | Variable | Mandatory | - | Total Amount. Contains two sub-fields: 1. Value: Transaction amount, including the cents 2. Currency: Currency code based on ISO |
| 10 | latestTransactionStatus | String | Fixed, 2 max | Conditional | Y:= Transaction exists | Transaction status code Successfully = 00 |
| 11 | additionalInfo | CdmQueryRespItemAdditionalInfo | Variable | Mandatory | - | Additional information |
# CdmQueryRespItemAdditionalInfo
The following table is data of NotifyAdditionalInfo data model:
| No | Name | Type | Length | Required | Condition | Remarks |
|---|---|---|---|---|---|---|
| 1 | channelCode | String | Variable | Mandatory | - | Channel Code |
| 2 | createTime | String | Variable | Mandatory | - | Create time of the individual transaction format yyyy-MM-ddTHH:mm:ss.SSSTZD |
| 4 | returnTime | String | Variable | Mandatory | - | Return time of the individual transaction format yyyy-MM-ddTHH:mm:ss.SSSTZD |
# DirectDebitPaymentGenerateAdditionalInfo
The following table is data of GenerateAdditionalInfo data model:
| No | Name | Type | Length | Required | Condition | Remarks |
|---|---|---|---|---|---|---|
| 1 | channelCode | String | Variable | Mandatory | - | Channel Code, can fill in:LINKAJA_URL, OVO_URL, SHOPEEPAY_URL, DANA_URL |
| 2 | notifyUrl | String | Variable | Mandatory | - | The Url used to call back the merchant after a successful transaction |
| 3 | redirectUrl | String | Variable | Mandatory | - | The Url used to redirect the merchant after transaction |
| 4 | customerName | String | Variable, 4 min, 100 max | Mandatory | - | The customer name |
| 5 | String | Variable | Mandatory | The customer email. Match mailbox format | ||
| 6 | customerMobile | String | Variable | Mandatory | - | The customer mobile |
| 7 | remark | String | Variable | Optional | remark | |
| 8 | feeSplitType | Integer | Variable | Optional | Fee Burden Mode: 1 merchant, 2 user. If not specified, it defaults to Merchant. | |
| 9 | items | List<ItemInfo> | Variable | Mandatory | Item Info |
# DirectDebitPaymentGenerateAdditionalInfoResp
| No | Name | Type | Length | Required | Condition | Remarks |
|---|---|---|---|---|---|---|
| 1 | channelCode | String | Variable | Mandatory | - | Channel Code, can fill in:LINKAJA_URL, OVO_URL, SHOPEEPAY_URL, DANA_URL |
| 2 | notifyUrl | String | Variable | Mandatory | - | The Url used to call back the merchant after a successful transaction |
| 3 | redirectUrl | String | Variable | Mandatory | - | The Url used to redirect the merchant after transaction |
| 4 | customerName | String | Variable, 4 min, 100 max | Mandatory | - | The customer name |
| 5 | String | Variable | Mandatory | The customer email. Match mailbox format | ||
| 6 | customerMobile | String | Variable | Mandatory | - | The customer mobile |
| 7 | remark | String | Variable | Optional | remark | |
| 8 | feeSplitType | Integer | Variable | Optional | Fee Burden Mode: 1 merchant, 2 user. If not specified, it defaults to Merchant. | |
| 9 | items | List<ItemInfoResp> | Variable | Mandatory | Item Info |
# DirectDebitPaymentAdditionalInfo
The following table is data of NotifyAdditionalInfo data model:
| No | Name | Type | Length | Required | Condition | Remarks |
|---|---|---|---|---|---|---|
| 1 | channelCode | String | Variable | Mandatory | - | Channel Code |
| 2 | createTime | String | Variable | Mandatory | - | Create time of the individual transaction format yyyy-MM-ddTHH:mm:ss.SSSTZD |
| 3 | eventName | String | Variable | Mandatory | - | Event Name: h5.payment.success, h5.payment.failed |
| 4 | returnTime | String | Variable | Mandatory | - | Return time of the individual transaction format yyyy-MM-ddTHH:mm:ss.SSSTZD |
| 4 | remark | String | Variable | Optional | - | remark |