Banks of Vietnam

Overview

Banks of Vietnam is a payment method that uses the online banking mechanism for payments through Vietnamese banks. You can perform purchases through this method by using Payment Page and Gate, and payouts by using Gate and Dashboard.

Download the logo in vector format here.

Payment method type Online banking
Countries and regions Viet Nam
Payment currencies VND
Currency conversion On the Monetix side
Purchases
Payouts
COF payments
Full refunds
Partial refunds
Chargebacks
Notes
  • Cascade payment processing is supported for working with this method by using Payment Page. For more information, see Cascade payment processing or contact your Monetix key account manager
  • The amounts for VND currency are specified in the major currency units (without fractional part)
Onboarding and access fee Refer to your Monetix key account manager

Interaction diagram

Payment processing by using the Banks of Vietnam payment method requires merchant's web service, one of the interfaces and the payment platform of Monetix, as well as one of the bank services which supports this payment method.

Operations support

Interfaces Amounts, VND Times
Payment Page Gate Dashboard Minimum Maximum basic threshold
Purchases * * up to 5 minutes 48 hours
Payouts * * up to 10 minutes 48 hours

* Contact your Monetix Key Account Manager for more information.

You can check the payment amount limits in your project by using Dashboard. To check your payment amount limits, go to Dashboard, select the Projects section and click the Payment methods tab.

Processing scenarios

In the Banks of Vietnam method, purchases and payouts follow different processing procedures. To perform a purchase, you need to redirect customer to the bank service, while to initiate a payout, you need to notify customer via merchant web service.

The sections that follow provide detailed information about what you need to perform payments and how you can analyze payments and operations information.

Supported banks

Payments with Banks of Vietnam are carried out through banks that support the method. When using Payment Page, customer generally selects the bank in the payment form, although in payments that use Payment Page with pre-selected payment method and bank or Gate, the customer must select the bank on the web service side and request must contain the bank ID.

The tables below provide information about supported banks. The list is provided for informational purposes only.

Table 1. Supported banks
Bank ID Purchase Payout
Agribank 139
An Binh Commercial Joint Stock Bank (ABBANK) 465
Asia Commercial Bank 150
Bac A Commercial Joint Stock Bank (Bac A Bank) 439
Bank for Investment and Development of Vietnam 136
Bao Viet Bank 453
CBBank 70382
CIMB Bank 6271
Citibank 454
COOPBANK Hợp tác xã VN 70462
Dai Chung Viet Nam 457
DBS Bank Ltd - HCM 70402
Dong Nam A 468
DongA Joint Stock Commercial Bank 130
Eximbank Vietnam 135
Global Petro Commercial Joint Stock Bank (GPBank) 444
HoChiMinh City Development Joint Stock Commercial Bank (HDBank) 448
Hongleong Bank 6291
HSBC (Việt Nam) 70372
IBKHCM Công nghiệp Hàn Quốc - HCM 70342
IBKHN Công nghiệp Hàn Quốc - Hà Nội 70392
Indovina Bank Ltd. (IVB) 569
KB Kookmin Bank 458
KBank Đại chúng TNHH Kasikornbank 70302
Kien Long 455
Kookmin - Chi nhánh Hà Nội 70362
Kookmin - HCM 70352
Lien Doanh Viet Nga 4691
LienVietPostBank 706
LPB Bưu Điện Liên Việt 70472
Military JSC Bank (MB) 447
MTV Public Viet Nam 3981
Nam A commercial joint stock bank (NamABank) 452
National Citizen Bank (Quốc Dân) 442
NH số CAKE by VPBank 70432
NH số Ubank by VPBank 70442
NHB Nonghyup - Chi nhánh Hà Nội 70332
North Asia Commercial Joint Stock Bank 55841
Ocean Commercial One Member Limited Liability Bank (OceanBank) 450
Petrolimex Group Commercial Joint Stock Bank (PGBank) 443
Orient Commercial Bank (Phuong Dong Bank) 467
PVcomBank 6121
Sacombank 131
Sai Gon Cong Thuong 137
Sai Gon Joint Stock Commercial Bank (SCB) 460
Saigon Bank For Industry And Trade 66181
Saigon Hanoi Commercial Joint Stock Bank (SHB) 451
SCBV 3951
SeABank Đông Nam Á 70452
Shinhan Bank 461
Southeast Asia Commercial Joint Stock Bank 1641
Standard Chartered Bank VN 70322
Techcombank (Vietnam Technological and Commercial Joint- stock Bank) 132
Tien Phong Commercial Joint Stock Bank (TienPhongBank) 445
United Overseas Bank 66191
UOB Viet Nam 6321
Viet Nam Thuong Tin 1731
VietCapital Bank (Ban Viet) 707
Vietcombank(Joint Stock Commercial Bank for Foreign Trade of Vietnam) 133
VietinBank 134
Vietnam Asia Commercial Joint Stock Bank (VietA Bank) 446
Vietnam International Bank 138
Vietnam Maritime Commercial Joint Stock Bank (MaritimeBank) 440
Vietnam Prosperity Bank (VPBank) 449
VRB Liên doanh Việt - Nga 70312
Woori 1661

