Partners
Merchants
Create merchants, bind payout wallets, and set settlement mode.
Partners create Orqpay merchants for their tenants. Merchants typically do not use the Orqpay merchant dashboard.
Create a merchant
curl -X POST http://api.localhost:4000/v1/partner/merchants \
-H "Authorization: Bearer pt_test_..." \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"externalTenantId": "your-tenant-id",
"email": "[email protected]",
"name": "Tenant display name"
}'| Field | Required | Notes |
|---|---|---|
externalTenantId | Yes | Your stable tenant id (unique per partner) |
email | Yes | Contact email |
name | Yes | Display name |
metadata | No | Opaque JSON object |
Idempotent on externalTenantId and on Idempotency-Key. Fee fields in the body are rejected.
Response includes merchantId, externalTenantId, bindUrl (when available), and settlement flags.
List and get
GET /v1/partner/merchants— your merchants onlyGET /v1/partner/merchants/{merchantId}— detail; unknown ids →404
Wallet bind
Before realtime settlement, the merchant’s payout wallet must be bound via Orqpay-hosted flow:
- Use
bindUrlfrom create/get, or mint a fresh link:
curl -X POST http://api.localhost:4000/v1/partner/merchants/{merchantId}/bind-url \
-H "Authorization: Bearer pt_test_..." \
-H "Content-Type: application/json" \
-d '{}'- Open the URL (Orqpay checkout host)
- Merchant connects their wallet and completes the bind
Links expire after a limited time; mint a new one if needed. You cannot set a withdrawal address with a raw PATCH — only the bind flow.
Settlement mode
curl -X PATCH http://api.localhost:4000/v1/partner/merchants/{merchantId} \
-H "Authorization: Bearer pt_test_..." \
-H "Content-Type: application/json" \
-d '{ "autoPayoutEnabled": true }'autoPayoutEnabled | Behavior |
|---|---|
true | After payment settles, net goes to the bound wallet |
false | Net is held for later withdrawal (balances / payouts API coming soon) |
Enabling true requires a completed wallet bind.