Download OpenAPI specification:Download
Welcome to the Accrue API! Our detailed documentation will guide you through essential topics, including authentication, request formatting, and the handling of financial transactions, with a current focus on payments.
Accrue treats every client as a unique entity. This approach allows for the management of critical components such as API tokens and user access, directly through our API, ensuring that each organization can tailor its use of our services to fit its specific needs.
The introductory section aims to familiarize you with the core concepts required to effectively utilize the services offered by our platform.
Accrue offers its API across two distinct environments:
| Environment | Description | API URL |
|---|---|---|
| Sandbox Environment | Designed for testing and development. | https://merchant-api-sandbox.accruesavings.com |
| Live Environment | For real-time production operations. | https://merchant-api.accruesavings.com/ |
Accrue's API leverages the Bearer Token for request authentication. Every API call requires the inclusion of a bearer token, which is a Client Secret associated with the Client for which you are making requests.
:::caution
Any issues with the token, such as being invalid, missing, or expired, will lead to HTTP 401 Unauthorized responses.
:::
GET /payments HTTP/1.1
Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef
When API requests fail due to network issues, rate limits, timeouts, or service incidents, it's a best practice to implement a retry mechanism. Guidelines for this mechanism include:
5xx: Server errors.429: Rate Limits.408: Timeouts.The rate limit, based on your IP address, is set at 10,000 requests per minute, applicable to both the sandbox and live environments separately. Exceeding this limit triggers HTTP 429 status codes and relevant messages in responses.
To ensure prompt failure and allow for retries, our APIs are designed with timeouts. It's recommended to set similar request timeouts on the client side. Timeouts are categorized as follows:
Refer to the specific API documentation to ascertain the timeout applicable to your request.
OpenAPI, a widely-recognized standard for defining RESTful APIs, enhances API usability and integration. It facilitates client library (SDK) generation, testing, and integration with various development tools. The Accrue API conforms to OpenAPI 3.1, with its specification accessible here.
The Accrue OpenAPI specification can be used in conjunction with tools like Swagger or OpenAPI generators to create Accrue API client libraries in your preferred programming language.
Please note, while SDKs can be auto-generated, their full compatibility with our API and coverage of all endpoints isn't guaranteed. Contributions, including feedback, bug reports, and pull requests from the Accrue SDKs community, are welcome to help improve and address any issues.
Accrue's List operation for resources like Users, Linked Accounts, or Transactions includes full-text search functionality, enhancing your ability to locate specific resources easily.
This feature is especially useful for improving end-customer experiences, such as implementing a search box that allows customers to find transactions by descriptions (e.g., 'plane ticket') within their account transactions.
Full-Text Search Rules:
List operations, like 'List Users', return a collection of resources. To navigate through a long list, use:
page[limit]: Limits the number of resources returned (1-200, default is 50).page[offset]: Specifies the number of resources to skip (default is 0).Accrue supports idempotency for certain API operations, allowing multiple requests while ensuring the operation is performed only once. Use any string up to 255 characters as an idempotency key (UUID version 4 is recommended).
Idempotency is vital for situations like network errors during sensitive operations (e.g., payment creation). It ensures that an operation, like a payment, is not duplicated despite multiple attempts.
Key Points:
Accrue's API is REST-based and adheres to the JSON:API specification.
JSON:API outlines how clients should request resources and how servers should respond. Accrue's resources encompass applications, customers, cards, accounts, transactions, among others.
Designed for efficiency, JSON:API reduces the number of requests and data transferred between clients and servers, achieving this without sacrificing readability, flexibility, or discoverability.
JSON:API mandates the use of the JSON:API media type (application/vnd.api+json) for data exchange.
JSON:API structures all requests and responses as JSON documents. These documents must contain one of the following top-level members:
Primary data must be either:
{
"data": {
"type": "User",
"id": "123e4567-e89b-12d3-a456-426614174000",
"attributes": {
// ... this users's attributes
},
"relationships": {
// ... this users's relationships
}
}
}
{
"data": [
{
"type": "User",
"id": "123e4567-e89b-12d3-a456-426614174000",
"attributes": {
// ... this users's attributes
},
"relationships": {
// ... this users's relationships
}
},
{
"type": "User",
"id": "123e4567-e89b-12d3-a456-426614174001",
"attributes": {
// ... this users's attributes
},
"relationships": {
// ... this users's relationships
}
}
]
}
In JSON:API documents, resource objects are used to depict entities within the business domain, such as applications, customers, cards, accounts, transactions, etc., within Accrue's API.
Every resource object must include these two members:
Note: The
idmember is not required for resource objects created on the client side that represent new resources to be created on the server.
Optional members of a resource object include:
{
"type": "User",
"id": "123e4567-e89b-12d3-a456-426614174000",
"attributes": {
"disabled": false,
"attachedProfile": {
"referenceId": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"email": "user@email.com",
"phoneNumber": "+12125559999"
}
"updatedAt":"2020-01-12T19:41:01.323Z",
"createdAt":"2020-01-11T19:40:01.323Z"
},
"relationships": {
//relationships listed here
}
}
The relationships object in JSON:API defines the connections between the current resource and other related resources. Each entry in this object signifies a unique reference.
For instance, the relationship between a User and UserProfile is depicted here.
A "relationship object" is required to include a data member, which can be one of the following:
[]): For empty 'to-many' relationships.{
"type": "Wallet",
"id": "123e4567-e89b-12d3-a456-426614174000",
"attributes": {
//attributes here
}
},
"relationships":{
"User":{
"data":{
"type": "User",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
}
}
}
Accrue's API supports the include query parameter in GET operations on specific resources like Cards. This parameter allows fetching multiple related resources in a single response. You can specify one or several relationships, separated by commas, in the query (refer to the example below). The response will include an included key containing these related resources.
Utilizing this feature simplifies the API interaction by consolidating what would typically be multiple calls into a single request. This not only streamlines your code but also addresses common data integrity concerns associated with
curl -X GET 'https://merchant-api.accruesavings.com/wallets/123e4567-e89b-12d3-a456-426614174000?include=User' \-H "Authorization: Bearer ${TOKEN}"
{
"type": "Wallet",
"id": "123e4567-e89b-12d3-a456-426614174000",
"attributes": {
//attributes here
},
"relationships":{
"User":{
"data":{
"type": "User",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
}
}
},
"included": [
{
"type": "User",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"attributes":{
//attributes here
},
]
}
Accrue's API communicates the status of requests using standard HTTP Status Codes. Errors may occur at any point during processing, either as single or multiple instances. For example, schema validation issues often lead to multiple errors, while server processing problems typically result in a single error. Regardless, the response includes all identified errors.
An "error object" is required to have an HTTP status code. It may also include:
Users represent the end users and are the parent container of Wallets. A user is automatically created when the end-user signs into the Accrue product through various different methods using their phone number.
| filter[phoneNumber] | string Filter the list of objects by the value of the phoneNumber field. |
| filter[email] | string Filter the list of objects by the value of the email field. |
| filter[referenceId] | string Filter the list of objects by the value of the referenceId field. |
| page[limit] | number [ 1 .. 50 ] Default: 10 Maximum number of objects that will be returned. Can not be greater than 50. |
| page[offset] | number >= 0 Default: 0 Offset from the beginning of the list of objects. Can not be negative. |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request GET \ --url 'https://merchant-api.accruesavings.com/api/v1/users?filter%5BphoneNumber%5D=SOME_STRING_VALUE&filter%5Bemail%5D=SOME_STRING_VALUE&filter%5BreferenceId%5D=SOME_STRING_VALUE&page%5Blimit%5D=SOME_NUMBER_VALUE&page%5Boffset%5D=SOME_NUMBER_VALUE' \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "User",
- "attributes": {
- "disabled": true,
- "publicId": "string",
- "profile": {
- "firstName": "string",
- "lastName": "string",
- "email": "user@example.com",
- "phoneNumber": "string"
}, - "attachedProfile": {
- "referenceId": "Any string identifier provided by you.",
- "stableReferenceId": "stable-abc-123",
- "effectiveReferenceId": "stable-abc-123",
- "email": "User email address kept in your system.",
- "phoneNumber": "User phone number kept in your system."
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
], - "meta": {
- "total": 1,
- "limit": 10,
- "offset": 0
}
}| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
required | object (CreateUser) Create user request | ||||
| |||||
{- "data": {
- "type": "User",
- "attributes": {
- "email": "user@example.com",
- "phoneNumber": "+12125550001",
- "firstName": "John",
- "lastName": "Doe"
}
}
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "User",
- "attributes": {
- "disabled": true,
- "publicId": "string",
- "profile": {
- "firstName": "string",
- "lastName": "string",
- "email": "user@example.com",
- "phoneNumber": "string"
}, - "attachedProfile": {
- "referenceId": "Any string identifier provided by you.",
- "stableReferenceId": "stable-abc-123",
- "effectiveReferenceId": "stable-abc-123",
- "email": "User email address kept in your system.",
- "phoneNumber": "User phone number kept in your system."
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
}| userReference required | string Example: 123e4567-e89b-12d3-a456-426614174000
|
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
| type required | string Value: "AttachedProfile" |
required | object |
{- "type": "AttachedProfile",
- "attributes": {
- "referenceId": "Any string identifier provided by you.",
- "stableReferenceId": "stable-abc-123",
- "email": "User email address kept in your system.",
- "phoneNumber": "User phone number kept in your system."
}
}{- "id": "123e4567-e89b-12d3-a456-426614174000",
- "status": 400,
- "code": "InvalidIdentifier",
- "title": "UserValidationException",
- "detail": "User with ID '{userReference}' not found.",
- "meta": {
- "environment": "sandbox",
- "timestamp": "2025-06-23T12:00:00.000Z",
- "path": "/api/v1/users/123e4567-e89b-12d3-a456-426614174000/attached-profile"
}
}| userId required | string Example: 123e4567-e89b-12d3-a456-426614174000
|
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request GET \ --url https://merchant-api.accruesavings.com/api/v1/users/:userId \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "User",
- "attributes": {
- "disabled": true,
- "profile": {
- "firstName": "string",
- "lastName": "string",
- "email": "user@example.com",
- "phoneNumber": "string"
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
}| userId required | string Example: 123e4567-e89b-12d3-a456-426614174000
|
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request POST \ --url https://merchant-api.accruesavings.com/api/v1/users/:userId/disclosures/kyc \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "id": "123e4567-e89b-12d3-a456-426614174000",
- "status": 400,
- "code": "UserNotFound",
- "title": "UserNotFoundException",
- "detail": "User with ID '{userId}' not found.",
- "meta": {
- "environment": "sandbox",
- "timestamp": "2025-06-23T12:00:00.000Z",
- "path": "/api/v1/users/123e4567-e89b-12d3-a456-426614174000/disclosures/kyc"
}
}Linked Accounts represent payment methods that users have connected to their Accrue account. These accounts can be used for funding payments or topping up the wallet.
Retrieves all linked bank accounts for a specific user. These accounts can be used for funding payments by providing the linkedAccountId when creating a payment.
| userId required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The ID of the user whose linked accounts to retrieve. |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request GET \ --url https://merchant-api.accruesavings.com/api/v1/users/:userId/linked-accounts \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "LinkedAccount",
- "attributes": {
- "provider": "Meld",
- "status": "Connected",
- "accountType": "checking",
- "accountName": "Plaid Checking",
- "accountMask": "0000",
- "institutionName": "Plaid Bank",
- "institutionId": "ins_109508",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
]
}Identity Verification provides knowledge-based authentication for sensitive account changes. Use these endpoints to challenge a user with profile and wallet questions, then apply verified phone or email updates with a single-use verification token.
Creates a knowledge-based identity verification challenge for a user. Returns three multiple-choice questions derived from the user's profile (name, date of birth), linked account masks, and qualifying wallet transactions. The user must have a complete profile with name and date of birth before a challenge can be generated.
| userIdentifier required | string Example: merchant-user-42 Accrue |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request POST \ --url https://merchant-api.accruesavings.com/api/v1/users/:userIdentifier/identity-verification/challenges \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "IdentityVerificationChallenge",
- "attributes": {
- "challengeId": "123e4567-e89b-12d3-a456-426614174000",
- "expiresAt": "2026-06-17T12:30:00.000Z",
- "questions": [
- {
- "id": "q_4e8d9f0a",
- "prompt": "What is your full name?",
- "options": [
- {
- "id": "opt_7f3a2b1c",
- "label": "Jane Doe"
}, - {
- "id": "opt_7f3a2b1c",
- "label": "Jane Doe"
}
]
}
], - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
}Submits answers for an active challenge. Each challenge allows up to three submission attempts. When all answers are correct, the response includes a single-use verificationToken that can be used to apply a verified profile update within 10 minutes.
| userIdentifier required | string Example: merchant-user-42 Accrue |
| challengeId required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The challenge ID returned from the create challenge endpoint. |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
required | object | ||||
| |||||
{- "data": {
- "type": "IdentityVerificationSubmission",
- "attributes": {
- "answers": [
- {
- "questionId": "q_4e8d9f0a",
- "optionId": "opt_7f3a2b1c"
}
], - "metadata": {
- "property1": null,
- "property2": null
}
}
}
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "IdentityVerificationResult",
- "attributes": {
- "passed": true,
- "verificationToken": "pvt_a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456",
- "expiresAt": "2026-06-17T12:40:00.000Z",
- "failureReason": "IncorrectAnswer",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
}Applies a phone number and/or email update after the user passes identity verification. Requires a valid, unused verificationToken from a successful challenge submission. At least one of phoneNumber or email must be provided. Changing the phone number clears the user's Better Auth session link and marks the updated contact fields as unverified.
| userIdentifier required | string Example: merchant-user-42 Accrue |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
required | object | ||||
| |||||
{- "data": {
- "type": "ProfileUpdate",
- "attributes": {
- "verificationToken": "pvt_a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456",
- "phoneNumber": "+12125551234",
- "email": "user@example.com"
}
}
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "ProfileUpdateResult",
- "attributes": {
- "phoneNumber": "+12125551234",
- "email": "user@example.com",
- "appliedAt": "2026-06-17T12:35:00.000Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
}Wallets are where users save money and collect rewards for future payments to merchants. Each wallet is linked to a specific merchant and tracks the balance of deposits and rewards. Users can contribute to their wallet's balance as part of their payment planning, while also accruing rewards.
| walletId | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 ID of the wallet to fetch. |
| include | string Comma-separated list of resources to include. Supported resources: |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request GET \ --url 'https://merchant-api.accruesavings.com/api/v1/wallets/:walletId?include=SOME_STRING_VALUE' \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Wallet",
- "attributes": {
- "status": "Active",
- "closedAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "user": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "User"
}
}
}
}, - "included": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "User",
- "attributes": {
- "disabled": true,
- "publicId": "string",
- "profile": {
- "firstName": "string",
- "lastName": "string",
- "email": "user@example.com",
- "phoneNumber": "string"
}, - "attachedProfile": {
- "referenceId": "Any string identifier provided by you.",
- "stableReferenceId": "stable-abc-123",
- "effectiveReferenceId": "stable-abc-123",
- "email": "User email address kept in your system.",
- "phoneNumber": "User phone number kept in your system."
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
]
} Fetch a wallet by barcode lookUpId.
The barcode is validated and scoped to the merchant derived from the request. Use include=user to request user information.
| lookUpId required | string Example: SCAN-LOOKUP-ID Lookup identifier for the barcode |
| include | string Comma-separated list of resources to include. Supported resources: |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request GET \ --url 'https://merchant-api.accruesavings.com/api/v1/wallets/barcode/SCAN-LOOKUP-ID?include=SOME_STRING_VALUE' \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Wallet",
- "attributes": {
- "status": "Active",
- "closedAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "user": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "User"
}
}
}
}, - "included": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "User",
- "attributes": {
- "disabled": true,
- "publicId": "string",
- "profile": {
- "firstName": "string",
- "lastName": "string",
- "email": "user@example.com",
- "phoneNumber": "string"
}, - "attachedProfile": {
- "referenceId": "Any string identifier provided by you.",
- "stableReferenceId": "stable-abc-123",
- "effectiveReferenceId": "stable-abc-123",
- "email": "User email address kept in your system.",
- "phoneNumber": "User phone number kept in your system."
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
]
}| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
required | object | ||||
| |||||
{- "data": {
- "type": "Wallet",
- "attributes": {
- "userId": "123e4567-e89b-12d3-a456-426614174000"
}
}
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Wallet",
- "attributes": {
- "status": "Active",
- "closedAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
}| walletId | string Example: 123e4567-e89b-12d3-a456-426614174000 ID of the wallet for which the balance is being fetched. |
| include | string Comma-separated list of resources to include. Supported resources: |
| userReference | string Example: userReference=123e4567-e89b-12d3-a456-426614174000 Attached User Profile Reference ID |
| purchaseAmount | integer Example: purchaseAmount=5000 Purchase amount in cents. When provided, conditional reward calculations may use this value (e.g. minimum purchase thresholds). |
| includeWithdrawableAmount | boolean Example: includeWithdrawableAmount=true When true, the response includes the withdrawable amount in the balance. |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request GET \ --url 'https://merchant-api.accruesavings.com/api/v1/wallets/:walletId/balance?include=SOME_STRING_VALUE&userReference=123e4567-e89b-12d3-a456-426614174000&purchaseAmount=5000&includeWithdrawableAmount=true' \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Wallet",
- "attributes": {
- "status": "Active",
- "closedAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "balance": {
- "available": {
- "deposit": 1000,
- "reward": {
- "accrue": 20,
- "merchant": 180,
- "total": 200
}, - "total": 1200
}, - "pending": {
- "deposit": 0,
- "reward": {
- "accrue": 0,
- "merchant": 0,
- "total": 0
}, - "total": 0
}, - "reserved": {
- "total": 600
}, - "total": {
- "deposit": 1500,
- "reward": {
- "accrue": 30,
- "merchant": 270,
- "total": 300
}, - "total": 1800
}
}
}, - "relationships": {
- "user": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "User"
}
}
}
}
}| filter[phoneNumber] | string Filter the list of objects by the value of the phoneNumber field. |
| filter[email] | string Filter the list of objects by the value of the email field. |
| filter[referenceId] | string Filter the list of objects by the value of the referenceId field. |
| page[limit] | number [ 1 .. 50 ] Default: 10 Maximum number of objects that will be returned. Can not be greater than 50. |
| page[offset] | number >= 0 Default: 0 Offset from the beginning of the list of objects. Can not be negative. |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request GET \ --url 'https://merchant-api.accruesavings.com/api/v1/wallets/?filter%5BphoneNumber%5D=SOME_STRING_VALUE&filter%5Bemail%5D=SOME_STRING_VALUE&filter%5BreferenceId%5D=SOME_STRING_VALUE&page%5Blimit%5D=SOME_NUMBER_VALUE&page%5Boffset%5D=SOME_NUMBER_VALUE' \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Wallet",
- "attributes": {
- "status": "Active",
- "closedAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "user": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "User"
}
}
}
}
], - "meta": {
- "total": 1,
- "limit": 10,
- "offset": 0
}
}Create a one-time deposit transaction for a wallet using an existing linked account.
Merchants can optionally include a disbursement array to split a portion of the total deposit among one or more counterparties. Any undisbursed amount is credited to the consumer's wallet.
Processing fees reported in charges.fee are collected from the counterparty configured as the Default for Fees on your merchant account.
Example: A consumer deposits $13.00 (1300 cents) with a $3.00 (300 cents) disbursement to counterparty A. Counterparty A receives $3.00 and the consumer's wallet is credited the remaining $10.00 (1000 cents).
| walletId required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The wallet ID to deposit to. |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
required | object | ||||
| |||||
{- "data": {
- "type": "OneTimeDeposit",
- "attributes": {
- "amount": 1000,
- "idempotencyKey": "123e4567-e89b-12d3-a456-426614174000",
- "linkedAccountId": "123e4567-e89b-12d3-a456-426614174000",
- "disbursement": [
- {
- "amount": 300,
- "counterpartyId": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
], - "risk": {
- "deviceSessionId": "string"
}
}
}
}{- "data": {
- "id": "123e4567-e89b-12d3-a456-426614174000",
- "type": "OneTimeDeposit",
- "attributes": {
- "id": "123e4567-e89b-12d3-a456-426614174000",
- "transactionId": "123e4567-e89b-12d3-a456-426614174000",
- "status": "Pending",
- "amount": 1300,
- "disbursement": [
- {
- "counterpartyId": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "amount": 300,
- "fee": 0,
- "remit": true
}
], - "charges": {
- "fee": {
- "amount": 150,
- "type": "ACHFee"
}
}, - "deductions": {
- "fee": 150
}
}
}
}List all transactions for a wallet
| walletId required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The wallet ID to list transactions for. |
| page[limit] | number [ 1 .. 50 ] Default: 10 Maximum number of objects that will be returned. Can not be greater than 50. |
| page[offset] | number >= 0 Default: 0 Offset from the beginning of the list of objects. Can not be negative. |
| type | string Example: type=NonRecurring Transaction type filter. Currently only "NonRecurring" transactions are returned; other values will return an empty list. |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request GET \ --url 'https://merchant-api.accruesavings.com/api/v1/wallets/:walletId/transactions?page%5Blimit%5D=SOME_NUMBER_VALUE&page%5Boffset%5D=SOME_NUMBER_VALUE&type=NonRecurring' \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Transaction",
- "attributes": {
- "id": "123e4567-e89b-12d3-a456-426614174000",
- "walletId": "123e4567-e89b-12d3-a456-426614174000",
- "type": "NonRecurring",
- "status": "Cleared",
- "amount": 9999,
- "createdAt": "2024-01-15T10:30:00Z",
- "clearedAt": "2019-08-24T14:15:22Z",
- "charges": {
- "fee": {
- "amount": 150,
- "type": "ACHFee"
}
}
}
}
], - "meta": {
- "total": 1,
- "limit": 10,
- "offset": 0
}
}Withdraw funds from a wallet back to the user's linked account(s). The amount is split across linked accounts. Requires the wallet to have withdrawable balance (see Get Wallet Balance with includeWithdrawableAmount=true).
| walletId required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The wallet ID to withdraw from. |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
required | object | ||||
| |||||
{- "data": {
- "type": "Withdraw",
- "attributes": {
- "amount": 5000
}
}
}{- "data": {
- "id": "123e4567-e89b-12d3-a456-426614174000",
- "type": "Withdraw",
- "attributes": {
- "split": [
- {
- "linkedAccountId": "123e4567-e89b-12d3-a456-426614174000",
- "institutionName": "Example Bank",
- "accountMask": "1234",
- "amount": 2500
}
]
}
}
}Get a specific transaction by ID
| walletId required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The wallet ID. |
| transactionId required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The transaction ID. |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request GET \ --url https://merchant-api.accruesavings.com/api/v1/wallets/:walletId/transactions/:transactionId \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Transaction",
- "attributes": {
- "id": "123e4567-e89b-12d3-a456-426614174000",
- "walletId": "123e4567-e89b-12d3-a456-426614174000",
- "type": "NonRecurring",
- "status": "Cleared",
- "amount": 9999,
- "createdAt": "2024-01-15T10:30:00Z",
- "clearedAt": "2019-08-24T14:15:22Z",
- "charges": {
- "fee": {
- "amount": 150,
- "type": "ACHFee"
}
}
}
}
}Payment Intents represent a commitment to pay a specified amount, allowing for a structured process to handle payments from initiation to completion. This resource serves as a provisional step in the payment process, where the amount, payment method, and other details are specified by the initiator (e.g., a user, support staff, or merchant). Payment Intents can go through several states, such as requiring action, being canceled, or being promoted to an actual payment upon successful authorization.
Create a payment intent using amount and walletId.
The wallet is validated for the request merchant.
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
required | object (CreatePaymentIntent) CreatePaymentIntent | ||||
| |||||
{- "data": {
- "type": "CreatePaymentIntent",
- "attributes": {
- "amount": 3600,
- "walletId": "123e4567-e89b-12d3-a456-426614174000"
}
}
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "PaymentIntent",
- "attributes": {
- "balance": {
- "available": 1500,
- "eligibleReward": 500,
- "upperLimit": 103600
}, - "billingAddress": {
- "street": "string",
- "street2": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string"
}, - "email": "user@example.com",
- "error": "LinkedAccountUnverified",
- "expiresAt": "2019-08-24T14:15:22Z",
- "fullName": "string",
- "phoneNumber": "string",
- "amount": 3600,
- "reference": "MERCHANT-GENERATED-TOKEN",
- "status": "Promotable",
- "userId": "string",
- "walletId": "123e4567-e89b-12d3-a456-426614174000",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
}| filter[initiator] | string Filter the list of objects by the value of the initiator field. |
| filter[status] | string Filter the list of objects by the value of the status field. |
| filter[paymentMethod] | string Filter the list of objects by the value of the paymentMethod field. |
| page[limit] | number [ 1 .. 50 ] Default: 10 Maximum number of objects that will be returned. Can not be greater than 50. |
| page[offset] | number >= 0 Default: 0 Offset from the beginning of the list of objects. Can not be negative. |
| sort | string Default: "sort=-createdAt" Sorts the list of objects by the given criteria. The sort parameter value is a comma separated list of sort criteria. Each sort criteria is a field name optionally followed by a minus sign (-) to indicate descending order. Ascending order is assumed if no minus sign is present. The sort criteria are applied in the order in which they appear in the sort parameter. |
| include required | string Comma-separated list of resources to include. Supported resources: |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request GET \ --url 'https://merchant-api.accruesavings.com/api/v1/payment-intents?filter%5Binitiator%5D=SOME_STRING_VALUE&filter%5Bstatus%5D=SOME_STRING_VALUE&filter%5BpaymentMethod%5D=SOME_STRING_VALUE&page%5Blimit%5D=SOME_NUMBER_VALUE&page%5Boffset%5D=SOME_NUMBER_VALUE&sort=SOME_STRING_VALUE&include=SOME_STRING_VALUE' \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "PaymentIntent",
- "attributes": {
- "balance": {
- "available": 1500,
- "eligibleReward": 500,
- "upperLimit": 103600
}, - "billingAddress": {
- "street": "string",
- "street2": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string"
}, - "email": "user@example.com",
- "error": "LinkedAccountUnverified",
- "expiresAt": "2019-08-24T14:15:22Z",
- "fullName": "string",
- "phoneNumber": "string",
- "amount": 3600,
- "reference": "MERCHANT-GENERATED-TOKEN",
- "status": "RequiresAction",
- "userId": "string",
- "walletId": "123e4567-e89b-12d3-a456-426614174000",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "payments": {
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Payment"
}
]
}
}
}
], - "meta": {
- "total": 1,
- "limit": 10,
- "offset": 0
}
}| paymentIntentId required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 Payment Intent ID |
| include | string Comma-separated list of resources to include. Supported resources: |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request GET \ --url 'https://merchant-api.accruesavings.com/api/v1/payment-intents/123e4567-e89b-12d3-a456-426614174000?include=SOME_STRING_VALUE' \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "PaymentIntent",
- "attributes": {
- "balance": {
- "available": 1500,
- "eligibleReward": 500,
- "upperLimit": 103600
}, - "billingAddress": {
- "street": "string",
- "street2": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string"
}, - "email": "user@example.com",
- "error": "LinkedAccountUnverified",
- "expiresAt": "2019-08-24T14:15:22Z",
- "fullName": "string",
- "phoneNumber": "string",
- "amount": 3600,
- "reference": "MERCHANT-GENERATED-TOKEN",
- "status": "PromotedToPayment",
- "userId": "string",
- "walletId": "123e4567-e89b-12d3-a456-426614174000",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "payments": {
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Payment"
}
]
}
}
}, - "included": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Payment",
- "attributes": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "Authorized",
- "amount": 9999,
- "channel": "ORG-1",
- "reference": "MERCHANT-GENERATED-TOKEN",
- "disbursement": [
- {
- "counterpartyId": "9f755746-13cb-4d0b-81f2-3b4f1b44f6d8",
- "amount": 800,
- "fee": 10,
- "remit": true
}, - {
- "counterpartyId": "4cf95060-dd01-42ac-9020-8ca42004920d",
- "amount": 200,
- "fee": 5,
- "remit": true
}
], - "charges": {
- "fee": {
- "amount": 150,
- "type": "pay_by_wallet"
}, - "rewards": 1000
}, - "deductions": {
- "rewards": 1000,
- "fees": 150
}, - "expiresAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "links": {
}
}
]
}| paymentIntentId required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 Payment Intent ID |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request POST \ --url https://merchant-api.accruesavings.com/api/v1/payment-intents/123e4567-e89b-12d3-a456-426614174000/cancel \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "PaymentIntent",
- "attributes": {
- "balance": {
- "available": 1500,
- "eligibleReward": 500,
- "upperLimit": 103600
}, - "billingAddress": {
- "street": "string",
- "street2": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string"
}, - "email": "user@example.com",
- "error": "LinkedAccountUnverified",
- "expiresAt": "2019-08-24T14:15:22Z",
- "fullName": "string",
- "phoneNumber": "string",
- "amount": 3600,
- "reference": "MERCHANT-GENERATED-TOKEN",
- "status": "Canceled",
- "userId": "string",
- "walletId": "123e4567-e89b-12d3-a456-426614174000",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
}Payments are the realization of payment intents, representing the actual transfer or authorization of funds. This resource encapsulates the details of completed transactions, including the payment status, amount, and any adjustments or refunds that have occurred post-initial authorization. Payments can have various statuses reflecting their current state, from pending to refunded, providing a comprehensive view of the transaction lifecycle.
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
required | object (CreatePayment) CreatePayment | ||||
| |||||
{- "data": {
- "type": "CreatePayment",
- "attributes": {
- "walletId": "123e4567-e89b-12d3-a456-426614174000",
- "amount": 1000,
- "linkedAccountId": "9f755746-13cb-4d0b-81f2-3b4f1b44f6d8",
- "channel": "ORG-1",
- "reference": "cart-123",
- "externalPayments": [
- {
- "method": "Cash",
- "amount": 100
}
], - "disbursement": [
- {
- "counterpartyId": "9f755746-13cb-4d0b-81f2-3b4f1b44f6d8",
- "amount": 800
}, - {
- "counterpartyId": "4cf95060-dd01-42ac-9020-8ca42004920d",
- "amount": 200,
- "remit": true
}
]
}
}
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Payment",
- "attributes": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "Processing",
- "amount": 9999,
- "channel": "ORG-1",
- "reference": "MERCHANT-GENERATED-TOKEN",
- "disbursement": [
- {
- "counterpartyId": "9f755746-13cb-4d0b-81f2-3b4f1b44f6d8",
- "amount": 800,
- "fee": 10,
- "remit": true
}, - {
- "counterpartyId": "4cf95060-dd01-42ac-9020-8ca42004920d",
- "amount": 200,
- "fee": 5,
- "remit": true
}
], - "charges": {
- "fee": {
- "amount": 150,
- "type": "pay_by_wallet"
}, - "rewards": 1000
}, - "deductions": {
- "rewards": 1000,
- "fees": 150
}, - "expiresAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
}| filter[status] | string Filter the list of objects by the value of the status field. |
| filter[paymentIntentId] | string Filter the list of objects by the value of the paymentIntentId field. |
| filter[reference] | string Filter the list of objects by the value of the reference field. |
| filter[channel] | string Filter the list of objects by the value of the channel field. |
| page[limit] | number [ 1 .. 50 ] Default: 10 Maximum number of objects that will be returned. Can not be greater than 50. |
| page[offset] | number >= 0 Default: 0 Offset from the beginning of the list of objects. Can not be negative. |
| sort | string Default: "sort=-createdAt" Sorts the list of objects by the given criteria. The sort parameter value is a comma separated list of sort criteria. Each sort criteria is a field name optionally followed by a minus sign (-) to indicate descending order. Ascending order is assumed if no minus sign is present. The sort criteria are applied in the order in which they appear in the sort parameter. |
| include required | string Comma-separated list of resources to include. Supported resources: |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request GET \ --url 'https://merchant-api.accruesavings.com/api/v1/payments?filter%5Bstatus%5D=SOME_STRING_VALUE&filter%5BpaymentIntentId%5D=SOME_STRING_VALUE&filter%5Breference%5D=SOME_STRING_VALUE&filter%5Bchannel%5D=SOME_STRING_VALUE&page%5Blimit%5D=SOME_NUMBER_VALUE&page%5Boffset%5D=SOME_NUMBER_VALUE&sort=SOME_STRING_VALUE&include=SOME_STRING_VALUE' \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Payment",
- "attributes": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "Sent",
- "amount": 9999,
- "channel": "ORG-1",
- "reference": "MERCHANT-GENERATED-TOKEN",
- "disbursement": [
- {
- "counterpartyId": "9f755746-13cb-4d0b-81f2-3b4f1b44f6d8",
- "amount": 800,
- "fee": 10,
- "remit": true
}, - {
- "counterpartyId": "4cf95060-dd01-42ac-9020-8ca42004920d",
- "amount": 200,
- "fee": 5,
- "remit": true
}
], - "charges": {
- "fee": {
- "amount": 150,
- "type": "pay_by_wallet"
}, - "rewards": 1000
}, - "deductions": {
- "rewards": 1000,
- "fees": 150
}, - "expiresAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "paymentIntent": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "PaymentIntent"
}, - "links": {
- "self": "/api/v1/payment-intents/497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
}
}, - "links": {
}
}
], - "meta": {
- "total": 1,
- "limit": 10,
- "offset": 0
}
}| paymentId required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 Payment ID |
| include | string Comma-separated list of resources to include. Supported resources: |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request GET \ --url 'https://merchant-api.accruesavings.com/api/v1/payments/123e4567-e89b-12d3-a456-426614174000?include=SOME_STRING_VALUE' \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Payment",
- "attributes": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "Sent",
- "amount": 9999,
- "channel": "ORG-1",
- "reference": "MERCHANT-GENERATED-TOKEN",
- "disbursement": [
- {
- "counterpartyId": "9f755746-13cb-4d0b-81f2-3b4f1b44f6d8",
- "amount": 800,
- "fee": 10,
- "remit": true
}, - {
- "counterpartyId": "4cf95060-dd01-42ac-9020-8ca42004920d",
- "amount": 200,
- "fee": 5,
- "remit": true
}
], - "charges": {
- "fee": {
- "amount": 150,
- "type": "pay_by_wallet"
}, - "rewards": 1000
}, - "deductions": {
- "rewards": 1000,
- "fees": 150
}, - "expiresAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "paymentIntent": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "PaymentIntent"
}, - "links": {
- "self": "/api/v1/payment-intents/497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
}
}, - "links": {
}
}, - "included": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "PaymentIntent",
- "attributes": {
- "balance": {
- "available": 1500,
- "eligibleReward": 500,
- "upperLimit": 103600
}, - "billingAddress": {
- "street": "string",
- "street2": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string"
}, - "email": "user@example.com",
- "error": "LinkedAccountUnverified",
- "expiresAt": "2019-08-24T14:15:22Z",
- "fullName": "string",
- "phoneNumber": "string",
- "amount": 3600,
- "reference": "MERCHANT-GENERATED-TOKEN",
- "status": "Promotable",
- "userId": "string",
- "walletId": "123e4567-e89b-12d3-a456-426614174000",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
]
}| paymentId required | string <uuid> Payment id |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
| id required | string <uuid> Payment id |
| type required | string Value: "Payment" |
required | object |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Payment",
- "attributes": {
- "reference": "MERCHANT-GENERATED-TOKEN"
}
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Payment",
- "attributes": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "Sent",
- "amount": 9999,
- "channel": "ORG-1",
- "reference": "MERCHANT-GENERATED-TOKEN",
- "disbursement": [
- {
- "counterpartyId": "9f755746-13cb-4d0b-81f2-3b4f1b44f6d8",
- "amount": 800,
- "fee": 10,
- "remit": true
}, - {
- "counterpartyId": "4cf95060-dd01-42ac-9020-8ca42004920d",
- "amount": 200,
- "fee": 5,
- "remit": true
}
], - "charges": {
- "fee": {
- "amount": 150,
- "type": "pay_by_wallet"
}, - "rewards": 1000
}, - "deductions": {
- "rewards": 1000,
- "fees": 150
}, - "expiresAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "paymentIntent": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "PaymentIntent"
}, - "links": {
- "self": "/api/v1/payment-intents/497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
}
}, - "links": {
}
}
}The get virtual debit card endpoint can be used to fetch the card details for a payment.
This endpoint is available for Card Rails (Virtual Debit Cards) only.
Refer to the Merchant API Guide for more information.
| paymentId required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 Payment ID |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request GET \ --url https://secure-api.accruesavings.com/api/v1/payments/123e4567-e89b-12d3-a456-426614174000/card \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "VirtualDebitCard",
- "attributes": {
- "number": "card_12a3b45cdefghi",
- "expirationMonth": "6",
- "expirationYear": "2028",
- "cvc": "123",
- "billingAddress": {
- "street": "123 Main St.",
- "street2": "Apt. 1",
- "city": "San Francisco",
- "state": "CA",
- "postalCode": "94107",
- "country": "US"
}
}, - "relationships": {
- "payment": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Payment"
}
}, - "paymentIntent": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "PaymentIntent"
}
}
}
}
}| paymentId required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 Payment ID |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
required | object (CapturePayment) CapturePayment | ||||
| |||||
{- "data": {
- "type": "CapturePayment",
- "attributes": {
- "amount": 0
}
}
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Payment",
- "attributes": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "Sent",
- "amount": 9999,
- "channel": "ORG-1",
- "reference": "MERCHANT-GENERATED-TOKEN",
- "disbursement": [
- {
- "counterpartyId": "9f755746-13cb-4d0b-81f2-3b4f1b44f6d8",
- "amount": 800,
- "fee": 10,
- "remit": true
}, - {
- "counterpartyId": "4cf95060-dd01-42ac-9020-8ca42004920d",
- "amount": 200,
- "fee": 5,
- "remit": true
}
], - "charges": {
- "fee": {
- "amount": 150,
- "type": "pay_by_wallet"
}, - "rewards": 1000
}, - "deductions": {
- "rewards": 1000,
- "fees": 150
}, - "expiresAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "paymentIntent": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "PaymentIntent"
}, - "links": {
- "self": "/api/v1/payment-intents/497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
}
}, - "links": {
}, - "meta": {
- "processor": null
}
}, - "links": {
- "self": "/api/v1/payments/497f6eca-6276-4993-bfeb-53cbbbba6f08/capture"
}, - "included": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "PaymentIntent",
- "attributes": {
- "balance": {
- "available": 1500,
- "eligibleReward": 500,
- "upperLimit": 103600
}, - "billingAddress": {
- "street": "string",
- "street2": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string"
}, - "email": "user@example.com",
- "error": "LinkedAccountUnverified",
- "expiresAt": "2019-08-24T14:15:22Z",
- "fullName": "string",
- "phoneNumber": "string",
- "amount": 3600,
- "reference": "MERCHANT-GENERATED-TOKEN",
- "status": "Promotable",
- "userId": "string",
- "walletId": "123e4567-e89b-12d3-a456-426614174000",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
]
}| paymentId required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 Payment ID |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
required | object (IncreaseAuthorization) IncreaseAuthorization | ||||
| |||||
{- "data": {
- "type": "IncreaseAuthorization",
- "attributes": {
- "increase": 0
}
}
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Payment",
- "attributes": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "Authorized",
- "amount": 10500,
- "channel": "ORG-1",
- "reference": "MERCHANT-GENERATED-TOKEN",
- "disbursement": [
- {
- "counterpartyId": "9f755746-13cb-4d0b-81f2-3b4f1b44f6d8",
- "amount": 800,
- "fee": 10,
- "remit": true
}, - {
- "counterpartyId": "4cf95060-dd01-42ac-9020-8ca42004920d",
- "amount": 200,
- "fee": 5,
- "remit": true
}
], - "charges": {
- "fee": {
- "amount": 150,
- "type": "pay_by_wallet"
}, - "rewards": 1000
}, - "deductions": {
- "rewards": 1000,
- "fees": 150
}, - "expiresAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "paymentIntent": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "PaymentIntent"
}, - "links": {
- "self": "/api/v1/payment-intents/497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
}
}
}, - "links": {
- "self": "/api/v1/payments/4cf95060-dd01-42ac-9020-8ca42004920d/increase-authorization"
}, - "included": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "PaymentIntent",
- "attributes": {
- "balance": {
- "available": 1500,
- "eligibleReward": 500,
- "upperLimit": 103600
}, - "billingAddress": {
- "street": "string",
- "street2": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string"
}, - "email": "user@example.com",
- "error": "LinkedAccountUnverified",
- "expiresAt": "2019-08-24T14:15:22Z",
- "fullName": "string",
- "phoneNumber": "string",
- "amount": 3600,
- "reference": "MERCHANT-GENERATED-TOKEN",
- "status": "Promotable",
- "userId": "string",
- "walletId": "123e4567-e89b-12d3-a456-426614174000",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
]
}The cancel endpoint can be called on a Payment that is in the Created or Waiting status, otherwise it will return an error.
A Payment will be in the Waiting status if you the capture endpoint has been called but the capture is in the waiting period before
it is actually committed. Cancelling is always the full amount so there’s no support for partial amounts with cancel.
The status of the
payment will transition to Canceled ONLY after successfully calling the cancel endpoint.
For Card Rails (Virtual Debit Cards), this endpoint should only be called if the manual capture on your payment processor fails.
Refer to Merchant API Guide for more information.
| paymentId required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 Payment ID |
| include | string Comma-separated list of resources to include. Supported resources: |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request POST \ --url 'https://merchant-api.accruesavings.com/api/v1/payments/123e4567-e89b-12d3-a456-426614174000/cancel?include=SOME_STRING_VALUE' \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Payment",
- "attributes": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "Canceled",
- "amount": 9999,
- "channel": "ORG-1",
- "reference": "MERCHANT-GENERATED-TOKEN",
- "disbursement": [
- {
- "counterpartyId": "9f755746-13cb-4d0b-81f2-3b4f1b44f6d8",
- "amount": 800,
- "fee": 10,
- "remit": true
}, - {
- "counterpartyId": "4cf95060-dd01-42ac-9020-8ca42004920d",
- "amount": 200,
- "fee": 5,
- "remit": true
}
], - "charges": {
- "fee": {
- "amount": 150,
- "type": "pay_by_wallet"
}, - "rewards": 1000
}, - "deductions": {
- "rewards": 1000,
- "fees": 150
}, - "expiresAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "paymentIntent": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "PaymentIntent"
}, - "links": {
- "self": "/api/v1/payment-intents/497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
}
}, - "links": {
}, - "meta": {
- "processor": null
}
}, - "links": {
- "self": "/api/v1/payments/497f6eca-6276-4993-bfeb-53cbbbba6f08/cancel"
}, - "included": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "PaymentIntent",
- "attributes": {
- "balance": {
- "available": 1500,
- "eligibleReward": 500,
- "upperLimit": 103600
}, - "billingAddress": {
- "street": "string",
- "street2": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string"
}, - "email": "user@example.com",
- "error": "LinkedAccountUnverified",
- "expiresAt": "2019-08-24T14:15:22Z",
- "fullName": "string",
- "phoneNumber": "string",
- "amount": 3600,
- "reference": "MERCHANT-GENERATED-TOKEN",
- "status": "Promotable",
- "userId": "string",
- "walletId": "123e4567-e89b-12d3-a456-426614174000",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
]
}Once you have capture all the funds from the Virtual Debit Card, you can call this endpoint to complete the payment.
That will mark the payment as complete and remaining funds will be released back to the user.
This endpoint is available for Card Rails (Virtual Debit Cards) only.
Refer to Merchant API Guide for more information.
| paymentId required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 Payment ID |
| include | string Comma-separated list of resources to include. Supported resources: |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request POST \ --url 'https://merchant-api.accruesavings.com/api/v1/payments/123e4567-e89b-12d3-a456-426614174000/complete?include=SOME_STRING_VALUE' \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Payment",
- "attributes": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "Sent",
- "amount": 9999,
- "channel": "ORG-1",
- "reference": "MERCHANT-GENERATED-TOKEN",
- "disbursement": [
- {
- "counterpartyId": "9f755746-13cb-4d0b-81f2-3b4f1b44f6d8",
- "amount": 800,
- "fee": 10,
- "remit": true
}, - {
- "counterpartyId": "4cf95060-dd01-42ac-9020-8ca42004920d",
- "amount": 200,
- "fee": 5,
- "remit": true
}
], - "charges": {
- "fee": {
- "amount": 150,
- "type": "pay_by_wallet"
}, - "rewards": 1000
}, - "deductions": {
- "rewards": 1000,
- "fees": 150
}, - "expiresAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "paymentIntent": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "PaymentIntent"
}, - "links": {
- "self": "/api/v1/payment-intents/497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
}
}, - "links": {
}
}, - "links": {
- "self": "/api/v1/payments/497f6eca-6276-4993-bfeb-53cbbbba6f08/complete"
}, - "included": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "PaymentIntent",
- "attributes": {
- "balance": {
- "available": 1500,
- "eligibleReward": 500,
- "upperLimit": 103600
}, - "billingAddress": {
- "street": "string",
- "street2": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string"
}, - "email": "user@example.com",
- "error": "LinkedAccountUnverified",
- "expiresAt": "2019-08-24T14:15:22Z",
- "fullName": "string",
- "phoneNumber": "string",
- "amount": 3600,
- "reference": "MERCHANT-GENERATED-TOKEN",
- "status": "Promotable",
- "userId": "string",
- "walletId": "123e4567-e89b-12d3-a456-426614174000",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
]
}The refund endpoint can be called on a Payment that is in the Processing or Sent status and has at least one successful capture.
It supports partial refunds — the refund amount cannot exceed the captured amount, and the sum of all non-failed refunds cannot exceed the captured amount.
Calling the refund endpoint will never change the status of the payment so the status of the payment cannot be used to determine if it has been refunded.
When a Payment is refunded, an associated Refund object is created. The Refund object has an independent status representing
the refund. The refund endpoint returns the Refund object created and can be included in the get payment endpoint.
Idempotency: The idempotencyKey field is required to prevent duplicate refund operations. If a refund with the same key already exists, the existing refund will be returned.
Disbursements: For pay-by-wallet refunds, you can optionally specify disbursement to indicate which counterparties to debit and for how much. The sum of disbursement amounts must equal the refund amount.
If disbursement is omitted, the system automatically derives proportional disbursements from the original payment's disbursement breakdown. The refund amount is distributed across the same counterparties using their original ratios. For full refunds the derived amounts match the original proportions exactly.
| paymentId required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 Payment ID |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
required | object (RefundPayment) RefundPayment | ||||
| |||||
{- "data": {
- "type": "RefundPayment",
- "attributes": {
- "amount": 0,
- "idempotencyKey": "refund-order-12345",
- "disbursement": [
- {
- "counterpartyId": "9f755746-13cb-4d0b-81f2-3b4f1b44f6d8",
- "amount": 500
}, - {
- "counterpartyId": "4cf95060-dd01-42ac-9020-8ca42004920d",
- "amount": 500
}
]
}
}
}{- "data": {
- "id": "123e4567-e89b-12d3-a456-426614174000",
- "type": "Payment",
- "relationships": {
- "paymentIntent": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "PaymentIntent"
}, - "links": {
- "self": "/api/v1/payment-intents/497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
}, - "refunds": {
- "data": [
- {
- "id": "9f755746-13cb-4d0b-81f2-3b4f1b44f6d8",
- "type": "Refund"
}
]
}, - "captures": {
- "data": [
- {
- "id": "4cf95060-dd01-42ac-9020-8ca42004920d",
- "type": "Capture"
}
]
}
}, - "links": {
}, - "meta": {
- "processor": null
}, - "attributes": {
- "id": "123e4567-e89b-12d3-a456-426614174000",
- "status": "Sent",
- "amount": 9999,
- "channel": "ORG-1",
- "reference": "MERCHANT-GENERATED-TOKEN",
- "disbursement": [
- {
- "counterpartyId": "9f755746-13cb-4d0b-81f2-3b4f1b44f6d8",
- "amount": 800,
- "fee": 10,
- "remit": true
}, - {
- "counterpartyId": "4cf95060-dd01-42ac-9020-8ca42004920d",
- "amount": 200,
- "fee": 5,
- "remit": true
}
], - "charges": {
- "fee": {
- "amount": 150,
- "type": "pay_by_wallet"
}, - "rewards": 1000
}, - "deductions": {
- "rewards": 1000,
- "fees": 150
}, - "expiresAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}, - "links": {
- "self": "/api/v1/payments/497f6eca-6276-4993-bfeb-53cbbbba6f08/refund"
}, - "included": [
- {
- "id": "9f755746-13cb-4d0b-81f2-3b4f1b44f6d8",
- "type": "Refund",
- "attributes": {
- "status": "Sent",
- "amount": 1000,
- "message": "Refund processed. Fee: 59 cents",
- "reference": "MERCHANT-GENERATED-TOKEN",
- "charges": {
- "fee": {
- "amount": 59,
- "type": "pay_by_wallet_refund"
}, - "rewards": 0
}, - "deductions": {
- "rewards": 0,
- "fees": 59
}, - "id": "9f755746-13cb-4d0b-81f2-3b4f1b44f6d8",
- "createdAt": "2024-06-19T12:19:17.031Z",
- "updatedAt": "2024-06-19T12:19:17.064Z"
}
}, - {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "PaymentIntent",
- "attributes": {
- "status": "PromotedToPayment",
- "amount": 9999,
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "expiresAt": "2024-12-19T10:39:59.447Z",
- "createdAt": "2024-06-19T10:39:59.452Z",
- "updatedAt": "2024-06-19T10:43:59.337Z"
}, - "relationships": {
- "client": {
- "data": {
- "id": "b5f8c9d2-1a3e-4f5b-8c7d-9e0f1a2b3c4d",
- "type": "Client"
}
}
}
}, - {
- "id": "4cf95060-dd01-42ac-9020-8ca42004920d",
- "type": "Capture",
- "attributes": {
- "id": "4cf95060-dd01-42ac-9020-8ca42004920d",
- "createdAt": "2024-06-19T12:00:00.000Z",
- "updatedAt": "2024-06-19T12:00:00.000Z",
- "method": "Direct",
- "amount": 9999
}
}, - {
- "id": "b5f8c9d2-1a3e-4f5b-8c7d-9e0f1a2b3c4d",
- "type": "Client",
- "attributes": {
- "id": "b5f8c9d2-1a3e-4f5b-8c7d-9e0f1a2b3c4d",
- "createdAt": "2024-01-01T00:00:00.000Z",
- "updatedAt": "2024-06-19T10:00:00.000Z",
- "preferredStorage": {
- "Web": "localStorage"
}, - "merchantId": "123e4567-e89b-12d3-a456-426614174000",
- "merchantName": "Example Merchant",
- "containerPlacements": { },
- "containerDisplayRules": { },
- "containerIntegrityEffects": { },
- "copyAdjustments": { },
- "rewardsFlowType": "Instant",
- "rewardsRateType": "Purchase",
- "widgetCustomizations": { }
}
}
], - "meta": {
- "message": "Full refund will be initiated after the original payment is successfully received."
}
}External transactions are records of transfers that happened outside the Accrue system. E.g. purchases in an online shop using a non-Accrue payment method.
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
required | Array of objects (CreateExternalTransaction) | ||||
Array
| |||||
{- "data": [
- {
- "type": "ExternalTransaction",
- "attributes": {
- "type": "Purchase",
- "source": {
- "id": "9f755746-13cb-4d0b-81f2-3b4f1b44f6d8",
- "createdAt": "2019-08-24T14:15:22Z",
- "customerId": "607329"
}, - "channel": "nyc-store-1",
- "payments": [
- {
- "method": "Cash",
- "amount": 10000
}, - {
- "method": "DebitCard",
- "amount": 5000
}
], - "payload": { }
}
}
]
}{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "ExternalTransaction",
- "attributes": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "sourceId": "9f755746-13cb-4d0b-81f2-3b4f1b44f6d8",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "linkedExternalTransaction": {
- "data": [
- {
- "id": "9f755746-13cb-4d0b-81f2-3b4f1b44f6d8",
- "type": "ExternalTransaction"
}
]
}, - "user": {
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "User"
}
]
}
}
}
]
}| filter[phoneNumber] | string Filter the list of objects by the value of the phoneNumber field. |
| filter[userId] | string Filter the list of objects by the value of the userId field. |
| filter[sourceId] | string Filter the list of objects by the value of the sourceId field. |
| page[limit] | number [ 1 .. 50 ] Default: 10 Maximum number of objects that will be returned. Can not be greater than 50. |
| page[offset] | number >= 0 Default: 0 Offset from the beginning of the list of objects. Can not be negative. |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request GET \ --url 'https://merchant-api.accruesavings.com/api/v1/external-transactions?filter%5BphoneNumber%5D=SOME_STRING_VALUE&filter%5BuserId%5D=SOME_STRING_VALUE&filter%5BsourceId%5D=SOME_STRING_VALUE&page%5Blimit%5D=SOME_NUMBER_VALUE&page%5Boffset%5D=SOME_NUMBER_VALUE' \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "ExternalTransaction",
- "attributes": {
- "type": "Purchase",
- "linkedExternalTransactionId": "9f755746-13cb-4d0b-81f2-3b4f1b44f6d8",
- "source": {
- "id": "9f755746-13cb-4d0b-81f2-3b4f1b44f6d8",
- "createdAt": "2019-08-24T14:15:22Z",
- "customerId": "607329"
}, - "channel": "nyc-store-1",
- "payments": [
- {
- "method": "Cash",
- "amount": 10000
}, - {
- "method": "DebitCard",
- "amount": 5000
}
], - "payload": { },
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "linkedExternalTransaction": {
- "data": [
- {
- "id": "9f755746-13cb-4d0b-81f2-3b4f1b44f6d8",
- "type": "ExternalTransaction"
}
]
}, - "user": {
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "User"
}
]
}
}
}
], - "meta": {
- "total": 1,
- "limit": 10,
- "offset": 0
}
}| externalTransactionId required | string <uuid> External Transaction ID |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request GET \ --url https://merchant-api.accruesavings.com/api/v1/external-transactions/%7BexternalTransactionId%7D \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "ExternalTransaction",
- "attributes": {
- "type": "ExternalTransaction",
- "linkedExternalTransactionId": "9f755746-13cb-4d0b-81f2-3b4f1b44f6d8",
- "source": {
- "id": "9f755746-13cb-4d0b-81f2-3b4f1b44f6d8",
- "createdAt": "2019-08-24T14:15:22Z",
- "customerId": "607329"
}, - "channel": "nyc-store-1",
- "payments": [
- {
- "method": "Cash",
- "amount": 10000
}, - {
- "method": "DebitCard",
- "amount": 5000
}
], - "payload": { },
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "attributes": {
- "type": "Purchase",
- "linkedExternalTransactionId": "9f755746-13cb-4d0b-81f2-3b4f1b44f6d8",
- "source": {
- "id": "9f755746-13cb-4d0b-81f2-3b4f1b44f6d8",
- "createdAt": "2019-08-24T14:15:22Z",
- "customerId": "607329"
}, - "channel": "nyc-store-1",
- "payments": [
- {
- "method": "Cash",
- "amount": 10000
}, - {
- "method": "DebitCard",
- "amount": 5000
}
], - "payload": { },
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "linkedExternalTransaction": {
- "data": [
- {
- "id": "9f755746-13cb-4d0b-81f2-3b4f1b44f6d8",
- "type": "ExternalTransaction"
}
]
}, - "user": {
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "User"
}
]
}
}
}, - "relationships": {
- "linkedExternalTransaction": {
- "data": [
- {
- "id": "9f755746-13cb-4d0b-81f2-3b4f1b44f6d8",
- "type": "ExternalTransaction"
}
]
}, - "user": {
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "User"
}
]
}
}
}
}Simulations are used to simulate payments authorizations and captures for Card Rails (Virtual Debit Cards).
Simulate a card authorization request.
This endpoint will call our bank simulation service to authorize the amount specified.
After the request is received, system will create a Authorization Request resource, asynchronously, and it's authorizationRequestId will be required to capture the funds using the Simulate Card Capture endpoint.
This Authorization Request resource can be fetched using the Get Authorization Request List endpoint.
This endpoint is available for Card Rails (Virtual Debit Cards) only.
Refer to Merchant API Guide for more information.
| paymentId required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 Payment ID |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
required | object (SimulateCardAuthorization) SimulateCardAuthorization | ||||
| |||||
{- "data": {
- "type": "SimulateCardAuthorization",
- "attributes": {
- "amount": 0
}
}
}{ } Get a list of all the Authorization Requests for a given payment.
The Authorization Requests are created as a result of the Simulate Card Authorization endpoint.
This endpoint is available for Card Rails (Virtual Debit Cards) only.
Refer to Merchant API Guide for more information.
| paymentId required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 Payment ID |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request GET \ --url https://merchant-api.accruesavings.com/api/v1/simulation/123e4567-e89b-12d3-a456-426614174000/card/auth \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "AuthorizationRequest",
- "attributes": {
- "paymentId": "123e4567-e89b-12d3-a456-426614174000",
- "walletId": "123e4567-e89b-12d3-a456-426614174000",
- "status": "Approved",
- "amount": 9999,
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
}
]
}Simulate a card capture request.
This endpoint will call our bank simulation service to capture the funds specified.
The authorizationRequestId is required to be passed in the request body.
The authorizationRequestId can be found in the Authorization Request resource, that was created as a result of the Simulate Card Authorization endpoint.
This endpoint is available for Card Rails (Virtual Debit Cards) only.
Refer to Merchant API Guide for more information.
| paymentId required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 Payment ID |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
required | object (SimulateCardCapture) SimulateCardCapture | ||||
| |||||
{- "data": {
- "type": "SimulateCardCapture",
- "attributes": {
- "authorizationRequestId": "4fe684a6-c2f3-4e6b-8bf5-d8dc75b1209c",
- "amount": 0
}
}
}{ } Get a list of all the Captures for a given payment.
The Captures are created as a result of the Simulate Card Authorization endpoint.
This endpoint is available for Card Rails (Virtual Debit Cards) only.
Refer to Merchant API Guide for more information.
| paymentId required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 Payment ID |
| filter[method] | string Filter the list of objects by the value of the method field. |
| filter[success] | string Example: filter[success]=true |
| page[limit] | number [ 1 .. 50 ] Default: 10 Maximum number of objects that will be returned. Can not be greater than 50. |
| page[offset] | number >= 0 Default: 0 Offset from the beginning of the list of objects. Can not be negative. |
| sort | string Default: "sort=-createdAt" Sorts the list of objects by the given criteria. The sort parameter value is a comma separated list of sort criteria. Each sort criteria is a field name optionally followed by a minus sign (-) to indicate descending order. Ascending order is assumed if no minus sign is present. The sort criteria are applied in the order in which they appear in the sort parameter. |
| include | string Comma-separated list of resources to include. Supported resources: |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request GET \ --url 'https://merchant-api.accruesavings.com/api/v1/simulation/123e4567-e89b-12d3-a456-426614174000/card/capture?filter%5Bmethod%5D=SOME_STRING_VALUE&filter%5Bsuccess%5D=true&page%5Blimit%5D=SOME_NUMBER_VALUE&page%5Boffset%5D=SOME_NUMBER_VALUE&sort=SOME_STRING_VALUE&include=SOME_STRING_VALUE' \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Capture",
- "attributes": {
- "id": "123e4567-e89b-12d3-a456-426614174000",
- "amount": 9999,
- "success": true,
- "method": "VirtualDebitCard",
- "reference": "MERCHANT-GENERATED-TOKEN",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
]
}Simulate a card authorization/capture request.
This endpoint aggregates the Simulate Card Authorization and Simulate Card Capture endpoints.
This endpoint is available for Card Rails (Virtual Debit Cards) only.
Refer to Merchant API Guide for more information.
| paymentId required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 Payment ID |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
required | object (SimulateCardAuthorizationCapture) SimulateCardAuthorizationCapture | ||||
| |||||
{- "data": {
- "type": "SimulateCardAuthorizationCapture",
- "attributes": {
- "amount": 0
}
}
}{- "success": true,
- "error": "Error message"
}Create a demo backup payment method (linked account) for a wallet in testing environments.
This endpoint simulates linking a bank account to a wallet for backup payment purposes without requiring actual bank account credentials or Plaid integration.
The created linked account can be used as a backup payment method for transactions when the primary funding source is insufficient.
This endpoint is only available in development, sandbox, and local testing environments.
The testCardType parameter is optional and allows you to specify which type of test card to simulate. If not provided, a default test card type will be used.
| walletId required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 Wallet ID |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
| testCardType | string Enum: "visa-us-credit" "visa-gb-credit" "visa-gb-debit" "mastercard-mu-credit" "mastercard-de-debit" Test card type from Checkout.com that returns response code 10000 (successful transaction) |
{- "testCardType": "visa-us-credit"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "DemoBackupPaymentMethod",
- "attributes": {
- "linkedAccountId": "123e4567-e89b-12d3-a456-426614174000",
- "accountMask": "1234",
- "institutionName": "Test Bank",
- "accountType": "checking",
- "status": "active",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
}Clear pending transactions for a wallet by type (bank or card).
This endpoint will clear all pending transactions of the specified type for the given wallet.
This endpoint is only available in development, sandbox, and local testing environments.
| walletId required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 Wallet ID |
| type required | string Enum: "bank" "card" Example: bank Transaction type to clear. 'bank' for ACH/bank transactions, 'card' for card transactions. |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request POST \ --url https://merchant-api.accruesavings.com/api/v1/simulation/wallets/123e4567-e89b-12d3-a456-426614174000/clear-pending/bank \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "id": "123e4567-e89b-12d3-a456-426614174000",
- "status": 400,
- "code": "InvalidTransactionType",
- "title": "ErrorResponseDto",
- "detail": "Invalid transaction type",
- "meta": {
- "environment": "sandbox",
- "timestamp": "2025-06-23T12:00:00.000Z",
- "path": "/api/v1/simulation/wallets/123e4567-e89b-12d3-a456-426614174000/clear-pending/bank"
}
}List all barcodes for a wallet in testing environments.
Optionally include expired barcodes via includeExpired.
This endpoint is only available in development, sandbox, and local testing environments.
| walletId required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 Wallet ID |
| includeExpired | boolean Example: includeExpired=false Include expired barcodes. Defaults to false. |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request GET \ --url 'https://merchant-api.accruesavings.com/api/v1/simulation/wallets/123e4567-e89b-12d3-a456-426614174000/barcodes?includeExpired=false' \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "WalletBarcode",
- "attributes": {
- "lookUpId": "SCAN-LOOKUP-ID",
- "expiresAt": "2025-12-31T23:59:59.000Z",
- "usageLimit": 0,
- "usageCount": 0,
- "referenceId": "customer-reference-id",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
}
]
}Generate a barcode for a wallet in testing environments.
The barcode lookUpId can be used when creating payment intents or when fetching the barcode via Get Wallet Barcode.
This endpoint is only available in development, sandbox, and local testing environments.
| walletId required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 Wallet ID |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
object (GenerateWalletBarcode) Generate Wallet Barcode request | |||||
| |||||
{- "data": {
- "type": "GenerateWalletBarcode",
- "attributes": {
- "expiresAt": "2025-12-31T23:59:59.000Z",
- "usageLimit": 0,
- "reuseActive": true
}
}
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "WalletBarcode",
- "attributes": {
- "lookUpId": "SCAN-LOOKUP-ID",
- "expiresAt": "2025-12-31T23:59:59.000Z",
- "usageLimit": 0,
- "usageCount": 0,
- "referenceId": "customer-reference-id",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
}
} Fetch a barcode by its lookUpId in testing environments.
The id in the response is the wallet ID. Validation is scoped to the merchant derived from the request.
This endpoint is only available in development, sandbox, and local testing environments.
| lookUpId required | string Example: SCAN-LOOKUP-ID Lookup identifier for the barcode |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request GET \ --url https://merchant-api.accruesavings.com/api/v1/simulation/barcodes/SCAN-LOOKUP-ID \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "WalletBarcode",
- "attributes": {
- "lookUpId": "SCAN-LOOKUP-ID",
- "expiresAt": "2025-12-31T23:59:59.000Z",
- "usageLimit": 0,
- "usageCount": 0,
- "referenceId": "customer-reference-id",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
}
}Fail a pending transaction for a wallet (ACH or card).
Fails a pending transaction either by transaction ID or the first pending transaction if no ID is provided.
An optional failure reason can be specified to simulate different failure scenarios.
This endpoint is only available in development, sandbox, and local testing environments.
| walletId required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 Wallet ID |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
object (FailPendingTransactionRequest) Fail Pending Transaction request | |||||
| |||||
{- "data": {
- "type": "FailPendingTransaction",
- "attributes": {
- "transactionId": "123e4567-e89b-12d3-a456-426614174000",
- "reason": "InsufficientFunds"
}
}
}{- "id": "123e4567-e89b-12d3-a456-426614174000",
- "status": 400,
- "code": "InvalidTransaction",
- "title": "ErrorResponseDto",
- "detail": "Invalid transaction",
- "meta": {
- "environment": "sandbox",
- "timestamp": "2025-06-23T12:00:00.000Z",
- "path": "/api/v1/simulation/wallets/123e4567-e89b-12d3-a456-426614174000/fail-transaction"
}
}Banking APIs provide KYC (Know Your Customer) verification functionality to enable users to comply with financial regulations when using banking features. These endpoints manage identity verification through document submission, status tracking, and automated compliance checks.
Creates a new KYC (Know Your Customer) application for a user with their personal information. This initiates the identity verification process required for banking features. The application will be processed through automated checks and may require additional document verification depending on the verification outcome.
| userId required | string <uuid> Example: 550e8400-e29b-41d4-a716-446655440000 The unique identifier for the user |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
required | object | ||||
| |||||
{- "data": {
- "type": "Kyc",
- "attributes": {
- "ipAddress": "192.168.1.1",
- "firstName": "John",
- "lastName": "Doe",
- "phone": "5551234567",
- "dateOfBirth": "1990-01-15",
- "email": "john.doe@example.com",
- "street": "123 Main Street",
- "street2": "Apt 4B",
- "city": "New York",
- "state": "NY",
- "postalCode": "10001"
}
}
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Kyc",
- "attributes": {
- "status": "Approved",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
}Retrieves the current KYC verification status for a user. Returns null if no KYC application has been submitted for the user. Use this endpoint to check the progress of a user's identity verification.
| userId required | string <uuid> Example: 550e8400-e29b-41d4-a716-446655440000 The unique identifier for the user |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request GET \ --url https://merchant-api.accruesavings.com/api/v1/users/:userId/kyc/status \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Kyc",
- "attributes": {
- "status": "Approved",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
}Generates a secure, time-limited link to document verification portal. Use this when a user's KYC status is 'AwaitingDocuments' and they need to upload identity documents (such as a driver's license or passport). The user should be redirected to the returned URL to complete the verification process.
| userId required | string <uuid> Example: 550e8400-e29b-41d4-a716-446655440000 The unique identifier for the user |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
required | object | ||||
| |||||
{- "data": {
- "type": "DocumentVerificationLink",
}
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "DocumentVerificationLink",
- "attributes": {
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
}Marks the document verification process as complete and retrieves the updated KYC status. Call this endpoint after the user has finished uploading documents through the portal. The response will contain the updated verification status, which may be Approved, ManualReview, or Denied based on the document review.
| userId required | string <uuid> Example: 550e8400-e29b-41d4-a716-446655440000 The unique identifier for the user |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request POST \ --url https://merchant-api.accruesavings.com/api/v1/users/:userId/kyc/document-verification/complete \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Kyc",
- "attributes": {
- "status": "Approved",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
}Counterparties define bank accounts where funds are settled for captured payments. Counterparties include bank account details (account number, routing number) and there can be multiple counterparties.
Create a new counterparty. Counterparties define bank accounts where funds will be settled.
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
required | object | ||||
| |||||
{- "data": {
- "type": "CreateCounterparty",
- "attributes": {
- "label": "Primary Business Account",
- "accountNumber": "1234567890",
- "routingNumber": "021000021",
- "accountType": "Checking"
}
}
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Counterparty",
- "attributes": {
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "label": "string",
- "accountNumber": "1234567890",
- "routingNumber": "021000021",
- "accountType": "Checking",
- "balance": {
- "pending": 1000,
- "available": 1000
}
}
}
}List all counterparties.
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request GET \ --url https://merchant-api.accruesavings.com/api/v1/counterparties/ \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Counterparty",
- "attributes": {
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "label": "string",
- "accountNumber": "1234567890",
- "routingNumber": "021000021",
- "accountType": "Checking",
- "balance": {
- "pending": 1000,
- "available": 1000
}
}
}
]
}Get a specific counterparty by ID.
| counterpartyId required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 ID of the counterparty to fetch. |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request GET \ --url https://merchant-api.accruesavings.com/api/v1/counterparties/:counterpartyId \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Counterparty",
- "attributes": {
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "label": "string",
- "accountNumber": "1234567890",
- "routingNumber": "021000021",
- "accountType": "Checking",
- "balance": {
- "pending": 1000,
- "available": 1000
}
}
}
}Update a counterparty. Use this endpoint to update editable fields. Some fields, like account number and routing number, can't be edited.
| counterpartyId required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 ID of the counterparty to update. |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
required | object | ||||
| |||||
{- "data": {
- "type": "UpdateCounterparty",
- "attributes": {
- "label": "Updated Business Account"
}
}
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Counterparty",
- "attributes": {
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "label": "string",
- "accountNumber": "1234567890",
- "routingNumber": "021000021",
- "accountType": "Checking",
- "balance": {
- "pending": 1000,
- "available": 1000
}
}
}
}Soft-delete a counterparty. The counterparty will be marked as deleted but not permanently removed from the system.
| counterpartyId required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 ID of the counterparty to delete. |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request DELETE \ --url https://merchant-api.accruesavings.com/api/v1/counterparties/:counterpartyId \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
Initiate a payout from the counterparty's available balance to their bank account.
| counterpartyId required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 ID of the counterparty from which to payout. |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
required | object | ||||
| |||||
{- "data": {
- "type": "CreateCounterpartyPayout",
- "attributes": {
- "amount": 5000,
- "idempotencyKey": "payout_12345"
}
}
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "CounterpartyPayout",
- "attributes": {
- "amount": 5000,
- "status": "Sent",
- "description": "Payout to vendor",
- "effectiveDate": "2024-01-15",
- "counterpartyId": "123e4567-e89b-12d3-a456-426614174000",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
}List all payouts for a specific counterparty.
| counterpartyId required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 ID of the counterparty to fetch payouts for. |
| page[limit] | number [ 1 .. 50 ] Default: 10 Maximum number of objects that will be returned. Can not be greater than 50. |
| page[offset] | number >= 0 Default: 0 Offset from the beginning of the list of objects. Can not be negative. |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request GET \ --url 'https://merchant-api.accruesavings.com/api/v1/counterparties/:counterpartyId/payouts?page%5Blimit%5D=SOME_NUMBER_VALUE&page%5Boffset%5D=SOME_NUMBER_VALUE' \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "CounterpartyPayout",
- "attributes": {
- "amount": 5000,
- "status": "Sent",
- "description": "Payout to vendor",
- "effectiveDate": "2024-01-15",
- "counterpartyId": "123e4567-e89b-12d3-a456-426614174000",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
], - "meta": {
- "total": 1,
- "limit": 10,
- "offset": 0
}
}Counterparty Transfers represent movements of funds between two counterparties owned by the same partner. Use these endpoints to initiate, list, and retrieve counterparty-to-counterparty transfers.
Initiate a transfer of funds between two counterparties owned by the authenticated partner.
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
required | object | ||||
| |||||
{- "data": {
- "type": "CounterpartyTransfer",
- "attributes": {
- "fromCounterpartyId": "123e4567-e89b-12d3-a456-426614174000",
- "toCounterpartyId": "123e4567-e89b-12d3-a456-426614174000",
- "amount": 1500,
- "idempotencyKey": "transfer_12345",
- "metadata": {
- "orderId": "order_123"
}
}
}
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "CounterpartyTransfer",
- "attributes": {
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "fromCounterpartyId": "123e4567-e89b-12d3-a456-426614174000",
- "toCounterpartyId": "123e4567-e89b-12d3-a456-426614174000",
- "amount": 1500,
- "status": "Completed",
- "idempotencyKey": "transfer_12345",
- "externalLedgerTransactionId": "lt_abc123",
- "failureReason": "string",
- "metadata": {
- "orderId": "order_123"
}
}
}
}List all counterparty transfers for the authenticated partner.
| page[limit] | number [ 1 .. 50 ] Default: 10 Maximum number of objects that will be returned. Can not be greater than 50. |
| page[offset] | number >= 0 Default: 0 Offset from the beginning of the list of objects. Can not be negative. |
| filter[fromCounterpartyId] | string <uuid> Example: filter[fromCounterpartyId]=123e4567-e89b-12d3-a456-426614174000 Filter transfers by source counterparty ID. |
| filter[toCounterpartyId] | string <uuid> Example: filter[toCounterpartyId]=123e4567-e89b-12d3-a456-426614174000 Filter transfers by destination counterparty ID. |
| filter[status] | string Enum: "Pending" "Completed" "Failed" Example: filter[status]=Completed Filter transfers by status. |
| filter[createdAfter] | string <date-time> Example: filter[createdAfter]=2024-01-01T00:00:00.000Z Filter transfers created after this ISO 8601 datetime. |
| filter[createdBefore] | string <date-time> Example: filter[createdBefore]=2024-12-31T23:59:59.999Z Filter transfers created before this ISO 8601 datetime. |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request GET \ --url 'https://merchant-api.accruesavings.com/api/v1/counterparty-transfers/?page%5Blimit%5D=SOME_NUMBER_VALUE&page%5Boffset%5D=SOME_NUMBER_VALUE&filter%5BfromCounterpartyId%5D=123e4567-e89b-12d3-a456-426614174000&filter%5BtoCounterpartyId%5D=123e4567-e89b-12d3-a456-426614174000&filter%5Bstatus%5D=Completed&filter%5BcreatedAfter%5D=2024-01-01T00%3A00%3A00.000Z&filter%5BcreatedBefore%5D=2024-12-31T23%3A59%3A59.999Z' \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "CounterpartyTransfer",
- "attributes": {
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "fromCounterpartyId": "123e4567-e89b-12d3-a456-426614174000",
- "toCounterpartyId": "123e4567-e89b-12d3-a456-426614174000",
- "amount": 1500,
- "status": "Completed",
- "idempotencyKey": "transfer_12345",
- "externalLedgerTransactionId": "lt_abc123",
- "failureReason": "string",
- "metadata": {
- "orderId": "order_123"
}
}
}
], - "meta": {
- "total": 1,
- "limit": 10,
- "offset": 0
}
}Get a specific counterparty transfer by ID.
| counterpartyTransferId required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 ID of the counterparty transfer to fetch. |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request GET \ --url https://merchant-api.accruesavings.com/api/v1/counterparty-transfers/:counterpartyTransferId \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "CounterpartyTransfer",
- "attributes": {
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "fromCounterpartyId": "123e4567-e89b-12d3-a456-426614174000",
- "toCounterpartyId": "123e4567-e89b-12d3-a456-426614174000",
- "amount": 1500,
- "status": "Completed",
- "idempotencyKey": "transfer_12345",
- "externalLedgerTransactionId": "lt_abc123",
- "failureReason": "string",
- "metadata": {
- "orderId": "order_123"
}
}
}
}Sweepstakes campaigns give users the chance to win prizes by participating in merchant-sponsored promotions. Each campaign is linked to a specific merchant and tracks user entries. Users can earn entries through actions like purchases, and winners are selected based on campaign rules. Sweepstakes add an engaging layer of excitement and reward to the user experience.
| sweepstakesId required | string Sweepstakes ID |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
required | object (SweepstakesResults) SweepstakesResults | ||||
| |||||
{- "data": {
- "type": "SweepstakesResults",
- "attributes": {
- "customer": {
- "idType": "PhoneNumber",
- "id": "+12125550001"
}
}
}
}Partner-issued rewards let trusted integrations credit customer wallets or create pre-issued rewards for recipients identified by phone number. When a recipient has an active wallet, rewards are deposited immediately. When no active wallet exists, a pre-issued reward is created for the user to claim when they sign up. All issue requests require an idempotency key.
Issue a reward to a recipient identified by phone number. If the recipient has exactly one active wallet, the reward is credited immediately (kind: immediate, status: Credited). Otherwise, if no blocking wallet exists, a pre-issued reward is created (kind: preIssued, status: Created). All responses use the unified Reward resource type. Requires an idempotencyKey. Retries are safe when the full request body is unchanged — the API fingerprints the body server-side and replays the prior result for matching key + fingerprint pairs.
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
required | object (IssueRewardRequest) Request to issue a reward to a phone number. | ||||
| |||||
{- "data": {
- "type": "IssueReward",
- "attributes": {
- "phoneNumber": "+15551234567",
- "amount": 500,
- "idempotencyKey": "reward-2025-06-11-001",
- "message": "Thanks for being a valued customer!",
- "reasonCode": "CX-COMPENSATION-001",
- "costCenter": "CX-SUPPORT",
- "notificationEmail": "agent@partner.example"
}
}
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Reward",
- "attributes": {
- "kind": "immediate",
- "amount": 500,
- "walletId": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "Credited",
- "canUpdate": false,
- "canCancel": false,
- "claimExpiresAt": "2026-09-15T12:00:00.000Z",
- "message": "Thank you for your loyalty!",
- "reasonCode": "CX-COMPENSATION-001",
- "costCenter": "CX-SUPPORT",
- "notificationEmail": "agent@partner.example"
}
}
}List rewards issued to a recipient. Returns a paginated list of unified Reward resources that may include both immediate credits and pre-issued rewards. filter[phoneNumber] is required. When filter[status] is provided, only pre-issued rewards matching that status are returned.
| filter[phoneNumber] | string Example: filter[phoneNumber]=+15551234567 Recipient phone number to look up (required). |
| filter[status] | string Example: filter[status]=Created When set, filters to pre-issued rewards with this status only ( |
| page[limit] | number [ 1 .. 50 ] Default: 10 Maximum number of objects that will be returned. Can not be greater than 50. |
| page[offset] | number >= 0 Default: 0 Offset from the beginning of the list of objects. Can not be negative. |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request GET \ --url 'https://merchant-api.accruesavings.com/api/v1/rewards?filter%5BphoneNumber%5D=%2B15551234567&filter%5Bstatus%5D=Created&page%5Blimit%5D=SOME_NUMBER_VALUE&page%5Boffset%5D=SOME_NUMBER_VALUE' \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Reward",
- "attributes": {
- "kind": "immediate",
- "amount": 500,
- "walletId": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "Credited",
- "canUpdate": false,
- "canCancel": false,
- "claimExpiresAt": "2026-09-15T12:00:00.000Z",
- "message": "Thank you for your loyalty!",
- "reasonCode": "CX-COMPENSATION-001",
- "costCenter": "CX-SUPPORT",
- "notificationEmail": "agent@partner.example"
}
}
], - "meta": {
- "total": 1,
- "limit": 10,
- "offset": 0
}
}Look up a single issued reward by ID. Returns a unified Reward resource when found, or { data: null } when not found.
| id required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 Reward ID (immediate credit or pre-issued reward). |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request GET \ --url https://merchant-api.accruesavings.com/api/v1/rewards/123e4567-e89b-12d3-a456-426614174000 \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Reward",
- "attributes": {
- "kind": "immediate",
- "amount": 500,
- "walletId": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "Credited",
- "canUpdate": false,
- "canCancel": false,
- "claimExpiresAt": "2026-09-15T12:00:00.000Z",
- "message": "Thank you for your loyalty!",
- "reasonCode": "CX-COMPENSATION-001",
- "costCenter": "CX-SUPPORT",
- "notificationEmail": "agent@partner.example"
}
}
}Update a reward when canUpdate is true (pre-issued rewards in Created status). At least one attribute must be provided. Returns the updated unified Reward resource.
| id required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 Reward ID. |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
required | object (UpdateRewardRequest) Request to update a reward when | ||||
| |||||
{- "data": {
- "type": "UpdateReward",
- "attributes": {
- "amount": 750,
- "message": "Updated thank-you note",
- "reasonCode": "CX-COMPENSATION-002",
- "costCenter": "CX-ESCALATIONS",
- "notificationEmail": "supervisor@partner.example"
}
}
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Reward",
- "attributes": {
- "kind": "immediate",
- "amount": 500,
- "walletId": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "Credited",
- "canUpdate": false,
- "canCancel": false,
- "claimExpiresAt": "2026-09-15T12:00:00.000Z",
- "message": "Thank you for your loyalty!",
- "reasonCode": "CX-COMPENSATION-001",
- "costCenter": "CX-SUPPORT",
- "notificationEmail": "agent@partner.example"
}
}
}Cancel a reward when canCancel is true (pre-issued rewards in Created status). Returns 204 No Content on success.
| id required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 Reward ID. |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request DELETE \ --url https://merchant-api.accruesavings.com/api/v1/rewards/123e4567-e89b-12d3-a456-426614174000 \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "id": "123e4567-e89b-12d3-a456-426614174000",
- "status": 404,
- "code": "NotFound",
- "title": "RewardNotFoundException",
- "detail": "Reward not found.",
- "meta": {
- "environment": "sandbox",
- "timestamp": "2025-06-23T12:00:00.000Z",
- "path": "/api/v1/rewards/123e4567-e89b-12d3-a456-426614174000"
}
}Widgets are components that are embedded into applications to enrich the user experience. Some of those require additional data loaded through API endpoints.
Learn more about the different widget types here.
| walletId required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 Wallet ID for which widgets are loaded |
| includeDto | boolean Include the Data Transfer Object field, containing widget data in a structured format. |
| purchaseAmount | integer <int32> Example: purchaseAmount=1000 Purchase amount (in cents) |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request GET \ --url 'https://merchant-api.accruesavings.com/api/v1/widgets/wallet/123e4567-e89b-12d3-a456-426614174000?includeDto=SOME_BOOLEAN_VALUE&purchaseAmount=1000' \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "WalletWidgetData",
- "attributes": {
- "payload": "YmFzZTY0IGVuY29kZWQgZGF0YQ==",
- "dto": {
- "dynamic": {
- "value": 1
}
}
}, - "relationships": {
- "wallet": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Wallet"
}
}
},
}
}| includeDto | boolean Include the Data Transfer Object field, containing widget data in a structured format. |
| purchaseAmount | integer <int32> Example: purchaseAmount=1000 Purchase amount (in cents) |
| filter[userReference] | string Example: filter[userReference]=stable-abc-123 Merchant-scoped user identifier ( |
| filter[secondaryUserReference] | string Example: filter[secondaryUserReference]=user-123 Legacy |
| filter[phoneNumber] | string Filter the list of objects by the value of the phoneNumber field. |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request GET \ --url 'https://merchant-api.accruesavings.com/api/v1/widgets/wallet?includeDto=SOME_BOOLEAN_VALUE&purchaseAmount=1000&filter%5BuserReference%5D=stable-abc-123&filter%5BsecondaryUserReference%5D=user-123&filter%5BphoneNumber%5D=SOME_STRING_VALUE' \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "WalletWidgetData",
- "attributes": {
- "payload": "YmFzZTY0IGVuY29kZWQgZGF0YQ==",
- "dto": {
- "dynamic": {
- "value": 1
}
}
}, - "relationships": {
- "wallet": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Wallet"
}
}
},
}
}This endpoint returns data for the Linked Account Widget.
If you prefer to build your own widget, you can use the dto field to get the data in a structured format.
| paymentIntentId required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 Payment Intent ID |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request GET \ --url https://merchant-api.accruesavings.com/api/v1/widgets/payment-intent/123e4567-e89b-12d3-a456-426614174000/linked-account \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "LinkedAccountWidgetData",
- "attributes": {
- "payload": "YmFzZTY0IGVuY29kZWQgZGF0YQ==",
- "dto": {
- "institutionName": "Visa",
- "accountMask": "1234"
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
}This endpoint returns data: null instead of 400 error when no wallet is found
| walletId required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 Wallet ID for which widgets are loaded |
| includeDto | boolean Include the Data Transfer Object field, containing widget data in a structured format. |
| purchaseAmount | integer <int32> Example: purchaseAmount=1000 Purchase amount (in cents) |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request GET \ --url 'https://merchant-api.accruesavings.com/api/v2/widgets/wallet/123e4567-e89b-12d3-a456-426614174000?includeDto=SOME_BOOLEAN_VALUE&purchaseAmount=1000' \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "WalletWidgetData",
- "attributes": {
- "payload": "YmFzZTY0IGVuY29kZWQgZGF0YQ==",
- "dto": {
- "dynamic": {
- "value": 1
}
}
}, - "relationships": {
- "wallet": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Wallet"
}
}
},
}
}This endpoint returns data: null instead of 400 error when no wallet is found
| includeDto | boolean Include the Data Transfer Object field, containing widget data in a structured format. |
| purchaseAmount | integer <int32> Example: purchaseAmount=1000 Purchase amount (in cents) |
| filter[userReference] | string Example: filter[userReference]=stable-abc-123 Merchant-scoped user identifier ( |
| filter[secondaryUserReference] | string Example: filter[secondaryUserReference]=user-123 Legacy |
| filter[phoneNumber] | string Filter the list of objects by the value of the phoneNumber field. |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request GET \ --url 'https://merchant-api.accruesavings.com/api/v2/widgets/wallet?includeDto=SOME_BOOLEAN_VALUE&purchaseAmount=1000&filter%5BuserReference%5D=stable-abc-123&filter%5BsecondaryUserReference%5D=user-123&filter%5BphoneNumber%5D=SOME_STRING_VALUE' \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "WalletWidgetData",
- "attributes": {
- "payload": "YmFzZTY0IGVuY29kZWQgZGF0YQ==",
- "dto": {
- "dynamic": {
- "value": 1
}
}
}, - "relationships": {
- "wallet": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Wallet"
}
}
},
}
}Creates a new widget session that can be used to authenticate and interact with Accrue widgets. The session token returned should be passed to the widget for authentication.
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
required | object | ||||
| |||||
{- "data": {
- "type": "CreateWidgetSession",
- "attributes": {
- "widgetType": "PaymentMethods"
}
}
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "WidgetSession",
- "attributes": {
- "sessionToken": "wgt_session_1234567890abcdef",
- "createdAt": "2025-01-15T10:30:00.000Z"
}
}
}| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
required | object (CreateWebhook) Create webhook request | ||||
| |||||
{- "data": {
- "type": "Webhook",
- "attributes": {
- "enabled": true,
- "name": "string",
- "url": "string",
- "topics": [
- "PaymentIntentCreated",
- "PaymentCreated"
]
}
}
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Webhook",
- "attributes": {
- "enabled": true,
- "name": "string",
- "url": "string",
- "secret": "string",
- "topics": [
- "PaymentIntentCreated",
- "PaymentCreated"
], - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
}| page[limit] | number [ 1 .. 50 ] Default: 10 Maximum number of objects that will be returned. Can not be greater than 50. |
| page[offset] | number >= 0 Default: 0 Offset from the beginning of the list of objects. Can not be negative. |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request GET \ --url 'https://merchant-api.accruesavings.com/api/v1/webhooks?page%5Blimit%5D=SOME_NUMBER_VALUE&page%5Boffset%5D=SOME_NUMBER_VALUE' \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Webhook",
- "attributes": {
- "enabled": true,
- "name": "string",
- "url": "string",
- "secret": "string",
- "topics": [
- "PaymentIntentCreated",
- "PaymentCreated"
], - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
}| webhookId required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 Webhook id |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request GET \ --url https://merchant-api.accruesavings.com/api/v1/webhooks/123e4567-e89b-12d3-a456-426614174000 \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Webhook",
- "attributes": {
- "enabled": true,
- "name": "string",
- "url": "string",
- "secret": "string",
- "topics": [
- "PaymentIntentCreated",
- "PaymentCreated"
], - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
}| webhookId required | string <uuid> Webhook id |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
required | object Update webhook request | ||||||
| |||||||
{- "data": {
- "type": "Webhook",
- "attributes": {
- "enabled": true,
- "name": "string",
- "url": "string",
- "topics": [
- "PaymentIntentCreated",
- "PaymentCreated"
]
}, - "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Webhook",
- "attributes": {
- "enabled": true,
- "name": "string",
- "url": "string",
- "secret": "string",
- "topics": [
- "PaymentIntentCreated",
- "PaymentCreated"
], - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
}| webhookId required | string <uuid> Webhook id |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request DELETE \ --url https://merchant-api.accruesavings.com/api/v1/webhooks/%7BwebhookId%7D \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
| filter[since] | string Example: filter[since]=2021-01-01T00:00:00Z Filter webhook events at or after the provided date |
| filter[until] | string Example: filter[until]=2021-01-01T00:00:00Z Filter webhook events at or before the provided date |
| page[limit] | number [ 1 .. 50 ] Default: 10 Maximum number of objects that will be returned. Can not be greater than 50. |
| page[offset] | number >= 0 Default: 0 Offset from the beginning of the list of objects. Can not be negative. |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request GET \ --url 'https://merchant-api.accruesavings.com/api/v1/webhook-events?filter%5Bsince%5D=2021-01-01T00%3A00%3A00Z&filter%5Buntil%5D=2021-01-01T00%3A00%3A00Z&page%5Blimit%5D=SOME_NUMBER_VALUE&page%5Boffset%5D=SOME_NUMBER_VALUE' \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "WebhookEvent",
- "attributes": {
- "id": "123e4567-e89b-12d3-a456-426614174000",
- "topic": "string",
- "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
- "userId": "123e4567-e89b-12d3-a456-426614174000",
- "walletId": "123e4567-e89b-12d3-a456-426614174000",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "event": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string"
}
}
}
}
], - "included": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "PaymentIntent",
- "attributes": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "Promotable",
- "error": "LinkedAccountUnverified",
- "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
- "walletId": "0ecad4a2-3549-43fb-807e-9ff033247480",
- "fullName": "string",
- "email": "user@example.com",
- "phoneNumber": "string",
- "billingAddress": {
- "property1": null,
- "property2": null
}, - "reference": "string",
- "expiresAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
}
]
}| webhookEventId required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 WebhookEvent id |
| Client-ID required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The unique identifier of the client making the request. This header is required to retrieve the client-specific configuration and ensure that the response is tailored to the client's settings and permissions. |
| Authorization required | string <uuid> Example: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef Secure secret to access privileged endpoints. |
curl --request GET \ --url https://merchant-api.accruesavings.com/api/v1/webhook-events/123e4567-e89b-12d3-a456-426614174000 \ --header 'Authorization: Bearer 633b336e4f57f095a405f6685e208cc7dd16de3e82494662f2acfeec3af1cdef' \ --header 'Client-ID: 123e4567-e89b-12d3-a456-426614174000'
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "WebhookEvent",
- "attributes": {
- "id": "123e4567-e89b-12d3-a456-426614174000",
- "topic": "string",
- "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
- "userId": "123e4567-e89b-12d3-a456-426614174000",
- "walletId": "123e4567-e89b-12d3-a456-426614174000",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "event": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string"
}
}
}
}, - "included": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "PaymentIntent",
- "attributes": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "Promotable",
- "error": "LinkedAccountUnverified",
- "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
- "walletId": "0ecad4a2-3549-43fb-807e-9ff033247480",
- "fullName": "string",
- "email": "user@example.com",
- "phoneNumber": "string",
- "billingAddress": {
- "property1": null,
- "property2": null
}, - "reference": "string",
- "expiresAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
}
]
}| id required | string <uuid> Unique identifier for the object. |
| type required | string Value: "WebhookEvent" |
required | object |
required | object |
required | Array of objects |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "WebhookEvent",
- "attributes": {
- "id": "123e4567-e89b-12d3-a456-426614174000",
- "topic": "string",
- "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
- "userId": "123e4567-e89b-12d3-a456-426614174000",
- "walletId": "123e4567-e89b-12d3-a456-426614174000",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "event": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string"
}
}
}, - "included": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "PaymentIntent",
- "attributes": {
- "balance": {
- "available": 1500,
- "eligibleReward": 500,
- "upperLimit": 103600
}, - "billingAddress": {
- "street": "string",
- "street2": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string"
}, - "email": "user@example.com",
- "error": "LinkedAccountUnverified",
- "expiresAt": "2019-08-24T14:15:22Z",
- "fullName": "string",
- "phoneNumber": "string",
- "amount": 3600,
- "reference": "MERCHANT-GENERATED-TOKEN",
- "status": "Promotable",
- "userId": "string",
- "walletId": "123e4567-e89b-12d3-a456-426614174000",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
]
}| id required | string <uuid> Unique identifier for the object. |
| type required | string Value: "WebhookEvent" |
required | object |
required | object |
required | Array of objects |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "WebhookEvent",
- "attributes": {
- "id": "123e4567-e89b-12d3-a456-426614174000",
- "topic": "string",
- "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
- "userId": "123e4567-e89b-12d3-a456-426614174000",
- "walletId": "123e4567-e89b-12d3-a456-426614174000",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "event": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string"
}
}
}, - "included": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "PaymentIntent",
- "attributes": {
- "balance": {
- "available": 1500,
- "eligibleReward": 500,
- "upperLimit": 103600
}, - "billingAddress": {
- "street": "string",
- "street2": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string"
}, - "email": "user@example.com",
- "error": "LinkedAccountUnverified",
- "expiresAt": "2019-08-24T14:15:22Z",
- "fullName": "string",
- "phoneNumber": "string",
- "amount": 3600,
- "reference": "MERCHANT-GENERATED-TOKEN",
- "status": "Promotable",
- "userId": "string",
- "walletId": "123e4567-e89b-12d3-a456-426614174000",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
]
}| id required | string <uuid> Unique identifier for the object. |
| type required | string Value: "WebhookEvent" |
required | object |
required | object |
required | Array of objects |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "WebhookEvent",
- "attributes": {
- "id": "123e4567-e89b-12d3-a456-426614174000",
- "topic": "string",
- "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
- "userId": "123e4567-e89b-12d3-a456-426614174000",
- "walletId": "123e4567-e89b-12d3-a456-426614174000",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "event": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string"
}
}
}, - "included": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Payment",
- "attributes": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "Sent",
- "amount": 9999,
- "channel": "ORG-1",
- "reference": "MERCHANT-GENERATED-TOKEN",
- "disbursement": [
- {
- "counterpartyId": "9f755746-13cb-4d0b-81f2-3b4f1b44f6d8",
- "amount": 800,
- "fee": 10,
- "remit": true
}, - {
- "counterpartyId": "4cf95060-dd01-42ac-9020-8ca42004920d",
- "amount": 200,
- "fee": 5,
- "remit": true
}
], - "charges": {
- "fee": {
- "amount": 150,
- "type": "pay_by_wallet"
}, - "rewards": 1000
}, - "deductions": {
- "rewards": 1000,
- "fees": 150
}, - "expiresAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "links": {
}
}
]
}| id required | string <uuid> Unique identifier for the object. |
| type required | string Value: "WebhookEvent" |
required | object |
required | object |
required | Array of objects |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "WebhookEvent",
- "attributes": {
- "id": "123e4567-e89b-12d3-a456-426614174000",
- "topic": "string",
- "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
- "userId": "123e4567-e89b-12d3-a456-426614174000",
- "walletId": "123e4567-e89b-12d3-a456-426614174000",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "event": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string"
}
}
}, - "included": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Payment",
- "attributes": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "Sent",
- "amount": 9999,
- "channel": "ORG-1",
- "reference": "MERCHANT-GENERATED-TOKEN",
- "disbursement": [
- {
- "counterpartyId": "9f755746-13cb-4d0b-81f2-3b4f1b44f6d8",
- "amount": 800,
- "fee": 10,
- "remit": true
}, - {
- "counterpartyId": "4cf95060-dd01-42ac-9020-8ca42004920d",
- "amount": 200,
- "fee": 5,
- "remit": true
}
], - "charges": {
- "fee": {
- "amount": 150,
- "type": "pay_by_wallet"
}, - "rewards": 1000
}, - "deductions": {
- "rewards": 1000,
- "fees": 150
}, - "expiresAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "links": {
}
}
]
}| id required | string <uuid> Unique identifier for the object. |
| type required | string Value: "WebhookEvent" |
required | object |
required | object |
required | Array of objects |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "WebhookEvent",
- "attributes": {
- "id": "123e4567-e89b-12d3-a456-426614174000",
- "topic": "string",
- "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
- "userId": "123e4567-e89b-12d3-a456-426614174000",
- "walletId": "123e4567-e89b-12d3-a456-426614174000",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "event": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string"
}
}
}, - "included": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Capture",
- "attributes": {
- "id": "123e4567-e89b-12d3-a456-426614174000",
- "amount": 9999,
- "success": true,
- "method": "VirtualDebitCard",
- "reference": "MERCHANT-GENERATED-TOKEN",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
]
}| id required | string <uuid> Unique identifier for the object. |
| type required | string Value: "WebhookEvent" |
required | object |
required | object |
required | Array of objects |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "WebhookEvent",
- "attributes": {
- "id": "123e4567-e89b-12d3-a456-426614174000",
- "topic": "string",
- "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
- "userId": "123e4567-e89b-12d3-a456-426614174000",
- "walletId": "123e4567-e89b-12d3-a456-426614174000",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "event": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string"
}
}
}, - "included": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Refund",
- "attributes": {
- "status": "Failed",
- "amount": 9999,
- "message": "Refund processed. Fee: 59 cents",
- "reference": "MERCHANT-GENERATED-TOKEN",
- "charges": {
- "fee": {
- "amount": 59,
- "type": "pay_by_wallet_refund"
}, - "rewards": 0
}, - "deductions": {
- "rewards": 0,
- "fees": 59
}, - "id": "9f755746-13cb-4d0b-81f2-3b4f1b44f6d8",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
]
}| id required | string <uuid> Unique identifier for the object. |
| type required | string Value: "WebhookEvent" |
required | object |
required | object |
required | Array of objects |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "WebhookEvent",
- "attributes": {
- "id": "123e4567-e89b-12d3-a456-426614174000",
- "topic": "string",
- "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
- "userId": "123e4567-e89b-12d3-a456-426614174000",
- "walletId": "123e4567-e89b-12d3-a456-426614174000",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "event": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string"
}
}
}, - "included": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Refund",
- "attributes": {
- "status": "Failed",
- "amount": 9999,
- "message": "Refund processed. Fee: 59 cents",
- "reference": "MERCHANT-GENERATED-TOKEN",
- "charges": {
- "fee": {
- "amount": 59,
- "type": "pay_by_wallet_refund"
}, - "rewards": 0
}, - "deductions": {
- "rewards": 0,
- "fees": 59
}, - "id": "9f755746-13cb-4d0b-81f2-3b4f1b44f6d8",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
]
}Fired when a KYC application is created for a user. This event is triggered when a user initiates the identity verification process.
| id required | string <uuid> Unique identifier for the object. |
| type required | string Value: "WebhookEvent" |
required | object |
required | object |
required | Array of objects |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "WebhookEvent",
- "attributes": {
- "id": "123e4567-e89b-12d3-a456-426614174000",
- "topic": "string",
- "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
- "userId": "123e4567-e89b-12d3-a456-426614174000",
- "walletId": "123e4567-e89b-12d3-a456-426614174000",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "event": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string"
}
}
}, - "included": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Kyc",
- "attributes": {
- "status": "Approved",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
]
}Fired when a KYC application is approved. This event indicates that the user has successfully passed identity verification and can access banking features.
| id required | string <uuid> Unique identifier for the object. |
| type required | string Value: "WebhookEvent" |
required | object |
required | object |
required | Array of objects |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "WebhookEvent",
- "attributes": {
- "id": "123e4567-e89b-12d3-a456-426614174000",
- "topic": "string",
- "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
- "userId": "123e4567-e89b-12d3-a456-426614174000",
- "walletId": "123e4567-e89b-12d3-a456-426614174000",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "event": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string"
}
}
}, - "included": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Kyc",
- "attributes": {
- "status": "Approved",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
]
}Fired when a KYC application is declined. This event indicates that the user did not pass identity verification and cannot access banking features.
| id required | string <uuid> Unique identifier for the object. |
| type required | string Value: "WebhookEvent" |
required | object |
required | object |
required | Array of objects |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "WebhookEvent",
- "attributes": {
- "id": "123e4567-e89b-12d3-a456-426614174000",
- "topic": "string",
- "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
- "userId": "123e4567-e89b-12d3-a456-426614174000",
- "walletId": "123e4567-e89b-12d3-a456-426614174000",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "event": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string"
}
}
}, - "included": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Kyc",
- "attributes": {
- "status": "Approved",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
]
}Fired when a KYC application requires additional document verification. This event indicates that the user needs to upload identity documents (such as a driver's license or passport) to complete verification.
| id required | string <uuid> Unique identifier for the object. |
| type required | string Value: "WebhookEvent" |
required | object |
required | object |
required | Array of objects |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "WebhookEvent",
- "attributes": {
- "id": "123e4567-e89b-12d3-a456-426614174000",
- "topic": "string",
- "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
- "userId": "123e4567-e89b-12d3-a456-426614174000",
- "walletId": "123e4567-e89b-12d3-a456-426614174000",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "event": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string"
}
}
}, - "included": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Kyc",
- "attributes": {
- "status": "Approved",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
]
}Fired when a KYC application is pending review. This event indicates that the application is being processed through automated verification checks.
| id required | string <uuid> Unique identifier for the object. |
| type required | string Value: "WebhookEvent" |
required | object |
required | object |
required | Array of objects |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "WebhookEvent",
- "attributes": {
- "id": "123e4567-e89b-12d3-a456-426614174000",
- "topic": "string",
- "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
- "userId": "123e4567-e89b-12d3-a456-426614174000",
- "walletId": "123e4567-e89b-12d3-a456-426614174000",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "event": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string"
}
}
}, - "included": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Kyc",
- "attributes": {
- "status": "Approved",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
]
}Fired when a KYC application requires manual review. This event indicates that automated verification could not make a determination and the application needs human review.
| id required | string <uuid> Unique identifier for the object. |
| type required | string Value: "WebhookEvent" |
required | object |
required | object |
required | Array of objects |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "WebhookEvent",
- "attributes": {
- "id": "123e4567-e89b-12d3-a456-426614174000",
- "topic": "string",
- "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
- "userId": "123e4567-e89b-12d3-a456-426614174000",
- "walletId": "123e4567-e89b-12d3-a456-426614174000",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "event": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string"
}
}
}, - "included": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "Kyc",
- "attributes": {
- "status": "Approved",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}
}
]
}Fired when a transaction is cleared. This event indicates that the transaction has been successfully processed and funds are available. The included payload contains event data with a fee object (fee type and amount in cents).
| id required | string <uuid> Unique identifier for the object. |
| type required | string Value: "WebhookEvent" |
required | object |
required | object |
required | Array of objects (WebhookTransactionCleared) |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "WebhookEvent",
- "attributes": {
- "id": "123e4567-e89b-12d3-a456-426614174000",
- "topic": "string",
- "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
- "userId": "123e4567-e89b-12d3-a456-426614174000",
- "walletId": "123e4567-e89b-12d3-a456-426614174000",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "event": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string"
}
}
}, - "included": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "TransactionCleared",
- "attributes": {
- "transactionId": "123e4567-e89b-12d3-a456-426614174000",
- "walletId": "123e4567-e89b-12d3-a456-426614174000",
- "rewardIds": [ ],
- "reference": "string",
- "email": "user@example.com",
- "fullName": "string",
- "phoneNumber": "string",
- "error": "string",
- "billingAddress": {
- "property1": null,
- "property2": null
}, - "fee": {
- "type": "JitFundingFee",
- "amount": 125
}
}
}
]
}Fired when a transaction fails. This event indicates that the transaction could not be processed successfully. The included payload contains event data with a fee object (fee type and amount in cents) and failureReason (TransactionFailureReason: e.g. Canceled, HardDecline, SoftDecline, Expired, InsufficientFunds, Reversed, Unknown).
| id required | string <uuid> Unique identifier for the object. |
| type required | string Value: "WebhookEvent" |
required | object |
required | object |
required | Array of objects (WebhookTransactionFailed) |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "WebhookEvent",
- "attributes": {
- "id": "123e4567-e89b-12d3-a456-426614174000",
- "topic": "string",
- "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
- "userId": "123e4567-e89b-12d3-a456-426614174000",
- "walletId": "123e4567-e89b-12d3-a456-426614174000",
- "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "event": {
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string"
}
}
}, - "included": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "TransactionFailed",
- "attributes": {
- "transactionId": "123e4567-e89b-12d3-a456-426614174000",
- "walletId": "123e4567-e89b-12d3-a456-426614174000",
- "rewardIds": [ ],
- "reference": "string",
- "email": "user@example.com",
- "fullName": "string",
- "phoneNumber": "string",
- "error": "string",
- "billingAddress": {
- "property1": null,
- "property2": null
}, - "fee": {
- "type": "JitFundingFee",
- "amount": 125
}, - "failureReason": "SoftDecline"
}
}
]
}