Note that the list of supported banks may change without notice; to get the most recent list of supported banks, use the Gate API to send a POST request to one of the /v2/info/banks/{payment_method}/{operationType}/list endpoints.

In the Banks of Vietnam method, you can use the following endpoints:

  • /v2/info/banks/vietnam/sale/list—to retrieve the list of banks that support purchase
  • /v2/info/banks/vietnam/payout/list—to retrieve the list of banks that support payout

The following objects and parameters must be specified in request for the list of supported banks:

  • general—object with general request information
    • project_id—project ID obtained from Monetix
    • payment_id—payment ID unique within the project
    • signature—signature created after you specify all the required parameters. For more information about signature generation, see Signature generation and verification.
  • payment—object with payment information:
    • amount—payment amount in major currency units without fractional part
    • currency—payment currency in the ISO-4217 alpha-3 format

Here is an example of the data from a request for the supported banks list. It is important to specify real payment data, but if the payment has not yet been generated, you can specify a random value for the payment ID in the request.

Figure 4. Example of data from a request for the supported banks list
{
  "general": {
    "project_id": 200,
    "payment_id": "ORDER_155860015",
    "signature": "K6jllym+PtObocZtr345st...=="
  },
  "payment": {
    "amount": 1500,
    "currency": "VND"
  }
}
Figure 5. Example of the response with the list of banks available in the payment method
[
    {
        "minAmount": 100, // Minimum payment amount allowed for the payment (in minor currency units)
        "maxAmount": 1000, // Maximum payment amount allowed for the payment (in minor currency units)
        "limitCurrency": "VND", // Code of the currency used for the payment limits (minAmount and maxAmount) in the ISO-4217 alpha-3 format
        "id": 123, // Bank ID
        "abbr": "EXB", // Bank shortcut name (for internal use)
        "name": "Example Bank", // General bank name
        "nativeName": "Example Bank", // Native bank name
        "currencies": [ // Array with currencies supported by the bank
            {
                "id": 123, // Currency ID in the payment platform
                "alpha_3_4217": "VND", // Alphabetic code of the payment currency in the ISO-4217 alpha-3 format
                "number_3_4217": "123", // Numeric code of the payment currency in the ISO-4217 alpha-3 format
                "currency_type": "fiat", // Type of the currency
                "exponent": 0 // Number of decimal places after decimal point
            }
        ]
    }
]

Purchase by using Payment Page

General information

In the Banks of Vietnam method, when processing a purchase by using Payment Page, the merchant web service sends a request with all the required parameters and signature to the Monetix URL and accepts the callback with the payment result from the payment platform. When opening Payment Page, you can have Payment Page opened with the Banks of Vietnam method pre-selected. (For more information about pre-selecting payment methods, see Preselecting payment methods.) The full sequence of the purchase workflow is provided below.

