{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"c496f05b-0fa5-4d97-ac38-2e6fbeabfcdb","name":"API iFortePay Indonesia - Developer Guides","description":"# About iFortePay\n\nWelcome to our IFP's Tech Documentations!\n\n> We realized the last documentation is kinda hard to understand so we have done some arrangements and adjustment on it and here's the new one! \n  \n\nIFP API is a RESTful Web Service served as a communication bridge between merchants and our payment channels. All our API request and response are using JSON. We do some basic but really the core services that you need to get your product and business go as easy as request, Integrate and let's go live!. No need to hustle on many third party payment vendors as we got your back on this one and it's all in one solutions\\~. IFP provides most of your payment needs from **Bank Transfer**, **Electronic Money** and YES! up until **Credit Cards**\\* transactions!.\n\nWell if you need _**visualized**_ solution, no worries! we IFP provides **Payment Page** that would be the fantastic solutions for your unique yet impressive products. We're not only providing a basic yet important services but also secured transactions. Not to mention IFP is growing company with amazing brilliant teams that would be happy to hear your opinions and problems because we're still improving!. So what holds you up to not try our service? Contact our Integrations teams (MRO) to get a taste of our services!\n\n> \\*Currently only available in Payment Page \n  \n\n# Latest Update / Info\n\n> ❗ All Services on PG 1 has been completely closed on 19 December 2022.  \n❗Virtual Account on our Payment Gateway Version 2 is Available on Production! please let us know if you want to migrate/integrate with us. Card Payment on version 2 will be available soon! please contact our MRO for early access.  \n❗We're developing Merchant Dashboard which would make the integration process easier and also some new features will be available soon!. Improved Guarantee able credit card transactions which we're targeting to make it happen soon\\~. \n  \n\n# Integration steps on our API v2\n\n1. Please contact our MRO / admin support to requesting the new integration credentials for our V2.\n    \n2. Please refer to V2 section for latest integration update\n    \n3. Please fill out the new SIT script and send back to our MRO.\n    \n4. Sign the Minutes of Handover, send back to our MRO\n    \n5. MCP will prepare and update the production credentials to merchant PIC email.\n    \n6. Merchant will need to do the production transaction at least once and sign then return back the minutes of handover for production max in 5 working days to IFP MRO.\n    \n\nThe API must be requested through HTTPS Request to our Base URL endpoint. The HTTPS Header has to be used to allow proper authentication in our Production environment. All request in our staging environment will never hit the banking networks and you can always use our dummy payment API provided.\n\n> ⓘ \n  \n\n# Change Log\n\n| Version | Date (d/m/y) | Detail | PIC |\n| --- | --- | --- | --- |\n| 2.7.4 | 16/01/2025 | Add new payment channel ALIPAY and new link payment simulator (the old version still works but the new version have more features) | G.M.Y & P.P |\n| 2.7.3 | 09/10/24 | Add new  <br>parameter is_email_show, is_phone_show, card_holder_name  <br>on Payment Page | P.P |\n| 2.7.2 | 13/06/24 | (Shopeepay JumpApp) Remove redirect_url_app param from response for create payment feature and inquiry feature.  <br>ETA for this change will be on 26th June 2024 | G.M.Y |\n| 2.7.1 | 18/01/24 | Add new param additional_data on callback (available on prod 15/01/24) | P.P |\n| 2.7 | 30/11/23 | Add new feature cancel payment | G.M.Y |\n| 2.6.10 | 27/11/23 | Add new contact_us parameter on Payment Page | P.P |\n| 2.6.9 | 31/08/23 | Add new payment channel WeChat Pay & Additional Callback parameter for acquirer_issuer_relation to identify transaction after payment | P.P |\n| 2.6.8 | 29/08/23 | Add the payment_system parameter in the create QR feature | G.M.Y |\n| 2.6.7 | 11/08/23 | Add payment channel's minimum and maximum amount | K.E |\n| 2.6.6 | 24/07/23 | Add new payment channel WeChat Pay | G.M.Y |\n| 2.6.5 | 05/05/23 | Update OVO Response message List | G.M.Y |\n| 2.6.5 | 06/04/23 | \\-Additional Callback parameter for acquirer_issuer_relation to identify transaction after payment will be released on 12 April 2023 | G.M.Y |\n| 2.6.5 | 05/04/23 | Add new payment OCTO Clicks (Direct Debit) on Payment Page | P.P |\n| 2.6.4 | 27/03/23 | Added Virgo Payment Channel in EWallet | G.M.Y |\n| 2.6.3 | 15/03/23 | \\-Add the redirect_url parameter on the oauth acces token Dana to redirect to the merchant url after generating the access token | G.M.Y |\n| 2.6.2 | 09/03/23 | \\-additional Callback param for transaction_type to identify transaction after payment will be released on 15 March 2023 | K.E |\n| 2.6.1 | 07/03/23 | \\- Add retrieval_reference_no on the NOBU channel notification callback. - Update new payment channels in Wallet V2 namely LinkAja, DANA, NOBU QRIS dynamic and static | G.M.Y |\n| 2.6 | 22/12/22 | \\-Updated newest list of free digits in VA, also Mandiri closed bill is now supported in VA PG 2 | K.E |\n| 2.5 | 21/12/22 | \\-Update notification callback on payment page  <br>\\-API Gateway Version 1 has already depreciated | P.P & K.E |\n| 2.4 | 14/12/22 | \\-Add new transaction status (FAILED) and response_message on callback | P.P |\n| 2.3 | 14/11/22 | \\-Depreciation service of E-Wallet PG 1 and All PG 1 service due date | K.E |\n| 2.2 | 21-Dec-2022 | \\-Update order_id validation and add new parameter on customer_details; is_email_show and is_phone_show | P.P |\n| 2.1 | 28/10/22 | \\-Add new payment VIRGO (wallet) and update order_id parameter on Payment Page | P.P |\n| 2.0 | 20/10/22 | \\-Add new general transaction status; REFUND_REQUESTED, PARTIAL_REFUND, REFUND_FAILED, NEED_REVIEW | G.M.Y |\n| 1.9 | 07/10/22 | \\-Add new payment LINKAJA (wallet) on Payment Page | P.P |\n| 1.8 | 29/09/22 | \\-Update full name validation on Payment Page | P.P |\n| 1.7 | 12/09/22 | \\-Add merchant_id on notification callback payment method Wallet V2. Will be released for production on 21/09/2022 | G.M.Y |\n| 1.6 | 5/09/22 | \\-Add a note the value is_customer_fee default is false  <br>\\-Remove nobu from payment channel that can be void  <br>\\-Add x-version on header endpoint oauth access token DANA and void  <br>\\-Add a reference to securities at header x-req-signature | G.M.Y |\n| 1.5h | 02/8/22 | Update note for callback_url Payment Page | P.P |\n| 1.5g | 01/8/22 | Update min amount, is_customer_paying_fee on Payment Page | P.P |\n| 1.5f | 01/8/22 | Add new payment channel on Payment Page. Revamp the API Structure, introducing our migration concept which starts from implementing x-version on header and new Authorization combination. | P.P |\n| 1.5e | 01/8/22 | Update Virtual Acccount Simulator | P.P |\n| 1.5d | 29/7/22 | Update E Wallet's Void Terms and Condition | K.E |\n| 1.5c | 19/7/22 | Updated OVO Minimum Transaction to IDR 1,- and Max IDR 20M | K.E |\n| 1.5b | 8/7/22 | Updated Wallet V2 now supports DANA as Payment Request | G.M.Y |\n| 1.5a | 7/7/22 | Update expired_time and is_customer_paying_fee | K.E |\n| 1.5 | 6/6/22 | Additional Email Format support special character . _ @ | K.E |\n| 1.4 | 1/6/22 | Update callback format | K.E |\n| 1.3 | 27/4/22 | Update validation on order_id to max char 25 | K.E |\n| 1.2 | 18/3/22 | Update tech spec of VA v2 | K.E |\n| 1.1 | 16/3/22 | Merchant can receive REFUND and VOID callback | G.M |\n| 1.0 | 15/3/22 | Revamp the API Structure which devides Version 2 and Version 1. Introducing our migration concept which starts from implementing x-versions on header, new Authorization combination also Promoting our Virtual Account Version 2. | K.E |\n| 0.13b | 24/1/22 | Update In wallet v2.0 type data for payment_channel is String, length in transaction_description is 255, type data in expired_time is String, invalid amount in OVO if amount less than Rp 1000 | G.M |\n| 0.13 | 7/1/22 | New payment_system for easy identification on payment channel type such as can differentiate channel like shopee, either it is jumpapp / qris, or for credit card will be available soon as differentiate direct payment / installment | K.E |\n| 0.12 | 21/10/21 | Response / error message for OVO channel is now simplified, please refer to [Transaction Status &amp; Response Codes](https://) . | A.T |\n| 0.11b | 19/10/21 | Fix typo / wrong content in virtual account request detail, and add transaction status va lists | A.T |\n| 0.11 | 11/10/21 | Shopee (Wallet v1.2) strict minimum amount validation 1000 | A.T |\n| 0.10 | 24/08/21 | Removing Endpoint list all transaction for Virtual Account API, add instruction and response sample for cancel va | A.T |\n| 0.9 | 04/08/21 | Add header signature in callback wallet v2 and payment page | A.T |\n| 0.8 | 03/08/21 | Add /payment in payment page url, add glossary, add migration step from e-wallet v1 to v2 | A.T |\n| 0.7 | 16/07/21 | Add a response json sample for create and inquiry endpoint to Virtual Account V1, Wallet V2 and Payment Page Channel | A.T |\n| 0.6 | 02/07/21 | Add Payment Page segment descriptions and details | A.T |\n| 0.5 | 30/06/21 | \\-. Adding new open VA BNI documentation usage.  <br>\\-. Fix request signature generate error in wallet v1.2 | A.T |\n| 0.4 | 25/06/21 | \\-. Variable paid_date / expired_date di Virtual account Inquiry dan callback, di seragamkan.  <br>\\-. Semua datetime field di virtual account menggunakan postfix _time, contoh paid_date jadi paid_time, expired_date jadi expired_time | A.T |\n| 0.3 | 26/04/21 | Cleanup Docs for Dev Guide only | A.T |\n| 0.2 | 04/02/21 | Adding Detail Docs API | A.T |\n| 0.1 | 20/01/21 | Init Doc | A.T |\n\n# Amount Validation\n\n| Channel_type | Channel Name | Min Amount (IDR) | Max Amount (IDR) |\n| --- | --- | --- | --- |\n| VIRTUAL_ACCOUNT | BCA | 15,000 | 50,000,000 |\n| VIRTUAL_ACCOUNT | BNI | 15,000 | 1,000,000,000,000 |\n| VIRTUAL_ACCOUNT | BRI | 15,000 | 1,000,000,000 |\n| VIRTUAL_ACCOUNT | MANDIRI | 15,000 | 1,000,000,000,000 |\n| VIRTUAL_ACCOUNT | PERMATA | 15,000 | 1,000,000,000,000 |\n| VIRTUAL_ACCOUNT | CIMB NIAGA | 15,000 | 1,000,000,000 |\n| VIRTUAL_ACCOUNT | FINPAY | 15,000 | 2,500,000 |\n| VIRTUAL_ACCOUNT | BNC | 15,000 | 9,999,999,999,999 |\n| CREDIT | ALL | 15,000 | 9,999,999,999,999 |\n| WALLET | OVO | 15,000 | 20,000,000 |\n| WALLET | SHOPEEPAY QRIS | 15,000 | 10,000,000 |\n| WALLET | SHOPEEPAY JUMPAPP | 15,000 | 20,000,000 |\n| WALLET | LINKAJA | 15,000 | 20,000,000 |\n| WALLET | DANA | 15,000 | 20,000,000 |\n| WALLET | NOBU QRIS DYNAMIC | 15,000 | 10,000,000 |\n| WALLET | VIRGO | 15,000 | 20,000,000 |\n| WALLET | WECHAT PAY QR | 15,000 | 210,000,000 |\n| WALLET | ALIPAY | 15,000 | 800,000,000 |\n| WALLET | NOBU QRIS STATIC | 1 | 10,000,000 |\n| DIRECT_DEBIT | OCTOCLICKS | 15,000 | 300,000,000,000 |\n\nNote: pada tanggal 27 Okt 2025 free digit mandiri akan berubah menjadi 8  \nEndFragment","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"13407078","collectionId":"c496f05b-0fa5-4d97-ac38-2e6fbeabfcdb","publishedId":"TzJycbMD","public":true,"publicUrl":"https://developer.mcpayment.id","privateUrl":"https://go.postman.co/documentation/13407078-c496f05b-0fa5-4d97-ac38-2e6fbeabfcdb","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"documentationLayout":"classic-double-column","customisation":null,"version":"8.10.1","publishDate":"2021-04-27T10:59:52.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{},"logos":{}},"statusCode":200},"environments":[{"name":"MC Payment Environments API","id":"7523f7d0-c469-4129-ab3d-98492eb3fa83","owner":"13407078","values":[{"key":"mcp_url_v2_staging","value":"https://api-stage.mcpayment.id","enabled":true},{"key":"mcp_url_v2_prod","value":"https://api-live.mcpayment.id","enabled":true},{"key":"mcp_url_v1_staging","value":"https://api-staging.mcpayment.id","enabled":true},{"key":"mcp_url_v1_prod","value":"https://api.mcpayment.id","enabled":true},{"key":"payment_method_wallet","value":"wallet","enabled":true},{"key":"payment_method_va","value":"bank_transfer","enabled":true},{"key":"payment_method_card","value":"card","enabled":true},{"key":"default_id_type","value":"HP","enabled":true},{"key":"orderid","value":"","enabled":true,"type":"any"},{"key":"extid","value":"","enabled":true,"type":"any"},{"key":"trx_id","value":"","enabled":true,"type":"any"},{"key":"auth","value":"","enabled":true,"type":"any"},{"key":"signature","value":"","enabled":true,"type":"any"},{"key":"version_3","value":"v3","enabled":true,"type":"default"},{"key":"version_2","value":"v2","enabled":true,"type":"default"},{"key":"recurring_id","value":"","enabled":true,"type":"any"},{"key":"vanumber","value":"","enabled":true,"type":"any"}],"published":true}],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/768118b36f06c94b0306958b980558e6915839447e859fe16906e29d683976f0","favicon":"https://mcpayment.id/favicon.ico"},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"},{"label":"MC Payment Environments API","value":"13407078-7523f7d0-c469-4129-ab3d-98492eb3fa83"}],"canonicalUrl":"https://developer.mcpayment.id/view/metadata/TzJycbMD"}