Note: This article is relevant to merchants integrating with Zepto in Australia.
A Payment Request (PR) is essentially a direct debit where you are requesting payment from one of your customers. Requesting payment from your customers is a simple process and you can do so via both the UI as well as our API.
To be able to direct debit your customer, you will first need to have a valid Agreement
in place. This is also a simple process and is described in detail in the following article:
Once your customers have accepted an Agreement and exist as a contact in your account, they are ready to be debited. A Payment Request can be made using:
Payment Request using the UI
Now that you have a contact setup and an agreement in place you can go ahead and direct debit your contact by following these steps:
Login to your Zepto dashboard.
Click on
Payment Request
found from the left menu barClick on
Request Payment
found on the right corner of the screenIn the Details section, add all the relevant details, such as
-To account
- account you want the funds to settle into
-Authoriser contact
- the contact who you will be direct debiting
-Description
- your contact will see the first 9 characters of this description
-Request type
- select fromSingle
,Recurring
orInitial + Recurring
Add the
Amount
and theRequest date
Click on
Request Payment
You will notice that the payment request is now created and can be found in the Outgoing payment request
the section found on the Payment Requests
page.
Fig. Payment Request using UI
Payment Request using the API
Requesting payment from your customers is a simple process and our API is extensively documented so along with this article you'll be taking payments in no time.
Once your customers have accepted an Agreement and exist as a contact in your account, they are ready to be debited. This can be as simple as one POST to the following API endpoint:
"https://api.sandbox.split.cash/payment_requests"
An example payload that could be sent to this endpoint with your request is shown below. This example is in the Ruby programming language and should be modified to meet your languages requirements.
payload = {
"description": "Visible to both initiator and authoriser",
"matures_at": "2016-12-19T02:10:56Z",
"amount": 99000,
"authoriser_contact_id": "de86472c-c027-4735-a6a7-234366a27fc7",
"your_bank_account_id": "9c70871d-8e36-4c3e-8a9c-c0ee20e7c679",
"metadata": {
"custom_key": "Custom string",
"another_custom_key": "Maybe a URL"
}
}
A Full example of this API call is located on our API Documentation Page
The above API call will create a request for payment from the contact that you have specified in the authoriser_contact_id
field. The amount
field is given in cents, so, in the above example, the field "amount": 99000
is equal to requesting $990.00 from this contact. We'll send all of this information back to you in a response similar to the following.
{
"data": {
"ref": "PR.3",
"initiator_id": "ca7bc5b3-e47f-4153-96fb-bbe326b42772",
"authoriser_id": "970e4526-67d9-4ed9-b554-f5cf390ab775",
"authoriser_contact_id": "de86472c-c027-4735-a6a7-234366a27fc7",
"schedule_ref": null,
"status": "pending_approval",
"responded_at": null,
"created_at": "2016-12-19T02:10:56Z",
"credit_ref": null,
"payout": {
"amount": 99000,
"description": "The elite package for 4",
"matures_at": "2016-12-25T00:00:00Z"
},
"metadata": {
"custom_key": "Custom string",
"another_custom_key": "Maybe a URL"
}
}
}
If the amount
specified in the Request is within the terms set out in the Agreement, this Payment Request will be automatically approved and will begin processing. In the case where the amount is outside of the terms set out in the Agreement, it will give you the following error :
The Payment Request to Contact Name exceeds the terms of agreements.
What Happens Now?
Now that you have requested payment from your customer, you will most likely want to follow the status of the Debit and Credit sides of this transaction. This can easily be done by utilising our Webhook Notifications.
You can also access all transactional data using your accounts dashboard and built-in Reporting Features.
Feel free to reach out if you have further questions by emailing us directly at support@zepto.com.au or clicking on the blue bubble icon from the corner of the screen.