Onboarding Child Merchants Workflow - Split Settlements
After you create a merchant using the Create a PayU Merchant API, you can onboard child merchants. For more information, refer to Create Merchant API under API Reference.
The steps involved in creating a child merchant are:
Note:
Before you onboard child merchants, ensure you have followed the Prerequisites (one-time).
Domains
Common onboarding
Test Environment | https://uat-onepayuonboarding.payu.in |
Production Environment | https://onboarding.payu.in |
Hub service domains
Test Environment | https://uat-accounts.payu.in |
Production Environment | https://accounts.payu.in |
Prerequisites
Before you onboard child merchants, you need to ensure the following (one-time process):
- Caller client service should be registered on Hub (PayU’s oAuth2 Service ) with the details as described in the following table:
Field | Description |
---|---|
Customer Name | The legal name of the customer. |
Customer Service Name | The service name of the customer. |
Customer Owner phone number | The phone number of the owner who is assigned for the customer. |
Customer Owner Email | The customer owner’s email ID. |
Scopes | The scope to be whitelisted on the client must be refer_child_merchant |
Grant type | The grant type must be specified as client_credentials in this field. |
Client type | Provide External as input since you are outside the PayU ecosystem. |
Access Token Expiry Time | The access token expiry time from the times of creation (in seconds). There is no defined limit for configuring the access token expiry time. |
Step 1: Get client token
Use the Get Client Token API with the scope as refer_child_merchant to create a client token from Hub. For more information, refer to Get Client Token API
Step 2: Create a child merchant
You can create child merchants using the Create Child Merchant API. For more information, refer to Create Child Merchant API under API Reference.
Sample request
curl --location -g --request POST '{{onboarding_base_url}}/api/v1/merchants' \
--header 'Authorization: Bearer {{access_token}}
--data-raw '{
"merchant": {
"product": "PayUbiz",
"name": "child agg test",
"email": "[email protected]",
"mobile": "8447640850",
"aggregator_parent_mid": "8020009",
"merchant_type": "aggregator",
"pancard_number”:”Harsh “Agarwal,
"business_entity_id”:2,
"business_category_id": 37,
"business_sub_category_id": 313,
"gst_number": "09ABQFA5416M1ZX",
"monthly_expected_volume": 300000,
“business_name”:”Harsh Agarwal”
"bank_detail": {
"bank_account_number": "6633809947434",
"holder_name”:”Harsh Agarwal”,
"ifsc_code": "ICIC0000031"
}
}
}'
Sample Response
Success Scenario
Create Child Merchant Success Scenario
{
"merchant": {
"name": "Merchant",
"email": "[email protected]", // email
"registered_mobile": "8860890286",
"id": 13131,
"mid": 8006727, // MID of Child merchant
"test_mid": null,
"uuid": "11ec-29e1-9b1030da-a0b8-02053299b2da", // Child merchant uuid
"product": "PayUbiz",
"device": "Other",
"business_type": "LongTail",
"quality_score": null,
"display_name": "Merchant",
"account_id": null,
"business_entity_id": null,
"business_category_id": null,
"business_sub_category_id": null,
"business_name": null,
"pancard_name": null,
"pancard_number": null,
"website_url": null,
"android_url": null,
"ios_url": null,
"business_origin": "SMB-ENT",
"gst_number": null,
"integration_type": "Not Selected",
"routing_mid": null,
"average_delivery_time": null,
"downjones_check": null,
"aggregator_model": null,
"aggregator_type": null,
"monthly_expected_volume": null,
"sap_id": null,
"source_type": null,
"active": true,
"source_url": null,
"campaign_name": null,
"campaign_medium": null,
"campaign_source": null,
"campaign_term": null,
"partner_uuid": null,
"created_at": "2021-10-10T15:49:14.000Z",
"updated_at": "2021-10-10T15:49:14.000Z",
"admin_user_id": 10050,
"mobile": "8860890286",
"terms_and_condition_accepted_at": null,
"website_approval_status": null,
"sub_source": null,
"account_uuid": null,
"blocked": false,
"pan_verification_status": "Pending",
"website_remarks": null,
"settlement_status": null,
"source_details": null,
"merchant_vertical": null,
"notification_email": "[email protected]",
"bank_update_attempt_count": 0,
"partner_source": null,
"flag": 32,
"integration_status": "Not Integrated",
"merchant_type": "child_aggregator",
"gmv_amount": null,
"shop_number": null,
"area_code": null,
"bank_update_attempt_left": 11,
"business_entity_uuid": null,
"business_category_uuid": null,
"business_sub_category_uuid": null,
"first_name": "",
"last_name": "Merchant",
"is_service_agreement_accepted": false,
"is_service_agreement_esigned": false,
"is_authorisation_letter_required": true,
"acl_role_name": null,
"dashboard_preference": "one_dashboard",
"next_bank_update_time": "2021-10-10T21:19:14.916+05:30",
"business_pan_name_match": false,
"admin_user_uuid": "11ec-29e1-b00fb80c-9f40-02f413145cce",
"contact_details": [],
"migration_status": 0,
"saved_kyc_address": null,
"document_status": "Pending",
"kyc_status": {
"kyc_status": "LOCKED"
},
"service_intent": "default",
"revamp_merchant": true,
"is_cs_eligible": true,
"bank_detail": null,
"operating_address": null,
"registration_address": null,
"business_entity": null,
"merchant_statuses": [
{
"id": 28277,
"record_type": "Merchant",
"record_id": 13131,
"status_type": "WEBSITE",
"status_value": null,
"uuid": "11ec-29e1-9e9a998e-a0b8-02053299b2da",
"created_at": "2021-10-10T15:49:14.000Z",
"updated_at": "2021-10-10T15:49:14.000Z"
},
{
"id": 28278,
"record_type": "Merchant",
"record_id": 13131,
"status_type": "KYC_DOCUMENTS",
"status_value": "Pending",
"uuid": "11ec-29e1-9ea4fc94-a0b8-02053299b2da",
"created_at": "2021-10-10T15:49:14.000Z",
"updated_at": "2021-10-10T15:49:14.000Z"
},
{
"id": 28279,
"record_type": "Merchant",
"record_id": 13131,
"status_type": "Agreement",
"status_value": "Not Generated",
"uuid": "11ec-29e1-9eafdc2c-a0b8-02053299b2da",
"created_at": "2021-10-10T15:49:14.000Z",
"updated_at": "2021-10-10T15:49:14.000Z"
}
],
"account_statuses": [],
"website_detail": null,
"attached_configs": [],
"kyc_documents": [],
"cs_plan": null,
"website_pages": [],
"product_account_detail": null
}
}
Failure Scenarios
- The token is invalid or expired
{
"status": "Unauthorized"
}
After you onboard your child merchants, you can fetch the child merchant details as described in the following section:
- Fetch Child Merchants Details under API Reference
Updated 1 day ago