Integration Flow
Learn about the API you need to integrate with to use ZWITCH's Bulk Transfer service.
The figure below shows the steps you need to follow to integrate our bulk transfer APIs in your application.
Follow the below steps to initiate a bulk transfer:
- [Prerequisite] Create Virtual Account used as Transfer Wallet.
- Create Bulk Transfer
1. [Prerequisite] Create Virtual Account used as Transfer Wallet:
Create a virtual account used as a transfer wallet using our Create Virtual Account used as Transfer Wallet API.
Use the below endpoint to create a virtual account used as a transfer wallet.
POST: https://api.zwitch.io/v1/accounts
Shown below is the sample request and sample response for Create Virtual Account used as Transfer Wallet API.
{
"type": "virtual",
"used_as": "wallet",
"name": "Anil Reddy",
"mobile_number": "9876543210",
"email": "[email protected]",
"bank_name": "axis_bank",
"kyc": {
"city": "Bangalore",
"postal_code": "560005",
"state_code": "KA",
"pan": "AAAPA0000A",
"business_type": "partnership",
"pan_verification_id": "pan_teJfU3K93LKeUao3alujrW6GP",
"business_category": "garage_owners",
"contact_person": "Rahul Reddy"
},
"whitelisted_remitters": [
{
"account_number": "012920022013",
"ifsc_code": "ICIC0000001"
}
],
"verified_remitters": [
{
"account_verification_id": "accver_6CvEoAbsjTHW0WGS8zNYechGh",
"name_match_id": "nm_A8riptxJqooAypvJoqhIRshw7"
}
],
"metadata": {
"key_1": "DD",
"key_2": "XOF"
}
}
{
"id": "va_rFrnBcyuLRApIMbgmyRiiYU33",
"object": "account.virtual",
"type": "virtual",
"used_as": "wallet",
"bank_name": "axis_bank",
"name": "Anil Reddy",
"mobile_number": "9876543210",
"email": "[email protected]",
"account_number": "9515900990572",
"ifsc_code": "UTIB0CCH274",
"vpa": null,
"additional_vpa": [],
"whitelisted_remitters": [
{
"account_number": "012920022013",
"ifsc_code": "ICIC0000001"
}
],
"whitelisted_beneficiaries": [],
"kyc": {
"city": "Bangalore",
"postal_code": "560010",
"state_code": "KA",
"pan": "XXXXXX000A",
"business_type": "partnership",
"business_category": "garage_owners",
"contact_person": "Rahul Reddy",
"pan_verification_id": "pan_teJfU3K93LKeUao3alujrW6GP"
},
"customer": {
"id": "cus_OGOuL7NxzlUj27ECK6T6E0xCR",
"mobile_number": "9876543210"
},
"metadata": {
"key_1": "DD",
"key_2": "XOF"
},
"status": "active",
"created_at": 1707909865,
"is_sandbox": true,
"settlement_account_id": null,
"verified_beneficiaries": [],
"verified_remitters": [
{
"account_verification_id": "accver_6CvEoAbsjTHW0WGS8zNYechGh",
"name_match_id": "nm_A8riptxJqooAypvJoqhIRshw7"
}
]
}
Refer to our Create Virtual Account used as Transfer Wallet API documentation for more information.
2. Create Bulk Transfer
After creating a virtual account used as a transfer wallet and verifying the remitter's bank account. You can add funds to your transfer wallet to make transfers.
You can initiate a bulk transfer by sending us details such as the debit account ID, amount, and transfer details in the API request body.
Use the below endpoint to create a bulk transfer.
POST: https://api.zwitch.io/v2/transfers/bulk
Shown below is a sample request and response for a Bulk Transfer API.
{
"type": "account_number",
"debit_account_id": "va_Zpo4BFKhHIfDijxPP9vzVF6Id",
"transfers": [
{
"beneficiary_details": {
"name_of_account_holder": "Anil Reddy",
"bank_account_number": "414001501942",
"bank_ifsc_code": "ICIC0004140"
},
"amount": 1000,
"payment_mode": "imps",
"currency_code": "inr",
"payment_remark": "Payment using Zwitch",
"merchant_reference_id": "d7edb0e6-c329-44bb-8d8d-5671424e5f6808b",
"metadata": {
"key_1": "DD",
"key_2": "XoF"
}
},
{
"beneficiary_details": {
"name_of_account_holder": "Rahul Reddy",
"bank_account_number": "414001501943",
"bank_ifsc_code": "ICIC0004140"
},
"amount": 1000,
"payment_mode": "imps",
"currency_code": "inr",
"payment_remark": "Payment using Zwitch",
"merchant_reference_id": "d7edb0e6-c329-44bb-8d8d-5671424e5f6808b",
"metadata": {
"key_1": "DD",
"key_2": "XoF"
}
}
],
"bulk_reference_id": "1234522442433222243236"
}
{
"id": "butr_tIuA2cElSs4y54Ih1biX4yFwj",
"object": "bulk_transfer",
"type": "account_number",
"status": "queued",
"debit_account_details": {
"name": "Anil Reddy",
"account_number": "95151838818710",
"ifsc": "UTIB0CCH274"
},
"total_individual_transfers": 2,
"total_transfer_amount": 2000,
"bulk_reference_id": "1234522442433222243236",
"updated_at": 1710855124,
"is_sandbox": true,
"created_at": 1710855124
}
Learn more about the Bulk Transfer API.
Updated 9 months ago