UAT Integration
To make sure our integration process runs well in production, you can refer to these testing scenarios below:
Get Installment Options
This scenario will run in your (re: Merchant) checkout page where Indodana will send back installment options based on transaction amount
. These options will then be shown to your customer along with some details like Installment Amount
, and Monthly Installment
as their purchasing reference.
A. Transaction Amount reach <500k
{
"amount": 450000,
"items": [
{
"id": "UAT_MERC001",
"name": "Wireless Earphone Bass V2.00",
"price": 450000,
"url": "http://merchant.com/elc/wireless-earphone-bass",
"imageUrl": "http://merchant.com/elc/wlearphone/cover.jpg",
"type": "Electronic",
"quantity": 1,
"parentType": "SELLER",
"parentId": "UAT_SELL001"
}
]
}
B. Transaction amount reach >= 500k
{
"amount": 850000,
"items": [
{
"id": "UAT_MERC002",
"name": "JeBeeL Super Bass Earphone",
"price": 850000,
"url": "http://merchant.com/elc/jebeel-spr-bass",
"imageUrl": "http://merchant.com/elc/jebeel-spr-bass/cover.jpg",
"type": "Electronic",
"quantity": 1,
"parentType": "SELLER",
"parentId": "UAT_SELL002"
}
]
}
C. Transaction amount reach >1 million
{
"amount": 1100000,
"items": [
{
"id": "UAT_MERC003",
"name": "JeBeeL Basic Speaker",
"price": 550000,
"url": "http://merchant.com/elc/jebeel-speaker",
"imageUrl": "http://merchant.com/elc/jebeel-speaker/cover.jpg",
"type": "Electronic",
"quantity": 2,
"parentType": "SELLER",
"parentId": "UAT_SELL003"
}
]
}
D. Transaction amount reach >1.5 million
{
"amount": 7500000,
"items": [
{
"id": "UAT_MERC004",
"name": "IPhone 7 Black",
"price": 7500000,
"url": "http://merchant.com/phone/iphone7-black",
"imageUrl": "http://merchant.com/phone/iphone7-blk/cover.jpg",
"type": "Phone",
"quantity": 1,
"parentType": "SELLER",
"parentId": "UAT_SELL004"
}
]
}
Purchase Transaction Checkout
This scenario will run when your customer choose Indodana as their payment method in your checkout page.
{
"transactionDetails":
{
"merchantOrderId": "UAT_MERC005",
"amount": 9000000,
"items": [
{
"id": "UAT_ITEM001",
"name": "iPhone 6S",
"price": 4500000,
"url": "http://merchant.com/phone/iphone-6s",
"imageUrl": "http://merchant.com/phone/iphone-6s/cover.jpg",
"type": "Mobile Phone",
"quantity": 2,
"parentType": "SELLER",
"parentId": "UAT_SELL005"
}
]
},
"customerDetails":
{
"firstName": "First",
"lastName": "Last",
"email": "[email protected]",
"phone": "081212345678"
},
"sellers": [
{
"id": "UAT_SELL005",
"name": "Penjual iPhone",
"url": "https://merchant.com/UAT_SELL001",
"sellerIdNumber": "SELLER_001",
"email": "[email protected]",
"address":
{
"firstName": "Merchant",
"lastName": "Seller",
"address": "Kelapa Gading",
"city": "Jakarta Utara",
"postalCode": "11240",
"phone": "081812345678",
"countryCode": "ID"
}
}
],
"billingAddress":
{
"firstName": "First",
"lastName": "Last",
"address": "Tomang",
"city": "Jakarta Barat",
"postalCode": "11430",
"phone": "081987654321",
"countryCode": "ID"
},
"shippingAddress":
{
"firstName": "First",
"lastName": "Last",
"address": "Tomang",
"city": "Jakarta Barat",
"postalCode": "11430",
"phone": "081987654321",
"countryCode": "ID"
},
"paymentType": "30_days",
"approvedNotificationUrl": "https://payment-notification.merchant.com/transaction-approval-handler",
"cancellationRedirectUrl": "http://merchant.com/phone/iphone-6s",
"backToStoreUrl": "http://merchant.com/phone/iphone-6s",
"expirationAt": "2019-12-31T18:00:00+07:00"
}
After you post transaction to Indodana, you will get a valid Indodana Checkout URL. Then, you should redirect your customer from your checkout page to that Indodana checkout page.
At the end of the process, you should receive a POST notification from Indodana notifying the purchase has been approved by Indodana.
transactionStatus
= PROCESSED
Purchase Transaction Cancellation / Refund [Optional]
This is an optional scenario; It will depend on whether the merchant needs transaction refund feature or not.
{
"refundId":"REF-UAT001",
"merchantOrderId":"UAT_MERC001",
"cancellationAmount" : 4500000,
"cancellationReason":"Out of stock",
"cancelledBy":"SELLER",
"cancellationDate": "2019-09-22T18:18:18+07:00"
}
Last updated