### Sample Request URL for Check Virtual Account Source: https://docs.finpay.id/finpay-pg/core-api/virtual-account/open-payment/check-virtual-account Example GET request URL for the development environment to check a virtual account with the specified sofId and paymentCode. ```text https://devo.finnet.co.id/pg/payment/card/openpayment/check/vabca/8804483313131312 ``` -------------------------------- ### GET /snapqrismpm/qr/callback-qris-payment/v1.0/qr/qris/INV0120240402083400009 Source: https://docs.finpay.id/finpay-money/linkage/snap Example HTTP request for the Show Uri QRCODE endpoint. Includes required header parameters (Accept, Content-Type) and a JSON body with merchant_id, pay_date, amount, sof_id, ref_no, invoice, result_code, result_desc, cust_name, merchantName, feeAmount, rrn, nns_issuer, nns_acquirer, mpan, cpan, and nmid. ```http GET /snapqrismpm/qr/callback-qris-payment/v1.0/qr/qris/INV0120240402083400009 HTTP/1.1 Host: snapstag.finnet.co.id Content-Type: application/json Accept: */* Content-Length: 462 { "merchant_id": "FM2103300001", "pay_date": "2024-03-25 17:04:40", "amount": 1000, "sof_id": "qrdinamis", "ref_no": "95oau6MyVNSHqw8WhgbnR0IjifAPQUxt", "invoice": "INV0120240402083400009", "result_code": "00", "result_desc": "Success", "cust_name": "REFUND_ACQ_01", "merchantName": "juragan_empang", "feeAmount": "", "rrn": "RNTW-192403-194404730315-20240325", "nns_issuer": "93601077", "nns_acquirer": "93600777", "mpan": "9360077732103300013", "cpan": "9360107712345678917", "nmid": "TFQA001" } ``` -------------------------------- ### Sample Response for Get Transfer by Reference Source: https://docs.finpay.id/finpay-wallet-as-a-service/core-api/get-transfer-by-reference Example JSON response for a successful transfer lookup, showing transfer details and status. ```json { "created": "2020-11-30T02:47:53.061Z", "transfer_id": "bd1cc56b-ce7f-4ad7-8901-3eaa689e90eb", "source_user_id": "5cafeb170a2b18519b1b8768", "destination_user_id": "5f8d0c0603ffe06b7d4d9fcf", "status": "SUCCESSFUL", "amount": "90000", "reference": "Monthly_Transfers_1234" } ``` -------------------------------- ### Sample Response for Get Account API Source: https://docs.finpay.id/finpay-wallet-as-a-service/core-api/get-account Example JSON response returned on a successful Get Account request, containing account details such as id, type, email, public_profile, country, and status. ```json { "id": "string", "created": "2025-12-08T03:19:10.228Z", "updated": "2025-12-08T03:19:10.228Z", "type": "OWNED", "email": "test@example.co", "public_profile": { "business_name": "string" }, "country": "ID", "status": "REGISTERED" } ``` -------------------------------- ### Sample Response (Success) Source: https://docs.finpay.id/finpay-wallet-as-a-service/core-api/create-account Example JSON response returned on successful account creation. Contains id, created, updated, type, email, public_profile, country, and status fields. ```json { "id": "string", "created": "2025-12-08T03:19:10.228Z", "updated": "2025-12-08T03:19:10.228Z", "type": "OWNED", "email": "test@example.co", "public_profile": { "business_name": "string" }, "country": "ID", "status": "REGISTERED" } ``` -------------------------------- ### Payment Plan Object JSON Example Source: https://docs.finpay.id/appendix/json-object/payment-plan-object Example of a Payment Plan object with a 'term' value of '12', representing a 12-month installment plan. The 'term' field is optional and must be between 1 and 2 characters. ```json { "paymentPlan": { "term": "12" } } ``` -------------------------------- ### Sample Request JSON Source: https://docs.finpay.id/finpay-money/linkage/registration/account-creation Example request body for creating an account, containing partnerReferenceNo, phoneNo, and name. ```json { "partnerReferenceNo": "78912343452347892", "phoneNo": "08190123436", "name": "Finnet" } ``` -------------------------------- ### Sample Response (Negative) for Get Transfer by Reference Source: https://docs.finpay.id/finpay-wallet-as-a-service/core-api/get-transfer-by-reference Example JSON error response when the transfer reference is not found. ```json { "error_code": "DATA_NOT_FOUND", "message": "Could not find transfer by reference 00000000000000007. Please try again using valid reference" } ``` -------------------------------- ### Sample Response JSON Source: https://docs.finpay.id/finpay-money/linkage/registration/account-creation Example response body with responseCode, responseMessage, and partnerReferenceNo. ```json { "responseCode": "2000600", "responseMessage": "Request has been processed successfully", "partnerReferenceNo": "78912343452347892" } ``` -------------------------------- ### List Account - Sample Response (JSON) Source: https://docs.finpay.id/finpay-wallet-as-a-service/core-api/list-account Example successful response containing account data, pagination flag, and links. The data array includes account details such as id, created, type, email, public_profile, and status. ```json { "data": [ { "id": "123asdasdnj1231wesa", "created": "2025-02-01T10:00:00Z", "type": "OWNED", "email": "kirana@finnet.com", "public_profile": { "business_name": "PT Satu dua" }, "status": "LIVE" }, { "id": "123asdasdnj1231w2s2", "created": "2025-03-22T09:15:00Z", "type": "OWNED", "email": "kirana@finpay.com", "public_profile": { "business_name": "PT 3 4 5" }, "status": "LIVE" } ], "has_more": true, "links": [ { "href": "/v2/accounts?after_id=623ace8270bbddf93816b3g1", "rel": "next", "method": "GET" } ] } ``` -------------------------------- ### Inquiry API HTTP Request Source: https://docs.finpay.id/finpay-disbursement/direct-integration-core-api/inquiry Example HTTP GET request to the Inquiry endpoint. Uses Basic authentication and requires the destination bank code and account number in the path. The Accept and Content-Type headers are set to text in this example. ```HTTP GET /pg/payment/card/disbursement/inquiry/{destBankCode}/{destAccNumber} HTTP/1.1 Host: devo.finnet.co.id Authorization: Basic username:password Accept: text Content-Type: text ``` -------------------------------- ### Sample Request for Account Inquiry Source: https://docs.finpay.id/finpay-money/linkage/transfer-to-bank/account-inquiry HTTP request example showing headers and JSON body for the account inquiry endpoint. Includes authentication headers, signature, and device context. ```http POST .../v1.0/emoney/bank-account-inquiry HTTP/1.2 Content-type: application/json Authorization: Bearer gp9HjjEj813Y9JGoqwOeOPWbnt4CUpvIJbU1mMU4a11MNDZ7Sg5u9a" Authorization-Customer: Bearer fa8sjjEj813Y9JGoqwOeOPWbnt4CUpvIJbU1mMU4a11MNDZ7Sg5u9a" X-TIMESTAMP: 2020-12-23T08:27:11+07:00 X-SIGNATURE: 85be817c55b2c135157c7e89f52499bf0c25ad6eeebe04a986e8c862561b19a5 ORIGIN: www.hostname.com X-PARTNER-ID: 82150823919040624621823174737537 X-EXTERNAL-ID: 41807553358950093184162180797837 X-IP-ADDRESS: 172.24.281.24 X-DEVICE-ID: 09864ADCASA X-LATITUDE: -6.108841 X-LONGITUDE: 106.7782137 CHANNEL-ID: 95221 { "partnerReferenceNo": "2020102900000000000001", "customerNumber": "6281388370001", "amount": { "value": "10000.00", "currency": "IDR" }, "beneficiaryAccountNumber": "8377388292", "additionalInfo": { " beneficiaryBankCode": "014" } } ``` -------------------------------- ### Sample Response (Negative) for Get Account API Source: https://docs.finpay.id/finpay-wallet-as-a-service/core-api/get-account Example JSON error response when the account is not found, including error_code and message fields. ```json { "error_code": "DATA_NOT_FOUND", "message": "Account with this ID does not exist on your Platform." } ``` -------------------------------- ### Sample Request Headers and Body Source: https://docs.finpay.id/finpay-wallet-as-a-service/core-api/create-account Shows the required headers (Content-type, Authorization, accept) and the JSON body for creating an account. The body includes email, type, and public_profile.business_name. ```http Content-type: application/json Authorization: Basic gp9HjjEj813Y9JGoqwOeOPWbnt4CUpvIJbU1mMU4a11MNDZ7Sg5u9a" accept: application/json { "email": "kirana@finpay.id", "type": "OWNED", "public_profile": { "business_name": "Owned Business Account" } } ``` -------------------------------- ### GET /pg/payment/card/disbursement/bank - 200 Success Response Source: https://docs.finpay.id/finpay-disbursement/direct-integration-core-api/list-of-bank Example success response with responseCode 2000000 and a list of supported banks. Each bank includes bankCode and bankName. ```json { "responseCode": "2000000", "responseMessage": "Success", "bank": [ { "bankCode": "91014", "bankName": "BCA" }, { "bankCode": "91022", "bankName": "CIMB" }, { "bankCode": "91009", "bankName": "BNI" }, { "bankCode": "91426", "bankName": "Mega" }, { "bankCode": "91013", "bankName": "Permata" }, { "bankCode": "91028", "bankName": "OCBC" }, { "bankCode": "91046", "bankName": "DBS" }, { "bankCode": "92451", "bankName": "BSI" }, { "bankCode": "91002", "bankName": "BRI" }, { "bankCode": "92536", "bankName": "BCA UUS" }, { "bankCode": "91023", "bankName": "UOB" }, { "bankCode": "91153", "bankName": "Sinarmas" }, { "bankCode": "92200", "bankName": "BTN UUS" }, { "bankCode": "91008", "bankName": "Mandiri" }, { "bankCode": "91200", "bankName": "BTN" }, { "bankCode": "91031", "bankName": "Citibank" }, { "bankCode": "91011", "bankName": "Danamon" }, { "bankCode": "92011", "bankName": "Danamon UUS" }, { "bankCode": "92013", "bankName": "Permata UUS" }, { "bankCode": "91212", "bankName": "Woori Saudara" }, { "bankCode": "91110", "bankName": "BPD Jabar Banten" }, { "bankCode": "91113", "bankName": "Bank Jateng" }, { "bankCode": "91157", "bankName": "Bank Maspion" }, { "bankCode": "91129", "bankName": "BPD Bali" }, { "bankCode": "91041", "bankName": "HSBC" }, { "bankCode": "91161", "bankName": "Bank Ganesha" }, { "bankCode": "91564", "bankName": "Bank Mandiri Taspen dhi Bank Sinar Harapan Bali" }, { "bankCode": "91132", "bankName": "Bank Papua" }, { "bankCode": "91523", "bankName": "Bank Sahabat Sampoerna" }, { "bankCode": "91503", "bankName": "Bank National Nobu" }, { "bankCode": "91484", "bankName": "Bank KEB Hana" }, { "bankCode": "90900", "bankName": "KSEI" }, { "bankCode": "91114", "bankName": "Bank Jatim" }, { "bankCode": "91548", "bankName": "Bank Multi Artha Sentosa" }, { "bankCode": "91513", "bankName": "Bank Ina Perdana" }, { "bankCode": "91019", "bankName": "Bank Panin" }, { "bankCode": "91567", "bankName": "Bank Allo dhi Bank Harda International" }, { "bankCode": "91501", "bankName": "Bank Digital BCA" }, { "bankCode": "92114", "bankName": "Bank Jatim UUS" }, { "bankCode": "92153", "bankName": "Bank Sinarmas UUS" }, { "bankCode": "91130", "bankName": "Bank NTT" }, { "bankCode": "92113", "bankName": "Bank Jateng UUS" }, { "bankCode": "91151", "bankName": "Bank Mestika Dharma" }, { "bankCode": "91111", "bankName": "Bank DKI" }, { "bankCode": "92111", "bankName": "Bank DKI UUS" }, { "bankCode": "91076", "bankName": "Bank Bumi Arta" }, { "bankCode": "91037", "bankName": "Bank Artha Graha International" }, { "bankCode": "92425", "bankName": "BPD Jabar Syariah" }, { "bankCode": "91494", "bankName": "Bank Raya" }, { "bankCode": "91542", "bankName": "Bank Jago" }, { "bankCode": "91119", "bankName": "Bank Riau Kepri" }, { "bankCode": "91016", "bankName": "Bank Maybank Indonesia" }, { "bankCode": "91112", "bankName": "Bank Pembangunan Daerah DIY" }, { "bankCode": "92947", "bankName": "Bank Maybank Indonesia UUS" }, { "bankCode": "91050", "bankName": "Standard Chartered Bank" }, { "bankCode": "92147", "bankName": "Bank Muamalat Indonesia" }, { "bankCode": "91164", "bankName": "Bank ICBC Indonesia" } ] } ``` -------------------------------- ### Sample Response JSON for Upgrade Account Widget Source: https://docs.finpay.id/finpay-money/linkage/upgrade-account/upgrade-account-widget Example response body from the upgrade-account-widget endpoint. Contains responseCode, responseMessage, widgetUrl, and expiryTime. The widgetUrl is the URL for the Upgrade Account widget, and expiryTime indicates when the widget expires. ```json { "responseCode": "2000000", "responseMessage": "Request has been processed successfully", "widgetUrl": "https://demos.finnet.co.id/mob-dev/widget/prem?phone=6281295288912&uuid=04667364-ef55-46c6-9006-8c99388e4cdd", "expiryTime": "2024-11-01 14:01:10" } ``` -------------------------------- ### GET /pg/payment/card/disbursement/bank - HTTP Request Source: https://docs.finpay.id/finpay-disbursement/direct-integration-core-api/list-of-bank Example HTTP request to retrieve the bank list. Uses the development host devo.finnet.co.id and requires Digital Touch Point Authorization. ```http GET /pg/payment/card/disbursement/bank HTTP/1.1 Host: devo.finnet.co.id Accept: */* ``` -------------------------------- ### Sample Request JSON for Get Token Source: https://docs.finpay.id/finpay-money/widget/get-token Example request body for the getToken endpoint. Requires reqDtime in yyyymmddhh24iiss format (GMT+7), requestType set to 'getToken', a unique transNumber, and a 64-character signature. ```json { "reqDtime": "20240821142750", "requestType": "getToken", "transNumber": "TKN212418241627519329", "signature": "C851DDC730549FEAFDFFD486AC11F3BF0C9CE44F0190C7DDC5FFDC622782E91D" } ``` -------------------------------- ### Sample Response for Shopee Pay Initiation Source: https://docs.finpay.id/finpay-pg/core-api/e-money/shopee-pay Example response from the Shopee Pay initiation API, showing success response code, redirect URL, app URL, and expiry link. ```json { "responseCode": "2000000", "responseMessage": "Success", "redirecturl": "https://wsa.uat.wallet.airpay.co.id/universal-link/wallet/pay?deep_and_deferred=1&token=dFhkbmR1bTBIamhWkwTDbkj1rqyZ2bpUAzcbk2DTFNsV-45fcNQOPN0", "appurl": "shopeeid://main?apprl=%2Frn%2FTRANSFER_PAGE%3Fnavigate_url%3Dhttps%253A%252F%252Fwsa.uat.wallet.airpay.co.id%252Fwallet%252Fpay%253Ftoken%253DdFhkbmR1bTBIamhWkwTDbkj1rqyZ2bpUAzcbk2DTFNsV-45fcNQOPN0", "imageurl": "", "expiryLink": "2023-04-06 13:58:41", "paymentCode": "", "processingTime": 1.5723111629486084 } ``` -------------------------------- ### Sample Request for qr-mpm-decode Source: https://docs.finpay.id/finpay-money/linkage/qris-mpm/decode HTTP request example showing required headers and JSON body for the Decode API. Includes authentication tokens, timestamps, and transaction details. ```http POST .../v1.0/qr/qr-mpm-decode HTTP/1.2 Content-type: application/json Authorization: Bearer gp9HjjEj813Y9JGoqwOeOPWbnt4CUpvIJbU1mMU4a11MNDZ7Sg5u9a" Authorization-Customer: Bearer fa8sjjEj813Y9JGoqwOeOPWbnt4CUpvIJbU1mMU4a11MNDZ7Sg5u9a" X-TIMESTAMP: 2020-12-23T08:27:11+07:00 X-SIGNATURE: 85be817c55b2c135157c7e89f52499bf0c25ad6eeebe04a986e8c862561b19a5 ORIGIN: www.hostname.com X-PARTNER-ID: 82150823919040624621823174737537 X-EXTERNAL-ID: 41807553358950093184162180797837 X-IP-ADDRESS: 172.24.281.24 X-DEVICE-ID: 09864ADCASA X-LATITUDE: -6.108841 X-LONGITUDE: 106.7782137 CHANNEL-ID: 95221 { "partnerReferenceNo":"2020102900000000000001", "qrContent":"00020101....", "amount":{ "value":"10000.00", "currency":"IDR" }, "scanTime":"2020-12-23T08:27:11+07:00" } ``` -------------------------------- ### Sample Response JSON for Get Token Source: https://docs.finpay.id/finpay-money/widget/get-token Example response from the getToken endpoint. statusCode '000' indicates success, and tokenID is used for accessing other APIs. tokenExpiry is in DD-MMM-YY HH24:MI:SS format. ```json { "statusCode": "000", "statusDesc": "Berhasil", "tokenID": "20240821162411771B7219C0DB6E6374075F8E7D28D89AE9F7905E73E01202365345C5A965574D", "tokenExpiry": "24-AUG-24 16:23:30", "processingTime": 0.11939597129821777 } ``` -------------------------------- ### Sample Request JSON Source: https://docs.finpay.id/finpay-money/linkage/customer-top-up/customer-top-up-status Example request body for the Customer Top Up Status API, including originalPartnerReferenceNo, originalReferenceNo, and serviceCode. ```json { "originalPartnerReferenceNo": "78912343452347893", "originalReferenceNo": "2211150005490937", "serviceCode": "38" } ``` -------------------------------- ### URL Object JSON Example Source: https://docs.finpay.id/appendix/json-object/url-object Example JSON structure for the URL object with all mandatory fields. The threeDsResponseUrl field is not included in this example, though it is listed in the table as mandatory for direct payment 3DS only. ```json { "url": { "backUrl": "https://sandbox.finpay.co.id/simdev/finpay/result/resultfailed.php", "successUrl": "https://sandbox.finpay.co.id/simdev/finpay/result/resultsuccess.php", "failUrl": "https://sandbox.finpay.co.id/simdev/finpay/result/resultfailed.php", "callbackUrl": "https://sandbox.finpay.co.id/simdev/finpay/result/tangkapCurl.php" } } ``` -------------------------------- ### Sample Response JSON for Purchase with OTP Source: https://docs.finpay.id/finpay-pg/core-api/direct-debit/bri/purchase-with-otp Example 200 OK response from the initiate endpoint. Contains responseCode, responseMessage, referenceNumber, processingTime, and traceId. ```json { "responseCode": "2000000", "responseMessage": "Request has been processed successfully", "referenceNumber": "0cd45935-3f7f-4de8-8fb6-48bd6f563e66", "processingTime": 6.515192985534668, "traceId": "0cd45935-3f7f-4de8-8fb6-48bd6f563e66" } ``` -------------------------------- ### Sample Request JSON Source: https://docs.finpay.id/finpay-wallet-as-a-service/core-api/payout-webhook-finnet-greater-than-partner Example payout webhook request body with reference_id, channel_code, channel_properties, amount, description, and currency. ```json { "reference_id": "myref-1482928194", "channel_code": "91014", "channel_properties": { "account_number": "000000000099", "account_holder_name": "Michael Chen" }, "amount": 10000, "description": "July payout", "currency": "IDR" } ``` -------------------------------- ### TransAmount JSON Example Source: https://docs.finpay.id/appendix/json-object/transamount-object Example JSON object for TransAmount with currency 'IDR' and value '10000.00'. ```json { "transAmount": { "currency": "IDR", "value": "10000.00" } } ``` -------------------------------- ### QParams Object Example Source: https://docs.finpay.id/appendix/json-object/qparams-object Example JSON object for QParams with the action field set to 'otpLinkage'. ```json { "qParams": { "action": "otpLinkage" } } ``` -------------------------------- ### Sample Request URL Source: https://docs.finpay.id/finpay-pg/core-api/virtual-account/open-payment/delete-virtual-account Example URL for deleting a virtual account in the development environment. Replace the path parameters with actual values. ```http https://devo.finnet.co.id/pg/payment/card/openpayment/delete/vabca/8804483313131312 ``` -------------------------------- ### Sample Response: Purchase with PIN Source: https://docs.finpay.id/finpay-pg/core-api/direct-debit/blu-by-bca-digital/purchase-with-pin Example 200 OK response containing the pinUrl to redirect the customer to for PIN and OTP confirmation. Includes responseCode, responseMessage, processingTime, and traceId. ```json { "responseCode": "2000000", "responseMessage": "Request has been processed successfully", "pinUrl": "https://{blu-hosted-page}/input-pin/auth-payments?authPaymentId=c03a36ad-8164-4fc3-aeaa-85102936a9e5&accountNumber={blu-account-number}&partner=FINNET&deviceId={device-id}", "processingTime": 2.1104049682617188, "traceId": "f4bf97f7-b925-4eaa-9d12-22a503569c41" } ``` -------------------------------- ### MinAmount JSON Example Source: https://docs.finpay.id/appendix/json-object/minamount-object Example JSON structure for the MinAmount object with value '10000.00' and currency 'IDR'. ```json { "minAmount": { "value": "10000.00", "currency": "IDR" } } ``` -------------------------------- ### Sample Request JSON Source: https://docs.finpay.id/finpay-money/linkage/upgrade-account/upgrade-account-notification Example request body for the Upgrade Account Notification service. Contains kycResponse, kycMessage, partnerReferenceNo, phoneNo, and merchantId fields. ```json { "kycResponse": "KYC Rejected", "kycMessage": "Your KYC has been rejected because…", "partnerReferenceNo": "202411011441000012", "phoneNo": "6281295288912", "merchantId": "AGREE170724" } ```