Create Payment
POST /payto/payments
Overview
Once the NPP has received the PayTo Payment Initiation request, we should expect to find out the final payment status within a few seconds. Please note that the NPP has SLAs built in to around 30 seconds for any outliers.
Once we receive the final payment status report from the NPP, we will trigger a payment status webhook to your application containing the outcome: Payment Successful or Payment Failed.
Once a PayTo Payment has been submitted onto the NPP Basic Infrastructure, it is irrevocable and can not be cancelled; funds are cleared & settled between the debtor and creditor account in real-time.
PayTo Payment Lifecycle
Standard Payment
- Created
- Submitted
- Settled or Failed
Delayed Payment
- Created
- Submitted
- Pending
- Settled or Failed
Under Investigation
- Created
- Submitted
- Pending
- Under Investigation
- Settled or Failed
Request Headers
Authorization: Bearer <access_token>
Content-Type: application/json
Accept: application/json
Request Body
Here are some key fields in the request payload, please check the API Reference for more details.
| Field | Type | Required | Description |
|---|---|---|---|
uid | string | Yes | The supplied unique identifier for the Agreement. This identifier ensures agreement uniqueness between integrator systems and Oligo. |
agreement_uid | string | Yes | The unique PayTo Agreement UID to validate this payment against. |
amount | integer | Yes | The amount (in cents) to be collected from the debtor account. |
priority | string | Yes | Execution priority of payment. attended payments will be prioritised over unattended payments. For example: Attended: E-commerce style checkout experiences.Unattended: Loan collections |
Successful Response
{
"data": {
"uid": "<your_payment_uid>",
"agreement_uid": "<your_agreement_uid>",
"state": "created",
"amount": 2888,
"priority": "unattended",
"creditor": {
"party_name": "The name of the creditor party for this agreement.",
"ultimate_party_name": "The name of the creditor party for this agreement.",
"account_identifier": {
"type": "bban",
"value": "123456-98765432"
}
},
"debtor": {
"ultimate_party_name": "John Doe",
"party_name": "John Doe",
"account_identifier": {
"type": "bban",
"value": "123456-78901234"
}
},
"links": {
"self": "/payto/payments/<your_payment_uid>",
"agreement": "/payto/agreements/<your_agreement_uid>"
}
}
}
Try It
You can test this endpoint using the following cURL command:
curl --request POST \
--url 'https://api-sandbox.oligo.com.au/v1/payto/payments' \
--header 'accept: application/json' \
--header 'authorization: Bearer <your_token>' \
--header 'content-type: application/json' \
--data '{
"uid": "<your_payment_uid>",
"agreement_uid": "<your_agreement_uid>",
"amount": 2888,
"priority": "unattended"
}'