Figure 6. Purchase workflow when using Payment Page
Figure 7. Purchase workflow when using Payment Page
  1. Customer initiates purchase on the merchant's web service.
  2. The web service sends the request for Payment Page opening to the Monetix URL.
  3. The request for opening Payment Page is redirected to the payment platform.
  4. The payment platform performs initial request processing that includes validation whether all required parameters are available and signature is correct.
  5. The requested Payment Page is generated by the Monetix payment platform as specified in the project settings and request parameters.
  6. Payment Page is displayed to the customer.
  7. The customer selects Banks of Vietnam as payment method.
  8. The payment platform receives the purchase request for payment processing from Payment Page.
  9. The payment platform performs the internal purchase request processing and forwards it to the bank service.
  10. The purchase request is processed on the bank service side.
  11. The bank service generates the data for redirecting the customer to its website form and sends it to the payment platform.
  12. The payment platform sends the customer redirection data to Payment Page.
  13. The customer is redirected to the bank website.
  14. The customer completes all the payment steps required.
  15. The payment is processed on the bank side.
  16. The result is displayed to the customer on the bank website.
  17. The customer is redirected to Payment Page.
  18. The bank service sends the result notification to the payment platform.
  19. The payment platform sends a callback with the payment result to the web service.
  20. The payment platform sends the result to Payment Page.
  21. A page with the payment result information is displayed to the customer on Payment Page.

The sections that follow discuss in more details the request format and the Payment Page parameters to use in the Banks of Vietnam payment method and provide the information about format of callbacks with payment results. For the general information about how to use the Payment Page API, see Payment Page API Description.

Request format

There are several things you need to consider when dealing with purchase requests in the Banks of Vietnam method:

  1. You must provide values for the basic minimum of parameters. Listed below are the parameters that are mandatory for any payment method:
    • project_id—the project ID obtained from Monetix
    • payment_id—payment ID unique within the project
    • customer_id—unique ID of the customer within your project
    • customer_email—customer email
    • account_customer_name—customer full name
    • payment_currency—payment currency in ISO-4217 alpha-3 format
    • amount—purchase amount in major currency units without fractional part.

      If the currency does have minor units (that is, the number of digits for minor currency units is not zero), then you must set this parameter to the amount in minor currency units without any decimal point or comma . For the information on whether the currency has any minor units, see Currency codes.

  2. If you need to have payment form displayed with the Banks of Vietnam method pre-selected, set the force_payment_method parameter to the code on the online-vietnam-banks payment method.
  3. There are several options to customize the payment method selection page on Payment Page.
    • Bank selection in two steps This option is used by default. The banks that support Banks of Vietnam payment method are grouped in one button on Payment Page, therefore bank selection is carried out in two steps. On the first step, the Banks of Vietnam method is chosen among others, and then, on the second step, particular bank is selected on the next page with the list of the group banks.
    • Display each bank as a separate button along with other payment methods To show each bank of the Banks of Vietnam group as a separate button, set the split_banks parameter in the payment_methods_options object to true.
      payment_methods_options={"online_vietnam_banks": {"split_banks": true}}
    • Show the banks of only one payment method To show only the banks available in the Banks of Vietnam payment method on Payment Page for customers, pass the code online-vietnam-banks in the force_payment_method parameter. The customer will see only the banks available in the Banks of Vietnam method.
    • Show only selected banks To display a button of specific banks (one or several) from Banks of Vietnam group on Payment Page in the list of payment methods, set force_payment_method to online-vietnam-banks and add an array with IDs of the banks to show on Payment Page in the banks_id parameter. Here an example:
      payment_methods_options={"online_vietnam_banks": {"split_banks": true, "banks_id": [57001, 57011]}}

      Here is an example of a request to open Payment Page with specific pre-selected bank:

      Figure 8. Example of a request to show only selected bank on Payment Page
      EPayWidget.run(
          {
              project_id: 1234,
              payment_id: 'X03936',
              customer_id: 'customer_123',
              account_customer_name: 'John Doe',
              customer_email: 'johndoe@email.com',
              payment_currency: 'VND',
              payment_amount: 25000,
              force_payment_method: 'online-vietnam-banks',
              payment_methods_options: {"online_vietnam_banks": {"banks_id": [133]}},
              signature: 'kUi2x9dKHAVNU0FY...vySO\/RLCvhtT4DqtVUkDJrOcZzUCwX6R\/ekpZhkIQg=='
          }
      )
  4. You can also add any other additional parameters Payment Page supports. For more information about parameters supported by Payment Page, see Payment Page invocation parameters.
  5. After you specify all the parameters you need, you need to generate signature for the request. For instructions on how to sign payment requests, see Signature generation and verification.

