Receive information regarding a payment made via an external payment processing platform.
| Name | Description |
|---|---|
| Root | Chain.io schema for payment receipts. Payments should already have been recorded as paid in the payment processing platform. |
| PaymentAllocation | Represents a portion of a payment allocated against an invoice. |
| PaymentPlatformMethod | Indicates a payment that was received from or made by a 3rd party payments platform. |
| Party | Represents a party associated with a payment. |
| PartyIdentifier | A code and context that can be used to uniquely identify a party. |
| PhoneNumber | A phone number and type object. |
| EmailAddress | An email address and type object. |
| CustomProperties | An object an input converter can utilize to pass any custom data back into a flow that can potentially be utilized by an output converter. |
| Root_payment_amount | The total monetary amount of the payment. |
| PaymentAllocation_invoice | The invoice the payment portion is being allocated to. |
| Party_contact | A point of contact at the party. |
| Name | Data Type | Description | Required |
|---|---|---|---|
payment_identifier | String | The 'primary key' uniquely identifying the payment in the payment platform. | YES |
payment_reference | String | A reference number used to identify the payment in the payment platform. This reference value represents the 'natural key' companion to the payment_identifier's 'primary key'. In cases where the payment_identifier is an unrelated key, such as an integer or GUID, the payment_reference can be used to supply a user friendly key. | |
payment_status | String | A status indicator regarding the state of the payment. Allowed values: paid, cancelled. | YES |
idempotency_token | String | This token will be used by the accounting system, where supported, to ensure that individual payment transactions are not processed more than once. | YES |
transaction_type | String | Identifies the type of accounting transaction the payment will affect. This property is determined from the point of view of the party who's accounting system is processing this payment. Therefore, if the payment represents an accounting transaction that should be recorded as a receipt of payment from a customer, then the transaction_type should be an accounts_receivable transaction. If the payment represents an accounting transaction that is recorded as a payment to a vendor, then the transaction_type should be an accounts_payable transaction. Allowed values: accounts_receivable, accounts_payable. | YES |
payment_amount | Root_payment_amount | The total monetary amount of the payment. | YES |
payment_initiated_date | String | The date the payment was initiated by the creditor. Some forms of payment may take additional time to complete. For instance, this may be used to represent the date a check was cut or the date an ACH was sent. | YES |
payment_received_date | String | The date the payment was officially received by the debtor. This would represent the date the check was cashed, or the date an ACH was officially received by the debtor. | |
posted_date | String | The posting date to record for the payment in the accounting system's ledger. | |
debtor_reference | String | A reference number used by the paying party to track the payment. | |
creditor_reference | String | A reference number used by the party receiving payment to track the payment. | |
creditor | Party | The party that is receiving the payment from the debtor. For accounts_payable payments this will generally represent the vendor the company receiving the payment information into their accounting system is paying. For accounts_receivable payments this will generally represent the company receiving the payment information. Creditors are rarely present on accounts_receivable payments. | |
debtor | Party | The party that transfering payment to the creditor. For accounts_receivable payments this will generally represent a customer of the company receiving the payment information into their accounting system. For accounts_payable payments this will generally represent the company receiving the payment information. Debtors are rarely present on accounts_payment payments. | |
description | String | A general description of the payment and what it may represent. This will typically be used to help identify payments and apply them against invoices or for reconciliation purposes in the accounting system. | |
memo | String | A memo containing any additional notes about the payment. | |
payment_method | PaymentPlatformMethod | The method used to make the payment. | YES |
department_code | String | The accounting system's native code for identifying which internal department / division the payment should be posted to. | |
branch_code | String | The accounting system's native code for identifying which internal branch the payment should be posted to. | |
payment_allocations | Array<PaymentAllocation> | Defines the individual invoices and amounts paid by the overall payment. | |
custom_properties | CustomProperties |
| Name | Data Type | Description | Required |
|---|---|---|---|
invoice | PaymentAllocation_invoice | The invoice the payment portion is being allocated to. | |
amount | Decimal | The total amount of the payment to allocate against the invoice. | |
custom_properties | CustomProperties |
| Name | Data Type | Description | Required |
|---|---|---|---|
method | String | Allowed values: payment_platform. | YES |
platform_code | String | A code identifying the platform that facilitated the payment. The will typically be utilized as an identifier by the accounting system to associate the payment with the payment platform. In some accounting systems, this value will correlate to a bank code. | YES |
platform_name | String | The full name of the payment platform. |
| Name | Data Type | Description | Required |
|---|---|---|---|
identifiers | Array<PartyIdentifier> | An array of all applicable identifiers that can be used to identify the party. | |
name | String | The entity's name. | |
address_1 | String | The address' street number and name. | |
address_2 | String | The address' secondary address information. | |
city | String | The address' city component. | |
country_subdivision | String | The country specific subdivision code. This could represent a county, province, state, etc. In order to maximize interoperability, you should utilize the ISO 3166-2 country subdivision identifiers when providing this data. | |
country | String | The address' 2 character ISO-3166-2 country Code. | |
postal_code | String | The unique postal code identifier for the address. | |
contact | Party_contact | A point of contact at the party. | |
custom_properties | CustomProperties |
| Name | Data Type | Description | Required |
|---|---|---|---|
code | String | The identifier code | YES |
code_type | String | The type of data that the identifier code represents. Allowed values: accounting_system_external_identifier, payment_platform_identifier, tax_id, iata, scac, legal_entity_id, duns. | YES |
code_country | String | The 2 character ISO-3166-2 country code that the id code was issued in / by. |
| Name | Data Type | Description | Required |
|---|---|---|---|
phone_type | String | The type of phone number. Allowed values: main, mobile, work, home, fax, other. | YES |
phone_number | String | The actual phone number. When at all possible, to increase interoperability, phone numbers should be formatted according to RFC3966. Also see libphonenumber when parsing phone numbers. | YES |
| Name | Data Type | Description | Required |
|---|---|---|---|
email_type | String | The type of email address. Allowed values: main, work, personal, other. | YES |
email_address | String | The email address | YES |
| Name | Data Type | Description | Required |
|---|
| Name | Data Type | Description | Required |
|---|---|---|---|
total | Decimal | The total amount. | YES |
currency | String | The ISO 4217 currency code indicating the currency the amount was paid in. | YES |
| Name | Data Type | Description | Required |
|---|---|---|---|
accounting_system_identifier | String | The 'primary key' uniquely identifying the invoice in the accounting system. For some systems, this may be the same as the invoice_number. This value should be the value sent as the accounting_system_identifier on any send_invoice integration that pushed the invoice to the payment platform. | |
invoice_number | String | An external identifier for the invoice. Typically, the invoice number is either unique accross the entire accounting system or unique per debtor. |
| Name | Data Type | Description | Required |
|---|---|---|---|
name | String | The name of the contact | |
phone_numbers | Array<PhoneNumber> | ||
email_addresses | Array<EmailAddress> |