The ID of the payment request
- Retrieve a list of payment requests by filter
Adfin API (1.0.0)
Adfin uses OAuth 2.0 access tokens to authenticate all API requests.
There are two contexts in which tokens are issued:
Biller Access Tokens — Generated via the Authorization Code flow when a biller connects their Adfin account. These tokens grant access to that biller's data (invoices, payment requests, customers, etc.).
Platform Access Tokens — Generated via the Client Credentials flow for Adfin's own integrations and system events. These tokens authenticate Adfin as the platform itself (not as a specific biller) and are required for endpoints like
/api/webhook.
- Mock serverhttps://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/payment_requests/{id}
- Production API Server URLhttps://api.adfin.com/api/payment_requests/{id}
- Staging API Server URLhttps://api.staging.adfin.com/api/payment_requests/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/payment_requests/{id}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'The payment request is successfully retrieved
The currency in which the payment request is raised
The date when payment is initiated for this payment request (only for Direct Debit)
The payment request status
The reason as predefined code why the payment request is in a certain status
The source of the payment request
The credit control status of the payment request
The list of custom fields that are applied to the payment request
{ "id": "string", "paymentRequestNo": "string", "reference": "string", "description": "string", "totalAmount": 0, "paidAmount": 0, "dueAmount": 0, "currencyCode": "AED", "taxRate": 0, "payByDate": "2019-08-24T14:15:22Z", "creationTime": "2019-08-24T14:15:22Z", "distributionTime": "2019-08-24T14:15:22Z", "lastNotificationSentTime": "2019-08-24T14:15:22Z", "lastUpdatedTime": "2019-08-24T14:15:22Z", "paidTime": "2019-08-24T14:15:22Z", "paymentInitiationDate": "2019-08-24T14:15:22Z", "chargeDate": "2019-08-24T14:15:22Z", "payoutDate": "2019-08-24T14:15:22Z", "status": "DRAFT", "statusReasonCode": "MISSING_PAYER_CONTACT_DETAILS", "statusReason": "string", "paymentRequestSource": "MANUAL", "payments": [ { … } ], "discounts": [ { … } ], "paymentLink": { "url": "string", "lastSeenTime": "2019-08-24T14:15:22Z" }, "redirectUrl": "string", "invoices": [ { … } ], "customer": { "id": "string", "externalId": "string", "name": "string", "creationTime": "2019-08-24T14:15:22Z", "lastUpdatedTime": "2019-08-24T14:15:22Z", "people": [ … ], "addresses": [ … ], "directDebitMandate": { … }, "billerBankAccount": { … }, "timezone": "string", "discount": { … }, "externalData": [ … ], "tags": [ … ], "status": "ACTIVE", "statusReasonCode": "MERGED", "settings": { … }, "trackingItems": [ … ], "office": { … } }, "distribution": { "collectionMethod": "ONE_TIME_PAYMENT", "customMessage": "string", "templateId": "string" }, "associationType": "SINGLE", "creditControlStatus": "AT_RISK", "workflowType": "AUTO_COLLECT", "scheduleDetails": { "scheduleId": "string", "scheduleNo": "string", "type": "RECURRING" }, "instalmentDetails": { "index": 0, "cadence": { … } }, "customFields": [ { … } ], "tags": [ "string" ], "createdBy": "string" }
A short description or summary of the payment request.
reference for the payment request
- Mock serverhttps://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/payment_requests/{id}
- Production API Server URLhttps://api.adfin.com/api/payment_requests/{id}
- Staging API Server URLhttps://api.staging.adfin.com/api/payment_requests/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X PUT \
'https://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/payment_requests/{id}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"paymentRequestNo": "PR-1234",
"description": "Monthly subscription fee for January",
"payByDate": "2025-12-15T23:59:59Z",
"amount": 99.99,
"reference": "REF 123456",
"taxRate": 20,
"redirectUrl": "string"
}'The request has succeeded and has resulted in one payment request being updated
The currency in which the payment request is raised
The date when payment is initiated for this payment request (only for Direct Debit)
The payment request status
The reason as predefined code why the payment request is in a certain status
The source of the payment request
The credit control status of the payment request
The list of custom fields that are applied to the payment request
{ "id": "string", "paymentRequestNo": "string", "reference": "string", "description": "string", "totalAmount": 0, "paidAmount": 0, "dueAmount": 0, "currencyCode": "AED", "taxRate": 0, "payByDate": "2019-08-24T14:15:22Z", "creationTime": "2019-08-24T14:15:22Z", "distributionTime": "2019-08-24T14:15:22Z", "lastNotificationSentTime": "2019-08-24T14:15:22Z", "lastUpdatedTime": "2019-08-24T14:15:22Z", "paidTime": "2019-08-24T14:15:22Z", "paymentInitiationDate": "2019-08-24T14:15:22Z", "chargeDate": "2019-08-24T14:15:22Z", "payoutDate": "2019-08-24T14:15:22Z", "status": "DRAFT", "statusReasonCode": "MISSING_PAYER_CONTACT_DETAILS", "statusReason": "string", "paymentRequestSource": "MANUAL", "payments": [ { … } ], "discounts": [ { … } ], "paymentLink": { "url": "string", "lastSeenTime": "2019-08-24T14:15:22Z" }, "redirectUrl": "string", "invoices": [ { … } ], "customer": { "id": "string", "externalId": "string", "name": "string", "creationTime": "2019-08-24T14:15:22Z", "lastUpdatedTime": "2019-08-24T14:15:22Z", "people": [ … ], "addresses": [ … ], "directDebitMandate": { … }, "billerBankAccount": { … }, "timezone": "string", "discount": { … }, "externalData": [ … ], "tags": [ … ], "status": "ACTIVE", "statusReasonCode": "MERGED", "settings": { … }, "trackingItems": [ … ], "office": { … } }, "distribution": { "collectionMethod": "ONE_TIME_PAYMENT", "customMessage": "string", "templateId": "string" }, "associationType": "SINGLE", "creditControlStatus": "AT_RISK", "workflowType": "AUTO_COLLECT", "scheduleDetails": { "scheduleId": "string", "scheduleNo": "string", "type": "RECURRING" }, "instalmentDetails": { "index": 0, "cadence": { … } }, "customFields": [ { … } ], "tags": [ "string" ], "createdBy": "string" }
- Mock serverhttps://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/payment_requests/{id}:void
- Production API Server URLhttps://api.adfin.com/api/payment_requests/{id}:void
- Staging API Server URLhttps://api.staging.adfin.com/api/payment_requests/{id}:void
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X PUT \
'https://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/payment_requests/{id}:void' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'How the payment is expected to be collected for this invoice.
An optional message that will be sent to the customer when the invoice is activated.
- Mock serverhttps://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/payment_requests/{id}:activate
- Production API Server URLhttps://api.adfin.com/api/payment_requests/{id}:activate
- Staging API Server URLhttps://api.staging.adfin.com/api/payment_requests/{id}:activate
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X PUT \
'https://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/payment_requests/{id}:activate' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"collectionMethod": "ONE_TIME_PAYMENT",
"customMessage": "string",
"templateId": "string"
}'The IDs of the payment requests for which to update the distribution details
- Mock serverhttps://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/payment_requests/distribution
- Production API Server URLhttps://api.adfin.com/api/payment_requests/distribution
- Staging API Server URLhttps://api.staging.adfin.com/api/payment_requests/distribution
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X PUT \
https://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/payment_requests/distribution \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"paymentRequestIds": [
"string"
],
"distributionDetails": {
"collectionMethod": "AUTO_COLLECT",
"templateId": "d290f1ee-6c54-4b01-90e6-d701748f0851",
"customMessage": "Thank you for your business!",
"approvedForSending": true
}
}'The status of the payment request.
- DRAFT: The payment request does not contain contact details for the payer or it is not yet distributed.
- UNPAID: The payment request is not yet paid.
- SCHEDULED: The payment request is scheduled to collect the payment via Direct Debit.
- SUBMITTED: The remaining due amount on the payment request is covered by submitted (but not yet confirmed) Direct debit payments.
- PAID: The payment request payment payment is captured.
- CANCELLED: The payment request is cancelled.
- SETTLED: THe payment request is paid out
Payment request association type.
- SINGLE - a one off payment request.
- ONE_TO_ONE - a payment request associated with a single invoice.
- PARTIAL - a payment request that is associated with an invoice that has multiple payment requests (many to one)
- BATCH - a payment request that is associated with multiple invoices (one to many)
defaults to all types if not specified.
The start date after which the payment requests pay by date should be, including the start date.
The end date before which the payment requests pay by date should be, including the end date.
The start date after which the payment requests created date should be, including the start date.
The end date before which the payment requests created date should be, including the end date.
The start time after which the payment request was paid, including the paid start time.
The end time after which the payment request was paid, including the paid end time.
The start time after which the payment requests last updated time should be, including the start time.
The end time before which the payment requests last updated time should be, including the end time.
Whether the response should include details on total count and counts per statuses
The credit control status of the payment request.
- AT_RISK: The payment request is at risk of not being paid.
- EXPECTED: The payment request is expected to be paid.
- CONFIRMED: The payment request is paid.
The cashflow status of the payment request.
- UNPAID – not yet paid.
- PROCESSING – expected to be paid.
- PAID_OUT – already paid out.
The direct debit mandate status.
- NO_MANDATE: payment requests linked to customers without a mandate
- AWAITING_SIGNATURE: payment requests linked to customers awaiting signature
- SIGNED: payment requests linked to customers with a signed mandate, but not yet active
- ACTIVE: payment requests linked to customers with an active mandate.
The workflow type.
- AUTO_COLLECT: automatic collection workflow, such as direct debit
- ON_DEMAND: on demain workflow, such as via open banking and card payments
List of field value IDs to filter payment requests by their associated field mappings.
- Mock serverhttps://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/payment_requests
- Production API Server URLhttps://api.adfin.com/api/payment_requests
- Staging API Server URLhttps://api.staging.adfin.com/api/payment_requests
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/payment_requests?customerId=string&externalCustomerId=string&statuses=DRAFT&associationTypes=SINGLE&payByStartDate=2019-08-24T14%3A15%3A22Z&payByEndDate=2019-08-24T14%3A15%3A22Z&createdStartDate=2019-08-24T14%3A15%3A22Z&createdEndDate=2019-08-24T14%3A15%3A22Z&paidStartTime=2019-08-24T14%3A15%3A22Z&paidEndTime=2019-08-24T14%3A15%3A22Z&lastUpdatedStartTime=2019-08-24T14%3A15%3A22Z&lastUpdatedEndTime=2019-08-24T14%3A15%3A22Z&paymentLinkLastSeenTime=2019-08-24T14%3A15%3A22Z&paymentInitiationDate=2019-08-24T14%3A15%3A22Z&searchText=string&includeCount=true&creditControlStatuses=AT_RISK&cashflowStatuses=UNPAID&cashflowPeriodStartDate=2019-08-24T14%3A15%3A22Z&cashflowPeriodEndDate=2019-08-24T14%3A15%3A22Z&directDebitMandateStatuses=NO_MANDATE&workflowTypes=AUTO_COLLECT&minAmount=0&maxAmount=0&scheduleId=string&fieldValueIds=string&reviewSessionId=string&page=0&size=50&sort=creationTime%2CDESC' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'{ "paymentRequests": [ { … } ], "count": { "total": 0, "statusCounts": [ … ] }, "pagination": { "page": 0, "size": 0, "totalPages": 0, "totalElements": 0, "numberOfElements": 0, "sort": "string" } }
A short description or summary of the payment request.
The payment request currency.
Optional tax rate percentage applied on the payment request amount.
Optional reference for the payment request.
The date by which the payment request should be paid
- Mock serverhttps://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/payment_requests
- Production API Server URLhttps://api.adfin.com/api/payment_requests
- Staging API Server URLhttps://api.staging.adfin.com/api/payment_requests
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/payment_requests \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"customer": {
"id": "80349480-490b-4234-92e7-fad697e3d446"
},
"description": "Monthly subscription fee for January",
"totalAmount": 100,
"currencyCode": "GBP",
"taxRate": 20,
"reference": "REF 123456",
"payByDate": "2025-03-25T11:36:55.243Z",
"distribution": {
"collectionMethod": "ONE_TIME_PAYMENT",
"customMessage": "string",
"templateId": "string"
},
"redirectUrl": "string"
}'The request was successful and the payment request was created
The currency in which the payment request is raised
The date when payment is initiated for this payment request (only for Direct Debit)
The payment request status
The reason as predefined code why the payment request is in a certain status
The source of the payment request
The credit control status of the payment request
The list of custom fields that are applied to the payment request
{ "id": "string", "paymentRequestNo": "string", "reference": "string", "description": "string", "totalAmount": 0, "paidAmount": 0, "dueAmount": 0, "currencyCode": "AED", "taxRate": 0, "payByDate": "2019-08-24T14:15:22Z", "creationTime": "2019-08-24T14:15:22Z", "distributionTime": "2019-08-24T14:15:22Z", "lastNotificationSentTime": "2019-08-24T14:15:22Z", "lastUpdatedTime": "2019-08-24T14:15:22Z", "paidTime": "2019-08-24T14:15:22Z", "paymentInitiationDate": "2019-08-24T14:15:22Z", "chargeDate": "2019-08-24T14:15:22Z", "payoutDate": "2019-08-24T14:15:22Z", "status": "DRAFT", "statusReasonCode": "MISSING_PAYER_CONTACT_DETAILS", "statusReason": "string", "paymentRequestSource": "MANUAL", "payments": [ { … } ], "discounts": [ { … } ], "paymentLink": { "url": "string", "lastSeenTime": "2019-08-24T14:15:22Z" }, "redirectUrl": "string", "invoices": [ { … } ], "customer": { "id": "string", "externalId": "string", "name": "string", "creationTime": "2019-08-24T14:15:22Z", "lastUpdatedTime": "2019-08-24T14:15:22Z", "people": [ … ], "addresses": [ … ], "directDebitMandate": { … }, "billerBankAccount": { … }, "timezone": "string", "discount": { … }, "externalData": [ … ], "tags": [ … ], "status": "ACTIVE", "statusReasonCode": "MERGED", "settings": { … }, "trackingItems": [ … ], "office": { … } }, "distribution": { "collectionMethod": "ONE_TIME_PAYMENT", "customMessage": "string", "templateId": "string" }, "associationType": "SINGLE", "creditControlStatus": "AT_RISK", "workflowType": "AUTO_COLLECT", "scheduleDetails": { "scheduleId": "string", "scheduleNo": "string", "type": "RECURRING" }, "instalmentDetails": { "index": 0, "cadence": { … } }, "customFields": [ { … } ], "tags": [ "string" ], "createdBy": "string" }
How the imported payment requests are expected to be collected. Currently, only NONE is supported.
- Mock serverhttps://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/payment_requests/bulk_import
- Production API Server URLhttps://api.adfin.com/api/payment_requests/bulk_import
- Staging API Server URLhttps://api.staging.adfin.com/api/payment_requests/bulk_import
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
'https://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/payment_requests/bulk_import?collectionMethod=NONE&deleteMissingPaymentRequests=false' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: multipart/form-data' \
-F inputFile=string{ "jobId": "550e8400-e29b-41d4-a716-446655440000", "type": "BULK_PAYMENT_REQUEST_IMPORT", "status": "PENDING", "creationTime": "2024-01-15T10:30:00Z", "countsByItemStatus": [] }
- Mock serverhttps://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/payment_requests/bulk_import/{jobId}
- Production API Server URLhttps://api.adfin.com/api/payment_requests/bulk_import/{jobId}
- Staging API Server URLhttps://api.staging.adfin.com/api/payment_requests/bulk_import/{jobId}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/payment_requests/bulk_import/{jobId}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'{ "jobId": "550e8400-e29b-41d4-a716-446655440000", "type": "BULK_PAYMENT_REQUEST_IMPORT", "status": "COMPLETED", "creationTime": "2024-01-15T10:30:00Z", "countsByItemStatus": [ { … }, { … } ] }
- Mock serverhttps://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/payment_requests/bulk_import/{jobId}/items
- Production API Server URLhttps://api.adfin.com/api/payment_requests/bulk_import/{jobId}/items
- Staging API Server URLhttps://api.staging.adfin.com/api/payment_requests/bulk_import/{jobId}/items
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/payment_requests/bulk_import/{jobId}/items?statuses=PENDING&page=0&size=20&sort=creationTime%2CASC' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'{ "items": [ { … }, { … } ], "pagination": { "page": 0, "size": 20, "totalElements": 155, "totalPages": 8 } }
- Mock serverhttps://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/payment_requests/{id}:cancel
- Production API Server URLhttps://api.adfin.com/api/payment_requests/{id}:cancel
- Staging API Server URLhttps://api.staging.adfin.com/api/payment_requests/{id}:cancel
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X PUT \
'https://developer.adfin.com/_mock/products/partner-integration/partner-integration-api-reference/payment_requests/{id}:cancel' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'