This endpoint is scheduled to be deprecated in December 2024.
Enables users to submit payments to the platform. Supports posting debits and credits to an account, as well as facilitating fund transfers between accounts.
To post a credit you must provide a credit
object with a valid credit processing code (processing_code
) and destination (external_account_id
).
Similarly, to post a debit you must provide a debit
object. If you provide an earmark_id
value inside the debit
object, the payment amount is withdrawn directly from the earmark balance. The earmark ID is generated by the Create earmark endpoint.
To post a transfer, you must provide both credit
and debit
objects representing the credit and debit legs of the operation. If you provide an earmark_id
value inside the debit object, the transferred amount is withdrawn directly from the earmark balance.
To post a forced transfer, you must set both credit
and debit
and set force_post
to true
.
Note: This endpoint does not support forced transfers from an earmark balance.
See the Examples drop-down menu for sample payloads for each of these payment types.
For more information on payments operations, see Corporate Banking Launch Reference.
NOTES:
- This endpoint requires an account-specific access token. Getting an account token requires you to call the Get OpenID access token endpoint with an external account ID. Tokens can expire quickly, which can result in an Unauthorized message.
- The
metadata
field is updated to include acorporate_metadata
object with the following fields:credit_external_account_id
: Included in thecorporate_metadata
field when it's provided in the credit leg.debit_external_account_id
: Included in thecorporate_metadata
field when it's provided in the debit leg.earmark_id
: Included in thecorporate_metadata
field when it's provided in the debit leg.
- The
corporate_metadata
field must be an object. Any other type results in an error as mapped in the responses section. - If you make a single leg earmark payment (
debit
) or transfer from an earmark balance, the events Authorization created and Transaction created are generated with one additional field:- The metadata (Authorization created) or details (Transaction created) field is updated to include
corporate_metadata
with the following fields:authorization_type
: Included to identify the payment type as eithercorporate-earmark-payment
orcorporate-earmark-transfer
.
- The metadata (Authorization created) or details (Transaction created) field is updated to include
- If you make a forced transfer (
debit
andcredit
info provided, andforce_post
set totrue
):- The events Authorization created and Transaction created are generated with additional fields:
- The
corporate_metadata
insidemetadata
(authorization-event-1) or the details (creation-1) fields are updated to include:authorization_type
: Included to identify the payment type as eithercorporate-force-transfer
in the debit authorization event.credit_tracking_id
: Included in thecorporate_metadata
debit event to identify the credit operation tracking ID.debit_tracking_id
: Included in thecorporate_metadata
credit event to identify the debit operation tracking ID.
- The
- The response returns only
authorization_id
fromdebit
. - If the account has any reason-based force payment restrictions, the operation fails. The reasons that restrict force credit or debit operations are:
- Credit only — No force debit allowed
- Debit only — No force credit allowed
- Any — No force allowed
- Manual — No force allowed
- To find the correct reason IDs, refer to the List account status reasons endpoint.
- The events Authorization created and Transaction created are generated with additional fields:
- If you make an earmark payment transfer (debit, credit), the events Authorization created and Transaction created are generated with additional fields:
- The
corporate_metadata
insidemetadata
Authorization created or the details in Transaction created are updated to include:earmark_id
: Included to identify the payment type ascorporate-earmark-transfer
in the consumer authorization event.credit_tracking_id
: Included in thecorporate_metadata
debit event to identify the credit operation tracking ID.debit_tracking_id
: Included in thecorporate_metadata
credit event to identify the debit operation tracking ID.
- The response body returns only
authorization_id
from debit. Theauthorization_id
fromcredit
is generated asynchronously.
- The
Each payment operation created generates the following events:
- Authorization created
- Account balance changed.
- Account balance changed (Availables)
- Transaction created.
- Accounting entry created
- If flex controls are configured, the event is triggered:
See the Data and reporting guide for more information on events and setting up event notifications.