Bagaimana cara integrasi?
API Payment MPS mudah diintegrasikan karena menggunakan arsitektur RESTful API, menerima request melalui HTTP(S) ke URL endpoint dan memberikan respons dalam bentuk JSON.
MPS menyediakan dua mode pengujian, yaitu: Sandbox (mode development) dan Production (mode live). Masing-masing memiliki MID (Merchant ID) dan Kunci Akses yang berbeda. Transaksi yang dilakukan di environment sandbox dapat menggunakan simulator berdasarkan jenis pengujian (https://my.mpstelkom.id/integrasi/sandbox/uat). Setelah dilakukan UAT dan memperoleh MID (Merchant ID) production, transaksi dapat dibayar secara riil dengan environment production. Pengujian Sandbox dapat digunakan di aplikasimu di environment Development sehingga tidak mengganggu transaksimu secara live.
API Base URL
Sandbox environment: https://merchant.mpstelkom.id/api/sandbox
Production environment: https://merchant.mpstelkom.id/api/production
Informasi yang diperlukan sebelum integrasi
Daftar dan lengkapi verifikasi data di
https://my.mpstelkom.id
Dapatkan MID (Merchant ID) & kunci akses serta lakukan konfigurasi URL call back dan payment notif di menu Integrasi: https://my.mpstelkom.id/integrasi/sandbox
MID dan Merchant key yang kamu dapat akan digunakan untuk melakukan request menggunakan API postman yang dapat kamu unduh pada tombol diatas
Integrasi Custom Interface (API)
Integrasi API di sistem merchant dengan tampilan pembayaran dari merchant sehingga terlihat lebih professional.
Tahapan Integrasi Custom Interface (API)
API Request Payment
Headers signature didapatkan dari MID + timestamp + Order id
dimana MID didapatkan setelah kamu membuat akun dan timestamp adalah waktu kamu akan melakukan request
API tambahan (list metode bayar, biaya metode bayar)
{
"orderId" : "XXX",
"totalAmount" : "xxxx", /*wajib menggunakan integer*/
"submerchantId": "xxx", /*wajib bagi merchant yang memiliki submerchant*/
"callbackUrl": "https://webhook.site/", /*url mu untuk menampung log transaksi*/
"expiredDate":"YYYY-MM-DD hh:mm:ss"
"paymentInfo" : {
"customerName" : "Xander",
"customerPhone" : "xxxxxxxxxx", /*integer dengan awalan 08*/
"customerEmail" : "Jdoe@yahoo.com"
},
"productInfo" : [
{
"productName" : "Product Test",
"productCode" : "123",
"productCategory" : "123",
"amount" : "xxxx",
"quantity" : 1,
"description" : "Testing"
}
],
"additionalInfo" : {}
}

Halaman Checkout
Kamu dapat mengatur halaman checkout sendiri dengan bantuan API ini. Merchant dapat menampilkan data data seperti Nomor transaksi, metode transaksi dan Harga Transaksi.
Integrasi Hosted Payment
Tampilan pembayaran dengan desain dari MPS untuk proses integrasi yang cepat. Dilengkapi dengan pengaturan halaman yang dapat disesuaikan dengan merk produk.
Tahapan Integrasi Hosted Payment
API Pembuatan invoice
Generate hosted payment
API tambahan (list metode bayar, biaya metode bayar)
/* URL Endpoint Generate Invoice: /merchant/requestInvoice */
/* DataRequest: */
{
"merchantId": "195xxxxxxx", /* (Mandatory) Didapat saat merchant telah melakukan pendaftaran */
"merchantKey": "283912xxxxxxxxxxx", /* (Mandatory) Didapat saat merchant telah melakukan pendaftaran */
"orderId": "TESTING-123", /* (Mandatory) OrderId di generate dari merchant dan harus unik */
"amount": "2000", /*(Mandatory) Total transaksi yang harus dibayarkan oleh user */
"orderInformation":
{
"productName": "Nama Product yang dibeli", /*(Mandatory)*/
"quantity": "Jumlah barang yang dibeli", /*(Mandatory)*/
"nama": "Nama pelanggan", /*(Mandatory)*/
"nomorHp": "Data nomor Hp pelanggan", /*(Mandatory)*/
"email": "email pelanggan", /*(Mandatory)*/
"amount": "Harga barang yang dibeli" /*(Mandatory)*/
}
"additionalInformation": {
"emailNotif": "xxxxxx@gmail.com" /* (Optional) Email pelanggan untuk update transaksi by email */
"subMerchantId:"xxxxxx" /*(mandatory untuk merchant dengan jenis bisnis settlement 3rd party)*/"
},
"vaExpired": 120 /* Buat kamu yang mau ngubah expired date VA nya. Isinya dalam satuan menit yah */
}


Halaman Checkout
Merchant disediakan tampilan penbayaran yang lengkap dengan metode bayar yang dipilih sesuai dengan brand merchant. Pada halaman tersebut ditampilkan total tagihan, informasi produk, dan tata cara pembayaran.
VA Open Unlimited
Update VA
Inquiry VA
VA Open Partial Payment
REQUEST
curl --location --request POST '{{baseUrl}}/merchant/createBilling' \
--header 'Content-Type: application/json' \
--header 'X-MID: MID' \
--header 'X-TIMESTAMP: YYYY-MM-DD hh:mm:ss' \
--header 'X-SIGNATURE: hmac sha512' \
--data-raw '{
"orderId" : "testtesttt1",
"productCode": "{PRODUCT_CODE_MERCHANT}",
"virtualAccountNumber" : "",
"virtualAccountName" : "tester",
"billingType" : "OPEN_PAYMENT",
"customerEmail" : "tester@gmail.com",
"customerPhone" : "08111111111",
"remark" : "Pembayaran 1",
"billingAmount" : 0,
"callbackUrl" : "https://webhook.site"
}'
RESPONSE
{
"responseCode": "00",
"responseMessage": "success",
"data": {
"orderId": "test321test",
"paymentId": "2211291141BG1K5",
"billingCode": "6cd70416c5ed48f0aff7a0852461dd1b",
"virtualAccountNumber": "8969250965502844",
"virtualAccountName": "J doe",
"customerEmail": "J.doe@gmail.com",
"customerPhone": "08123456789",
"remark": "Pembayaran 1",
"billingType": "OPEN_PAYMENT",
"amount": 0,
"adminFee": 0
},
"timestamp": "2022-11-29 11:41:27.095"
}
REQUEST
curl --location --request POST '{{baseUrl}}/merchant/updateBilling' \
--header 'X-MID: MID' \
--header 'X-TIMESTAMP: YYYY-MM-DD hh:mm:ss' \
--header 'X-SIGNATURE: hmac sha512' \
--header 'Content-Type: application/json' \
--data-raw '{
"billingCode": "12345678",
"virtualAccountName": "Tester2",
"customerEmail": "tester@yopmail.com",
"customerPhone": "081111111111",
"expiredDate": "YYYY-MM-DD hh:mm:ss",
"billingAmount": 0
}'
RESPONSE
{
"responseCode": "00",
"responseMessage": "success",
"timestamp": "2022-05-25 10:04:58.899"
}
REQUEST
curl --location --request POST '{{baseUrl}}/merchant/inquiryBilling' \
--header 'X-MID: MID' \
--header 'X-TIMESTAMP: YYYY-MM-DD hh:mm:ss' \
--header 'X-SIGNATURE: hmac sha512' \
--header 'Content-Type: application/json' \
--data-raw '{
"billingCode" : "1238a8c2a1740dc967cc0da64e2cee5",
"virtualAccountNumber" : "88608999123123123"
}'
RESPONSE
{
"responseCode": "00",
"responseMessage": "success",
"data": {
"orderId": "testtestttt3199",
"paymentId": null,
"billingCode": "48d9fa755f434e2ba598c0003939cde6",
"billingType": "PARTIAL_PAYMENT",
"virtualAccountNumber": "8969250818382681",
"virtualAccountName": "tester",
"customerEmail": "tester@gmail.com",
"customerPhone": "08112414223",
"remark": "Pembayaran 1",
"active": false,
"paymentStatus": "PAID",
"amount": 60000,
"lastPaymentAmount": 30000,
"lastNetPaymentAmount": 30000,
"cumulativePaymentAmount": 60000,
"totalAdminFee": 2500,
"lastPaymentDate": "2022-11-29 20:16:00",
"createdDate": "2022-11-29 20:05:54",
"expiredDate": "2122-11-29 20:05:54"
},
"timestamp": "2022-11-29 20:48:06.780"
}
REQUEST
curl --location --request POST 'https://merchant.mpstelkom.id/api/production/merchant/createBilling' \
--header 'Content-Type: application/json' \
--header 'X-MID: MID' \
--header 'X-TIMESTAMP: YYYY-MM-DD hh:mm:ss' \
--header 'X-SIGNATURE: hmac sha512' \
--data-raw '{
"orderId" : "testtestttt3125",
"productCode": "bri_va_billing_open",
"virtualAccountNumber" : "",
"virtualAccountName" : "tester",
"billingType" : "PARTIAL_PAYMENT",
"customerEmail" : "tester@gmail.com",
"customerPhone" : "08112345678",
"remark" : "Pembayaran 1",
"billingAmount" : 100000,
"callbackUrl" : "https://webhook.site"
}'
RESPONSE
{
"responseCode": "00",
"responseMessage": "success",
"data": {
"orderId": "TEST321TEST12",
"paymentId": "2211291144ICDUU",
"billingCode": "a1964782488a47c7be498be686760666",
"virtualAccountNumber": "8969250993865504",
"virtualAccountName": "J doe",
"customerEmail": "J.doe@gmail.com",
"customerPhone": "08123456789",
"remark": "Pembayaran 1",
"billingType": "PARTIAL_PAYMENT",
"amount": 100000,
"adminFee": 0
},
"timestamp": "2022-11-29 11:44:45.420"
}

