Download OpenAPI specification:Download
This page details the V2 FlipPay API in a general use context.
For information about a specific product (e.g. configuration of product fields), refer to the integration guide available within the FlipPay web portal for authorised users.
If you need access to V1 documentation, or have any other questions, send an email to integrations@flippay.com.au
There are two environments available:
Environments are entirely separate - different accounts are required on each environment, and different configurations/IDs will be available in each environment unless you're otherwise advised (i.e. don't assume to use a demo product in the live environment, it won't work!)
Formats & protocols:
Dealing with products:
General info:
Testing:
If you have any questions, don't hesitate to contact integrations@flippay.com.au for some help. Please do include as much information as you can - request/response payloads are best, url/endpoint you're using, any relevant IDs (merchant, payment request, etc)
Good luck!
"Pay later" covers payment requests sent from a merchant to one of the merchant's customers, where that request is enabled with a financial product (e.g. BNPL, delayed payment, loan, etc) in addition to a standard "pay now" option. Payment requests created via this mode generate their own unique payment page, presenting the payment options available (as onboarded for the merchant) and customisation options for the merchant to utilise. When creating a pay later request, the initiator can:
Key points to note:
Notifications are generated when the payment request moves through statuses, pay later requests may utilise any of the statuses below (refer to your product integration guide for specifics, and guidance as to "does this matter to me"):
Sample notification payload (when sent via webhook):
{
"prId": "PR-1234-5678",
"status": "active"
}
Create a payment request between a merchant and customer, enabled with "pay later" payment options. Refer to the integration guide for specific products to confirm product field format requirements (e.g. dates, currency, etc).
| merchantId required | string Unique ID for the merchant account creating the PR |
| reference required | string Merchant reference for the payment request |
| amount required | number Amount to request from the receiver (can have 0, 1 or 2 decimal places - any more will fail the request) |
required | Array of items Pay later product/s to offer on the PR |
required | object Method to disburse funds paid via this PR |
object Details if PR to be sent via FlipPay | |
object Details of who the PR is to be sent to | |
object Configure the payment page header/footer displayed to the receiver when following the PR url | |
Array of items Files to attach to the PR (PDF only, max 15mb per file) | |
object Notification settings for status changes on this PR | |
Array of items Email addresses to send remittance advice to, when PR is disbursed (must be valid email address) |
{- "merchantId": "M-1234-5678",
- "reference": "INV-12345",
- "amount": 100.01,
- "product": [
- {
- "productId": "PL-9999-8888",
- "productFields": [
- {
- "fieldId": "PF-1234-5678",
- "value": "somefield value"
}, - {
- "fieldId": "PF-5555-5678",
- "value": "another field value"
}
]
}, - {
- "productId": "PL-7777-9999",
- "productFields": [
- {
- "fieldId": "PF-1234-9999",
- "value": "some other value"
}
]
}
], - "disbursement": {
- "accountId": "A-1234-5678",
- "reference": "INV-1234"
}, - "sender": {
- "sendComms": true,
- "emailMask": "MyBusiness",
- "name": "Bob Smith",
- "phone": "1300 123 456",
- "email": "support@somebusiness.com"
}, - "receiver": {
- "name": "Jane Jones",
- "mobile": "0412345678",
- "email": "jane@email.com"
}, - "paymentPage": {
- "name": "Some Business Pty Ltd",
- "abn": "321234567899",
- "address": "1 Smith Street, Sydney NSW 2000",
- "phone": "1300 123 456",
- "email": "enquiries@somebusiness.com",
- "message": "Hey there, please pay this invoice",
}, - "files": [
- "some-file-in-base64",
- "another-file-in-base64"
], - "notifications": {
- "token": "eyJpZCI6IjYwZWU3MzY0ODYwNGY3MmQzOTBmMGNkZCIsIm5hbWUiOi",
- "email": [
- "someemail@here.com",
- "someemail@here.com"
]
}, - "remittance": [
- "someemail@here.com",
- "anotheremail@here.com"
]
}{- "prId": "PR-1234-5678",
- "status": "pending"
}Update a payment request between a merchant and customer, enabled with "pay later" payment options
Refer to the integration guide to confirm specific field format requirements (e.g. dates, currency, etc).
| prId required | any Example: PR-1234-5678 The unique ID of the payment request to be updated |
required | Array of items Product fields to update on the PR |
{- "productFields": [
- {
- "fieldId": "PF-1234-5678",
- "value": "somefield value"
}, - {
- "fieldId": "PF-5555-5678",
- "value": "another field value"
}
]
}Retrieve a payment request created between a merchant and customer, enabled with "pay later" payment options.
Refer to the integration guide to confirm specific field format requirements (e.g. dates, currency, etc).
Note that if a payment request has not yet been activated, and was enabled with multiple products to offer, multiple products will be returned. If a payment request has been activated, only the product that was approved will be returned.
| prId required | string Example: PR-1234-5678 The unique ID of the payment request to be retrieved |
{- "merchantId": "M-1234-5678",
- "prId": "PR-1234-5678",
- "status": "status",
- "reference": "PL-1234-5678",
- "amount": 100.01,
- "product": [
- {
- "productId": "PL-9999-8888",
- "productFields": [
- {
- "fieldId": "PF-1234-5678",
- "value": "some field value"
}, - {
- "fieldId": "PF-5555-5678",
- "value": "another field value"
}
]
}, - {
- "productId": "PL-7777-9999",
- "productFields": [
- {
- "fieldId": "PF-1234-9999",
- "value": "some other value"
}
]
}
], - "disbursement": {
- "accountId": "A-1234-5678",
- "reference": "INV-1234"
}, - "sender": {
- "sendComms": true,
- "emailMask": "MyBusiness",
- "name": "Bob Smith",
- "phone": "1300 123 456",
- "email": "support@somebusiness.com"
}, - "receiver": {
- "name": "Jane Jones",
- "mobile": "0412345678",
- "email": "jane@email.com"
}, - "paymentPage": {
- "name": "Some Business Pty Ltd",
- "abn": "321234567899",
- "address": "1 Smith Street, Sydney NSW 2000",
- "phone": "1300 123 456",
- "email": "enquiries@somebusiness.com",
- "message": "Hey there, please pay this invoice",
}, - "files": [
- "some-file-in-base64",
- "another-file-in-base64"
], - "notifications": {
- "token": "eyJpZCI6IjYwZWU3MzY0ODYwNGY3MmQzOTBmMGNkZCIsIm5hbWUiOi",
- "email": [
- "someemail@here.com",
- "someemail@here.com"
]
}, - "remittance": [
- "someemail@here.com",
- "anotheremail@here.com"
]
}Cancel a payment request between a merchant and customer, enabled with "pay later" payment options
Refer to the integration guide to confirm specific field format requirements (e.g. dates, currency, etc).
| prId required | string Example: PR-1234-5678 The unique ID of the payment request to be deleted |
"Pay now" covers payment requests sent from a merchant to one of the merchant's customers, where that request is enabled ONLY for the customer to pay the merchant in full, with no alternative payment options (e.g. BNPL, delayed payment, loan, etc). These payment requests operate similarly to "pay later", with the following exceptions:
Create a payment request between a merchant and customer, enabled with immediate card payment functionality only.
| merchantId required | string Unique ID for the merchant account creating the PR |
| reference required | string Merchant reference for the payment request |
| amount required | string Amount to request from the receiver (can have 0, 1 or 2 decimal places - any more will fail the request) |
Array of items Configure the payment methods to offer (system assumes 'all available' if not provided) - valid options are eft and/or card | |
required | object Method to disburse funds paid via this PR |
object Details if PR to be sent via FlipPay | |
object Details of who the PR is to be sent to | |
object Configure the payment page header/footer displayed to the receiver when following the PR url | |
Array of items Files to attach to the PR (PDF only, max 15mb per file) | |
object Notification settings for status changes on this PR |
{- "merchantId": "M-1234-5678",
- "reference": "INV-12345",
- "amount": 100.01,
- "methods": [
- "eft",
- "card"
], - "disbursement": {
- "accountId": "A-1234-5678",
- "reference": "INV-1234"
}, - "sender": {
- "sendComms": true,
- "emailMask": "MyBusiness",
- "name": "Bob Smith",
- "phone": "1300 123 456",
- "email": "support@somebusiness.com"
}, - "receiver": {
- "name": "Jane Jones",
- "mobile": "0412345678",
- "email": "jane@email.com"
}, - "paymentPage": {
- "name": "Some Business Pty Ltd",
- "abn": "321234567899",
- "address": "1 Smith Street, Sydney NSW 2000",
- "phone": "1300 123 456",
- "email": "enquiries@somebusiness.com",
- "message": "Hey there, please pay this invoice",
}, - "files": [
- "some-file-in-base64",
- "another-file-in-base64"
], - "notifications": {
- "token": "eyJpZCI6IjYwZWU3MzY0ODYwNGY3MmQzOTBmMGNkZCIsIm5hbWUiOi",
- "email": [
- "someemail@here.com",
- "someemail@here.com"
]
}
}{- "prId": "PR-1234-5678",
- "status": "pending"
}| prId required | string Example: PR-1234-5678 The unique ID of the payment request to be retrieved |
{- "merchantId": "M-1234-5678",
- "prId": "PR-1234-5678",
- "status": "status",
- "reference": "INV-12345",
- "amount": 100.01,
- "disbursement": {
- "accountId": "A-1234-5678",
- "reference": "INV-1234"
}, - "sender": {
- "sendComms": true,
- "emailMask": "MyBusiness",
- "name": "Bob Smith",
- "phone": "1300 123 456",
- "email": "support@somebusiness.com"
}, - "receiver": {
- "name": "Jane Jones",
- "mobile": "0412345678",
- "email": "jane@email.com"
}, - "paymentPage": {
- "name": "Some Business Pty Ltd",
- "abn": "321234567899",
- "address": "1 Smith Street, Sydney NSW 2000",
- "phone": "1300 123 456",
- "email": "enquiries@somebusiness.com",
- "message": "Hey there, please pay this invoice",
}, - "files": [
- "some-file-in-base64",
- "another-file-in-base64"
], - "notifications": {
- "token": "eyJpZCI6IjYwZWU3MzY0ODYwNGY3MmQzOTBmMGNkZCIsIm5hbWUiOi",
- "email": [
- "someemail@here.com",
- "someemail@here.com"
]
}
}The direct endpoints enable B2B requests for funding between onboarded entities and FlipPay (e.g. B2B invoice financing, equipment finance, etc). These payment requests will not generate a payment page, but otherwise will operate similarly to a pay later request between a merchant and customer, with the following exceptions:
Create a B2B funding request between an onboarded entity and FlipPay.
| merchantId required | string Unique ID for the merchant account requesting funding |
| reference required | string A merchant reference |
| amount required | number Amount requested |
required | object Funding product used on the request |
required | object Account to disburse funds to via this PR |
object Account to debit repayments for this PR | |
object Notification settings for status changes on this PR | |
Array of items Email addresses to send remittance advice to, when PR is disbursed (must be valid email address) |
{- "merchantId": "M-1234-5678",
- "reference": "Funding request for ABC",
- "amount": 10000.01,
- "product": {
- "productId": "PL-9999-8888",
- "productFields": [
- {
- "fieldId": "PF-1234-5678",
- "value": "somefield value"
}, - {
- "fieldId": "PF-5555-5678",
- "value": "another field value"
}
]
}, - "disbursement": {
- "accountId": "A-1234-5678",
- "reference": "INV-1234"
}, - "debit": {
- "accountId": "A-1234-5678",
- "reference": "INV-1234"
}, - "notifications": {
- "token": "eyJpZCI6IjYwZWU3MzY0ODYwNGY3MmQzOTBmMGNkZCIsIm5hbWUiOi",
- "email": [
- "someemail@here.com",
- "someemail@here.com"
]
}, - "remittance": [
- "someemail@here.com",
- "anotheremail@here.com"
]
}{- "prId": "PR-1234-5678",
- "status": "submitted",
- "message1": "Custom message determined by product would display here",
- "message2": "Custom message determined by product would display here",
- "repayment": {
- "reference": "PR12345678",
- "contactEmail": "some email",
- "contactPhone": "some phone",
- "options": [
- {
- "type": "EFT",
- "accountName": "FlipPay",
- "accountBsb": "123-456",
- "accountNumber": "123456789"
}, - {
- "type": "payId",
- "payID": "M12345678@flippay.com.au"
}
]
}
}Update a direct funding request between an onboarded entity and FlipPay.
| prId required | any Example: PR-1234-5678 The unique ID of the payment request to be updated |
required | Array of items Product fields to update on the PR |
{- "productFields": [
- {
- "fieldId": "PF-1234-5678",
- "value": "somefield value"
}, - {
- "fieldId": "PF-5555-5678",
- "value": "another field value"
}
]
}Retrieve a direct funding request
| prId required | string Example: PR-1234-5678 The unique ID of the payment request to be retrieved |
{- "merchantId": "M-1234-5678",
- "prId": "PR-1234-5678",
- "status": "active",
- "reference": "Funding request for ABC",
- "amount": 10000.01,
- "product": {
- "productId": "PL-9999-8888",
- "productFields": [
- {
- "fieldId": "PF-1234-5678",
- "value": "somefield value"
}, - {
- "fieldId": "PF-5555-5678",
- "value": "another field value"
}
]
}, - "disbursement": {
- "accountId": "A-1234-5678",
- "reference": "INV-1234"
}, - "debit": {
- "accountId": "A-1234-5678",
- "reference": "INV-1234"
}, - "notifications": {
- "token": "eyJpZCI6IjYwZWU3MzY0ODYwNGY3MmQzOTBmMGNkZCIsIm5hbWUiOi",
- "email": [
- "someemail@here.com",
- "someemail@here.com"
]
}, - "remittance": [
- "someemail@here.com",
- "anotheremail@here.com"
], - "message1": "Some variable text",
- "message2": "Some variable text",
- "repayment": {
- "reference": "PR12345678",
- "contactPhone": "1300 123 456",
- "contactEmail": "support@flippay.com.au",
- "assignmentText": "This invoice is payable to FlipPay, please remit funds to noted account",
- "options": [
- {
- "type": "EFT",
- "accountName": "Some Business Pty Ltd",
- "accountNumber": "123456789",
- "bsb": "123-456"
}, - {
- "type": "payId",
- "payId": "M12345678@flippay.com.au"
}
]
}
}Retrieve a list of direct funding requests, using a range of parameters to filter the returned list:
| query string | any Example: /direct?product=PL-1234-5678&status=complete&closedFrom=2022-10-31&page=2&itemsPerPage=50
|
[- {
- "status": "Active",
- "prId": "PR-1234-5678",
- "productId": "PL-9999-8888",
- "merchantId": "M-1234-5678",
- "created": "2023-10-05",
- "activated": "2023-10-06",
- "due": "2023-11-06",
- "closed": "2023-11-06",
- "amountRequested": 1500,
- "amountDisbursed": 1450,
- "fees": 75,
- "amountOutstanding": 1525
}
]Retrieve summary data for a specific set of direct funding requests, identified by their PR-ID
required | Array of items PRID for requests to be returned (must be in format PR-####-####) |
{- "prId": [
- "PR-1111-1111",
- "PR-2222-2222",
- "PR-3333-3333",
- "PR-1234-5678"
]
}{- "paymentRequests": [
- {
- "status": "Active",
- "prId": "PR-1234-5678",
- "productId": "PL-9999-8888",
- "merchantId": "M-1234-5678",
- "created": "2023-10-05",
- "activated": "2023-10-06",
- "due": "2023-11-06",
- "closed": "2023-11-06",
- "amountRequested": 1500,
- "amountDisbursed": 1450,
- "fees": 75,
- "amountOutstanding": 1525
}
], - "invalid": [
- "PR-1111-1111",
- "PR-2222-2222",
- "PR-3333-3333"
]
}These services are used to onboard new merchants to FlipPay via integrated partners. Key points to note:
Create an onboarding request for a merchant.
Tips:
APPROVED (mechant account has been activated, can transact on it immediately)
{
"onboardingId": "OB-1234-5678",
"merchantId": "M-1234-5678",
"status": "approved"
}
{
"onboardingId": "OB-1234-5678",
"status": "cancelled"
}
| sendComms required | boolean Instruct FlipPay to email a secure onboarding link to the merchant, or not |
object Control the email sent when FlipPay sends it to the merchant | |
required | object The merchant contact to receive the onboarding request |
object Notification settings for status changes on this OB request |
{- "sendComms": true,
- "sender": {
- "emailMask": "Some Platform Name",
- "name": "Support Team",
- "phone": "0212345678",
- "email": "support@platform.com",
}, - "receiver": {
- "name": "Sally Jones",
- "email": "sallyjones@merchant.com"
}, - "notifications": {
- "token": "eyJpZCI6IjYwZWU3MzY0ODYwNGY3MmQzOTBmMGNkZCIsIm5hbWUiOi"
}
}{- "onboardingId": "OB-1234-5678",
}Retrieve the status of an onboarding request.
Tips:
Sample responses for each scenario:
PENDING or IN-PROGRESS
{
"onboardingUrl": "https://www.flippay.com.au/abc345465hgd",
"status": "pending"
}
{
"status": "approved",
"merchantId": "M-1234-5678",
}
{
"status": "cancelled"
}
| onboardingId required | string Example: OB-1234-5678 The unique ID of the onboarding request to be retrieved |
{- "status": "approved",
- "merchantId": "M-1234-5678"
}These services are used to manage links between accounts of integrated partners and merchants.
Key points:
Request a link between an integrated partner and a merchant account. Notifications received (if enabled) are for the linked and not-linked statuses - note that if accounts are linked, then one party removes the link some time later, a not-linked notification will be sent to the original webhook url.
Sample notification payload:
{
"merchantId": "PR-1234-5678",
"status": "linked"
}
| merchantId required | string The unique ID of the merchant account to link with |
object Configure notifications to be sent back to the link requestor |
{- "merchantId": "M-1234-5678",
- "notifications": {
- "token": "eyJpZCI6IjYwZWU3MzY0ODYwNGY3MmQzOTBmMGNkZCIsIm5hbWUiOi"
}
}Retrieve the status of a link between an integrated partner and a merchant account. Statuses returned are:
| merchantId required | string Example: M-1234-5678 The unique ID of the merchant account linked or requested to link with |
{- "merchantId": "M-1234-5678",
- "status": "linked"
}Retrieve bank accounts enabled on a merchant account
| merchantId required | string Example: M-1234-5678 The unique ID of the merchant account |
{- "accounts": [
- {
- "accountId": "A-1234-5678",
- "accountName": "Some Business Pty Ltd",
- "accountNumber": "123456789",
- "bsb": "123-456"
}, - {
- "accountId": "A-1234-9876",
- "accountName": "Some Business Pty Ltd",
- "accountNumber": "123456788",
- "bsb": "123-457"
}
]
}Retrieve virtual bank account allocted to a merchant for all repayments & EFT services
| merchantId required | string Example: M-1234-5678 The unique ID of the merchant account |
{- "accounts": [
- {
- "type": "EFT",
- "accountName": "Some Business Pty Ltd",
- "accountNumber": "123456789",
- "bsb": "123-456"
}, - {
- "type": "payId",
- "payId": "M12345678@flippay.com.au"
}
]
}Retrieve products & payment methods enabled on a merchant account.
| merchantId required | string Example: M-1234-5678 The unique ID of the merchant account |
{- "products": [
- {
- "productId": "PL-1234-5678",
- "minAmount": 200.01,
- "maxAmount": 10000.01,
- "serviceFee": 6.75,
- "feeModel": "added",
- "initialDuration": 180,
- "payNowOption": true,
- "repayment": {
- "autoDebit": true,
- "message1": "Some variable text",
- "message2": "Some variable text",
- "contactPhone": "1300 123 456",
- "contactEmail": "support@flippay.com.au",
- "assignmentText": "This invoice is payable to FlipPay, please remit funds to noted account"
}
}
], - "payments": [
- {
- "type": "credit",
- "program": "visa",
- "surcharge": 1.5
}
]
}