The Adfin ID of the customer for whom the invoice is created.
- Bulk import payment requests
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 when a platform authenticates as itself rather than as one of its billers. A platform uses one to manage its own webhook subscriptions under
/api/apps/{clientId}/webhooks.
A short description or summary of the payment request.
The payment request amount. Omit it when line items are supplied, in which case the total is calculated from them.
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": "CUST-67890",
"externalId": "ext-customer-001"
},
"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 payments made as part of this payment request
The credit control status of the payment request
The list of custom fields that are applied to the payment request
Fees that would apply to this payment request if it isn't paid by the grace period (e.g. projected late fees). Populated only when no fees have been applied yet.
{ "id": "string", "paymentRequestNo": "string", "reference": "string", "description": "string", "totalAmount": 0, "principalAmount": 0, "paidAmount": 0, "dueAmount": 0, "fees": [ { … } ], "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": { … }, "collectionAgentId": "fe30a7f6-c47c-4051-9601-bd9dbc464447" }, "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", "applicableFees": [ { … } ], "invoiceInput": { "issueInvoice": true, "itemsTaxType": "EXCLUSIVE", "items": [ … ] } }
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/{paymentRequestId}/collection_preferences
- Production API Server URLhttps://api.adfin.com/api/payment_requests/{paymentRequestId}/collection_preferences
- Staging API Server URLhttps://api.staging.adfin.com/api/payment_requests/{paymentRequestId}/collection_preferences
- 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/{paymentRequestId}/collection_preferences' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'{ "collectionMethod": "AUTO_COLLECT", "preferences": { "paymentReminders": { … }, "mandateReminders": { … }, "cardReminders": { … }, "directDebitEncouragement": { … }, "statements": { … }, "lateFees": { … }, "partialPayments": { … }, "surcharging": { … } } }