# Generate ATM QRCode

# Specification

  • The following table is a specification of this API:
Name Description
API Name CPMPayment
Function This API is used to create AMT userid from merchant to PayCools as the acquirer
Service Code 90
Method POST
URL /v2.0/cdm/cdm-mpm-generate
Accept application/json
Content Type application/json
Related Service
Expected Timeout 8 second

# Request

  • The following part will be describe about parameter of request in this API:

# Request Parameter

  • The following table is a list of request parameter in this API:
  • The following table is a header of request parameter:
No Name Type Length Required Condition Remarks
1 Content-Type String Variable, 127 max Mandatory - Content type, value always application/json
2 Authorization String Variable, 2048 max Mandatory Represents access_token of a request, starts with keyword “Bearer” and followed by access_token
3 X-TIMESTAMP String Fixed, 25 max Mandatory - Transaction date time, in format YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time)
4 X-SIGNATURE String Variable Mandatory - created using asymmetric signature SHA256withRSA algorithm of X-CLIENT-KEY + “|” + X-TIMESTAMP
for example:3a34d6a9debb4246931f3941c471dd3b|2023-09-25T17:57:35+07:00
5 X-PARTNER-ID String Variable, 36 max Mandatory - Unique identifier for partner was generated by PayCools, or known as appId

# Body

  • The following table is a body of request parameter:
No Name Type Length Required Condition Remarks
1 partnerReferenceNo String Variable, 50 max Mandatory - Unique transaction identifier in client system.
3 merchantId String Variable, 64 max Mandatory - Unique identifier for partner was generated by PayCools, or known as appId
6 additionalInfo QrGenerateAdditionalInfo Variable Mandatory - Additional information

# REQUEST SAMPLE

POST /v2.0/cdm/cdm-mpm-generate HTTP/1.1
Content-type: application/json
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJhcHBJZCI6ImNiY2U0OTBlODJmODQxZjJiMzE2MmE4ZGQyN2U5ZmQxIiwiY2FjaGVLZXkiOiJUT0tFTl9BUElfY2JjZTQ5MGU4MmY4NDFmMmIzMTYyYThkZDI3ZTlmZDFfMjEwMDJiMGYtMDJkNS00ZDI2LTg4MmEtMGRmNWI5MzVlNWVhIiwiY3JlYXRlVGltZSI6MTY5NjY1MDAyMTg3OX0.mkiFEVNvWTJDVLTvY9oE2u4w76wnlra1mwzC79SG-Zo
X-TIMESTAMP: 2023-09-25T17:57:35+07:00
X-SIGNATURE:
Dupbr1ILxsfBrXFmeDdIjwCmgv6AF+JQeIpD1Gq8HDjow7avCXdZAPOEbxVe7/x0atxy86aUfC11zXA1gvXXwxrTXFr6V0x8GZCyTndqnDyRlBeEZLL3BLmDRkrSsomd/mv1eG/th4TQndSPrBBfbN3bj0yIB99y2BnU5fBy7B0ZhYiQVs3uREspIsBB99F/4Zv8GbPWvik2usdOUo0gfPAQoZ3MJAcBQ/0vMRT5KdLm903C2HNyl1Cpb6OFRgaU2LAWybEQIC2QJ9mFb08NPR0PEu75WpVHNrFYn8gfiI8nRso0vBJhtMZrRINDQf9scV53cFdjpWobQHvnFDHCqQ==
X-PARTNER-ID: cbce490e82f441f2b3162a2dd27e8fd1

{
  "partnerReferenceNo": "test202310457895245",
  "merchantId": "cbce490e82f441f2b3162a2dd27e8fd1",
  "additionalInfo": {
    "channelCode": "ATM_STATIC_QR",
    "notifyUrl": "www.test.com",
    "regionNo": "12356",
    "branchNo": "123456",
    "courierNo": "123456",
    "courierName": "123456",
    "courierMobile": "092838345"
  }
}

# Response

  • The following part will be describe about parameter of response in this API:

# Response Parameter

  • The following table is a list of response parameter in this API:

# Header

  • The following table is a header of response parameter:
No Name Type Length Required Condition Remarks
1 Content-Type String Variable, 127 max Mandatory - Content type, value always application/json
2 X-TIMESTAMP String Fixed, 25 max Mandatory - Transaction date time, in format YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time)