Here is an example of data from a request for Payment Page opening:

EPayWidget.run(
    {
        project_id: 1234, 
        payment_id: 'payment_47',
        customer_id: 'customer_123',
        payment_currency: 'VND',
        payment_amount: 10000,
        account_customer_name: 'John Doe',
        customer_email: 'johndoe@email.com',
        signature: 'kUi2x9dKHAVNU0FYldJrxh4yo+52Kt8KU+Y19vySO\/RLUkDJrOcZzUCwX6R\/ekpZhkIQg=='
    }
)

Callback format

The Banks of Vietnam method uses the standard format for callbacks to deliver purchase results. For more information, see Callbacks in Payment Page.

The following is an example of a callback with an information about successful 10,000 VND purchase in the 1234 project.

Figure 9. Example of the data from a successful purchase callback
{
    "project_id": 1234,
    "payment": {
        "id": "payment_47",
        "type": "purchase",
        "status": "success",
        "date": "2022-03-25T11:08:45+0000",
        "method": "Vietnam banks",
        "sum": {
            "amount": 10000,
            "currency": "VND"
        },
        "description": ""
    },
    "customer": {
        "id": "customer_123"
    },
    "operation": {
        "id": 28,
        "type": "sale",
        "status": "success",
        "date": "2022-03-25T11:08:45+0000",
        "created_date": "2022-03-25T11:08:05+0000",
        "request_id": "9e32835fb27907e0b08569d7d150e387a16a80e336c5117242b5cf60a4e17839",
        "sum_initial": {
            "amount": 10000,
            "currency": "VND"
        },
        "sum_converted": {
            "amount": 10000,
            "currency": "VND"
        },
        "code": "0",
        "message": "Success",
        "provider": {
            "id": 12345,
            "payment_id": "123abc123-321",
            "auth_code": ""
        }
    },
    "signature": "U7HQO7ToISZhMPKdM4Xr4DSX2UuHp99rHrtaxkUKQtoYzFvoB3cs9CRd4xeYG2Q=="
}

The following is the example of a callback for a declined purchase.

Figure 10. Example of the data from a declined purchase callback
{
    "project_id": 1234,
    "payment": {
        "id": "payment_47",
        "type": "purchase",
        "status": "decline",
        "date": "2022-03-25T11:20:30+0000",
        "method": "Vietnam banks",
        "sum": {
            "amount": 10000,
            "currency": "VND"
        },
        "description": ""
    },
    "customer": {
        "id": "customer_123"
    },
    "operation": {
        "id": 31,
        "type": "sale",
        "status": "decline",
        "date": "2022-03-25T11:20:30+0000",
        "created_date": "2022-03-25T11:19:53+0000",
        "request_id": "fff3d5f8d5d31bc460b68b57dc63f4b482e906eb",
        "sum_initial": {
            "amount": 10000,
            "currency": "VND"
        },
        "sum_converted": {
            "amount": 10000,
            "currency": "VND"
        },
        "code": "20000",
        "message": "General decline",
        "provider": {
            "id": 15923,
            "payment_id": "0cf4215c-8978",
            "auth_code": ""
        }
    },
    "signature": "J7W15rkqrLzTCD4HkoM4qoEnlVlfqz8155QSlXJKR4m8C4z2iFYv58P4VnHANu445/jmY+g=="
}

Related topics

The following topics might be useful when implementing payments through Payment Page:

Purchase by using Gate

General information

In the Banks of Vietnam method, the merchant web service is required to do the following when processing a purchase by using Gate:

  1. Send request with all the required parameters and signature to the Monetix URL.
  2. Redirect the customer to the bank service.
  3. Accept the callback with the payment result from the payment platform.

The following diagram provides the detailed picture of the payment processing procedure.

