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:

  1. Login to your Zepto dashboard.

  2. Click on Payment Request found from the left menu bar

  3. Click on Request Payment found on the right corner of the screen

  4. In 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 from Single, Recurring or Initial + Recurring

  5. Add the Amount and the Request date

  6. 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.

Did this answer your question?