Invoice Pay v4
SAP Concur partners with external payment providers for processing invoice payments. These payment providers are listed on the App Center and can integrate with the Invoice product by using the Invoice Pay APIs. Payment providers can get a list of all the payments authorized to be processed by them, and send back status of those payments.
Limitations
This API is only available for use by payment partners who will be processing invoice payments. This API can accept a maximum of 10,000 requests per minute across all payment providers. This API is available only in the North America and EMEA Data Center. Access to this documentation does not provide access to the API.
Process Flow
Products and Editions
- Concur Invoice Professional Edition
- Concur Invoice Standard Edition
Scope Usage
Name | Description | Endpoint |
---|---|---|
invoice.providerpayment.write |
Read access to pending payments, and write access to payment status | GET,POST |
Dependencies
This API can only be used with SAP Concur clients who have purchased Concur Invoice.
Access Token Usage
This API supports only Company access tokens.
Obtaining payments
Payment providers can use this endpoint to get a list of payments.
- This method will return all payments with a status PENDING_RETRIEVAL and payment method
PAVPVD
. After an invoice is approved and extracted it will be converted into a payment with status PENDING_RETRIEVAL. - It returns a maximum of 500 records at a time. In order to ensure that all payments are retrieved, call this method until you receive an empty payment in the response.
- The payment provider will need to acknowledge that payments were received, using Updating a Payment With Status and updating the status of the payment to any status other than PENDING_RETRIEVAL.
Request
URI
Template
GET https://us.api.concursolutions.com/invoice/provider-payment/v4/payments
Parameters
Name | Type | Format | Description |
---|---|---|---|
invoiceId |
string |
- | Optional: Gets specific payment info along with erpDocumentNumber. |
invoiceDate |
date |
YYYY-MM-DD | Optional: On or After option (date range). |
createDate |
date |
YYYY-MM-DD | Optional: On or After option (date range). |
vendorName |
string |
- | Optional: Vendor Name(Case Insensitive Search). |
vendorCode |
string |
- | Optional: Vendor Code(Case Insensitive Search). |
vendorAddrCode |
string |
- | Optional: Vendor Address(Case Insensitive Search). |
PaymentStatus |
string |
- | Optional: Need to be able to retrieve PAYPVD invoices in any status. |
PaymentGroup |
string |
- | Optional: Payment Group Name(Case Insensitive Search). |
invoiceNumber |
string |
- | Optional: Invoice Number. |
paymentId |
string |
- | Optional: Payment ID. |
Headers
Payload
None.
Response
Status Codes
Headers
- RFC 7231 Content-Type
concur-correlationid
is a SAP Concur specific custom header used for technical support in the form of a RFC 4122 A Universally Unique IDentifier (UUID) URN Namespace
Payload
Example
Request
GET https://us.api.concursolutions.com/invoice/provider-payment/v4/payments
Accept: application/json
Authorization: BEARER {token}
Response
200 OK
Content-Type: application/json
{
"payments": [
{
"paymentId": "SamplePaymentIdsWhoseLengthShudbe36",
"paymentMethod": "PAYPVD",
"paymentStatus": "PENDING_RETRIEVAL",
"paymentDueDate": "2005-12-18",
"createdDate": "2022-10-18T00:13:00",
"paymentGroup": null,
"totalAmount": {
"amount": "10.00",
"currency": "USD"
},
"invoiceHeaderCustomFields": [
{
"custom1": null,
"custom2": null,
"custom3": null,
"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null,
"custom10": null,
"custom11": null,
"custom12": null,
"custom13": null,
"custom14": null,
"custom15": null,
"custom16": null,
"custom17": null,
"custom18": null,
"custom19": null,
"custom20": null,
"custom21": null,
"custom22": null,
"custom23": null,
"custom24": null
}
],
"invoices": [
{
"invoiceNumber": "INVNUMC1005",
"invoiceId": "1ADFBB440D7045F68DE2",
"invoiceDate": "2005-11-18",
"invoiceAmount": {
"amount": "10.00",
"currency": "USD"
},
"paymentAmount": {
"amount": "30.00",
"currency": "USD"
},
"notesToSupplier": "Sample",
"erpDocumentNumber": "erp1234"
}
],
"vendor": {
"addressLine1": "1234 Rain Street",
"addressLine2": "Yellow layout",
"addressLine3": "Frawer Town",
"vendorAddrCode": "1160",
"city": "Minneapolis",
"state": "IL",
"postalCode": "60680-28160",
"countryName": "UNITED STATES",
"countryCode": "US",
"firstName": "Terry",
"lastName": "Brown",
"phoneNumber": null,
"email": "terry.brown@example.com",
"vendorCode": "1160",
"vendorName": "Dell",
"buyerAccountNumber": "1234567890",
"vendorCustomFields": [
{
"custom1": null,
"custom2": null,
"custom3": null,
"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null,
"custom10": null,
"custom11": null,
"custom12": null,
"custom13": null,
"custom14": null,
"custom15": null,
"custom16": null,
"custom17": null,
"custom18": null,
"custom19": null,
"custom20": null
}
]
}
}
]
}
Updating a Payment With Status
Payment providers can use this endpoint to provide updates to the status of payments.
Request
URI
Template
POST https://us.api.concursolutions.com/invoice/provider-payment/v4/payments/{paymentId}
Parameters
Name | Type | Format | Description |
---|---|---|---|
paymentId |
string |
- | Required The identifier of the payment to update. |
Headers
Payload
Response
Status Codes
Headers
concur-correlationid
is a SAP Concur specific custom header used for technical support in the form of a RFC 4122 A Universally Unique IDentifier (UUID) URN Namespace- RFC 7231 Content-Type
Payload
Example
Request
POST https://us.api.concursolutions.com/invoice/provider-payment/v4/payments/SamplePaymentIdsWhoseLengthShudbe36
Authorization: BEARER {token}
Content-Type: application/json
{
"providerReference" : "SamplePaymentIdsWhoseLengthShudbe36",
"status" : "PAID",
"statusMessage" : "Payment was successful",
"paymentAdjustmentNotes" : "Test",
"statusDate" : "2022-03-01",
"paymentInitiationDate" : "2022-03-01",
"paymentSettlementDate" : "2022-03-01",
"thirdPartyPaymentIdentifier" : "",
"paymentMethod" : "CHECK",
"paidAmount" : {
"amount": "30.00",
"currency": "USD"
}
"fundingSourceRef" : "TestFundingRef",
"cashAccountCode" : "CODE_CASH",
"liabilityAccountCode" : "CODE_LIA",
"fundingRequestRef" : "TestReqRef",
"checkNumber" : "12144",
"fundingSettlementDate" : "2022-03-01",
"fundingCurrency" : "USD",
"paymentCurrency" : "USD",
"foreignExchangeRate" : "1.0",
}
Response
200 OK
Content-Type: application/json
{
"paymentId" : "SamplePaymentIdsWhoseLengthShudbe36",
"providerReference" : "SamplePaymentIdsWhoseLengthShudbe36",
"status" : "PAID",
"statusMessage" : "Payment was successful",
"statusDate" : "2022-03-01",
"paymentSettlementDate" : "2022-03-01",
"thirdPartyPaymentIdentifier" : "",
"paymentMethod" : "CHECK",
"paidAmount" : {
"amount": "30.00",
"currency": "USD"
}
"paymentInitiationDate" : "2022-03-01",
"paymentAdjustmentNotes" : null,
"fundingSourceRef" : "TestFundingRef",
"cashAccountCode" : "CODE_CASH",
"liabilityAccountCode" : "CODE_LIA",
"fundingRequestRef" : "TestReqRef",
"checkNumber" : "12144",
"fundingCurrency" : "USD",
"paymentCurrency" : "USD",
"fundingSettlementDate" : "2022-03-01",
"foreignExchangeRate" : "1.0",
"createdDate" : "2018-12-05T16:43:32",
"modifiedDate" : "2022-04-26T14:25:49"
}
Updating Bulk Payments with Status
Payment providers can use this endpoint to provide updates to the status of multiple payments at once.
Request
URI
Template
POST https://us.api.concursolutions.com/invoice/provider-payment/v4/payments/bulkUpdate
Headers
Payload
Response
Status Codes
Headers
concur-correlationid
is a SAP Concur specific custom header used for technical support in the form of a RFC 4122 A Universally Unique IDentifier (UUID) URN Namespace- RFC 7231 Content-Type
Payload
Example
Request
Request (When all payments get successfully validated and persisted)
POST https://us.api.concursolutions.com/invoice/provider-payment/v4/payments/bulkUpdate
Authorization: BEARER {token}
Content-Type: application/json
[
{
"providerReference": "SamplePaymentId1WhoseLengthShudbe36",
"paymentId" : "SamplePaymentId1WhoseLengthShudbe36",
"status": "PAID",
"statusMessage": "paid the amount",
"statusDate": "2018-10-15",
"thirdPartyPaymentIdentifier": "third_ref_13",
"paymentMethod": "CHECK",
"paidAmount": {
"amount": "2",
"currency": "USD"
},
"paymentAdjustmentNotes": "Notes for third_ref_1",
"paymentSettlementDate": "2018-10-01",
"paymentInitiationDate": "2018-10-03",
"fundingSourceRef": "FS01",
"cashAccountCode": "CAC01",
"liabilityAccountCode": "LAC01",
"fundingRequestRef": "FR01",
"checkNumber": "1234",
"fundingSettlementDate": "2018-10-15",
"fundingCurrency": "USD",
"paymentCurrency": "INR"
},
{
"paymentId" : "SamplePaymentId2WhoseLengthShudbe36",
"providerReference": "SamplePaymentId2WhoseLengthShudbe36",
"status": "PAID",
"statusMessage": "hmm something went bad with this payment",
"statusDate": "2018-10-31",
"thirdPartyPaymentIdentifier": "third_ref_4",
"paymentMethod": "CHECK",
"paidAmount": {
"amount": "2",
"currency": "USD"
},
"paymentAdjustmentNotes": "Notes for third_ref_4",
"paymentSettlementDate": "2018-10-31",
"paymentInitiationDate": "2018-10-10",
"fundingSourceRef": "FS02",
"cashAccountCode": "CAC02",
"liabilityAccountCode": "LAC02",
"fundingRequestRef": "FR02",
"checkNumber": "5678",
"fundingSettlementDate": "2018-10-15",
"fundingCurrency": "USD",
"paymentCurrency": "USD"
}
]
Response
200 OK
Content-Type: application/json
{
"successfulPayments": [
{
"paymentId": "SamplePaymentId1WhoseLengthShudbe36",
"providerReference": "SamplePaymentId1WhoseLengthShudbe36",
"status": "PAID",
"statusMessage": "paid the amount",
"statusDate": "2018-10-15",
"paymentSettlementDate": "2018-10-01",
"thirdPartyPaymentIdentifier": "third_ref_13",
"paymentMethod": "CHECK",
"paidAmount": {
"amount": "2.00",
"currency": "USD"
},
"paymentInitiationDate": "2018-10-03",
"paymentAdjustmentNotes": "Notes for third_ref_1",
"fundingSourceRef": "FS01",
"cashAccountCode": "CAC01",
"liabilityAccountCode": "LAC01",
"fundingRequestRef": "FR01",
"checkNumber": "1234",
"fundingCurrency": "USD",
"paymentCurrency": "INR",
"fundingSettlementDate": "2018-10-15",
"foreignExchangeRate": "12.760000",
"createdDate": "2018-10-22T00:13:38",
"modifiedDate": "2022-04-18T16:18:32"
},
{
"paymentId": "SamplePaymentId2WhoseLengthShudbe36",
"providerReference": "SamplePaymentId2WhoseLengthShudbe36",
"status": "PAID",
"statusMessage": "hmm something went bad with this payment",
"statusDate": "2018-10-31",
"paymentSettlementDate": "2018-10-31",
"thirdPartyPaymentIdentifier": "third_ref_4",
"paymentMethod": "CHECK",
"paidAmount": {
"amount": "2.00",
"currency": "USD"
},
"paymentInitiationDate": "2018-10-10",
"paymentAdjustmentNotes": "Notes for third_ref_4",
"fundingSourceRef": "FS02",
"cashAccountCode": "CAC02",
"liabilityAccountCode": "LAC02",
"fundingRequestRef": "FR02",
"checkNumber": "5678",
"fundingCurrency": "USD",
"paymentCurrency": "USD",
"fundingSettlementDate": "2018-10-15",
"foreignExchangeRate": "12.820000",
"createdDate": "2018-10-22T00:13:38",
"modifiedDate": "2022-04-13T15:17:34"
}
],
"status": "OK",
"successCount": 2,
"failureCount": 0
}
Request (When all payments get invalidated)
POST https://us.api.concursolutions.com/invoice/provider-payment/v4/payments/bulkUpdate
Authorization: BEARER {token}
Content-Type: application/json
[
{
"providerReference": "SamplePaymentId1WhoseLengthShudbe36",
"paymentId" : "SamplePaymentId1WhoseLengthShudbe36",
"statusMessage": "paid the amount",
"statusDate": "2018-10-15",
"thirdPartyPaymentIdentifier": "third_ref_13",
"paymentMethod": "CHECK",
"paidAmount": {
"amount": "2",
"currency": "USD"
},
"paymentAdjustmentNotes": "Notes for third_ref_1",
"paymentSettlementDate": "2018-10-01",
"paymentInitiationDate": "2018-10-03",
"fundingSourceRef": "FS01",
"cashAccountCode": "CAC01",
"liabilityAccountCode": "LAC01",
"fundingRequestRef": "FR01",
"checkNumber": "1234",
"fundingSettlementDate": "2018-10-15",
"fundingCurrency": "USD",
"paymentCurrency": "INR"
},
{
"paymentId" : "SamplePaymentId2WhoseLengthShudbe36",
"providerReference": "SamplePaymentId2WhoseLengthShudbe36",
"statusMessage": "hmm something went bad with this payment",
"statusDate": "2018-10-31",
"thirdPartyPaymentIdentifier": "third_ref_4",
"paymentMethod": "CHECK",
"paidAmount": {
"amount": "2",
"currency": "USD"
},
"paymentAdjustmentNotes": "Notes for third_ref_4",
"paymentSettlementDate": "2018-10-31",
"paymentInitiationDate": "2018-10-10",
"fundingSourceRef": "FS02",
"cashAccountCode": "CAC02",
"liabilityAccountCode": "LAC02",
"fundingRequestRef": "FR02",
"checkNumber": "5678",
"fundingSettlementDate": "2018-10-15",
"fundingCurrency": "USD",
"paymentCurrency": "USD"
}
]
Response
400 BAD REQUEST
Content-Type: application/json
{
"failedPayments": [
{
"paymentId": "SamplePaymentId1WhoseLengthShudbe36",
"providerReference": "SamplePaymentId1WhoseLengthShudbe36",
"statusMessage": "paid the amount",
"statusDate": "2018-10-15",
"paymentSettlementDate": "2018-10-01",
"thirdPartyPaymentIdentifier": "third_ref_13",
"paymentMethod": "CHECK",
"paidAmount": {
"amount": "2",
"currency": "USD"
},
"paymentInitiationDate": "2018-10-03",
"paymentAdjustmentNotes": "Notes for third_ref_1",
"fundingSourceRef": "FS01",
"cashAccountCode": "CAC01",
"liabilityAccountCode": "LAC01",
"fundingRequestRef": "FR01",
"checkNumber": "1234",
"fundingCurrency": "USD",
"paymentCurrency": "INR",
"fundingSettlementDate": "2018-10-15",
"errorMessage": "Payment status cannot be null"
},
{
"paymentId": "SamplePaymentId2WhoseLengthShudbe36",
"providerReference": "SamplePaymentId2WhoseLengthShudbe36",
"statusMessage": "hmm something went bad with this payment",
"statusDate": "2018-10-31",
"paymentSettlementDate": "2018-10-31",
"thirdPartyPaymentIdentifier": "third_ref_4",
"paymentMethod": "CHECK",
"paidAmount": {
"amount": "2",
"currency": "USD"
},
"paymentInitiationDate": "2018-10-10",
"paymentAdjustmentNotes": "Notes for third_ref_4",
"fundingSourceRef": "FS02",
"cashAccountCode": "CAC02",
"liabilityAccountCode": "LAC02",
"fundingRequestRef": "FR02",
"checkNumber": "5678",
"fundingCurrency": "USD",
"paymentCurrency": "USD",
"fundingSettlementDate": "2018-10-15",
"errorMessage": "Payment status cannot be null"
}
],
"status": "BAD_REQUEST",
"successCount": 0,
"failureCount": 2
}
Request (When we have partial successful payments)
POST https://us.api.concursolutions.com/invoice/provider-payment/v4/payments/bulkUpdate
Authorization: BEARER {token}
Content-Type: application/json
[
{
"providerReference": "SamplePaymentId1WhoseLengthShudbe36",
"paymentId" : "SamplePaymentId1WhoseLengthShudbe36",
"status": "PAID",
"statusMessage": "paid the amount",
"statusDate": "2018-10-15",
"thirdPartyPaymentIdentifier": "third_ref_13",
"paymentMethod": "CHECK",
"paidAmount": {
"amount": "2",
"currency": "USD"
},
"paymentAdjustmentNotes": "Notes for third_ref_1",
"paymentSettlementDate": "2018-10-01",
"paymentInitiationDate": "2018-10-03",
"fundingSourceRef": "FS01",
"cashAccountCode": "CAC01",
"liabilityAccountCode": "LAC01",
"fundingRequestRef": "FR01",
"checkNumber": "1234",
"fundingSettlementDate": "2018-10-15",
"fundingCurrency": "USD",
"paymentCurrency": "INR"
},
{
"paymentId" : "SamplePaymentId2WhoseLengthShudbe36",
"providerReference": "SamplePaymentId2WhoseLengthShudbe36",
"statusMessage": "hmm something went bad with this payment",
"statusDate": "2018-10-31",
"thirdPartyPaymentIdentifier": "third_ref_4",
"paymentMethod": "CHECK",
"paidAmount": {
"amount": "2",
"currency": "USD"
},
"paymentAdjustmentNotes": "Notes for third_ref_4",
"paymentSettlementDate": "2018-10-31",
"paymentInitiationDate": "2018-10-10",
"fundingSourceRef": "FS02",
"cashAccountCode": "CAC02",
"liabilityAccountCode": "LAC02",
"fundingRequestRef": "FR02",
"checkNumber": "5678",
"fundingSettlementDate": "2018-10-15",
"fundingCurrency": "USD",
"paymentCurrency": "USD"
}
]
Response
207 MULTI STATUS
Content-Type: application/json
{
"successfulPayments": [
{
"paymentId": "SamplePaymentId1WhoseLengthShudbe36",
"providerReference": "SamplePaymentId1WhoseLengthShudbe36",
"status": "PAID",
"statusMessage": "paid the amount",
"statusDate": "2018-10-15",
"paymentSettlementDate": "2018-10-01",
"thirdPartyPaymentIdentifier": "third_ref_13",
"paymentMethod": "CHECK",
"paidAmount": {
"amount": "2.00",
"currency": "USD"
},
"paymentInitiationDate": "2018-10-03",
"paymentAdjustmentNotes": "Notes for third_ref_1",
"fundingSourceRef": "FS01",
"cashAccountCode": "CAC01",
"liabilityAccountCode": "LAC01",
"fundingRequestRef": "FR01",
"checkNumber": "1234",
"fundingCurrency": "USD",
"paymentCurrency": "INR",
"fundingSettlementDate": "2018-10-15",
"foreignExchangeRate": "12.760000",
"createdDate": "2018-10-22T00:13:38",
"modifiedDate": "2022-04-18T16:18:32"
}
],
"failedPayments": [
{
"paymentId": "SamplePaymentId2WhoseLengthShudbe36",
"providerReference": "SamplePaymentId2WhoseLengthShudbe36",
"statusMessage": "hmm something went bad with this payment",
"statusDate": "2018-10-31",
"paymentSettlementDate": "2018-10-31",
"thirdPartyPaymentIdentifier": "third_ref_4",
"paymentMethod": "CHECK",
"paidAmount": {
"amount": "2",
"currency": "USD"
},
"paymentInitiationDate": "2018-10-10",
"paymentAdjustmentNotes": "Notes for third_ref_4",
"fundingSourceRef": "FS02",
"cashAccountCode": "CAC02",
"liabilityAccountCode": "LAC02",
"fundingRequestRef": "FR02",
"checkNumber": "5678",
"fundingCurrency": "USD",
"paymentCurrency": "USD",
"fundingSettlementDate": "2018-10-15",
"errorMessage": "Payment status cannot be null"
}
],
"status": "MULTI_STATUS",
"successCount": 1,
"failureCount": 1
}
Schema
Payments
Name | Type | Format | Description |
---|---|---|---|
payments |
array |
Payment | Array of payments. |
Payment
Name | Type | Format | Description |
---|---|---|---|
invoices |
array |
Invoice | Array of invoices that need to be batched in a payment. |
paymentDueDate |
string |
YYYY-MM-DD | The date by which the payment should be made. |
paymentID |
string |
- | Unique identifier of the payment in SAP Concur. Maximum 36 characters. |
paymentMethod |
string |
- | The value is always PAYPVD which means that the client wants to pay using a payment provider. Maximum 15 characters. |
totalAmount |
object |
Amount | This amount needs to be paid to the vendor. |
vendor |
object |
Vendor | Vendor requesting the payment. |
Invoice
Name | Type | Format | Description |
---|---|---|---|
invoiceAmount |
object |
Amount | Amount on the invoice. |
invoiceNumber |
string |
- | Invoice Number. Maximum 50 characters. |
invoiceId |
string |
- | Unique identifier of the invoice in SAP Concur. This can be used to get additional invoice information from other APIs. This is the same as paymentRequestID in other Invoice APIs. Maximum 20 characters. |
notesToSupplier |
string |
- | Notes to the supplier contain remittance information that the buyer wants to provide to the supplier. Maximum 500 characters. |
paymentAmount |
object |
Amount | Payment amount on the invoice. |
erpDocumentNumber |
string |
- | ErpDocumentNumber of that invoice. |
Vendor
Name | Type | Format | Description |
---|---|---|---|
buyerAccountNumber |
string |
- | Buyer Account Number. Maximum 50 characters. |
vendorCode |
string |
- | Vendor Code. Maximum 32 characters. |
vendorName |
string |
- | Vendor Name. Maximum 255 characters. |
addressLine1 |
string |
- | Vendor Address line 1. Maximum 255 characters. |
addressLine2 |
string |
- | Vendor Address line 2. Maximum 255 characters. |
addressLine3 |
string |
- | Vendor Address line 3. Maximum 255 characters. |
city |
string |
- | Vendor Address City. Maximum 255 characters. |
state |
string |
- | Vendor Address State. Maximum 10 characters. |
countryCode |
string |
- | Vendor Address Country Code. Maximum 2 characters. |
countryName |
string |
- | Vendor Address Country Name. Maximum 64 characters. |
postalCode |
string |
- | Vendor Address Postal Code. Maximum 20 characters. |
vendorAddrCode |
string |
- | Vendor Address Code. Maximum 64 characters. |
email |
string |
- | Email Address. Maximum 255 characters. |
firstName |
string |
- | First Name. Maximum 255 characters. |
lastName |
string |
- | Last Name. Maximum 255 characters. |
phoneNumber |
string |
- | Phone Number. Maximum 25 characters. |
Amount
Name | Type | Format | Description |
---|---|---|---|
amount |
string |
- | Amount. Maximum 20 characters. |
currency |
string |
- | Currency Code. Maximum 3 characters. |
Payment Update
Name | Type | Format | Description |
---|---|---|---|
providerReference |
string |
- | Unique identifier of the payment in the payment provider’s system. This will be used for internal troubleshooting. Maximum 100 characters. |
status |
string |
Payment Update Status | Required Used to depict success, error or any other intermediate state, defined by SAP Concur. |
statusMessage |
string |
- | Payment provider description of the status. Providers can supply any message. Maximum 255 characters. |
paymentAdjustmentNotes |
string |
- | Payment adjustment notes sent by the payment provider. Maximum 255 characters. |
statusDate |
string |
YYYY-MM-DD | Required The date that the payment provider recorded this status change. |
paymentInitiationDate |
string |
YYYY-MM-DD | The date the payment was initiated. |
paymentSettlementDate |
string |
YYYY-MM-DD | The date the payment will be in the payees account. |
thirdPartyPaymentIdentifier |
string |
- | Check number if the payment was done via check or trace number for ACH payments. Maximum 255 characters. |
paymentMethod |
string |
Payment Provider Method | Required if the status is PAID, CHECK_PROCESSED, or CARD_SETTLED Payment method used by the payment provider. |
paidAmount |
object |
Amount | Required if the status is PAID, CHECK_PROCESSED, or CARD_SETTLED Amount paid by the payment provider. |
fundingSourceRef |
string |
200 characters limit | This identifies the funding source /account used to pay the invoice.(Client Bank Account details) |
cashAccountCode |
string |
96 characters limit | Cash Account Code (limit 96 characters) |
liabilityAccountCode |
string |
96 characters limit | Liability Account Code (limit 96 characters) |
fundingRequestRef |
string |
200 characters limit | This is the identifier for the debit of the client’s account. Used to reconcile to the bank statement. |
checkNumber |
string |
- | Check Number |
fundingSettlementDate |
string |
YYYY-MM-DD | The date the payment debited the client’s bank account. |
fundingCurrency |
string |
6 character limits | Currency in which the payment was funded in by the client to the provider. |
paymentCurrency |
string |
6 character limits | Currency is used to pay the vendors. |
foreignExchangeRate |
string |
- | The exchange rate is used to fund payments other than Base currency. |
Payment Update Result
Name | Type | Format | Description |
---|---|---|---|
createdDate |
string |
YYYY-MM-DD | The date the payment was created. |
lastModifiedDate |
string |
YYYY-MM-DD | The date the payment was last modified. |
providerReference |
string |
- | Unique identifier of the payment in the payment provider’s system. Maximum 100 characters. |
status |
string |
Payment Update Status | Required Used to depict success, error or any other intermediate state, defined by SAP Concur. |
statusMessage |
string |
- | Payment provider description of the status. Providers can supply any message. Maximum 255 characters. |
paymentAdjustmentNotes |
string |
- | Payment adjustment notes sent by the payment provider. Maximum 255 characters. |
statusDate |
string |
YYYY-MM-DD | Required The date that the payment provider recorded this status change. |
paymentInitiationDate |
string |
YYYY-MM-DD | The date the payment was initiated. |
paymentSettlementDate |
string |
YYYY-MM-DD | The date the payment will be in the payees account. |
thirdPartyPaymentIdentifier |
string |
- | Check number if the payment was done via check or trace number for ACH payments. Maximum 255 characters. |
paymentMethod |
string |
Payment Provider Method | Required if the status is PAID, CHECK_PROCESSED, or CARD_SETTLED Payment method used by the payment provider. |
paidAmount |
object |
Amount | Required if the status is PAID, CHECK_PROCESSED, or CARD_SETTLED Amount paid by the payment provider. |
fundingSourceRef |
string |
200 character limits | This identifies the funding source /account used to pay the invoice.(Client Bank Account details) |
cashAccountCode |
string |
96 character limits | Cash Account Code (limit 96 characters) |
liabilityAccountCode |
string |
96 character limits | Liability Account Code (limit 96 characters) |
fundingRequestRef |
string |
200 character limits | This is the identifier for the debit of the client’s account. Used to reconcile to the bank statement. |
checkNumber |
string |
- | Check Number |
fundingSettlementDate |
string |
YYYY-MM-DD | The date the payment debited the client’s bank account. |
fundingCurrency |
string |
6 character limits | Currency in which the payment was funded in by the client to the provider. |
paymentCurrency |
string |
6 character limits | Currency is used to pay the vendors. |
foreignExchangeRate |
string |
- | The exchange rate is used to fund payments other than Base currency. |
errorMessage |
string |
- | Only displays when we have invalid payments - error message which tells about the invalid request data. |
Bulk Update Payment
Name | Type | Format | Description |
---|---|---|---|
bulkUpdateRequestDTOList |
array |
Payment Update | Contains the list of payments |
Bulk Update Payment Result
Name | Type | Format | Description |
---|---|---|---|
successfulPayments |
array |
Payment Update | Contains the list of payments which got validated successfully along with its persistence in the DB |
failedPayments |
array |
Payment Update Result | Contains the list of payments which got invalidated along with the error message of its validation failure |
status |
HTTP Status |
- | Http Status : 200 OK - If all payments get successfully validated, 400 BAD_REQUEST - If all payments get invalidated, 207 MULTI_STATUS - If the list has both valid and invalid payments |
successCount |
int |
- | It is the count of successful payments in the list |
failureCount |
int |
- | It is the count of failed payments in the list |
Errors
Name | Type | Format | Description |
---|---|---|---|
errors |
array |
Error | An array of errors. |
Error
Name | Type | Format | Description |
---|---|---|---|
errorCode |
string |
- | Required Machine readable code associated with the error. |
errorMessage |
string |
- | Required Human readable message associated with the error. |
Definitions
Payment Update Status
Value | Description | Status available in the Payment Confirmation Extract |
---|---|---|
PENDING_RETRIEVAL |
Not yet retrieved by the payment provider | Not available |
RETRIEVED |
Retrieved by the payment provider | Not available |
PROCESSING |
Payment is being processed by the payment provider | Not available |
REJECTED |
Payment was rejected by the payment provider | Not available |
RETURNED |
Payment was returned by the bank | Not available |
CANCELED |
Payment was canceled | FAILED |
CHECK_PRINTED |
Check was printed | Not available |
CHECK_MAILED |
Check was mailed | Not available |
CHECK_PROCESSED |
Check was processed | PAID |
CHECK_VOIDED |
Check was voided | VOID |
PAID |
Payment was successfully made | PAID |
CARD_EMAIL_SENT |
Email with card information sent to vendor | Not available |
CARD_AUTHORIZED |
Card was authorized by the merchant | Not available |
CARD_SETTLED |
Card was settled by vendor | PAID |
Payment Provider Method
Value | Description |
---|---|
ACH |
ACH payment |
CHECK |
Check payment |
WIRE |
Wire payment |
CARD |
Virtual Card payment |
OTHER |
Any other payment method |