Figure 11. Purchase by using Gate
  1. Customer initiates purchase with Banks of Vietnam on the merchant's web service side.
  2. The web service sends a request for processing the purchase by using Gate to the Monetix URL.
  3. The payment platform receives the request for processing the purchase from Gate.
  4. The payment platform performs initial request processing that includes validation whether all required parameters are available and signature is correct.
  5. The payment platform sends the response with request receipt confirmation and validation result to the web service. For more information about the response format, see Response structure.
  6. The payment platform performs the internal payment request processing and redirects the request to the bank service.
  7. The request is processed on the bank side.
  8. The bank service sends the data for redirecting the customer to the selected bank website to the payment platform.
  9. The payment platform sends the callback with the redirection data to the web service.

  10. The customer is redirected from the web service to the selected bank website.
  11. The customer completes all the payment steps required on the bank website.
  12. The payment is processed on the bank side.
  13. The result is displayed to the customer on the bank website.
  14. The customer is redirected to the merchant's web service.
  15. The bank service sends the payment result notification to the payment platform.
  16. The Monetix payment platform sends a callback to the web service.
  17. The customer receives the payment result on the web service.

The sections that follow discuss in more details the request format and the Gate parameters to use in the Banks of Vietnam payment method and provide the information about format of the data for redirecting customers and the information about the format of callbacks with purchase results. For the general information on how to use the Gate API, see API Description.

Request format

There are several things you must consider when using purchase requests in the Banks of Vietnam method:
  1. You initiate a purchase by submitting a purchase request to the /v2/payment/banks/vietnam/sale endpoint by using the HTTP method POST. This endpoint belongs to the following group of endpoints for the online banking payments: /v2/payment/banks/{payment_method}/sale.
  2. The following objects and parameters must be specified in any request:
    • general—object with general request information:
      • project_id—the project ID obtained from Monetix
      • payment_id—payment ID unique within the project
      • signature—signature created after you specify all the required parameters. For more information about signature generation, see Signature generation and verification.
    • customer—object with customer information:
      • id—the unique ID of the customer within your project
      • ip_address—customer device IP
      • email—customer email
    • payment—object with payment details:
      • amount—purchase amount in major currency units without fractional part.

        If the currency does have minor units (that is, the number of digits for minor currency units is not zero), then you must set this parameter to the amount in minor currency units without any decimal point or comma . For the information on whether the currency has any minor units, see Currency codes.

      • currency—code of purchase currency in the ISO-4217 alpha-3 format
  3. The following objects and parameters might also be required. Refer to your Key Account Manager at Monetix to find out whether the parameters are mandatory.
    • account—object with customer account information:
      • bank_id—bank identifier
      • customer_name—name of the account holder
      • number—bank account number
    • return_url—object with the information where to redirect the customer to when the payment is completed:
      • success—the URL to redirect the customer to after the payment is successfully completed.
      • decline—the URL to redirect the customer to after the payment is declined.
  4. The following parameter with the return URLs is optional, but we strongly advise you to specify it in the request to provide your customer a better user experience. If you don't specify any parameters of the return_url object in the request, by default Gate will redirect the customer to the URL specified in your project in Monetix.
    • return_url—object with the information where to redirect the customer to when the payment is completed or prematurely terminated by the customer:
      • return—the URL to redirect the customer to when they prematurely terminate the payment. This URL is also used if the success and decline parameters are not specified in the request.
  5. If required, you can also add any other additional parameters Gate supports.

Here is an example of data from a purchase request in the Banks of Vietnam method.

Figure 12. Example of data from a purchase request
{
    "general": {
        "project_id": 1234,
        "payment_id": "payment_47",
        "signature": "PJkV8ej\/UG0Di8hTng6JvC7vQsaC6tajQVVfBaNIipTv+AWoXW\/9MTO8yJA=="
    },
    "customer": {
        "id": "customer_123",
        "ip_address": "198.51.100.47",
        "email": "JohnDoe@example.com"
    },
    "account":{
        "bank_id": 144,
        "number": "1234535456",
        "customer_name": "John Doe"
    },
    "payment": {
        "amount": 10000,
        "currency": "VND"
    },
    "return_url": {
        "success": "https://example.com/success/",
        "decline": "https://example.com/decline/",
        "return": "https://example.com/return/"
    }
}

Format of customer redirection data

After receiving and processing your purchase request, the payment platform sends a callback to your web service containing the data to redirect the customer to the bank service.

To redirect the customer, use the values of the following parameters in the redirect_data object:

  • url—the URL to redirect the customer to
  • body—the data to be sent in the request body
  • method—the HTTP method to get an HTML page of the website (for example, POST or GET)
  • encrypted—this is the service parameter. Ignore the data it contains.