Tahapan Integrasi Mobile SDK
Untuk merchant yang bisnisnya melalui mobile phone sehingga tampilan pembayarannya lebih ramah dan mudah digunakan
Setup Android SDK
Pengaturan Awal
Pengaturan kedua
Pengaturan terakhir




// untuk tampilan material design
implementation 'com.google.android.material:material:1.1.0'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
// untuk http request
implementation 'com.squareup.retrofit2:retrofit:2.3.0'
implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
// untuk menampilkan gambar
implementation 'com.github.bumptech.glide:glide:4.11.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
Start to Payment
Membuat informasi pesanan
Membuat Request Payment
Menerima status invoice
SDKPayment.getInstance().openPaymentActivity()
MainActivity.this, // context
"Toko Sejahtera", // nama merchant
"195xxxxxxxxx", // merchant id
"9axxxxxxxxxxxxxxxxxxxxxx", // merchant key
"INV12345", // order id harus unik
"12000", // harga produk
orderInformation, // informasi order dari data di atas
"usepcakep@yopmail.com"); // email notif
SDKPayment.getInstance().openPaymentActivity()
MainActivity.this, // context
"Toko Sejahtera", // nama merchant
"195xxxxxxxxx", // merchant id
"9axxxxxxxxxxxxxxxxxxxxxx", // merchant key
"INV12345", // order id harus unik
"12000", // harga produk
orderInformation, // informasi order dari data di atas
"usepcakep@yopmail.com"); // email notif
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == SDKConstant.REQUEST_PAYMENT
&& resultCode == RESULT_OK) {
StatusInvoice result =
(StatusInvoice) data.getSerializableExtra("INVOICE_STATUS");
String summary = "merchantId" + result.getMerchantId() +
"invoiceId " + result.getInvoiceId() +
"orderId " + result.getOrderId() +
"amount " + result.getAmount() +
"status " + result.getStatus();
Log.i("invoice data", summary);
}
}
Setup IOS SDK
Pengaturan Awal
Generate MPS SDK