# Body

  • The following table is a body of response parameter:
No Name Type Length Required Condition Remarks
1 responseCode String Fixed, 7 max Mandatory - Refer to response code list
2 responseMessage String Variable, 150 max Mandatory - Refer to response code list
3 cdmReferenceId String Variable, 512 max Conditional Y:= Successfully processed QR MPM Reference Id
4 cdmQrcode String Variable, 512 max Conditional Y:= Successfully processed QR String MPM
5 status String-INACTIVE/ACTIVE Variable, 512 max Conditional Y:= Successfully processed QR String MPM

# Response

Content-Type: application/json
X-TIMESTAMP: 2023-04-11T21:10:11+07:00
{
    "responseCode": "2009000",
    "responseMessage": "Successful",
    "cdmReferenceId": "CDM2938845696"
    "cdmQrcode": "userid123456789"
    "status": "ACTIVE"
}

# Response Code and Message

  • The following table is the list response code and message of Balance Inquiry API:
No Response Code Response Message Remarks Partner Action Related Service
1 2009000 Successful Success to be processed Mark Generate QRIS process as Success QRIS MPM (Acquirer) - SNAP
3 4009000 Bad Request General request failed error Mark Generate QRIS process as Failed. Retry request with proper parameter QRIS MPM (Acquirer) - SNAP
4 4009001 Invalid Field Format Invalid format for certain field Mark Generate QRIS process as Failed. Retry request with proper parameter QRIS MPM (Acquirer) - SNAP
5 4009002 Invalid Mandatory Field Missing or invalid format on mandatory field Mark Generate QRIS process as Failed. Retry request with proper parameter QRIS MPM (Acquirer) - SNAP
6 4019000 Unauthorized. [reason] General unauthorized error Mark Generate QRIS process as Failed. Retry request with proper parameter QRIS MPM (Acquirer) - SNAP
7 4019001 Invalid Token (B2B) Authorization token are invalid, perhaps due to token expiry for B2B Mark Generate QRIS process as Failed. Retry request with proper parameter QRIS MPM (Acquirer) - SNAP
8 4039002 Exceeds Transaction Amount Limit Exceeds transaction amount limit Mark Generate QRIS process as Failed. Try to adjust the order amount QRIS MPM (Acquirer) - SNAP
9 4039005 Do Not Honor Account or user status is abnormal Mark Generate QRIS process as Failed. Retry request with proper parameter or can contact PayCools to check the user/account status QRIS MPM (Acquirer) - SNAP
10 4039015 Transaction Not Permitted.[reason] Transaction not permitted Mark Generate QRIS process as Failed. Retry request periodically or consult to PayCools QRIS MPM (Acquirer) - SNAP
11 4049008 Invalid Merchant Merchant does not exist or status abnormal Mark Generate QRIS process as Failed. Retry request with proper parameter QRIS MPM (Acquirer) - SNAP
12 4049018 Inconsistent Request Inconsistent request parameter found for the same partner reference number/transaction identifier Mark Generate QRIS process as Failed. Retry request with proper parameter QRIS MPM (Acquirer) - SNAP
13 4299000 Too Many Requests Maximum transaction limit exceeded Mark Generate QRIS process as Failed. Retry request with proper parameter QRIS MPM (Acquirer) - SNAP
14 5009000 General Error General error non retry-able Mark Generate QRIS process as Failed. Retry request periodically QRIS MPM (Acquirer) - SNAP
15 5009001 Internal Server Error Unknown internal server failure, please retry the process again Mark Generate QRIS process as Failed. Retry request periodically QRIS MPM (Acquirer) - SNAP
16 Total Timeout Total timeout, the client side does not get any responses from the server side (can be due to network issue, server slowing down, and so on) Do a retry maximum 3 attempts, if the result is still the same then action is aborted. Show appropriate error message to users QRIS MPM (Acquirer) - SNAP
17 Unexpected response (empty field/field does not exist/undefined response code) The server does not produce expected responses (can be due to hardware failure, bugs, and so on) Do a retry maximum 3 attempts, if the result is still the same then action is aborted. Show appropriate error message to users QRIS MPM (Acquirer) - SNAP