PureBasic / Razorpay APIs / Create a Virtual Account
Back to Collection Items
IncludeFile "CkJsonObject.pb"
IncludeFile "CkHttp.pb"
IncludeFile "CkHttpResponse.pb"
Procedure ChilkatExample()
; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
http.i = CkHttp::ckCreate()
If http.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success.i
CkHttp::setCkBasicAuth(http, 1)
CkHttp::setCkLogin(http, "username")
CkHttp::setCkPassword(http, "password")
; Use this online tool to generate code from sample JSON: Generate Code to Create JSON
; The following JSON is sent in the request body.
; {
; "receivers": {
; "types": [
; "bank_account"
; ]
; },
; "allowed_payers": [
; {
; "type": "bank_account",
; "bank_account": {
; "ifsc": "UTIB0000013",
; "account_number": "914010012345679"
; }
; },
; {
; "type": "bank_account",
; "bank_account": {
; "ifsc": "UTIB0000014",
; "account_number": "914010012345680"
; }
; }
; ],
; "description": "Virtual Account created for Raftar Soft",
; "customer_id": "cust_CaVDm8eDRSXYME",
; "close_by": 1981615838,
; "notes": {
; "project_name": "Banking Software"
; }
; }
json.i = CkJsonObject::ckCreate()
If json.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckUpdateString(json,"receivers.types[0]","bank_account")
CkJsonObject::ckUpdateString(json,"allowed_payers[0].type","bank_account")
CkJsonObject::ckUpdateString(json,"allowed_payers[0].bank_account.ifsc","UTIB0000013")
CkJsonObject::ckUpdateString(json,"allowed_payers[0].bank_account.account_number","914010012345679")
CkJsonObject::ckUpdateString(json,"allowed_payers[1].type","bank_account")
CkJsonObject::ckUpdateString(json,"allowed_payers[1].bank_account.ifsc","UTIB0000014")
CkJsonObject::ckUpdateString(json,"allowed_payers[1].bank_account.account_number","914010012345680")
CkJsonObject::ckUpdateString(json,"description","Virtual Account created for Raftar Soft")
CkJsonObject::ckUpdateString(json,"customer_id","cust_CaVDm8eDRSXYME")
CkJsonObject::ckUpdateInt(json,"close_by",1981615838)
CkJsonObject::ckUpdateString(json,"notes.project_name","Banking Software")
resp.i = CkHttp::ckPostJson3(http,"https://api.razorpay.com/v1/virtual_accounts","application/json",json)
If CkHttp::ckLastMethodSuccess(http) = 0
Debug CkHttp::ckLastErrorText(http)
CkHttp::ckDispose(http)
CkJsonObject::ckDispose(json)
ProcedureReturn
EndIf
Debug Str(CkHttpResponse::ckStatusCode(resp))
Debug CkHttpResponse::ckBodyStr(resp)
CkHttpResponse::ckDispose(resp)
CkHttp::ckDispose(http)
CkJsonObject::ckDispose(json)
ProcedureReturn
EndProcedure
Curl Command
curl -X POST
-u 'username:password'
-d '{
"receivers": {
"types": [
"bank_account"
]
},
"allowed_payers": [
{
"type": "bank_account",
"bank_account": {
"ifsc": "UTIB0000013",
"account_number": "914010012345679"
}
},
{
"type": "bank_account",
"bank_account": {
"ifsc": "UTIB0000014",
"account_number": "914010012345680"
}
}
],
"description": "Virtual Account created for Raftar Soft",
"customer_id": "cust_CaVDm8eDRSXYME",//Replace customer_id
"close_by": 1981615838,
"notes": {
"project_name": "Banking Software"
}
}'
https://api.razorpay.com/v1/virtual_accounts
Postman Collection Item JSON
{
"name": "Create a Virtual Account",
"request": {
"method": "POST",
"header": [
],
"body": {
"mode": "raw",
"raw": "{\n \"receivers\": {\n \"types\": [\n \"bank_account\"\n ]\n },\n \"allowed_payers\": [\n {\n \"type\": \"bank_account\",\n \"bank_account\": {\n \"ifsc\": \"UTIB0000013\",\n \"account_number\": \"914010012345679\"\n }\n },\n {\n \"type\": \"bank_account\",\n \"bank_account\": {\n \"ifsc\": \"UTIB0000014\",\n \"account_number\": \"914010012345680\"\n }\n }\n ],\n \"description\": \"Virtual Account created for Raftar Soft\",\n \"customer_id\": \"cust_CaVDm8eDRSXYME\",//Replace customer_id\n \"close_by\": 1981615838,\n \"notes\": {\n \"project_name\": \"Banking Software\"\n }\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "https://api.razorpay.com/v1/virtual_accounts",
"protocol": "https",
"host": [
"api",
"razorpay",
"com"
],
"path": [
"v1",
"virtual_accounts"
]
},
"description": "You can create a virtual account using this <a href=\"https://razorpay.com/docs/api/smart-collect-tpv/#create-virtual-account\" target=\"_blank\">API</a>."
},
"response": [
]
}