# 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 email 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 email 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 email 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 email 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