v1
latestOpenAPI 3.1.02026-07-2469193340.0 KBContacts (Receivable)
Add a Receivable Contact
Receive funds from a Contact by allowing them to pay to a personalised PayID or account number. Perfect for reconciling incoming funds to a customer, receiving funds instantly, eliminating human error & improving your customer's experience.
<aside class="notice"> To enable this feature, please contact our support team with the following information: <li>Your full legal business name</li> <li>A legally owned domain name: for your PayID email addresses</li> <li><strong>alias_name</strong>: the business name that will be displayed to your customers upon PayID resolution. We suggest using a shortened name appropriate for mobile displays</li> </aside> <aside class="notice"> There are two strategies supported for PayID assignment when creating this type of Contact: <li><strong>On-demand PayID</strong>: provide a <code>payid_email</code> and we'll create a contact and register a PayID with the given email address. The PayID registration process happens when the request is received. The initial response for <code>payid_details.state</code> will always be <code>pending</code>. It will transition to <code>active</code> when the PayID registration process is complete. This can take up to a few seconds. You can use webhooks to be informed of this state change.</li> <li><strong>Pooled PayID</strong>: provide your <code>payid_email_domain</code> and we'll create a contact and assign them a PayID from your pool. Pooled PayIDs are pre-registered. The PayID email value is generated using a random value and the email domain from your PayID pool configuration. Providing both <code>payid_email</code> and <code>payid_email_domain</code> will ignore your pool and use the "On-demand PayID" strategy instead.</li> </aside> <aside class="notice"> While unlikely, it is possible that we will be unable to register the given PayID. In this case <code>payid_details.state</code> will transition to <code>failed</code>.You can simulate this path in sandbox by adding <code>+failure</code> to your <code>payid_email</code> e.g <code>test+failure@zeptopayments.com</code>
</aside> <aside class="notice"> You can test receiving payments to a Receivable Contact in our sandbox environment using the <a href="https://docs.zeptopayments.com/reference/simulateincomingpayidpayment">PayID simulation endpoint</a>. </aside>post/contacts/receivable
Request body
Example request
{
"name": "Delphine Jestin",
"email": "delphine@gmail.com",
"payid_email": "delphine_123@merchant.com.au",
"metadata": {
"custom_key": "Custom string",
"another_custom_key": "Maybe a URL"
}
}Response
Created
Example response
{
"data": {
"id": "6a7ed958-f1e8-42dc-8c02-3901d7057357",
"name": "Delphine Jestin",
"email": "delphine@gmail.com",
"type": "anyone",
"metadata": {
"custom_key": "Custom string",
"another_custom_key": "Maybe a URL"
},
"bank_account": {
"id": "55afddde-4296-4daf-8e49-7ba481ef9608",
"account_number": "1408281",
"branch_code": "802919",
"bank_name": "Zepto Float Account",
"state": "active",
"iav_provider": null,
"iav_status": null,
"blocks": {
"debits_blocked": false,
"credits_blocked": false
}
},
"anyone_account": {
"id": "77be6ecc-5fa7-454b-86d6-02a5f147878d"
},
"payid_details": {
"alias_value": "delphine_123@merchant.com.au",
"alias_type": "email",
"alias_name": "your merchant's alias_name",
"state": "pending"
}
}
}