Here is an example of a piece of callback containing the data to redirect the customer.

"redirect_data": {
    "method": "POST",
    "body": [],
    "encrypted": [],
    "url": "https://example.com/redirect"
}

Callback format

The Banks of Vietnam method uses the standard format for callbacks to deliver purchase results. For more information, see Callbacks in Gate.

The following is an example of a callback with an information about successful 10,000 VND purchase in the 1234 project.

Figure 13. Example of the data from a successful purchase callback
{
    "project_id": 1234,
    "payment": {
        "id": "payment_47",
        "type": "purchase",
        "status": "success",
        "date": "2022-03-25T11:08:45+0000",
        "method": "Vietnam banks",
        "sum": {
            "amount": 10000,
            "currency": "VND"
        },
        "description": ""
    },
    "customer": {
        "id": "customer_123"
    },
    "operation": {
        "id": 28,
        "type": "sale",
        "status": "success",
        "date": "2022-03-25T11:08:45+0000",
        "created_date": "2022-03-25T11:08:05+0000",
        "request_id": "9e32835fb27907e0b08569d7d150e387a16a80e336c5117242b5cf60a4e17839",
        "sum_initial": {
            "amount": 10000,
            "currency": "VND"
        },
        "sum_converted": {
            "amount": 10000,
            "currency": "VND"
        },
        "code": "0",
        "message": "Success",
        "provider": {
            "id": 12345,
            "payment_id": "123abc123-321",
            "auth_code": ""
        }
    },
    "signature": "U7HQO7ToISZhMPKdM4Xr4DSX2UuHp99rHrtaxkUKQtoYzFvoB3cs9CRd4xeYG2Q=="
}

The following is the example of a callback for a declined purchase.

Figure 14. Example of the data from a declined purchase callback
{
    "project_id": 1234,
    "payment": {
        "id": "payment_47",
        "type": "purchase",
        "status": "decline",
        "date": "2022-03-25T11:20:30+0000",
        "method": "Vietnam banks",
        "sum": {
            "amount": 10000,
            "currency": "VND"
        },
        "description": ""
    },
    "customer": {
        "id": "customer_123"
    },
    "operation": {
        "id": 31,
        "type": "sale",
        "status": "decline",
        "date": "2022-03-25T11:20:30+0000",
        "created_date": "2022-03-25T11:19:53+0000",
        "request_id": "fff3d5f8d5d31bc460b68b57dc63f4b482e906eb",
        "sum_initial": {
            "amount": 10000,
            "currency": "VND"
        },
        "sum_converted": {
            "amount": 10000,
            "currency": "VND"
        },
        "code": "20000",
        "message": "General decline",
        "provider": {
            "id": 15923,
            "payment_id": "0cf4215c-8978",
            "auth_code": ""
        }
    },
    "signature": "J7W15rkqrLzTCD4HkoM4qoEnlVlfqz8155QSlXJKR4m8C4z2iFYv58P4VnHANu445/jmY+g=="
}

Related topics

The following topics might be useful when implementing payments through Gate:

Payout by using Gate

General information

To perform a payout through the Banks of Vietnam method, merchant's web service sends a request with all the required parameters and signature to Monetix URL, and receives a callback with the payment result. However, depending on the provider which processes the payment, you should contact the Monetix key account manager for confirmation before sending the request. The full sequence of the payout process is provided below.

Figure 15. Payout sequence by using Gate
  1. A customer orders a payout through one of the supported banks from Banks of Vietnam group.
  2. Merchant's web service sends the payout request for processing the payout by using Gate to the appropriate Monetix URL.
  3. Gate redirects the request to the Monetix payment platform.
  4. The payment platform performs all the necessary check and processes the request.
  5. The reply with the request processing results is sent to the merchant's web service. For more information, see Response structure.
  6. The payment platform redirects the payout request to the Banks of Vietnam service.
  7. The payout is processed on the bank side.
  8. Banks of Vietnam sends the result notification to the payment platform.
  9. The payment platform sends a callback with the payment result to the web service.
  10. The customer receives the payout result from the web service.

The sections that follow discuss in more details the request format and the Gate parameters to use in the Banks of Vietnam payment method and provide the information on the format of callbacks with payout results.

Request format