Start to Payment
Membuat merchant data dan informasi pesanan
Import SDK dan run payment
Menerima Invoice Status
// Example for create merchant Data
func setMerchantData() -> MerchantData {
let merchant = MerchantData()
merchant.merchantId = "111111111111111"
merchant.merchantName = "MPS Merchant"
merchant.merchantKey = "xxxxxxxxxxxxxxxxxxxxxxxxxxx"
merchant.orderId = ”xxxxxxxxxxxxxxxxxx”
merchant.amount = "100000"
merchant.orderInformation = [OrderData(), OrderData()]
merchant.additionalInformation = ["email": "mps@gmail.com" as Any]
return merchant
}
// Example for create Order Data
func setOrderData() -> OrderData {
let order = OrderData()
order.productName = "Sabun Cuci"
order.quantity = "2"
order.amount = "4000"
order.nama = "Cihut"
order.nomorHp = "081xxxxxxxxx"
order.email = "xxxxx@mail.com"
return order
}
//import MPSSDK above class declaration
Import MPSSdk
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Optional
MPSSdk.instance.primaryColor = "#000000" // Hexa Code Color
MPSSdk.instance.secondaryColor = "#000000" // Hexa Code Color
//// Require
// Initialize merchant data
MPSSdk.instance.merchantData = setMerchantData()
// Initialize delegate MPS SDK
MPSSdk.instance.delegate = self //self is UIViewController
// Start MPS SDK
MPSSdk.instance.start(controller: self) //self is UIViewController
}
}
//import MPSSDK above class declaration
Import MPSSdk
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Optional
MPSSdk.instance.primaryColor = "#000000" // Hexa Code Color
MPSSdk.instance.secondaryColor = "#000000" // Hexa Code Color
//// Require
// Initialize merchant data
MPSSdk.instance.merchantData = setMerchantData()
// Initialize delegate MPS SDK
MPSSdk.instance.delegate = self //self is UIViewController
// Start MPS SDK
MPSSdk.instance.start(controller: self) //self is UIViewController
}
}
Registrasi Kartu
Pra-Registrasi
Deskripsi parameter :
- recurringType: Jenis durasi pembayaran, diisi dengan MONTHLY(Bulanan) atau DAILY(harian)
- numberOfRecurrings: Jumlah berapa kali pembayaran dilakukan
- recurringAmount: Total nominal transaksi
- customerName : Nama Customer
- customerEmail : Email Customer
- customerPhoneNumber : Nomor Telephone Customer
- address : Alamat tinggal Customer saat ini
- cityName : Kota tempat tinggal Customer saat ini
- provinceName : Provinsi Customer saat ini
- country : Negara Customer saat ini
- zipCode : Kode pos daerah Customer saat ini
Headers signature didapatkan dari MID + timestamp + Order id
dimana MID didapatkan setelah kamu membuat akun dan timestamp adalah waktu kamu akan melakukan request
Response pra-Registrasi
//endpoint URL : https://merchant.mpstelkom.id/api/production/merchant/recurring/pre-registration
{
"orderId":"ORDER001",
"billDetail":"Test Recurring Hari Minggu",
"productCode":"doku_recurring_credit_card",
"recurringType":"MONTHLY",
"numberOfRecurrings": 12
"recurringAmount":"xxxxxxxxx",
"customerId":"Customer-1",
"customerName":"Jhon Doe",
"customerEmail":"email.email@email.com",
"customerPhoneNumber":"08xxxxxxx",
"address":"Menara Multimedia lantai 15
Jl. Kebon Sirih No.12"
"cityName":"Jakarta Pusat,",
"provinceName":"DKI Jakarta",
"country":"Indonesia",
"zipCode":"10110",
"items":[
{
"productName": "Tagihan Gak Jelas",
"price": "185000",
"quantity": "1",
"total": "185000"
}
]
}
//Reponse ketika berhasil melakukan request pra-registrasi
{
"responseCode": "00",
"responseMessage": "success",
"data": {
"orderId": "ORDER01",
"invoiceId": "<invoiceId>",
"customerId": "Cust01",
"status": "CREATED",
"recurringAmount": xxxxxxx,
"urlRedirect": "https://merchant.mpstelkom.id/recurring/registration/doku/sandbox/<invoiceId>"
},
"timestamp": "yyyy-MM-dd hh:mm:ss.ms"
}
API Tambahan Recurring
Check Status
Unsubscribe
Update Kartu
/*parameter post*/
{
"orderId" : "xxxxx"
}
/*response request*/
{
"responseCode": "00",
"responseMessage": "success",
"data": {
"orderId": "ORDERXX",
"invoiceId": "XXXXXXXXXXX",
"customerId": "C01",
"maskedCardNumber": "123456****1101",
"status": "REGISTERED",
"recurringAmount": XXXXXX
},
"timestamp": "yyyy-mm-dd hh:mm:ss.ms"
/*parameter post*/
{
"orderId" : "xxxxx"
}
/*response API*/
{
"responseCode": "00",
"responseMessage": "success",
"timestamp": "yyyy-mm-dd hh:mm:ss.ms"
}
/*parameter post*/
{
"orderId" : "xxxxx"
}
/*response API */
{
"responseCode": "00",
"responseMessage": "Success",
"data": {
"orderId": "XXXX",
"invoiceId": "xxxxxxxxxx",
"customerId": "Custxz",
"maskedCardNumber": "123456****1101",
"status": "REGISTERED",
"recurringAmount": 180000.00,
"urlRedirect": "https://merchant.mpstelkom.id/recurring/update/doku/production/xxxxxxxxxx"
},
"timestamp": "yyyy-mm-dd hh:mm:ss.ms"
}
Registrasi Kartu
Request Payment
Submit Payment
/*endpoint URL : https://merchant.mpstelkom.id/api/production/merchant/card/
{
"productCode":"mti_direct_debit_bni",
"cardType":"DEBIT_CARD",
"mobileNumber":"xxxxxxxx",
"userId": "xxxxxxxxx",
"redirectUrl":"http://tester.com",
"callbackUrl" : "https://webhook.site"
}
/* response ketika berhasil*/
{
"responseCode": "00",
"responseMessage": "success",
"data": {
"registrationReference": "9839d61d-d377-4bdc-8283-0c64fd905f31",
"registrationPage": "https://mydev.mpstelkom.id/debit/card/mti/registration/sandbox/9839d61d-d377-4bdc-8283-0c64fd905f31",
"expiredDate": "2022-01-03 13:30:58",
"productCode": "mti_direct_debit_bni",
"cardType": "DEBIT_CARD",
"additionalData": {
"userID": "xxxxxxxxx",
"mobileNumber": "xxxxxxxx"
}
},
"timestamp": "2022-01-03 13:00:58.683"
}
{
"orderId" : "Order01",
"totalAmount" : xxxxxx,
"paymentInfo" : {
"customerName" : "Jhon Doe",
"customerPhone" : "08xxxxxxxxx",
"customerEmail" : "email@email.com",
"productCode": "mti_direct_debit_bni",
"cardToken" : "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx"
"terminalId" : "xxx"
},
"productInfo" : [
{ "productName" : "Product Test", "productCode" : "123", "productCategory" : "123", "amount" : 15000, "quantity" : 1, "description" : "Testing"}
],
"additionalInfo" : {}
}
{
"invoiceId" : "xxxxx-xxxx-xxxx-xxxx-xxxxxxx",
"paymentId" : "xxxxxxxxx",
"callbackUrl" : "https://webhook.site/7385afcf-7078-4910-99c2-d090e5aaaaee",
"paymentInfo" : {
"productCode":"mti_direct_debit_bni",
"otp" : "123456"
}
}
Notifikasi Generate Virtual Account
Notifikasi Response
Notifikasi Virtual Account Kadaluarsa
- Jika status invoice UNPAID maka notifikasi dikirimkan dalam kondisi invoice masih dapat digunakan.
- Jika status invoice EXPIRED maka notifikasi dikirimkan dalam kondisi invoice telah kadaluarsa.
Notifikasi Invoice Kadaluarsa
Notifikasi Pembayaran
Notifikasi Recurring
/* HTTP POST */
/* Request Body */
{
"notificationType" : "VA_Created"
"expiredDate": "Aug 19, 2021 3:59:02 PM", /* Waktu kadaluarsa invoice */
"invoiceId": "195XXXXXXX-YYYYYY", /* Nomor Invoice yang digenerate MPS */
"orderId": "YYYYYY", /* Order ID yang dikirimkan merchant */
"merchantId": "195XXXXXXX", /* MID Merchant */
"amount": 15000.00, /* Nominal Invoice */
"fee": 3000.00, /* Jika fee dibebankan ke merchant, maka total bayar = nominal invoice */
"totalBayar": 18000.00, /* Total yang harus dibayarkan user */
"mitraReff": "-", /* Abaikan, khusus pembayaran berhasil */
"status": "UNPAID", /* Status Invoice = UNPAID */
"message": "invoice belum dibayarkan", /* Notifikasi Message */
"isVaStatic": false, /* true jika va yang digenerate bertipe open */
"detailVa": {
"noVa": "7813116417721941", /* Nomor VA yang berhasil digenerate */
"bank": "016", /* 3 digit kode bank */
"expired": "2021-08-18 21:59:06", /* Waktu kadaluarsa VA */
"statusVa": "UNPAID" /* Status VA = UNPAID */
}
}
/* HTTP POST */
/* Request Body */
{
"notificationType" : "VA_EXPIRED"
"expiredDate": "Aug 19, 2021 3:59:02 PM", /* Waktu kadaluarsa invoice */
"invoiceId": "195XXXXXXX-YYYYYY", /* Nomor Invoice yang digenerate MPS */
"orderId": "YYYYYY", /* Order ID yang dikirimkan merchant */
"merchantId": "195XXXXXXX", /* MID Merchant */
"amount": 15000.00, /* Nominal Invoice */
"fee": 3000.00, /* Jika fee dibebankan ke merchant, maka total bayar = nominal invoice */
"totalBayar": 18000.00, /* Total yang harus dibayarkan user */
"mitraReff": "-", /* Abaikan, khusus pembayaran berhasil */
"status": "EXPIRED", /* Status Invoice = UNPAID */
"message": "invoice belum dibayarkan", /* Notifikasi Message */
"isVaStatic": false, /* true jika va yang digenerate bertipe open */
"detailVa": {
"noVa": "7813116417721941", /* Nomor VA yang berhasil digenerate */
"bank": "016", /* 3 digit kode bank */
"expired": "2021-08-18 21:59:06", /* Waktu kadaluarsa VA */
"statusVa": "Expired" /* Status VA = UNPAID */
}
}
/* HTTP POST */
/* Request Body */
{
"notificationType" : INVOICE_EXPIRED"
"expiredDate":"Sep 3, 2020 8:44:39 PM", /* Waktu kadaluarsa invoice */
"invoiceId": "195XXXXXXX-YYYYYY", /* Nomor Invoice yang digenerate MPS */
"orderId": "YYYYYY", /* Order ID yang dikirimkan merchant */
"merchantId": "195XXXXXXX", /* MID Merchant */
"amount": 15000.00, /* Nominal Invoice */
"fee":0, /* Abaikan */
"totalBayar":0, /* Abaikan */
"status":"EXPIRED", /* Status Invoice = EXPIRED */
"message":"invoice telah expired", /* Notifikasi Message */
"isVaStatic":false /* Abaikan */
}
/* HTTP POST */
/* Request Body */
{
"notificationType" : "PAYMENT_NOTIF"
"expiredDate":"Sep 3, 2020 8:44:39 PM", /* Waktu kadaluarsa invoice */
"invoiceId": "195XXXXXXX-YYYYYY", /* Nomor Invoice yang digenerate MPS */
"orderId": "YYYYYY", /* Order ID yang dikirimkan merchant */
"merchantId": "195XXXXXXX", /* MID Merchant */
"amount": 15000.00, /* Nominal Invoice */
"fee": 3000.00, /* Jika fee dibebankan ke merchant, maka total bayar = nominal invoice */
"totalBayar": 18000.00, /* Total yang harus dibayarkan user */
"merchantProductCode":"LINK_AJA_APP_LINK", /* Kode metode bayar yang dibatalkan */
"mitraReff":"-", /* Abaikan */
"status":"UNPAID", /* Status Invoice = UNPAID */
"message":"invoice belum dibayarkan", /* Notifikasi Message */
"isVaStatic":false /* Abaikan */
}
/*contoh respon yang akan dikirimkan*/
{
"notificationType": "RECURRING_REGISTRATION",
"orderId": "X01",
"invoiceId": "2201041241005045",
"customerId": "Custxz",
"maskedCardNumber": "557338******1101",
"status": "REGISTERED",
"message": "Registration Success"
}
{
"notificationType": "RECURRING_NOTIF",
"orderId": "X01",
"invoiceId": "2201041241005045",
"paymentId": "220104184135150724FD68231B9AAA",
"customerId": "Custxz",
"maskedCardNumber": "557338******1101",
"amount": 250000,
"fee": 0,
"totalAmount": 250000,
"status": "SUCCESS",
"paymentDate": "2022-01-04 18:41:35",
"message": "[00] SUCCESS"
}
/*contoh respon yang akan dikirimkan*/
/* HTTP 200 */
/* Response Body */
{
"status":"00",
/* Status yang diberikan merchant, contoh : "00", "Success", "OK" */
"invoiceId":"195xxxxxxxxx",
"message":"Notifikasi telah diterima" /* Response Message */
}
API Tambahan
Berikut ada beberapa API tambahan yang dapat kamu gunakan sesuai dengan kebutuhan bisnismu.
List Metode Bayar
Request Check Status
Request Biaya Metode Bayar
Deactivate VA
Pendaftaran Sub Merchant
Penggunaan parameter tmoneyPin bersifat optional, digunakan ketika nomor dan email submerchant sudah melakukan integrasi dengan tmoney.
Simulasi Pembayaran
/* URL Endpoint Request List Product : merchant/requestProduct?merchantId={merchantId} */
/* HTTP Get */
/* Body Response */
[
{
"gatewayRegistery": "68xxxx",
"gatewayCode": "12xxxx",
"productLists": [
{
"bankCode": "01xx",
"productCode": "xxx",
"productName": "xxxx VA",
"productImage": "image/isxxxx.png",
"productGroup": {
"id": "xxxx",
"name": "xxxxx",
"description": "",
"photo": "12sxx.png",
"sequence": xxxxx
},
"productType": "12312xs"
}
]
}
}
/* URL Endpoint Request Check Status : /merchant/paymentStatus */ /* HTTP POST */ { "invoiceId":"195xxxxxxxxx", "merchantId":"195xxxxxxxxx", "merchantKey":"afxxxxxxxxxxxx" } /* Body Response */
{ "resultCode": "00", "resultDescription": "SUCCESS", "resultData": { "expiredDate": "2022-02-08T02:01:01.000+00:00", "invoiceId": "195xxxxxxx", "orderId": "testingcheckstatus1", "merchantId": "195xxxxxxx", "amount": 100000.00, "fee": 5000.00, "totalBayar": 105000.00, "merchantProductCode": "XXXXX", "vaNumber": "1234567890", "vaExpired": "2022-02-07 09:14:30", "status": "UNPAID", "isVaStatic": false } }
/*endpoint URL: https://merchant.mpstelkom.id/api/production/merchant/deactive-va*/
{
"invoiceId":"195241336788bnm2",
"vaNumber":"9881249153292415"
}
//Endpoint URL : https://merchant.mpstelkom.id/api/production/merchant/requestProduct/detail?merchantId=xxxxx&productCode=xxxxx
{
"responseCode": "00",
"responseMessage": "Success",
"data": {
"channelMdr": 0.00,
"productCode": "kode_produk",
"chargeTo": "MERCHANT/USER/SUBMERCHANT",
"channelFee": 3500.00,
"productType": "XX",
"productName": "XXXXX"
},
"timestamp": "XXXX-XX-XX hh:mm:ss"
}
/*endpoint url :https://merchant.mpstelkom.id/api/sandbox/merchant/sub-merchant/add */
{
"idSubMerchant": "SMBC08",
"nama": "SubMerchant B 1",
"email": "J.doe1@yopmail.com",
"kodeBank": "022",
"nomorRekening": "77777777",
"namaPemilikRekening": "Jhon Doe",
"komisi": "60",
"skemaKomisi": "EXCLUDE_FEE",
"deskripsi": "Test Optional",
"urlPks":"word.com",
"disbursementChargeTo":"MERCHANT",
"connectTmoney": "true",
"noIdentitas": "12345678",
"noTelp": "08123456789",
"tmoneyPin": "12345",/*optional*/
}
List Error
Ketika terjadi kesalahan ketika menggunakan API, akan ditampilkan informasi kode error HTTP (2xx, 4xx, 5xx) untuk membantu merchant mengidentifikasi kesalahan yang terjadi, anda dapat melihat daftar kode error pada link yang ditautkan pada tombol dibawah ini.