Skip to content

Elevate Payment and Refund API (1.37)

Payment Management

Provides read & write access to payment entities.

Definitions

  • PaymentProvider - a representation of a system that Elevate will interoperate with to collect payments, e.g. Go Cardless
  • SitePaymentMandate - a token from the payment provider that gives authority to take a direct debit from a bank account
  • InvoicePayment - a single payment for an invoice that has happened externally or passed to a payment provider to collect funds
  • AdhocInvoicePayment - a single payment for an adhoc invoice that has happened externally or passed to a payment provider to collect funds
  • Refund - the funds returned to the customer that have previously been collected
  • CustomerPayments - a single payment to an invoice or customer outstanding balance
  • CustomerOutstandingBalance - the amount a customer is in debt (if negative) or has in credit (if positive)
  • CustomerCreditStatus - returns a customer balance versus their credit threshold
  • PaymentProviderPaymentLink - An external hyperlink that allows a customer to pay for an invoice or any amount towards the customer balance
Languages
Servers
https://rest.elevatebilling.com/v1

payment-providers

A representation of a system that Elevate will interoperate with to collect payments, e.g. Go Cardless or Finastra

Operations

Get a list of payment providers

Request

Security
bearerAuth
Query
pageinteger(int32)(PageParam)>= 1required

Page of results to show

Example: page=1
pageSizeinteger(int32)(ResultsPerPageParam)[ 1 .. 1000 ]required

Results to return per page

Example: pageSize=100
sortstring(SortParam)

Comma-delimited list of the fields to sort by - defaults to ascending order, suffix :desc to change

Example: sort=id,name | name:desc
fieldsstring(FieldsParam)

Comma-delimited list of the field(s) to return if only a subset is required

Example: fields=id,name
typestring(StringFilterParam)

Filter by payment type

Example: type=xyz | in:x,y | like:xyz
contractOwnerIdinteger(int64)(IdParam)>= 1

Filter by contract owner id

Example: contractOwnerId=1
instantBankPaymentsstring(BooleanFilterParam)

Filter by those payment providers that support instant bank payments

Example: instantBankPayments=true | false
retryIfPossiblestring(BooleanFilterParam)

Filter by those payment provider's retryIfPossible flag

Example: retryIfPossible=true | false
curl -i -X GET \
  'https://rest.elevatebilling.com/v1/payment-providers?page=1&pageSize=100&sort=id%2Cname+%7C+name%3Adesc&fields=id%2Cname&type=xyz+%7C+in%3Ax%2Cy+%7C+like%3Axyz&contractOwnerId=1&instantBankPayments=true+%2C+false&retryIfPossible=true+%2C+false' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

OK

Bodyapplication/jsonArray [
idinteger(int64)read-only

Payment Provider identifier

Example: 1
typestring(PaymentMethod)required

Payment method

Enum"CHEQUE""DIRECT_DEBIT""CANCELLED_DD""CANCELLED_CARD""CREDIT_CARD""PAYPAL""BACS""POST_OFFICE_PAYMENT_CARD""EZYPAY""GO_CARDLESS"
namestring[ 0 .. 255 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...required

Payment provider name

directDebitWithNamestring[ 0 .. 255 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Payment provider direct debit name

statusstring(PaymentProviderStatus)required

Payment provider status

Enum"ACTIVE""INACTIVE"
creditorIdentifierstring[ 0 .. 255 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Payment provider creditor identifier

instantBankPaymentsboolean

Does this payment provider support instant bank payments

Default false
retryIfPossibleboolean

Payment provider will retry the payment if possible

Default false
acceptExternalPaymentsboolean

Payment provider will accept payment events that originated outside of the system

Default false
contractOwnerIdsArray of integers(int32)non-emptyrequired

Contract owner identifiers

Example: [1]
syncInstantBankPaymentsWithMandateCreationboolean

If a Go Cardless mandate is created as part of an instant bank payment billing flow, Elevate will automatically treat the instant payment as an upfront credit on the customer’s account

Default false
]
Response
application/json
[ { "id": 1, "type": "CHEQUE", "name": "string", "directDebitWithName": "string", "status": "ACTIVE", "creditorIdentifier": "string", "instantBankPayments": false, "retryIfPossible": false, "acceptExternalPayments": false, "contractOwnerIds": [], "syncInstantBankPaymentsWithMandateCreation": false } ]

Create a payment provider

Request

Security
bearerAuth
Bodyapplication/jsonrequired

New payment provider

typestring(PaymentMethod)required

Payment method

Enum"CHEQUE""DIRECT_DEBIT""CANCELLED_DD""CANCELLED_CARD""CREDIT_CARD""PAYPAL""BACS""POST_OFFICE_PAYMENT_CARD""EZYPAY""GO_CARDLESS"
namestring[ 0 .. 255 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...required

Payment provider name

directDebitWithNamestring[ 0 .. 255 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Payment provider direct debit name

statusstring(PaymentProviderStatus)required

Payment provider status

Enum"ACTIVE""INACTIVE"
creditorIdentifierstring[ 0 .. 255 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Payment provider creditor identifier

instantBankPaymentsboolean

Does this payment provider support instant bank payments

Default false
retryIfPossibleboolean

Payment provider will retry the payment if possible

Default false
acceptExternalPaymentsboolean

Payment provider will accept payment events that originated outside of the system

Default false
contractOwnerIdsArray of integers(int32)non-emptyrequired

Contract owner identifiers

Example: [1]
syncInstantBankPaymentsWithMandateCreationboolean

If a Go Cardless mandate is created as part of an instant bank payment billing flow, Elevate will automatically treat the instant payment as an upfront credit on the customer’s account

Default false
curl -i -X POST \
  https://rest.elevatebilling.com/v1/payment-providers \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "type": "CHEQUE",
    "name": "string",
    "directDebitWithName": "string",
    "status": "ACTIVE",
    "creditorIdentifier": "string",
    "instantBankPayments": false,
    "retryIfPossible": false,
    "acceptExternalPayments": false,
    "contractOwnerIds": [
      1
    ],
    "syncInstantBankPaymentsWithMandateCreation": false
  }'

Responses

Payment provider created

Bodyapplication/json
idinteger(int64)read-only

Payment Provider identifier

Example: 1
typestring(PaymentMethod)required

Payment method

Enum"CHEQUE""DIRECT_DEBIT""CANCELLED_DD""CANCELLED_CARD""CREDIT_CARD""PAYPAL""BACS""POST_OFFICE_PAYMENT_CARD""EZYPAY""GO_CARDLESS"
namestring[ 0 .. 255 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...required

Payment provider name

directDebitWithNamestring[ 0 .. 255 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Payment provider direct debit name

statusstring(PaymentProviderStatus)required

Payment provider status

Enum"ACTIVE""INACTIVE"
creditorIdentifierstring[ 0 .. 255 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Payment provider creditor identifier

instantBankPaymentsboolean

Does this payment provider support instant bank payments

Default false
retryIfPossibleboolean

Payment provider will retry the payment if possible

Default false
acceptExternalPaymentsboolean

Payment provider will accept payment events that originated outside of the system

Default false
contractOwnerIdsArray of integers(int32)non-emptyrequired

Contract owner identifiers

Example: [1]
syncInstantBankPaymentsWithMandateCreationboolean

If a Go Cardless mandate is created as part of an instant bank payment billing flow, Elevate will automatically treat the instant payment as an upfront credit on the customer’s account

Default false
Response
application/json
{ "id": 1, "type": "CHEQUE", "name": "string", "directDebitWithName": "string", "status": "ACTIVE", "creditorIdentifier": "string", "instantBankPayments": false, "retryIfPossible": false, "acceptExternalPayments": false, "contractOwnerIds": [ 1 ], "syncInstantBankPaymentsWithMandateCreation": false }

Get a specific payment provider

Request

Security
bearerAuth
Path
payment_provider_idinteger(int64)(IdParam)>= 1required

Payment provider identifier

Example: 1
curl -i -X GET \
  https://rest.elevatebilling.com/v1/payment-providers/1 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Payment provider found

Bodyapplication/json
idinteger(int64)read-only

Payment Provider identifier

Example: 1
typestring(PaymentMethod)required

Payment method

Enum"CHEQUE""DIRECT_DEBIT""CANCELLED_DD""CANCELLED_CARD""CREDIT_CARD""PAYPAL""BACS""POST_OFFICE_PAYMENT_CARD""EZYPAY""GO_CARDLESS"
namestring[ 0 .. 255 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...required

Payment provider name

directDebitWithNamestring[ 0 .. 255 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Payment provider direct debit name

statusstring(PaymentProviderStatus)required

Payment provider status

Enum"ACTIVE""INACTIVE"
creditorIdentifierstring[ 0 .. 255 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Payment provider creditor identifier

instantBankPaymentsboolean

Does this payment provider support instant bank payments

Default false
retryIfPossibleboolean

Payment provider will retry the payment if possible

Default false
acceptExternalPaymentsboolean

Payment provider will accept payment events that originated outside of the system

Default false
contractOwnerIdsArray of integers(int32)non-emptyrequired

Contract owner identifiers

Example: [1]
syncInstantBankPaymentsWithMandateCreationboolean

If a Go Cardless mandate is created as part of an instant bank payment billing flow, Elevate will automatically treat the instant payment as an upfront credit on the customer’s account

Default false
Response
application/json
{ "id": 1, "type": "CHEQUE", "name": "string", "directDebitWithName": "string", "status": "ACTIVE", "creditorIdentifier": "string", "instantBankPayments": false, "retryIfPossible": false, "acceptExternalPayments": false, "contractOwnerIds": [ 1 ], "syncInstantBankPaymentsWithMandateCreation": false }

Update the payment provider

Request

Security
bearerAuth
Path
payment_provider_idinteger(int64)(IdParam)>= 1required

Payment provider identifier

Example: 1
Bodyapplication/json-patch+jsonrequired

A set of JSONPatch operations to be performed

Array [
opstringrequired

The JSON Patch operation to be performed

Enum"add""remove""replace""move""copy""test"
pathstringrequired

A JSON-Pointer

valueobject

The value to be used within the operations

fromstring

A string containing a JSON Pointer value

]
curl -i -X PATCH \
  https://rest.elevatebilling.com/v1/payment-providers/1 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json-patch+json' \
  -d '[
    {
      "op": "replace",
      "path": "/name",
      "value": "My Payment Provider"
    }
  ]'

Responses

Success

Bodyapplication/json
idinteger(int64)read-only

Payment Provider identifier

Example: 1
typestring(PaymentMethod)required

Payment method

Enum"CHEQUE""DIRECT_DEBIT""CANCELLED_DD""CANCELLED_CARD""CREDIT_CARD""PAYPAL""BACS""POST_OFFICE_PAYMENT_CARD""EZYPAY""GO_CARDLESS"
namestring[ 0 .. 255 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...required

Payment provider name

directDebitWithNamestring[ 0 .. 255 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Payment provider direct debit name

statusstring(PaymentProviderStatus)required

Payment provider status

Enum"ACTIVE""INACTIVE"
creditorIdentifierstring[ 0 .. 255 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Payment provider creditor identifier

instantBankPaymentsboolean

Does this payment provider support instant bank payments

Default false
retryIfPossibleboolean

Payment provider will retry the payment if possible

Default false
acceptExternalPaymentsboolean

Payment provider will accept payment events that originated outside of the system

Default false
contractOwnerIdsArray of integers(int32)non-emptyrequired

Contract owner identifiers

Example: [1]
syncInstantBankPaymentsWithMandateCreationboolean

If a Go Cardless mandate is created as part of an instant bank payment billing flow, Elevate will automatically treat the instant payment as an upfront credit on the customer’s account

Default false
Response
application/json
{ "id": 1, "type": "CHEQUE", "name": "string", "directDebitWithName": "string", "status": "ACTIVE", "creditorIdentifier": "string", "instantBankPayments": false, "retryIfPossible": false, "acceptExternalPayments": false, "contractOwnerIds": [ 1 ], "syncInstantBankPaymentsWithMandateCreation": false }

invoice-payments

An event related to a normal invoice payment (For example a manual payment, a successful submission to a third party payment provider, or an update received back)

Operations

adhoc-invoice-payments

An event related to an adhoc invoice payment (For example a manual payment, a successful submission to a third party payment provider, or a status update received back)

Operations

refunds

Refunds represent the funds returned to the customer that have previously been collected. If the payment method is left blank or the invoice is auto collected, then same payment method of the last successful payment will be used

Operations

site-payment-mandates

A token from the payment provider that gives authority to take a direct debit from a bank account

Operations

payment-provider-mandates

Mandate details from the payment provider

Operations

customer-payments

A payment against a customer. The amount will be used to pay off any unpaid invoices starting from the oldest first. Overpayments will be added to the customer-balance

Operations

customer-balances

The customer's outstanding balance. Negative means a debt, Positive means they have credit

Operations

customer-credit-status

The customer's credit status - returns current balance versus their credit threshold

Operations

payment-provider-reprocess

Synchronise Elevate payment statuses by reprocessing payment provider events

Operations

invoice-payment-reprocess

Reprocess a normal or adhoc invoice payment

Operations

invoice-payment-cancel

Cancel a pending payment collection

Operations

instant-bank-payment-for-mandate

An instant first payment—typically made via Instant Bank Payment—processed as part of the mandate creation flow. Currently supported only when using the GoCardless payment provider

Operations