Payment Gateway

Frequently Asked Questions​

Find answers to common questions about our services on this page.
Integration
❓How long does it take from the start of the cooperation process until transactions can go live?
On average, the cooperation and activation process until go-live takes around seven working days, depending on the completeness of the documents and the merchant integration readiness.
❓What should I prepare before starting the integration?
Before starting integration, make sure you have:
  • Identify the integration method you will use.
  • Obtained development credentials such as merchant code, merchant name, API Key, signature, and password.
  • Obtained access to the Sandbox Portal for monitoring and testing.
  • Access to the technical documentation according to the selected integration method.
  • Provide a callback endpoint URL that is publicly accessible via the internet.
❓ What is a callback endpoint?
A callback endpoint is an API URL provided on your system that allows Espay to:
  • Send an inquiry request to your system to retrieve transaction details.
  • Notify your system when the transaction status changes.
To ensure smooth communication, make sure the endpoint:
  • Accepts HTTPS requests using POST, or GET/DELETE (depending on the service).
  • Returns responses in the format specified in Espay technical documentation.
  • Must be accessible online, stable, and publicly available.
See the service details:
❓How do I ensure that my integration is working correctly?
Make sure you have followed the steps below:
  • Follow the technical documentation wholly and accurately.
  • Perform end-to-end testing to verify the full transaction flow.
  • Use the Espay Sandbox Portal for payment simulation.
  • Make sure all transactions are logged in your system for traceability.
❓What should I do after the integration is complete?
After completing the integration, you must go through two final steps before going live:
  • Espay UAT (User Acceptance Test)
    Based on test scenarios provided by the Espay team.
  • BI SNAP Document Completion (Bank Indonesia Open API Standard)
    You will need to complete:
    1. Dev Site BI
    2. Functional Testing
    3. SOP Guide & Matrix Explanation
    These documents ensure your compliance and understanding of SNAP regulations. See more details:
❓Can I use a local (localhost) callback endpoint for integration?
No. Espay sends callbacks over the internet, so your endpoint must:
  • Accept HTTPS POST requests (based on the service used).
  • Accessible online, stable, and publicly available.
  • Return a response that follows the documentation format.
Payment Simulation
❓How can I simulate Virtual Account or QRIS payments in the sandbox?
You can simulate Virtual Account or QRIS transactions through the Espay Sandbox Portal. Follow the simulation steps on the page:
❓How can I simulate payment cards (credit or debit cards) in the sandbox?
You can simulate card payments using dummy data (card number, CVV, and expiry date). Credential details can be viewed on the page:
❓Can I simulate e-wallet payments in the sandbox?
Currently, simulation for e-wallets only supports OVO.
❓How do I simulate OVO payments in the sandbox?
To simulate OVO payments:
  1. Choose OVO as the payment method.
  2. Enter a random mobile phone number on the payment screen.
Payments & Fees
❓How do I check which payment channels are available to me?
Use the Inquiry Merchant Info service. It returns a list of payment channels currently activated on your account. See the service details:
❓Can channel fees be charged to the customer?
Yes, you can pass the channel fees to your customers.
❓What is the difference between Static and Dynamic Virtual Accounts?
Category Static Virtual Account Dynamic Virtual Account
VA Number
Fixed
One-time use (unique per transaction)
Integration Method
Virtual Account (Send Invoice)
  • Virtual Account (Send Invoice)
  • Payment Host to Host
Required Services
Payment
  • Inquiry
  • Payment
❓How can I resend a payment notification?
You can resend payment notifications in the following ways:
  1. Via Espay Support Team – Request to resend notification.
  2. Using Inquiry Status service – Set the isPayment: Y parameter to trigger the payment notification.
  3. Portal Espay (sandbox or production) – Use the “Update to success with notification” button”.
See the service details
Transaction Status
❓What is the difference between the statuses Success, Failed, Suspect, and In Process?
Success (S)
The payment has been successfully completed, and the payment notification (Payment) sent by Espay has been received and processed properly by the merchant system.

Failed (F)
The payment failed to be completed. This usually occurs when the Virtual Account number has expired or is inactive, or when an error occurs during the payment process.

Suspect (SP)
The payment was successfully completed by the customer, but the payment notification (Payment) was not received or could not be processed by the merchant system.

In Process (IP)
The transaction has been created, but the customer has not yet completed the payment.
❓Why do I receive the response message “Rejected, Error Komunikasi dengan Mitra”?
This error occurs when Espay cannot communicate with your system while calling the Inquiry Callback URL. As a result, Espay cannot retrieve the required transaction information, and the transaction cannot proceed.

Common causes:
  • The callback URL is not accessible (timeout, DNS error, or server down).
  • The callback URL returns an error response (HTTP 4xx/5xx).
  • The response format does not follow the Espay documentation.
  • Network issues exist between Espay and the merchant server.

Solutions:
  • Ensure the callback endpoint is publicly accessible.
  • Ensure the server does not return an error when called by Espay.
  • Verify the response format matches Espay documentation.
  • Check your server logs to confirm you receive and process Espay requests.
❓Why does a transaction status become "Suspect"?
The Suspect (SP) status occurs when the customer has successfully completed the payment, but Espay was unable to deliver the Payment Notification to your system. As a result, Espay has not received confirmation that the payment notification was successfully received and processed.

Common causes:
  • The Payment Callback URL cannot be accessed (timeout, DNS error, or server down).
  • The Payment Callback URL returns an error response (HTTP 4xx/5xx).
  • The response format does not match the specifications in the Espay documentation.
  • There is a network issue between Espay and the merchant’s server.

Solutions:
Ensure the Payment Callback URL is accessible and returns the correct response. To resend the payment notification, you can:
  • Contact the Espay Support Team to request a resend of the payment notification.
  • Ensure your system responds in the format expected by the technical documentation.
  • Use the Inquiry Status service by setting the parameter isPayment: Y to trigger the payment notification resend.
  • Use the Espay Portal (sandbox or production) and click the “update to success with notification” button.
See the service details
Settlement
❓Settlement times depend on your integration model:
Settlement times depend on your integration model:
  • Aggregator Model
    Funds are settled on H+3 working days after a successful transaction, between 14:00–17:00 WIB.
  • Direct Model
    Funds are settled in real time to your account after successful payment.
Managing Payment Channels
❓ Can I add new payment methods via the Espay Portal?
No, you cannot add payment methods independently via the Espay portal.
  • Sandbox
    Submit a request to the Espay Technical Team.
  • Production
    Update your PKS (Cooperation Agreement).
Security & Access
❓Can I whitelist more than one IP address?
Yes, you can whitelist multiple IP addresses.
  • Sandbox
    Use * (wildcard) to allow all IP (for testing purposes).
  • Production
    Send a request to Espay Support Team via email.
See the steps to add IP addresses in the Sandbox portal:
❓Does Espay support IP Whitelisting?
Yes, Espay supports IP Whitelisting. You can restrict access to only accept requests from Espay official IP addresses. See the list of Espay’s official IP and domain:
Scroll to Top