Initiate Invoice

⚠️

Important Reminder

⚠️ Important Notes about Initiate Invoice API

  • This API is designed to start the payment process . Upon successful initiation, the API will redirect user to the bank simulator (or real bank gateway in production) via a form POST, where they can complete the payment.
  • Since the redirection happens immediately after form submission, you will not see detailed error messages in the browser if the request is malformed or contains invalid values.
  • If the request is invalid (e.g., missing required fields, wrong format, or incorrect checksum), the only feedback you will receive is a "Checksum verification failed" error .

❗️This means you cannot directly debug these issues from the browser or network console. You must:

  • Ensure all required fields are present and in the correct format.
  • Make sure the checksum is correctly generated based on the exact request payload, excluding the checksum itself.
  • Test with static known-good values first to validate your implementation.

🔍 Tip: During development, use the checksum generation guide and a known working payload to isolate and test checksum issues.

ParameterDescriptionConditionExample
payment_codeUnique payment code generated by merchant end for reference.requiredINV20250609-XYZ123
created_atDate Time
Format YYYY-MM-DD hh:mm:ss
required2024-06-12 12:23:32
amountMYR
Eg; 1 - RM1 will be your initiate amount
required10
nameValid payer full name in one line.requiredjohndoe
emailValid payer email
Must be email format
Maximum 50 characters
required[email protected]
phoneValid payer phone number (e.g: 0123121989)
Max 15 Character
required0135162634
descriptionPayment Description / Invoice Name
Max 150 characters. Be specific and concise (e.g., Registration Fee 2025).
requiredPembayaran Buku
bank_prefixSelect the bank code (prefix) retrieved from Payment Channel API. This code uniquely identifies the bank for payment processing.
(e.g., ABB0233).
requiredTEST0021
payment_methodThe selected payment method for the transaction. Values are retrieved dynamically from the Payment Channel API (e.g., Corporate Banking, Online Banking).requiredOnline Banking
checksumA SHA256 hash generated from the full request body (excluding the checksum itself). Must be included in the request payload.requiredSee how to generate a checksum
Language
Credentials
http
URL
Click Try It! to start a request and see the response here!