There are several things you must consider when using payout requests in the Banks of Vietnam method:
  1. You initiate a payout by sending a payout request to the /v2/payment/banks/vietnam/payout endpoint by using the HTTP method POST. This endpoint belongs to the following group of endpoints for the online banking payments: /v2/payment/banks/{payment_method}/payout.
  2. The following objects and parameters must be specified in any request:
    • general—object with general payout information:
      • project_id—project identifier
      • payment_id—unique payout identifier
      • signature—signature created after you specify all the required parameters. For more information about signature generation, see Signature generation and verification
    • customer—object with customer information:
      • id—identifier
      • ip_address—customer device IP
      • email—customer email
    • account—object with customer account information:
      • number—customer account number
      • customer_name—name of bank account holder.
        Note: Due to region specifics, customer's name must be provided in the following order: Last Name Fisrt Name.
      • bank_id—bank identifier
    • payment—object with payout information:
      • amount—payout amount in major currency units without fractional part.

        If the currency does have minor units (that is, the number of digits for minor currency units is not zero), then you must set this parameter to the amount in minor currency units without any decimal point or comma . For the information on whether the currency has any minor units, see Currency codes.

      • currency—payout currency in ISO-4217 alpha-3 format.
  3. If required, you can also add any other additional parameters that are supported by Gate .

Here is an example of data from a payout request in the Banks of Vietnam method.

Figure 16. Payout request example
{
    "general": {
        "project_id": 2990,
        "payment_id": "payment_123",
        "signature": "PJkV8ej\/UG0Di8hTng6JvC7vQsQVVLwY3T\/pOMeSaRfBaNIipTv+AWoXW\/9MTO8yJA=="
    },
    "payment": {
        "amount": 350000,
        "currency": "VND"
    },
    "customer": {
        "id": "2990",
        "ip_address": "248.121.176",
        "email": "johndoe@example.com"
    },
    "account":{
        "bank_id": 137,
        "customer_name": "Putra account",
        "number": "314159265358979"
    }
}

Callback format

The Banks of Vietnam method uses the standard format for callbacks to deliver payout results. For more information, see Callbacks in Gate.

The following is the example of a callback with an information about successful 100,001 VND payout made for account 314159265358979 of the 1 customer in the 200 project.

Figure 17. Example of a successful payout callback
{
        "project_id": 200,
        "payment": {
            "id": "TESTPAYOUTVIE7896361",
            "type": "payout",
            "status": "success",
            "date": "2018-12-07T12:04:49+0000",
            "method": "Vietnam banks",
            "sum": {
                "amount": 100001,
                "currency": "VND"
            },
            "description": ""
        },
        "account": {
            "number": "314159265358979",
            "bank_id": 155
        },
        "customer": {
            "id": "1"
        },
        "operation": {
            "id": 16462000002143,
            "type": "payout",
            "status": "success",
            "date": "2018-12-07T12:04:49+0000",
            "created_date": "2018-12-07T09:34:44+0000",
            "request_id": "0885e52e37cc83c4c3cbc36110a937e6ca150a62-cb2d7b790c01b5d276ef7128577f8fec89c77f67",
            "sum_initial": {
                "amount": 100001,
                "currency": "VND"
            },
            "sum_converted": {
                "amount": 100001,
                "currency": "VND"
            },
            "provider": {
                "id": 1154,
                "payment_id": "GKS44OLP249XUCTAG7Y92PK6P",
                "auth_code": ""
            },
            "code": "0",
            "message": "Success"
        },
        "signature": "qV2FRs/wxoOaywQS0GYQDi+6spZFbiRXxt8zG10zy9TNiJLT0P/+EOrpMkoW80mynkaQfSAUJpfQ=="
    }

The following is the example of a callback for a payout rejected due to the bank ID is not found in the request.

