- METHOD TYPEBank Transfer
- PAYMENTS
- PAYOUTS
- REFUNDS
- RECURRING
Introduction
The Online Bank Transfer Malaysia APM provides transfers processed in Malaysia and its local currency.
Supported Countries
- Malaysia
Supported Currencies
- MYR
Payment (Deposit) Flow
Follow these steps to perform a payment using Nuvei REST API integration:
1. Generate a sessionToken
Press here for details.
2. APM Payment Form
- Call the
/getMerchantPaymentMethodsmethod and includecountryCode: “MY“.
Example/getMerchantPaymentMethodsRequest{ "sessionToken": "<sessionToken from getSessionToken>", "merchantId":"<your merchantId>", "merchantSiteId":"<your merchantSiteId>", "clientRequestId": "<unique request ID in merchant system>", "currencyCode":"MYR", "countryCode":"MY", "type":"DEPOSIT", "languageCode":"eng", "timeStamp":"<YYYYMMDDHHmmss>", "checksum":"<calculated checksum>" }The response includes
paymentMethod: “apmgw_Online_Bank_Transfer_Malaysia” and a correspondingfieldsarray that includes values to display to the customer or to use in the subsequent/paymentrequest.fieldsArray Structure from the/getMerchantPaymentMethodsResponse"fields"[ "name" (String, 45), "type" (String, 45), "validationMessage" ["language" (String, 2), "message" (String, 400)], "caption" ["language" (String, 2), "message" (String, 400)], "listValues" [ "code" (String, 255), "caption" (String), "mandatoryFields" [(String, 45)] ] ]/getMerchantPaymentMethodsOutput ParametersParameter Description Examples paymentMethod Identifier for the payment method. apmgw_Online_Bank_Transfer_Malaysia
fields Array of possible input fields required by a payment method provider for this payment method, as well as a list of mandatory input fields, per fields.listValuesvalue.- fields.name Identifier of the field. mobi_accountType
mobi_bankCodeRetail
mobi_bankCodeCorporate
fields.listValues Array of values for the fields.name.- fields.listValues
.codeValue for the corresponding parameter in the /paymentrequest.For mobi_accountType: 01
Formobi_bankCodeRetail: ABB0233
Formobi_bankCodeCorporate
ABB0235
fields.listValues
.captionUI text corresponding to fields.name.code.For mobi_accountType: "01", Retail Banking.
Formobi_bankCodeRetail: "ABB0233", Affin Bank.
Formobi_bankCodeCorporate: "
ABB0235, Affin Bank.
fields.listValues
.mandatoryFieldsMandatory fields.namefor thisfields.listValuesvalue.For mobi_accountType: "01",
mobi_bankCodeRetail.
Example Online Bank Transfer Malaysia Section of
/getMerchantPaymentMethodsResponse{ "paymentMethod": "apmgw_Online_Bank_Transfer_Malaysia", "paymentMethodDisplayName": [], "isDirect": "false", "countries": [ "MY" ], "currencies": [ "MYR" ], "logoURL": "https://srv-bsf-devppptrunk.gw-4u.com/ppp/resources/img/svg/bank_transfer_logo.svg", "fields": [ { "name": "mobi_accountType", "type": "text", "caption": [ { "language": "en", "message": "Account Type" } ], "listValues": [ { "code": "01", "caption": "Retail Banking", "mandatoryFields": [ "mobi_bankCodeRetail" ] }, { "code": "02", "caption": "Corporate Banking", "mandatoryFields": [ "mobi_bankCodeCorporate" ] } ] }, { "name": "mobi_bankCodeRetail", "type": "text", "caption": [ { "language": "en", "message": "Bank Name" } ], "listValues": [ { "code": "ABB0233", "caption": "Affin Bank", "mandatoryFields": [] }, { "code": "AGRO01", "caption": "Agrobank", "mandatoryFields": [] } ] }, { "name": "mobi_bankCodeCorporate", "type": "text", "caption": [ { "language": "en", "message": "Bank Name" } ], "listValues": [ { "code": "ABB0235", "caption": "AFFINMAX", "mandatoryFields": [] }, { "code": "ABB0233", "caption": "Affin Bank", "mandatoryFields": [] } ] } ], "openInExternalBrowser": "false" } - Allow the customer to select Account Type:
- Retail Banking
- Corporate Banking
- Using the
fields.listValues.captionvalues of the banks for the account type selected, allow the customer to select a Bank Name.
3. Send a /payment Request
Perform the payment by sending a /payment request with its mandatory parameters including:
userTokenIdamountcurrencypaymentOption.alternativePaymentMethodblock containing:paymentMethod: “apmgw_Online_Bank_Transfer_Malaysia“-
mobi_accountType– According to Account Type selected:- 01 –
fields.listValues.codefor Retail Banking. - 02 –
fields.listValues.codefor Corporate Banking.
- 01 –
mobi_bankCodeRetail: “<fields.listValues.codefor selected bank>” – Required whenmobi_accountType:“01“.mobi_bankCodeCorporate: “<fields.listValues.codefor selected bank>” – Required whenmobi_accountType:“02“.
deviceDetails: containing the customer’s IP addressbillingAddressblock containing:firstName,lastName,country,emailuserDetailsblock containing:firstName,lastName,country,email
Example /payment Request
{
"sessionToken": "<sessionToken from getSessionToken>",
"merchantId": "<your merchantId>",
"merchantSiteId": "<your merchantSiteId>",
"clientRequestId": "<unique request ID in merchant system>",
"amount": "200",
"currency": "MYR",
"userTokenId": "<unique customer identifier in merchant system>",
"clientUniqueId": "<unique transaction ID in merchant system>",
"paymentOption": {
"alternativePaymentMethod": {
"paymentMethod": "apmgw_Online_Bank_Transfer_Malaysia",
"mobi_accountType": "01",
"mobi_bankCodeRetail": "TEST0021",
"mobi_bankCodeCorporate": ""
}
},
"deviceDetails": {
"ipAddress": "<customer's IP address>"
},
"billingAddress": {
"firstName": "John",
"lastName": "Smith",
"country": "MY",
"email": "[email protected]"
},
"userDetails": {
"firstName": "John",
"lastName": "Smith",
"country": "MY",
"email": "[email protected]"
},
"timeStamp": "<YYYYMMDDHHmmss>",
"checksum": "<calculated checksum>"
}
Example /payment Response
{
"internalRequestId": 44535981,
"status": "SUCCESS",
"errCode": 0,
"reason": "",
"merchantId": "5416795427517477813",
"merchantSiteId": "186111",
"version": "1.0",
"sessionToken": "5a5445ec-6626-4d29-bce7-d2e72449d1ef",
"orderId": "43843821",
"userTokenId": "Online_Bank_Transfer_Malaysiatoken2",
"paymentOption": {
"redirectUrl": "https://jumpbox.safecharge.com/apm/mobi/MobiDeposit?amount=1.00&redirectUrl=https://jumpbox.safecharge.com/apm/mobi/v1/consumerReturn/?encryptedId=680BD10E748DEB3B0DDAF3528CB2E032&action=success&sellerOrderNo=680BD10E748DEB3B0DDAF3528CB2E032&bankType=01&mid=000000000019661&buyerName=John Doe&tid=10004761&merchantName=Nuvei&bank=TEST0021&service=FULL_LIST&[email protected]&subMID=201100000012450",
"userPaymentOptionId": "2153438641",
"card": {}
},
"transactionStatus": "REDIRECT"
}
...'ppp_status=OK&Status=APPROVED&ExErrCode=0&ErrCode=0&errApmCode=0&errApmDescription=&errScCode=0&errScDescription=&Reason=&ReasonCode=0&PPP_TransactionID=43843821&userid=Online_Bank_Transfer_Malaysiatoken2&merchant_unique_id=&customData=&productId=&first_name=John&last_name=Doe&email=test%40mymail.com¤cy=MYR&pmDisplayName=SBI+Bank+A&customField1=&customField2=&customField3=&customField4=&customField5=&customField6=&customField7=&customField8=&customField9=&customField10=&customField11=&customField12=&customField13=&customField14=&customField15=&invoice_id=&address1=65%2C+Overlea+str&address2=&country=Malaysia&state=&city=Oslo&zip=123456&phone1=&phone2=&phone3=&client_ip=&nameOnCard=&cardNumber=&bin=&noCVV=&acquirerId=&acquirerBank=MobiMS-PI&expMonth=&expYear=&Token=&tokenId=&AuthCode=01&AvsCode=&Cvv2Reply=&shippingCountry=&shippingState=&shippingCity=&shippingAddress=&shippingZip=&shippingFirstName=&shippingLastName=&shippingPhone=&shippingCell=&shippingMail=&total_discount=0.00&total_handling=0.00&total_shipping=0.00&total_tax=0.00&buyButtonProductBundleId=&merchant_site_id=186111&merchant_status=&action=&requestVersion=&message=APPROVED&merchantLocale=&unknownParameters=&payment_method=apmgw_Online_Bank_Transfer_Malaysia&ID=&merchant_id=5416795427517477813&responseTimeStamp=2024-09-30.12%3A44%3A27&buyButtonProductId=&webMasterId=&appliedPromotions=&uniqueCC=&transactionType=Sale&externalEmail=&cardCompany=&eci=&user_token_id=Online_Bank_Transfer_Malaysiatoken2&userPaymentOptionId=2153438641&TransactionID=2610000000000066097&externalTransactionId=AR202409302039250f5691896b&APMReferenceID=680BD10E748DEB3B0DDAF3528CB2E032&orderTransactionId=25081481&totalAmount=1.00&dynamicDescriptor=hristo+descriptor&item_name_1=NA&item_number_1=&item_amount_1=1.00&item_quantity_1=1&item_discount_1=0.00&item_handling_1=0.00&item_shipping_1=0.00&feeAmount=&amountWithoutFee=&houseNumber=&customCurrency=&upoRegistrationDate=20240930&type=DEPOSIT&clientRequestId=&relatedTransactionId=&apmPayerInfo=%5B%5D&sessionId=2f4994e72a3484e4b729450d796a&responsechecksum=7d6ebd02e4138df6cbc18479a2791628005fcec70b77aba9dc332d8b10f8f8de&advanceResponseChecksum=5c4e6397ad90d1c8f82a6ae7aba24e9e3503532555a16ecee9b9848ecfd75cbd'
After the transaction is processed, Nuvei sends a Direct Merchant Notification (DMN) that includes the result of the transaction to urlDetails.notificationUrl, which Nuvei recommends including in the /payment request.
User Experience
- The user is redirected to the bank’s website and enters their username and Password.

- The user approves the deposit.
- A confirmation appears.
Testing
Test credentials and testing scenarios can be provided by Nuvei if necessary. You can contact Nuvei support for assistance.