> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://apidoc-v1.maniscloud.com/manis-unified-api-v-1-0/payin/create-payin-request/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://apidoc-v1.maniscloud.com/_mcp/server. # Create payin request POST https://api/v1/payins Content-Type: application/json This API initiates a new **PayIn** transaction through a specified Payment Service Provider (PSP). It supports various pay-in types such as **Direct Payin** or **Virtual Account**. **Request Body:** | Field | Type | Required | Description | | --- | --- | --- | --- | | `requestId` | string | Yes | A unique request ID specified by the client in the request. | | `pspId` | string | No | Identifier of the Payment Service Provider (e.g., `nium`, `finmo`). If not provided, auto psp selection will choose the best suited psp based on routing rule | | `amount` | number | Yes | Amount to be received via PayIn. | | `currency` | string | Yes | Currency of the transaction (e.g., SGD). | | `country` | string | Yes | Country code (ISO 3166-1 alpha-2) where the transaction originates (e.g., SG). | | `paymentType` | string | Yes | Type of PayIn transaction. Supported values: `QR_PAYMENT,` `VIRTUAL_ACCOUNT`. | | `manisPaymentMethodName` | string | Yes | Name of the Manis payment method (different with psp's payinMethodName), will be used to search for payinMethod | | `paymentFlow` | string | Yes | Name of the Manis payment flow, will be used to search for payinMethod | | `virtualAcountId` | string | Required when creating payin with type `VIRTUAL_ACCOUNT` on Finmo | Identifier of virtual account | | customerId | string | Required when creating payin with type `VIRTUAL_ACCOUNT` on Nium | Unique identifier in Manis of the customer making the PayIn. | Reference: https://apidoc-v1.maniscloud.com/manis-unified-api-v-1-0/payin/create-payin-request ## Servers - `https:/` (https://{url}, default) - `https:/` (https://{devurl}) ## Request ### Headers - `x-secret` (string, optional) ### Body (application/json) This endpoint expects a string. - `string` ## Response ### 200 OK - `payCode` (ApiV1PayinsPostResponsesContentApplicationJsonSchemaPayCode, required) - `createdAt` (datetime, required) - `createdBy` (string, required) - `updatedAt` (datetime, required) - `updatedBy` (string, required) - `pspPayinId` (string, required) - `transaction` (ApiV1PayinsPostResponsesContentApplicationJsonSchemaTransaction, required) - `pspPayinMethod` (string, required) - `manisTransactionId` (string, required) ## Types ### ApiV1PayinsPostResponsesContentApplicationJsonSchemaPayCode - `bankInfo` (ApiV1PayinsPostResponsesContentApplicationJsonSchemaPayCodeBankInfo, required) - `routingInfo` (list of ApiV1PayinsPostResponsesContentApplicationJsonSchemaPayCodeRoutingInfoItems, required) ### ApiV1PayinsPostResponsesContentApplicationJsonSchemaTransaction - `pspId` (string, required) - `amount` (integer, required) - `currency` (string, required) - `createdAt` (datetime, required) - `createdBy` (string, required) - `requestId` (string, required) - `updatedAt` (datetime, required) - `updatedBy` (string, required) - `customerId` (string, required) - `merchantId` (string, required) - `webhookUrl` (string, required) - `paymentType` (string, required) - `pspTransactionId` (string, required) - `manisTransactionId` (string, required) - `manisTransactionStatus` (string, required) ### ApiV1PayinsPostResponsesContentApplicationJsonSchemaPayCodeBankInfo - `bankName` (string, required) - `bankAddress` (string, required) - `bankCountry` (string, required) - `accountNumber` (string, required) ### ApiV1PayinsPostResponsesContentApplicationJsonSchemaPayCodeRoutingInfoItems - `routingCode` (string, required) - `routingValue` (string, required) ## Examples ### Create Nium payin request **Response** ```json { "payCode": { "bankInfo": { "bankName": "string", "bankAddress": "string", "bankCountry": "string", "accountNumber": "string" }, "routingInfo": [ { "routingCode": "SWIFT Code", "routingValue": "CITISGSG" } ] }, "createdAt": "2025-10-03T07:03:43.097Z", "createdBy": "merch-01k0rc69p8a5m6k5c9h1d3rf90", "updatedAt": "2025-10-03T07:03:44.935Z", "updatedBy": "merch-01k0rc69p8a5m6k5c9h1d3rf90", "pspPayinId": "PR005512", "transaction": { "pspId": "nium", "amount": 2, "currency": "SGD", "createdAt": "2025-10-03T07:03:43.093Z", "createdBy": "merch-01k0rc69p8a5m6k5c9h1d3rf90", "requestId": "8a9a4c28-b973-4fb2-8915-15f06b7d4e40", "updatedAt": "2025-10-03T07:03:44.929Z", "updatedBy": "merch-01k0rc69p8a5m6k5c9h1d3rf90", "customerId": "cus-01k0s6n7ad06fcqpwb7qrgxn02", "merchantId": "merch-01k0rc69p8a5m6k5c9h1d3rf90", "webhookUrl": "https://sandbox.manisconnect.net/api/v1/merchant/merch-01k0rc69p8a5m6k5c9h1d3rf90/webhook/3", "paymentType": "VIRTUAL_ACCOUNT", "pspTransactionId": "string", "manisTransactionId": "txn-01k6me4f7nvv65h0zhjp90tmjg", "manisTransactionStatus": "EXCEPTION" }, "pspPayinMethod": "GLOBAL", "manisTransactionId": "txn-01k6me4f7nvv65h0zhjp90tmjg" } ``` **SDK Code** ```python Create Nium payin request import requests url = "https://https/api/v1/payins" headers = {"x-secret": "{{FINMO_MERCHANT_SECRET}}"} response = requests.post(url, headers=headers) print(response.json()) ``` ```javascript Create Nium payin request const url = 'https://https/api/v1/payins'; const options = {method: 'POST', headers: {'x-secret': '{{FINMO_MERCHANT_SECRET}}'}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go Create Nium payin request package main import ( "fmt" "net/http" "io" ) func main() { url := "https://https/api/v1/payins" req, _ := http.NewRequest("POST", url, nil) req.Header.Add("x-secret", "{{FINMO_MERCHANT_SECRET}}") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Create Nium payin request require 'uri' require 'net/http' url = URI("https://https/api/v1/payins") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["x-secret"] = '{{FINMO_MERCHANT_SECRET}}' response = http.request(request) puts response.read_body ``` ```java Create Nium payin request import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://https/api/v1/payins") .header("x-secret", "{{FINMO_MERCHANT_SECRET}}") .asString(); ``` ```php Create Nium payin request request('POST', 'https://https/api/v1/payins', [ 'headers' => [ 'x-secret' => '{{FINMO_MERCHANT_SECRET}}', ], ]); echo $response->getBody(); ``` ```csharp Create Nium payin request using RestSharp; var client = new RestClient("https://https/api/v1/payins"); var request = new RestRequest(Method.POST); request.AddHeader("x-secret", "{{FINMO_MERCHANT_SECRET}}"); IRestResponse response = client.Execute(request); ``` ```swift Create Nium payin request import Foundation let headers = ["x-secret": "{{FINMO_MERCHANT_SECRET}}"] let request = NSMutableURLRequest(url: NSURL(string: "https://https/api/v1/payins")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ### Finmo: Create VA_PAYIN request **Response** ```json { "payCode": { "bankInfo": { "bankName": "DBS BANK LTD", "bankAddress": "12 MARINA BOULEVARD, MARINA BAY FINANCIAL CENTRE, SINGAPORE", "bankCountry": "SG", "accountNumber": "8854400237964381" }, "routingInfo": [ { "routingCode": "BIC_SWIFT", "routingValue": "DBSSSGSGXXX" } ] }, "createdAt": "2025-10-03T06:46:50.832Z", "createdBy": "merch-01k0rc69p8a5m6k5c9h1d3rf90", "updatedAt": "2025-10-03T06:46:52.382Z", "updatedBy": "merch-01k0rc69p8a5m6k5c9h1d3rf90", "pspPayinId": "payin_3e1ba6572e644faa9c17af39f5d53a5c", "transaction": { "pspId": "finmo", "amount": 2, "currency": "SGD", "createdAt": "2025-10-03T06:46:50.830Z", "createdBy": "merch-01k0rc69p8a5m6k5c9h1d3rf90", "requestId": "1ca4f8a8-9400-4818-8fc5-292cb1746453", "updatedAt": "2025-10-03T06:46:52.378Z", "updatedBy": "merch-01k0rc69p8a5m6k5c9h1d3rf90", "customerId": "null", "merchantId": "merch-01k0rc69p8a5m6k5c9h1d3rf90", "webhookUrl": "https://sandbox.manisconnect.net/api/v1/merchant/merch-01k0rc69p8a5m6k5c9h1d3rf90/webhook/2", "paymentType": "VIRTUAL_ACCOUNT", "pspTransactionId": "txn_750743b683c542429a7bde959a142246", "manisTransactionId": "txn-01k6md5jpeq7c3kctkb3n6b7bw", "manisTransactionStatus": "COMPLETED" }, "pspPayinMethod": "sg_bank_acct_sgd", "manisTransactionId": "txn-01k6md5jpeq7c3kctkb3n6b7bw" } ``` **SDK Code** ```python Finmo: Create VA_PAYIN request import requests url = "https://https/api/v1/payins" headers = {"x-secret": "{{FINMO_MERCHANT_SECRET}}"} response = requests.post(url, headers=headers) print(response.json()) ``` ```javascript Finmo: Create VA_PAYIN request const url = 'https://https/api/v1/payins'; const options = {method: 'POST', headers: {'x-secret': '{{FINMO_MERCHANT_SECRET}}'}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go Finmo: Create VA_PAYIN request package main import ( "fmt" "net/http" "io" ) func main() { url := "https://https/api/v1/payins" req, _ := http.NewRequest("POST", url, nil) req.Header.Add("x-secret", "{{FINMO_MERCHANT_SECRET}}") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Finmo: Create VA_PAYIN request require 'uri' require 'net/http' url = URI("https://https/api/v1/payins") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["x-secret"] = '{{FINMO_MERCHANT_SECRET}}' response = http.request(request) puts response.read_body ``` ```java Finmo: Create VA_PAYIN request import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://https/api/v1/payins") .header("x-secret", "{{FINMO_MERCHANT_SECRET}}") .asString(); ``` ```php Finmo: Create VA_PAYIN request request('POST', 'https://https/api/v1/payins', [ 'headers' => [ 'x-secret' => '{{FINMO_MERCHANT_SECRET}}', ], ]); echo $response->getBody(); ``` ```csharp Finmo: Create VA_PAYIN request using RestSharp; var client = new RestClient("https://https/api/v1/payins"); var request = new RestRequest(Method.POST); request.AddHeader("x-secret", "{{FINMO_MERCHANT_SECRET}}"); IRestResponse response = client.Execute(request); ``` ```swift Finmo: Create VA_PAYIN request import Foundation let headers = ["x-secret": "{{FINMO_MERCHANT_SECRET}}"] let request = NSMutableURLRequest(url: NSURL(string: "https://https/api/v1/payins")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ### Finmo: Create QR_PAYMENT request **Response** ```json { "payCode": { "bankInfo": { "bankName": "string", "bankAddress": "string", "bankCountry": "string", "accountNumber": "string" }, "routingInfo": [], "qrCode": { "qrCode": "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", "qrCodeText": "49855469882789208067SG.PAYNOW7422464405202335160D81934112420504096524844QRPAYINCZW8ENL8K93N4R6QI1S49GF1F3586936094832144467473.010423356462NA5728SINGAPORE41280320QRPAYINCZW8ENL8K93N4R6QI1S49GF1FAKJSUC79" } }, "createdAt": "2025-10-03T07:01:21.398Z", "createdBy": "merch-01k0rc69p8a5m6k5c9h1d3rf90", "updatedAt": "2025-10-03T07:01:22.696Z", "updatedBy": "merch-01k0rc69p8a5m6k5c9h1d3rf90", "pspPayinId": "payin_6a22da8eac8941a89893bf32af0bd6fb", "transaction": { "pspId": "finmo", "amount": 2, "currency": "SGD", "createdAt": "2025-10-03T07:01:21.396Z", "createdBy": "merch-01k0rc69p8a5m6k5c9h1d3rf90", "requestId": "fc0d1644-e684-4b84-b97b-33f03419e024", "updatedAt": "2025-10-03T07:01:22.691Z", "updatedBy": "merch-01k0rc69p8a5m6k5c9h1d3rf90", "customerId": "null", "merchantId": "merch-01k0rc69p8a5m6k5c9h1d3rf90", "webhookUrl": "https://sandbox.manisconnect.net/api/v1/merchant/merch-01k0rc69p8a5m6k5c9h1d3rf90/webhook/2", "paymentType": "QR_CODE", "pspTransactionId": "string", "manisTransactionId": "txn-01k6me04vmtc4a7bmwh3jgy6bh", "manisTransactionStatus": "EXCEPTION" }, "pspPayinMethod": "sg_bank_paynowqr_sgd", "manisTransactionId": "txn-01k6me04vmtc4a7bmwh3jgy6bh" } ``` **SDK Code** ```python Finmo: Create QR_PAYMENT request import requests url = "https://https/api/v1/payins" headers = {"x-secret": "{{FINMO_MERCHANT_SECRET}}"} response = requests.post(url, headers=headers) print(response.json()) ``` ```javascript Finmo: Create QR_PAYMENT request const url = 'https://https/api/v1/payins'; const options = {method: 'POST', headers: {'x-secret': '{{FINMO_MERCHANT_SECRET}}'}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go Finmo: Create QR_PAYMENT request package main import ( "fmt" "net/http" "io" ) func main() { url := "https://https/api/v1/payins" req, _ := http.NewRequest("POST", url, nil) req.Header.Add("x-secret", "{{FINMO_MERCHANT_SECRET}}") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Finmo: Create QR_PAYMENT request require 'uri' require 'net/http' url = URI("https://https/api/v1/payins") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["x-secret"] = '{{FINMO_MERCHANT_SECRET}}' response = http.request(request) puts response.read_body ``` ```java Finmo: Create QR_PAYMENT request import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://https/api/v1/payins") .header("x-secret", "{{FINMO_MERCHANT_SECRET}}") .asString(); ``` ```php Finmo: Create QR_PAYMENT request request('POST', 'https://https/api/v1/payins', [ 'headers' => [ 'x-secret' => '{{FINMO_MERCHANT_SECRET}}', ], ]); echo $response->getBody(); ``` ```csharp Finmo: Create QR_PAYMENT request using RestSharp; var client = new RestClient("https://https/api/v1/payins"); var request = new RestRequest(Method.POST); request.AddHeader("x-secret", "{{FINMO_MERCHANT_SECRET}}"); IRestResponse response = client.Execute(request); ``` ```swift Finmo: Create QR_PAYMENT request import Foundation let headers = ["x-secret": "{{FINMO_MERCHANT_SECRET}}"] let request = NSMutableURLRequest(url: NSURL(string: "https://https/api/v1/payins")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ### Payin_Create payin request_example **Request** ```json "{\n \"requestId\": \"{{$randomUUID}}\", //required\n \"pspId\": \"{{pspId}}\", //optional, if not provided will trigger pspSelection logic\n \"amount\": 2, //required\n \"currency\": \"AUD\", //required\n \"country\": \"AU\", //required\n \"manisPaymentMethodName\": \"Swift\", //required\n \"paymentFlow\": \"MANUAL\", //required\n \"paymentType\": \"MASTER_GLOBAL_ACCOUNT\", //required\n \"customerId\": \"cus-01k0vcb1c1bqvsqyvvwxmes2qt\", //optional\n \"virtualAccountId\": \"\" //optional\n}" ``` **Response** ```json { "payCode": { "bankInfo": { "bankName": "string", "bankAddress": "string", "bankCountry": "string", "accountNumber": "string" }, "routingInfo": [ { "routingCode": "SWIFT Code", "routingValue": "CITISGSG" } ] }, "createdAt": "2025-10-03T07:03:43.097Z", "createdBy": "merch-01k0rc69p8a5m6k5c9h1d3rf90", "updatedAt": "2025-10-03T07:03:44.935Z", "updatedBy": "merch-01k0rc69p8a5m6k5c9h1d3rf90", "pspPayinId": "PR005512", "transaction": { "pspId": "nium", "amount": 2, "currency": "SGD", "createdAt": "2025-10-03T07:03:43.093Z", "createdBy": "merch-01k0rc69p8a5m6k5c9h1d3rf90", "requestId": "8a9a4c28-b973-4fb2-8915-15f06b7d4e40", "updatedAt": "2025-10-03T07:03:44.929Z", "updatedBy": "merch-01k0rc69p8a5m6k5c9h1d3rf90", "customerId": "cus-01k0s6n7ad06fcqpwb7qrgxn02", "merchantId": "merch-01k0rc69p8a5m6k5c9h1d3rf90", "webhookUrl": "https://sandbox.manisconnect.net/api/v1/merchant/merch-01k0rc69p8a5m6k5c9h1d3rf90/webhook/3", "paymentType": "VIRTUAL_ACCOUNT", "pspTransactionId": "string", "manisTransactionId": "txn-01k6me4f7nvv65h0zhjp90tmjg", "manisTransactionStatus": "EXCEPTION" }, "pspPayinMethod": "GLOBAL", "manisTransactionId": "txn-01k6me4f7nvv65h0zhjp90tmjg" } ``` **SDK Code** ```python Payin_Create payin request_example import requests url = "https://https/api/v1/payins" payload = "{ \"requestId\": \"{{$randomUUID}}\", //required \"pspId\": \"{{pspId}}\", //optional, if not provided will trigger pspSelection logic \"amount\": 2, //required \"currency\": \"AUD\", //required \"country\": \"AU\", //required \"manisPaymentMethodName\": \"Swift\", //required \"paymentFlow\": \"MANUAL\", //required \"paymentType\": \"MASTER_GLOBAL_ACCOUNT\", //required \"customerId\": \"cus-01k0vcb1c1bqvsqyvvwxmes2qt\", //optional \"virtualAccountId\": \"\" //optional }" headers = { "x-secret": "{{FINMO_MERCHANT_SECRET}}", "Content-Type": "application/json" } response = requests.post(url, json=payload, headers=headers) print(response.json()) ``` ```javascript Payin_Create payin request_example const url = 'https://https/api/v1/payins'; const options = { method: 'POST', headers: {'x-secret': '{{FINMO_MERCHANT_SECRET}}', 'Content-Type': 'application/json'}, body: '"{\n \"requestId\": \"{{$randomUUID}}\", //required\n \"pspId\": \"{{pspId}}\", //optional, if not provided will trigger pspSelection logic\n \"amount\": 2, //required\n \"currency\": \"AUD\", //required\n \"country\": \"AU\", //required\n \"manisPaymentMethodName\": \"Swift\", //required\n \"paymentFlow\": \"MANUAL\", //required\n \"paymentType\": \"MASTER_GLOBAL_ACCOUNT\", //required\n \"customerId\": \"cus-01k0vcb1c1bqvsqyvvwxmes2qt\", //optional\n \"virtualAccountId\": \"\" //optional\n}"' }; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go Payin_Create payin request_example package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://https/api/v1/payins" payload := strings.NewReader("\"{\\n \\\"requestId\\\": \\\"{{$randomUUID}}\\\", //required\\n \\\"pspId\\\": \\\"{{pspId}}\\\", //optional, if not provided will trigger pspSelection logic\\n \\\"amount\\\": 2, //required\\n \\\"currency\\\": \\\"AUD\\\", //required\\n \\\"country\\\": \\\"AU\\\", //required\\n \\\"manisPaymentMethodName\\\": \\\"Swift\\\", //required\\n \\\"paymentFlow\\\": \\\"MANUAL\\\", //required\\n \\\"paymentType\\\": \\\"MASTER_GLOBAL_ACCOUNT\\\", //required\\n \\\"customerId\\\": \\\"cus-01k0vcb1c1bqvsqyvvwxmes2qt\\\", //optional\\n \\\"virtualAccountId\\\": \\\"\\\" //optional\\n}\"") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("x-secret", "{{FINMO_MERCHANT_SECRET}}") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Payin_Create payin request_example require 'uri' require 'net/http' url = URI("https://https/api/v1/payins") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["x-secret"] = '{{FINMO_MERCHANT_SECRET}}' request["Content-Type"] = 'application/json' request.body = "\"{\\n \\\"requestId\\\": \\\"{{$randomUUID}}\\\", //required\\n \\\"pspId\\\": \\\"{{pspId}}\\\", //optional, if not provided will trigger pspSelection logic\\n \\\"amount\\\": 2, //required\\n \\\"currency\\\": \\\"AUD\\\", //required\\n \\\"country\\\": \\\"AU\\\", //required\\n \\\"manisPaymentMethodName\\\": \\\"Swift\\\", //required\\n \\\"paymentFlow\\\": \\\"MANUAL\\\", //required\\n \\\"paymentType\\\": \\\"MASTER_GLOBAL_ACCOUNT\\\", //required\\n \\\"customerId\\\": \\\"cus-01k0vcb1c1bqvsqyvvwxmes2qt\\\", //optional\\n \\\"virtualAccountId\\\": \\\"\\\" //optional\\n}\"" response = http.request(request) puts response.read_body ``` ```java Payin_Create payin request_example import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://https/api/v1/payins") .header("x-secret", "{{FINMO_MERCHANT_SECRET}}") .header("Content-Type", "application/json") .body("\"{\\n \\\"requestId\\\": \\\"{{$randomUUID}}\\\", //required\\n \\\"pspId\\\": \\\"{{pspId}}\\\", //optional, if not provided will trigger pspSelection logic\\n \\\"amount\\\": 2, //required\\n \\\"currency\\\": \\\"AUD\\\", //required\\n \\\"country\\\": \\\"AU\\\", //required\\n \\\"manisPaymentMethodName\\\": \\\"Swift\\\", //required\\n \\\"paymentFlow\\\": \\\"MANUAL\\\", //required\\n \\\"paymentType\\\": \\\"MASTER_GLOBAL_ACCOUNT\\\", //required\\n \\\"customerId\\\": \\\"cus-01k0vcb1c1bqvsqyvvwxmes2qt\\\", //optional\\n \\\"virtualAccountId\\\": \\\"\\\" //optional\\n}\"") .asString(); ``` ```php Payin_Create payin request_example request('POST', 'https://https/api/v1/payins', [ 'body' => '"{\\n \\"requestId\\": \\"{{$randomUUID}}\\", //required\\n \\"pspId\\": \\"{{pspId}}\\", //optional, if not provided will trigger pspSelection logic\\n \\"amount\\": 2, //required\\n \\"currency\\": \\"AUD\\", //required\\n \\"country\\": \\"AU\\", //required\\n \\"manisPaymentMethodName\\": \\"Swift\\", //required\\n \\"paymentFlow\\": \\"MANUAL\\", //required\\n \\"paymentType\\": \\"MASTER_GLOBAL_ACCOUNT\\", //required\\n \\"customerId\\": \\"cus-01k0vcb1c1bqvsqyvvwxmes2qt\\", //optional\\n \\"virtualAccountId\\": \\"\\" //optional\\n}"', 'headers' => [ 'Content-Type' => 'application/json', 'x-secret' => '{{FINMO_MERCHANT_SECRET}}', ], ]); echo $response->getBody(); ``` ```csharp Payin_Create payin request_example using RestSharp; var client = new RestClient("https://https/api/v1/payins"); var request = new RestRequest(Method.POST); request.AddHeader("x-secret", "{{FINMO_MERCHANT_SECRET}}"); request.AddHeader("Content-Type", "application/json"); request.AddParameter("application/json", "\"{\\n \\\"requestId\\\": \\\"{{$randomUUID}}\\\", //required\\n \\\"pspId\\\": \\\"{{pspId}}\\\", //optional, if not provided will trigger pspSelection logic\\n \\\"amount\\\": 2, //required\\n \\\"currency\\\": \\\"AUD\\\", //required\\n \\\"country\\\": \\\"AU\\\", //required\\n \\\"manisPaymentMethodName\\\": \\\"Swift\\\", //required\\n \\\"paymentFlow\\\": \\\"MANUAL\\\", //required\\n \\\"paymentType\\\": \\\"MASTER_GLOBAL_ACCOUNT\\\", //required\\n \\\"customerId\\\": \\\"cus-01k0vcb1c1bqvsqyvvwxmes2qt\\\", //optional\\n \\\"virtualAccountId\\\": \\\"\\\" //optional\\n}\"", ParameterType.RequestBody); IRestResponse response = client.Execute(request); ``` ```swift Payin_Create payin request_example import Foundation let headers = [ "x-secret": "{{FINMO_MERCHANT_SECRET}}", "Content-Type": "application/json" ] let parameters = "{ \"requestId\": \"{{$randomUUID}}\", //required \"pspId\": \"{{pspId}}\", //optional, if not provided will trigger pspSelection logic \"amount\": 2, //required \"currency\": \"AUD\", //required \"country\": \"AU\", //required \"manisPaymentMethodName\": \"Swift\", //required \"paymentFlow\": \"MANUAL\", //required \"paymentType\": \"MASTER_GLOBAL_ACCOUNT\", //required \"customerId\": \"cus-01k0vcb1c1bqvsqyvvwxmes2qt\", //optional \"virtualAccountId\": \"\" //optional }" as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://https/api/v1/payins")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ```