Skip to content

Elevate Payment and Refund API (1.39)

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

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

outbound-payments

Outbound Payments are API-managed payouts that let you send money from your payment account to a recipient’s bank account (e.g., customers, suppliers, or third parties). They represent a payment initiated by the creditor and tracked through statuses like verifying, pending approval, scheduled, and executed

Operations

Create a new outbound payment

Request

Create a new outbound payment (currently only GO_CARDLESS supported)

Security
bearerAuth
Bodyapplication/jsonrequired

New outbound payment

customerIdinteger(int32)required

Customer identifier

Example: 1
amountInMajorCurrencynumber[ 1 .. 25000 ]required

Amount in major currency (max 25K GBP)

Example: 10.5
referencestring[ 1 .. 18 ] characters[A-Za-z0-9\s&\-\.\/]*required

Payment reference

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

Payment description

executionDatestring(date)

Date when the outbound payment should execute, should always be in the future. If missing then execute as soon as possible

useCustomerCreditBalanceboolean

When the payment completes reduce customer credit balance

Default false
thirdPartyOutboundPaymentStatusstring(ThirdPartyOutboundPaymentStatus)

Invoice payment status. Not applicable for manual payments

Enum"NEW""VERIFYING""PENDING_APPROVAL""SCHEDULED""EXECUTING""EXECUTED""CANCELLED""FAILED"
curl -i -X POST \
  https://rest.elevatebilling.com/v1/outbound-payments \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "customerId": 1,
    "amountInMajorCurrency": 10.5,
    "reference": "string",
    "description": "string",
    "executionDate": "2019-08-24",
    "useCustomerCreditBalance": false,
    "thirdPartyOutboundPaymentStatus": "NEW"
  }'

Responses

Customer outbound payment submitted

Bodyapplication/json
idinteger(int64)read-only

Outbound payment identifier

Example: 1
customerIdinteger(int32)required

Customer identifier

Example: 1
amountInMajorCurrencynumber[ 1 .. 25000 ]required

Amount in major currency (max 25K GBP)

Example: 10.5
referencestring[ 1 .. 18 ] characters[A-Za-z0-9\s&\-\.\/]*required

Payment reference

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

Payment description

executionDatestring(date)

Date when the outbound payment should execute, should always be in the future. If missing then execute as soon as possible

useCustomerCreditBalanceboolean

When the payment completes reduce customer credit balance

Default false
thirdPartyOutboundPaymentStatusstring(ThirdPartyOutboundPaymentStatus)

Invoice payment status. Not applicable for manual payments

Enum"NEW""VERIFYING""PENDING_APPROVAL""SCHEDULED""EXECUTING""EXECUTED""CANCELLED""FAILED"
Response
application/json
{ "id": 1, "customerId": 1, "amountInMajorCurrency": 10.5, "reference": "string", "description": "string", "executionDate": "2019-08-24", "useCustomerCreditBalance": false, "thirdPartyOutboundPaymentStatus": "NEW" }

Get a specific outbound payment

Request

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

Outbound payment identifier

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

Responses

Payment provider found

Bodyapplication/json
idinteger(int64)read-only

Outbound payment identifier

Example: 1
customerIdinteger(int32)required

Customer identifier

Example: 1
amountInMajorCurrencynumber[ 1 .. 25000 ]required

Amount in major currency (max 25K GBP)

Example: 10.5
referencestring[ 1 .. 18 ] characters[A-Za-z0-9\s&\-\.\/]*required

Payment reference

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

Payment description

executionDatestring(date)

Date when the outbound payment should execute, should always be in the future. If missing then execute as soon as possible

useCustomerCreditBalanceboolean

When the payment completes reduce customer credit balance

Default false
thirdPartyOutboundPaymentStatusstring(ThirdPartyOutboundPaymentStatus)

Invoice payment status. Not applicable for manual payments

Enum"NEW""VERIFYING""PENDING_APPROVAL""SCHEDULED""EXECUTING""EXECUTED""CANCELLED""FAILED"
Response
application/json
{ "id": 1, "customerId": 1, "amountInMajorCurrency": 10.5, "reference": "string", "description": "string", "executionDate": "2019-08-24", "useCustomerCreditBalance": false, "thirdPartyOutboundPaymentStatus": "NEW" }

Update the payment provider's state

Request

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

Outbound payment

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/outbound-payments/1 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json-patch+json' \
  -d '[
    {
      "op": "replace",
      "path": "/thirdPartyOutboundPaymentStatus",
      "value": "EXECUTED"
    }
  ]'

Responses

Success

Bodyapplication/json
idinteger(int64)read-only

Outbound payment identifier

Example: 1
customerIdinteger(int32)required

Customer identifier

Example: 1
amountInMajorCurrencynumber[ 1 .. 25000 ]required

Amount in major currency (max 25K GBP)

Example: 10.5
referencestring[ 1 .. 18 ] characters[A-Za-z0-9\s&\-\.\/]*required

Payment reference

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

Payment description

executionDatestring(date)

Date when the outbound payment should execute, should always be in the future. If missing then execute as soon as possible

useCustomerCreditBalanceboolean

When the payment completes reduce customer credit balance

Default false
thirdPartyOutboundPaymentStatusstring(ThirdPartyOutboundPaymentStatus)

Invoice payment status. Not applicable for manual payments

Enum"NEW""VERIFYING""PENDING_APPROVAL""SCHEDULED""EXECUTING""EXECUTED""CANCELLED""FAILED"
Response
application/json
{ "id": 1, "customerId": 1, "amountInMajorCurrency": 10.5, "reference": "string", "description": "string", "executionDate": "2019-08-24", "useCustomerCreditBalance": false, "thirdPartyOutboundPaymentStatus": "NEW" }