Figure 18. Example of a declined payout callback
{
        "project_id": 200,
        "payment": {
            "id": "PAYOUTVIE789636",
            "type": "payout",
            "status": "decline",
            "date": "2018-12-07T09:32:11+0000",
            "method": "Vietnam banks",
            "sum": {
                "amount": 100001,
                "currency": "VND"
            },
            "description": ""
        },
        "account": {
            "number": "314159265358979"
        },
        "customer": {
            "id": "1"
        },
        "errors": [
            {
                "code": "2801",
                "message": "Bank ID not found",
                "description": "Gate. Bank ID was not found in request"
            }
        ],
        "operation": {
            "id": 17881000002157,
            "type": "payout",
            "status": "decline",
            "date": "2018-12-07T09:32:11+0000",
            "created_date": "2018-12-07T09:32:11+0000",
            "request_id": "5f7cbc023e850669659b",
            "sum_initial": {
                "amount": 100001,
                "currency": "VND"
            },
            "sum_converted": {
                "amount": 100001,
                "currency": "VND"
            },
            "provider": {
                "id": 1154,
                "payment_id": ""
            },
            "code": "2801",
            "message": "Bank ID not found"
        },
        "signature": "qUOMgCr9BVctnogrHKed3abyrsRoaPHChviFsKtpqNfg4uvso6rg8c2jkjnZrKg/8TCLpagJcQ=="
    }

Related topics

The following topics might be useful when implementing payments through Gate:

Payout by using Dashboard

To make a payout through Dashboard, the merchant sends a request and receives a notification with the request processing result. There are two ways to initiate payouts through Dashboard:
  • single payout—you specify the currency and amount for a payout available for this method and fill in all the fields required for the selected payment method on the Dashboard pages.
  • as a part of a mass payment—all the parameters are specified in a CSV file. Refer to the Payouts by using Gate section for the parameters required by your payment method.

Information about completed payouts is available for viewing in the Payments and Manual Payments sections of Dashboard.

For more information about payout processing by using Dashboard, see Performing payouts.

Testing

General information

For the Banks of Vietnam method the testing of purchases by using Payment Page and Gate as well as payouts by using Gate.

Testing can be performed within a test project, to enable and disable the testing availability, contact Monetix technical support via support@monetix.pro.

When performing a test payment, take into account that you must specify the identifier of the test project in the requests, the interfaces of the payment forms emulator of Payment Page and Banks of Vietnam differ from the production environment.

Test payments statuses

When testing purchases, the final payment status is determined by the amount specified in the request:

  • decline status with 40000 or 40400 amount
  • success status with any other amount

When testing payouts, the final payment status is determined by the amount specified in the request:

  • decline status with 40000 or 40400 amount
  • success status with any other amount

Testing purchase by using Payment Page

To perform a test purchase by using Payment Page, do the following:

  1. Send a correct test request for Payment Page opening to the payment platform.
  2. If the online-vietnam-banks method was not specified in the request—select the method on the emulator page.
  3. If multiple banks are available for selection, select a bank; if only one bank is available, click the Pay button.
  4. Click the Success or Decline button (depending on the amount specified in the request).
  5. Accept a callback with information about the payment result.

The full information about purchase process by using Banks of Vietnam through Payment Page is provided in the section Purchase by using Payment Page.

Testing purchase by using Gate

To perform a test purchase by using Gate, do the following:

  1. Send a correct test request for purchase to the payment platform (the bank_id parameter must be used in the request, refer to Monetix technical support for the parameter value).
  2. Accept a callback with redirection data.
  3. Go to the received URL and click the Success or Decline button (depending on the amount specified in the request).
  4. Accept a callback with information about the payment result.

The full information about purchase process by using Banks of Vietnam through Gate is provided in the section Purchase by using Gate.

Testing payoutby using Gate

To perform a test payout by using Gate, send a correct test request to the payment platform and accept a callback with information about the payment result. The full information about payout process by using Banks of Vietnam through Gate is provided in the section Payout by using Gate.

Analysis of payments results

As with other payment methods Monetix offers, when using this method, you have several options to analyze the information about payments and operations.

You can load and analyze all the necessary information in Dashboard (dash-light.trxhost.com), for instance you can use the analytic panels in the Analytics section for this purpose.

Also, you can export the information for further analysis by using third party analytical tools. The following options are available:

  • Dashboard allows you to download reports in CSV format by using the tools in the Reports section. You can perform export as a one-time or regular download of data to your local computer.
  • Data API allows you to have payment information exported in JSON format and delivered to a URL you specify. The payment information is exported by means of sending requests to the /operations/get endpoint.

If you have any further questions regarding payment data analysis, contact Monetix technical support.