Overview
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 1,000 requests per minute across all payment providers. This API is available only in the North America Data Center.
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
Payload
None.
Response
Status Codes
Payload
Payments
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": "0f27533f-ce38-4f43-a2f3-fa9f0e6b33fc",
"paymentMethod": "PAYPVD",
"paymentDueDate": "2018-08-09",
"totalAmount":{
"amount": "30.00",
"currency": "USD"
},
"invoices": [
{
"invoiceNumber": "AGH87",
"invoiceID": "1ADFBB440D7045F68DE2",
"invoiceAmount":{
"amount": "30.00",
"currency": "USD"
},
"paymentAmount":{
"amount": "30.00",
"currency": "USD"
},
"notesToSupplier": null
}
],
"vendor":{
"addressLine1": "1234 Rain Street",
"addressLine2": null,
"addressLine3": null,
"vendorAddrCode": "1160",
"city": "Chicago",
"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"
}
}
]
}
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. |
Payload
Payment Update
Response
Status Codes
Payload
Payment Update Result
Example
Request
POST https://us.api.concursolutions.com/invoice/provider-payment/v4/payments/0f27533f-ce38-4f43-a2f3-fa9f0e6b33fc
Authorization: BEARER {token}
Content-Type: application/json
{
"providerReference" : "hdoesofdl",
"status" : "PAID",
"statusMessage" : "Payment was successful",
"paymentAdjustmentNotes" : null,
"statusDate" : "2018-05-10",
"paymentInitiationDate" : "2018-05-09",
"paymentSettlementDate" : "2018-05-09",
"thirdPartyPaymentIdentifier" : "69249",
"paymentMethod" : "CHECK",
"paidAmount" : {
"amount": "30.00",
"currency": "USD"
}
}
Response
200 OK
Content-Type: application/json
{
"createdDate" : "2018-05-09",
"lastModifiedDate" : "2018-05-09",
"status" : "PAID",
"statusMessage" : "Payment was successful",
"paymentAdjustmentNotes" : null,
"statusDate" : "2018-05-10",
"paymentInitiationDate" : "2018-05-09",
"paymentSettlementDate" : "2018-05-09",
"thirdPartyPaymentIdentifier" : "69249",
"paymentMethod" : "CHECK",
"paidAmount" : {
"amount": "30.00",
"currency": "USD"
}
}
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. |
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. |
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. |
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 |