---
title: VA Integration & Testing
slug: en/va-integration-and-testing
description: Information about integration and testing on Virtual Account payment method with NICEPAY system
image: https://archbee-image-uploads.s3.amazonaws.com/ZHvSjR5ZrsoxwKbJa3xmo/EHzTCxtL9KX4dnRiOHlzm_microsoftteams-image.png
icon: {"faIcon":"fa-solid fa-book"}
docTags: 
createdAt: 2022-08-11T08:15:30.000Z
---

The integration and testing process for the Virtual Account payment method covers 6 features of the Virtual Account. Those features are *Normal Close*, *Normal Open*, *Fixed Close*, *Fixed Open*, *NICEPAY Inquiry Virtual Account Close*, and *NICEPAY Inquiry Virtual Account Open*.



# Integration Steps and API Used

***

1. Perform API Call Transaction Registration integration.
   - SNAP: [Registration - API Virtual Account SNAP](docId\:Rfwa2zCRE7TNjXWKr-j0-).
   - Redirect:  [Virtual Account - API Checkout](docId\:kAT7yoDvTtqh01EnS43Ml).
2. Receive NICEPAY callback and push notification.&#x20;
3. Perform API Inquiry Status integration.
   - SNAP: [Check Status Transaction - API Virtual Account SNAP](docId\:QDN7CGVv26s2XEibfWg1U)&#x20;
   - Redirect: [Status Inquiry - API Checkout](docId\:RhH7PmISd6IHN99yWVJHm).
4. Optional: perform API Cancel integration to cancel the transaction.
   - SNAP: [Cancel - API Virtual Account SNAP](docId\:i-K2pbXQYAmba7zW0aYJM).
   - Redirect: [Cancel - API Checkout](docId\:CmiiEW1Oy21QP7qDEcUl-) .



# Virtual Account Testing Guide

***

| **Test Steps**                                                                                                                                                                                                                                                                            | **Rules and Conditions**                                                                                                                                                                                                                                                              |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 1. Use MID Merchant or MID sandbox (`IONPAYTEST`) AutoPaid.
2. Create Regist Virtual Account.
3. Access to MBanking application or Internet Banking.
4. Check your inquiry payment.
5. Confirmation of your payment.
6. Transaction success.
7. Check your (`dbProcessUrl`) notification. | 1) Transaction will be settled based on the Bank rules.
2) When payment success, funds on the Customer account will immediately deduct based on the paid amount on Virtual Account.
3) Virtual Account transaction that has been through the Settlement process could not be aborted. |



# Failed Transaction Possible Reason&#x20;

***

1. VA number / billing number not found.
2. Company code not found.
3. Input the wrong VA number.
4. Payment time already expired so the VA number can’t be used anymore.
5. Payment with VA number successfully but got timeout from Bank.



# Integration Checklist & Test Case

***

- [ ] Implement inquiry status after receiving the callback.
- [ ] Implement inquiry status after receiving the notification inside `dbProcessUrl`.
- [ ] Review payment log.
- [ ] Review firewall setting (eg. cloudflare for `dbprocessUrl` setting).
- [ ] Check `merchantToken` implementation.
- [ ] Execute test scenarios in Development Environment.
- [ ] Execute test scenarios in Production Environment.&#x20;
  [Get Sample Scenario](https://docs.google.com/spreadsheets/d/e/2PACX-1vQIaIMCM0vZ3L1cA-JkW3YxyIpjsB966fg1wTeT8qpFDowEvulIEWOoY6I4uJPL3A/pub?output=xlsx)
- [ ] Review Error Handling (Timeout, Failed, Negative Case).



# Best Practice

***

- For Merchant testing, able to install `merFixAcctld` parameter. Learn further related to [API Virtual Account SNAP](docId:_ejY3d54njez-a1p1EwOT), [Virtual Account Static](docId\:yaVbX-yzSy8Fi-3qbekmd).
- Virtual Account Cancel support to full cancellation and partial cancellation. Learn further about [Cancel Type Code](docId\:VNHGJOXcH1WJMHnlKYVOC).
- When notification is received on your `dbProcessUrl`, NICEPAY strongly recommend Merchant to verify the notification using the Inquiry API.
- `Notification Handling` is helpful to minimalize Fraud actions, NICEPAY strongly recommends Merchant to verify the `Notification Handling`.



# See also

::::VerticalSplit{layout="middle"}
:::VerticalSplitItem
Visit the [VA Payment Flow](docId:4kj6Pl6-XOAcm0pJyHLm4) page to find out the system process during payment with the Virtual Account.
:::

:::VerticalSplitItem
Visit the [VA Feature](docId\:ZkWEhsqaTkVqybCNOEUI0) page to find out the transaction feature on the Virtual Account.
:::
::::

::::VerticalSplit{layout="middle"}
:::VerticalSplitItem
Visit the [VA Glossary](docId\:RESKnu2MJlHkA464_5u_u) page to find out the particular term used on Virtual Account.
:::

:::VerticalSplitItem
Visit the [VA FAQ](docId\:SmiwNmrzQJMHnwdjwQZD5) page if you want to find out frequently asked questions related to Virtual Account.
:::
::::

