*** title: Developer tools and resources subtitle: Explore the SDKs and tools available for developers description: >- Explore Payabli developer tools and resources including SDKs, the OpenAPI spec, a Postman collection, example applications, an MCP server, and a query CLI 'og:description': >- Explore Payabli developer tools and resources including SDKs, the OpenAPI spec, a Postman collection, example applications, an MCP server, and a query CLI keywords: >- embedded payments, developer tools, SDKs, payment API, Postman collection, MCP server, developer resources slug: developers/platform-developer-tools-overview icon: toolbox area: * Developer Tools audience: * developers hide-nav-links: true layout: overview max-toc-depth: 2 *** These developer tools aim to simplify the development experience and make Payabli the easiest payments platform to integrate with. Browse the API reference, SDKs, example applications, CLI tools, and AI-assisted development resources to help you integrate with Payabli. ## API reference The Payabli API reference provides comprehensive documentation for all Payabli API endpoints, including request and response formats, parameters, and example code snippets. * [API overview](/developers/api-reference/api-overview) — Learn about authentication, environments, rate limits, and best practices for using the Payabli APIs * [API changelog](/changelog/api-changelog) — See the latest updates and changes to the Payabli API. ### OpenAPI specification Download the full Payabli OpenAPI specification for use with API clients, code generators, or AI coding tools. ## SDKs The Payabli SDKs offer libraries and tools for various programming languages to help you integrate with Payabli's APIs. Each SDK includes documentation, examples, and utilities to streamline your development process. * [Use the C# SDK](/developers/platform-sdk-csharp-guide) — Learn how to install and use the C# SDK to develop apps * [Use the Go SDK](/developers/platform-sdk-go-guide) — Learn how to install and use the Go SDK to develop apps * [Use the Java SDK](/developers/platform-sdk-java-guide) — Learn how to install and use the Java SDK to develop apps * [Use the PHP SDK](/developers/platform-sdk-php-guide) — Learn how to install and use the PHP SDK to develop apps * [Use the Python SDK](/developers/platform-sdk-python-guide) — Learn how to install and use the Python SDK to develop apps * [Use the Ruby SDK](/developers/platform-sdk-ruby-guide) — Learn how to install and use the Ruby SDK to develop apps * [Use the Rust SDK](/developers/platform-sdk-rust-guide) — Learn how to install and use the Rust SDK to develop apps * [Use the TypeScript SDK](/developers/platform-sdk-typescript-guide) — Learn how to install and use the TypeScript SDK to develop apps ## MCP server The Payabli Model Context Protocol (MCP) server connects your AI agents to Payabli's documentation and SDK references. Learn how to use the Payabli MCP server to integrate with AI workflows ## Example apps and demo code We maintain a collection of example applications and demo code to help you get started with Payabli. ### Boarding examples A simple application that demonstrates how to drive merchant boarding using the Payabli API. ### Embedded components These demos and examples showcase how to use Payabli's embedded components in various frameworks and workflows. * [Temporary token flow demo](https://github.com/payabli/examples/tree/main/temp-token) — A demo application that shows how to use the temporary token flow with embedded components for sophisticated payment flows. * [Vue.js integration example](https://github.com/payabli/examples/tree/main/vue-integration) — A simple Vue.js application that demonstrates how to integrate Payabli's embedded payment components. * [React integration example](https://github.com/payabli/examples/tree/main/react-integration) — A simple React application that demonstrates how to integrate Payabli's embedded payment components. * [Embedded component playground](https://playground.payabli.com/) — An interactive playground for testing and experimenting with Payabli's embedded payment components. ## Other tools and resources These other tools can help you use Payabli's APIs more effectively. * [Postman collection](/developers/platform-postman-collection) — Download a Payabli Postman collection to get testing fast * [Query CLI app](/developers/platform-developer-query-cli) — Set up and use Payabli's Query CLI app to run queries against your Payabli data * [Subscription utility code](/guides/pay-in-developer-subscriptions-utilities) — Use example code to enhance your subscription management via the API *** title: Getting started for developers subtitle: Learn how to build a world-class payments integration with Payabli description: >- Launch your payment integration faster with this quickstart. Learn integration options, key concepts, testing tools, and the path from sandbox to production 'og:description': >- Launch your payment integration faster with this quickstart. Learn integration options, key concepts, testing tools, and the path from sandbox to production keywords: >- embedded payments, payment processing, accept payments, vendor payments, payables automation, payment operations, merchant onboarding, API integration, getting started slug: developers/platform-developer-quickstart icon: play area: * Pay Ops * Pay In * Pay Out audience: * developers *** {/* vale Payabli.We = NO */} {/* rule off for a Quickstart */} Welcome to Payabli! This guide gives you the foundational knowledge you need to get started with your Payabli integration. Taking the time to read through this page now to get oriented can help you get started even faster with Payabli. This guide starts off with the basic process between signing up with Payabli and getting your first merchant on board. Then, in [Learn the lingo](#learn-the-lingo), we cover some Payabli concepts that people new to Payabli may have trouble understanding at first. In the [Tokens and test accounts](#tokens-and-test-accounts) section, we briefly cover some tools you'll need to build and test your integration. Okay, let's get started. ## The basics, start to finish Your goal with Payabli is to go live, onboard your merchants, and start monetizing your money in and money out transactions. The process between signing up and going live looks like this: Payabli offers a couple of ways to integrate with our products. You can pick one, or you can use a hybrid approach. These options have different required resources, security implications, features, and integration challenges. **Direct access APIs** Accept payments, manage customers and subscriptions, build products, address payment disputes, and onboard merchants while maintaining total control over your user experience. This method may require more work from you to meet PCI compliance. **Prebuilt embedded UI components** Seamlessly embed intuitive payment forms that securely capture payment data to generate a token. The token replaces sensitive cardholder or bank account data you can use with the direct access APIs to make transactions. This method dramatically reduces the PCI compliance footprint, with minimal impact to the customer experience. **Reporting and statistics APIs** Use webhooks to receive near real-time notifications of events happening on a processing account. Use webhooks alongside the Query API to let software partners to pull detailed payments data from the Payabli platform. You can also use the statistics API to build rich dashboards and analytics into your system. During your integration kickoff, we give you access to the sandbox environment. You'll learn more in your integration kickoff, but the idea is to use the sandbox to build Payabli into your product and test it. The sandbox lets you: * Make test payments. * Simulate boarding paypoints and managing a portfolio. * Customize Payabli's embedded components to mimic your UX. * Set up payment devices and test card-present transactions. * Experiment with reports and notifications. The docs can really help you understand what features are available to you and how you can include them with your integration. After you've tested thoroughly, our solution engineering team certifies your integration and gives you production access. When your integration is live, you can start boarding merchants. Merchants must apply using a boarding link that's generated from a boarding template, when they submit the form, it becomes a boarding application, and Payabli works on underwriting and will either approve or deny the merchant. When approved, a boarding application converts the merchant into a paypoint, which can then process payments with Payabli. This is just barely scratching the surface of the merchant boarding process, so see [Board Merchants](/guides/pay-ops-boarding-overview) to learn more. *** ## Learn the lingo Before you start building, we recommend that you get to know some of Payabli's terminology by reading the [comprehensive glossary](/guides/platform-payment-glossary). Let's go over the terms you'll see a lot during your integration. ### Entities Entities make up Payabli's hierarchy. You add and manage entities with PartnerHub and the API. Entities include paypoints, organizations, customers, and vendors. * Paypoints are merchants. * Organizations are used group and manage paypoints. * Customers are the people spending money with your merchants. * Vendors are the folks you and your paypoints pay for goods and services (like the carpet cleaners, office supply folks, and so on). This is just a high-level overview of entities, so you can learn more about them in the [Entities guide](/guides/platform-entities-overview). ### Entrypoint Entrypoint, entry, and entry name all come up a lot during your integration journey. An entrypoint is a Payabli-generated alias that identifies a paypoint or organization. When you make an API call, we use the `entry` value to identify the paypoint or organization the request should belong to, and almost every request includes an entrypoint value. You can learn more about entrypoints and learn how to find them with the API and in PartnerHub in [Entrypoint Overview](/developers/api-reference/api-overview#entrypoint-vs-entry). ### Boarding There are some boarding terms you'll encounter during your integration. * **Boarding**: the process of enabling a merchant to make and accept payments with Payabli. At the end of a successful boarding process, the merchant becomes a paypoint. * **Boarding template**: the basic template for the form that your merchants use to apply to become a paypoint. * **Boarding link**: a link that includes a form, based off a boarding template, that you send to a merchant to have them apply. * **Boarding application**: a boarding link that has been filled out and submitted to Payabli for underwriting. This is the item that passes through the approval process. * **Underwriting**: Payabli underwrites, or vets, each merchant to make sure that they should be able to process payments with us.
Send boarding link Send merchants a boarding link that's created using your boarding template.
Merchant applies The merchant fills out and submits the application, and e-signs the agreement.
Underwriting Payabli reviews and decides on the application.
Paypoint created If the merchant's application is approved, the Payabli team converts them to a paypoint.
Learn more about the process in [Board Merchants](/guides/pay-ops-boarding-overview). *** ## Tokens and test accounts This section covers where you do all your testing, what you need to know about API tokens, and where you can find test data. ### Environments During your integration kickoff, you receive access to a sandbox environment. This is where you do all your integration work and testing before you take your integration live and get access to a production environment. Learn more about [Environments](/developers/api-reference/api-overview#environments.mdx). ### API tokens You use API tokens to authenticate with the API. There are several different kinds of tokens, but the kind you will be working with the most is called an *organization token*. You'll get your sandbox token during your integration kickoff, but you can also manage tokens in PartnerHub on the *Developers* page. Some endpoints require an application token, which you can get from our Support team if needed. Endpoints that require application tokens are noted in the API reference. Learn more about [API Tokens](/developers/api-reference/api-overview#authentication). ### Test cards and accounts Payabli provides card and account numbers to run test transactions. See the full list in [Payment Methods for Testing](/guides/test-accounts-reference). ### Test paypoints The Payabli team sets up your first paypoint in the sandbox. When you're ready to test merchant boarding flows, you need to let us know so we can move your boarding application through a mock underwriting process in sandbox. When we approve your test boarding application, it creates a new paypoint. {/* vale Payabli.We = YES */} ## Related resources See these related resources to help you get the most out of Payabli. * **[Payment glossary](/guides/platform-payment-glossary)** - Understand common terms used in Payabli and across the payments industry * **[Payment methods for testing](/guides/test-accounts-reference)** - Use these payment methods to test your integration with Payabli * **[Boarding overview](/guides/pay-ops-boarding-overview)** - Learn how merchant boarding works in Payabli * **[Entities overview](/guides/platform-entities-overview)** - Understand how entities like organizations, suborganizations, paypoints, customers, and vendors work in Payabli *** title: Integration testing guide subtitle: Learn how to test your Payabli integration description: >- Validate your Payabli integration using test credentials, sandbox environments, and simulated transaction scenarios. Cover card payments, ACH, and boarding 'og:description': >- Validate your Payabli integration using test credentials, sandbox environments, and simulated transaction scenarios. Cover card payments, ACH, and boarding keywords: >- embedded payments, integration testing, sandbox environment, test credentials, payment testing, developer tools, API testing slug: developers/platform-developer-testing-guide icon: vial area: * Pay Ops * Pay In * Pay Out audience: * developers * partners *** Test Payabli's APIs and features in the sandbox environment before going live with your Payabli integration. You need a Payabli sandbox account to do any testing. ## Pay In This section explains how to test Payabli's Pay In features in the sandbox environment. ### Process transactions You can create transactions with the API or Payabli's embedded components. To create a transaction via the API, see [Make a sale transaction](/guides/pay-in-developer-transactions-create). To create a transaction via Payabli's embedded components, see [Embedded components overview](/guides/pay-in-components-overview). You can simulate declined transactions in the sandbox environment by using Payabli's provided test cards. See [test accounts](/guides/test-accounts-reference) for more information. ### Cancel transactions You can cancel a transaction in the sandbox environment by voiding, refunding, or reversing it: * Void: If the transaction isn't settled, you can void it to prevent the transaction from settling. * Refund: If the transaction is settled, you can refund it and send the money back to the account holder. * Reversal: Automatically void or refund the transaction based on settlement status. See [Cancel a pay in transaction](/guides/pay-in-developer-transactions-cancel) for more information on cancelling transactions. By default, transactions are settled at 9:00 PM UTC daily. If you want to change the time that transactions are settled, contact your Payabli solutions engineer. ### Handle disputes Chargebacks and ACH returns are dispute events that occur when a customer disputes a transaction in a production environment. To test chargebacks and ACH returns in the sandbox environment, follow these steps: Create a webhook notification for the `ReceivedChargeback` or `ReceivedAchReturn` event. See [Manage notifications](/guides/pay-ops-developer-notifications-manage) for more information. Your app should handle the webhook notification when it's received via an HTTP request. This includes parsing the notification data and triggering behavior based on the event type. Contact your Payabli solutions engineer to trigger a chargeback or ACH return in the sandbox environment. This sends a webhook notification to your app that you can handle. In a production environment, these events are automatically triggered when a customer disputes a transaction. ### Test payment funding statuses All pay in transactions have a payment funding status. The payment funding status indicates where a transaction is in the settlement process. Transactions in the sandbox environment automatically progress through the following funding statuses: 1. Pending - This transaction is in an open batch. 2. In Transit - This transaction is in a closed batch that's being routed to the banks. 3. Transferred - The funds are being transferred to the merchant's bank account. 4. Funded (settled) - The funds are in the merchant's bank account. If you need to test how your app handles the following funding statuses, contact your Payabli solutions engineer: * Exception * ACH Return or Chargebacks * Held * Released See [Payment funding status](/guides/pay-in-status-reference#payment-funding-status) for more information. ## Pay Out This section explains how to test Payabli's Pay Out features in the sandbox environment. ### Handle payouts Payouts are expenses that you pay to your vendors. In Payabli, there are two steps for handling payouts: 1. Authorizing - Reserves funds for a payout. 2. Capturing - Flags authorized funds for batch processing. After a payout is authorized, the funds are reserved and can't be used for other payouts. After a payout is captured, the funds are transferred to the vendor's bank account during the next batch processing window. To learn more about handling payouts, see [Manage payouts with the API](/guides/pay-out-developer-payouts-manage). ### Manage vendors Vendors are entities that receive funds from your payouts. You can reference vendors in payouts and bills to organize and track expenses. Before you can reference a vendor in a payout or bill, you must create the vendor. See [Manage vendors with the API](/guides/pay-out-developer-vendors-manage) for more information on creating and managing vendors. ### Manage bills In Payabli, bills represent a bill from a vendor that a paypoint is expected to pay. To create a bill via the API, see [Create bill](/developers/api-reference/bill/add-bill). After you've created a bill, you can approve it for payment, update it, or delete it. See [Manage bills with the API](/guides/pay-out-developer-bills-manage) for more information. ## Pay Ops This section explains how to test Payabli's Pay Ops features in the sandbox environment. ### Board merchants Boarding is the process of enabling paypoints to process payments via Payabli. There are four stages in the boarding process: The paypoint must send a boarding link to the prospective merchant. To learn more about creating and sending boarding links, see [Send prefilled boarding applications](/guides/pay-ops-developer-boarding-send-prefilled-apps). The merchant fills out and submits the boarding application. The merchant also e-signs the agreement during this step. As merchants submit boarding applications in the sandbox environment, they automatically move from the "Submitted" status to the "Underwriting" status. If you need to test other boarding application statuses, or create new paypoints from boarding applications, contact your Payabli solutions engineer. In a production environment, Payabli reviews the merchant's application and decides how to proceed with it. After a merchant is approved in underwriting in a production environment, a new paypoint is created. To create paypoints from boarding applications in the sandbox environment, contact your Payabli solutions engineer. See [Board merchants](/guides/pay-ops-boarding-overview) for more information. ## Related resources See these related resources to help you get the most out of Payabli. * **[Payment methods for testing](/guides/test-accounts-reference)** - Use these payment methods to test your integration with Payabli * **[Pay In statuses](/guides/pay-in-status-reference)** - Learn about Pay In (money in) statuses * **[Pay Out statuses](/guides/pay-out-status-reference)** - Learn about Pay Out statuses * **[Boarding overview](/guides/pay-ops-boarding-overview)** - Learn how merchant boarding works in Payabli * **[Send prefilled boarding applications](/guides/pay-ops-developer-boarding-send-prefilled-apps)** - Learn how to send prefilled boarding applications to prospective merchants * **[Embedded components overview](/guides/pay-in-components-overview)** - Learn how to use Payabli's embedded components to create customized checkout experiences without handling sensitive payment information yourself * **[Manage notifications](/guides/pay-ops-developer-notifications-manage)** - Learn how to use the Payabli API to add notifications and automated reports for important events *** title: Payment methods for testing subtitle: Use these payment methods to test your integration with Payabli icon: toolbox slug: guides/test-accounts-reference area: * Pay In subArea: * Reference audience: * developers * partners description: >- Test your payment integration with sandbox card numbers, ACH accounts, and decline scenarios. Simulate successful transactions, declines, and CVV test failures 'og:description': >- Test your payment integration with sandbox card numbers, ACH accounts, and decline scenarios. Simulate successful transactions, declines, and CVV test failures keywords: >- embedded payments, payment processing, accept payments, test cards, sandbox testing, payment testing, test accounts, test data, integration testing, sandbox environment *** Use these test cards and accounts to simulate transactions in your sandbox. You can use these example cards and accounts to make test transactions via the API or any of Payabli's hosted payment solutions, like the virtual terminal or payment pages. ## Simulate a successful transaction Use these test cards and accounts for transactions in sandbox. ### Cards Use these with any future expiration date.
Payment Method Card Number CVV
Visa 4012000098765439 999
Mastercard 5146315000000055 998
Mastercard BIN 2 2223000048400011 998
Discover 6011000993026909 996
American Express 374101000000608 or 371449635392376 9997
Diner's Club 36256000000725 123
JCB 3566000000000000 123
### ACH Use this with any account type. | Payment Method | Account Number | Routing Number | | -------------- | -------------- | ------------------------------------------- | | ACH | 123123123 | Any real routing number, such as 102103407. | ## Simulate a decline You can use test cards to simulate declines. This is useful for testing how your application handles declined transactions. ### Decline rate limiting Using a test card repeatedly in a short period can sometimes cause it to be blocked. As a best practice, Payabli recommends adhering to the fraud control limits. See [fraud control](/developers/api-reference/api-overview#rate-limits) for more information. Reach out to your Payabli Solution Engineer with any questions or issues related to testing declines. ### Transaction declines You can simulate a transaction decline by using the following card in a transaction request with any future date for the expiration date:
Payment Method Card Number CVV
Visa 4532802195368947 999
The transaction request should return a decline response like this: ```json { "responseText": "Declined", "isSuccess": false, "pageIdentifier": null, "responseData": { "authCode": null, "referenceId": "124-d541b0a9d1774bf3871f1d967abaaaaaa", "resultCode": 2, "resultText": "201: Do not honor. The customer’s issuing bank is unwilling to accept the transaction.. DECLINED", "avsResponseText": null, "cvvResponseText": null, "customerId": 12345, "methodReferenceId": null } } ``` ### Stored method declines To simulate a decline when charging a stored payment method, you can store a payment method with any of the following test cards and a future expiration date. The stored payment method can be charged with an amount of **\$0.20 (20 cents)** to cause a declined transaction.
Payment Method Card Number CVV
Visa 4012000098765439 999
American Express 374101000000608 or 371449635392376 9997
The request to charge the stored payment method should return a decline response like this: ```json { "responseText": "Declined", "isSuccess": false, "pageIdentifier": null, "responseData": { "authCode": null, "referenceId": "124-d541b0a9d1774bf3871f1d967abaaaaaa", "resultCode": 2, "resultText": "201: Do not honor. The customer’s issuing bank is unwilling to accept the transaction.. DECLINED", "avsResponseText": null, "cvvResponseText": null, "customerId": 12345, "methodReferenceId": null } } ``` ### Invalid CVV declines To simulate a decline due to an invalid CVV, you can use any of the following test cards with an incorrect CVV:
Payment Method Card Number CVV
Visa 4012000098765439 Anything but 999
Mastercard 5146315000000055 Anything but 998
Mastercard BIN 2 2223000048400011 Anything but 998
Discover 6011000993026909 Anything but 996
American Express 374101000000608 or 371449635392376 Anything but 9997
The transaction request should return a decline response like this: ```json { "responseText": "Declined", "isSuccess": false, "pageIdentifier": null, "responseData": { "authCode": null, "referenceId": "226-ab732d2a1c7e4117a32133f9e92673b2", "resultCode": 2, "resultText": "850: AVS or CVV failed.. DECLINED", "avsResponseText": "AVS not available", "cvvResponseText": "CVV2/CVC2 no match", "customerId": 1799, "methodReferenceId": null } } ``` ## Related resources See these related resources to help you get the most out of Payabli. * **[Pay In schemas](/guides/pay-in-schemas-overview)** - Learn about Pay In (money in) transaction schemas * **[Pay In statuses](/guides/pay-in-status-reference)** - Learn about Pay In (money in) statuses *** title: API overview icon: code subtitle: >- Learn about authentication, environments, rate limits, and best practices for using the Payabli APIs description: >- Explore the Payabli API reference with guides on authentication, environments, rate limits, pagination, and best practices for building payment integrations keywords: >- embedded payments, payment API, API reference, API documentation, authentication, rate limits, environments, developer guide 'og:description': >- Explore the Payabli API reference with guides on authentication, environments, rate limits, pagination, and best practices for building payment integrations slug: developers/api-reference/api-overview area: * Developer Tools audience: * developers *** Welcome to the Payabli API reference. Here you'll find all the information you need for using the Payabli APIs. ## Authentication The Payabli API uses secure API tokens to authenticate requests. This guide explains how to authenticate, the different API tokens you may use, and how to create and manage basic API tokens. Note that API tokens are different than [payment method tokens](/guides/platform-tokenization-overview). API tokens are used for authentication, and payment method tokenization exchange sensitive payment method information for secure tokens. Your API tokens carry privileges, so be sure to keep them secure! **Don't share your private API tokens** in public areas such as GitHub, client-side code, or public domains. When you authenticate to the API, send the API token in the request header with the key **requestToken**. ```bash title="Example header" {5} curl --request POST \ --url 'https://api-sandbox.payabli.com/api/Endpoint'\ --header 'accept: application/json' \ --header 'content-type: application/*+json' \ --header 'requestToken: ' ``` You must make all API requests over HTTPS. API requests without authentication will fail. ### Create and manage API tokens You can create and manage your own API tokens in PartnerHub. 1. Navigate to **Developers > API Tokens**, then click **Create API Token**. 2. In the modal, configure your API token. See the configuration options table below. 3. When finished, save your work.
Configuration option Description
Token Mode **Public** tokens are for embedded components, including Creator components. **Private** tokens are for Payabli APIs and payment devices.
Token Type The organization API token type is the most commonly used, and gives partners and paypoints access to most endpoints. The application API token is more advanced, and is used for authentication and managing entities. You rarely need to use an application API token. See the [API Token Types](#api-token-types) section for more information.
Token Lifetime API tokens can have a lifetime of between 1 and 24 months. Remember that you can delete unused or compromised API tokens at any time from the dashboard.
IP Restrictions Use this option to create an allowlist of IP addresses that can make requests with this API token. Leaving this option blank allows **all** IP addresses to make requests with this API token.
Creator Token? Select **Yes** to use this API token with Creator components. The API token type must be **Public** . Creator API tokens require that you configure domain restrictions.
Domain Restrictions Only available with Creator API tokens. For security, you must add the domains that you embed Creator components on. For example, if they're embedded on `https://app.myproduct.com` , then add `https://app.myproduct` here.
Description A descriptive name for the API token. This description appears in the dashboard and helps identify the API token.
To view or delete API tokens, navigate to **Developers > API Tokens**, then click the **Action** column of a token you want to manage. ### API token types To enhance security, Payabli has several different types of API token, each with different scopes and lifetime. The organization token is the most basic and most commonly used API token used in the platform. Any organization or paypoint with an **organization token** has access to most API functions and endpoints. You can view and manage these API tokens in PartnerHub. Payabli has two kinds of organization API tokens: * **Private Token**: Private tokens are for making API calls and have the highest level of security. * **Public Token**: Public tokens are for adding Payabli's embeddable components in your user interface. These tokens are publicly readable. You can't access API endpoints related to management and authentication services for users with an organization token. To access to those services, you need an **application token**. The Payabli team generates application API tokens for partners that are using API endpoints for authentication and managing entities. For example, you need this kind of token if you are building your own portals for paypoints, or any solution that involves users authenticating to Payabli outside of PartnerHub or a PayHub. If you are working outside of a PayHub or PartnerHub, the Payabli API requires you to retrieve a user API token before performing certain actions. These tokens add an extra layer of security for managing paypoints, managing users stored in Payabli, getting access to merchant documents, and using authentication services. If you are performing these activities within PartnerHub or a PayHub, you don't need to generate this token. You need an application API token to generate a user API token. User API tokens are valid for 120 minutes after creation, but expire after 1800 seconds (30 minutes) of inactivity. How to generate a user API token To generate a [user API token](/developers/api-reference/user/authenticate-user) you need: 1. Application API token (provided by the Payabli team to the Partner or Merchant). 2. User email and user password (the user's Payabli login credentials). ```bash curl --location --request POST 'https://api-sandbox.payabli.com/api/User/auth' \ --header 'requestToken: a.thisistheapplication.token' \ --header 'Content-Type: application/json' \ --header 'Accept: application/json' \ --data-raw '{ "email": "useremail@here.com", "psw": "xxxxxxxxxx" }' ``` Temporary API tokens are generated by services or endpoints related mainly to resetting passwords, multi-factor authentication (MFA), and activities without authentication that require approved security levels, like payment pages. Temporary tokens can be used for only one request in specific endpoints. ## Environments Payabli offers two environments: a sandbox environment for development and a production environment to bring your Payabli integration live. ### Sandbox Use the sandbox environment to build your payments integration without having to charge actual payments and settle bank accounts. Test and run unlimited transactions and play around with Payabli's tools to build your application. Payabli Client Success and Development Support give you your sandbox API token after your integration kickoff call. Sandbox API URL: `https://api-sandbox.payabli.com/api` ### Production Use the production environment to go live with your integration. Transactions in this environment charge payors and create actual settlements into bank accounts. This environment also lets you create bills and send them for actual payment. Make sure you have completed extensive testing before launching. Reach out to the Payabli team to make sure you're ready to launch. Production API URL: `https://api.payabli.com/api` ## Rate limits For security and fraud prevention, Payabli applies two different kinds of rate limits: request limits, and transaction limits (also known as fraud controls). Payabli reserves the right to alter rate limits in case of security concerns, and will communicate changes to impacted accounts. ### Request limits Payabli has request velocity limits in place to give optimal system performance, security, and fair usage. Request limits govern the number of requests a single API token can make to endpoints in a given period. Reach out to the Payabli team if you have a use case that requires limit changes.
Number of requests Period
200 Minute
3000 15 Minutes
10000 Hourly
### Fraud controls Fraud controls, also known as transaction limits, dictate the number of declines and transactions a paypoint may process within a specified period. Reach out to the Payabli team to customize transaction limits for individual paypoints.
Description Default Limit
Max number of declines per card, hourly 3
Max number of declines per IP address, hourly 3
Max declines per paypoint, hourly 10
Max declines per payor, hourly 3
Max transactions per paypoint in 15 minutes 250
Max transactions per card hourly 10
## Request timeouts The Payabli API has request timeouts. Write requests (POST, PUT, DELETE) time out after 30 seconds, and read requests (GET) time out after 90 seconds. If a request takes longer than the timeout, the API returns a `504 Gateway Timeout` error.
Request type Timeout
Write requests (POST, PUT, DELETE) 30 seconds
Read requests (GET) 90 seconds
## Preventing duplicate requests Payabli's idempotencyKey header parameter lets you give your POST requests a unique identifier so you can safely retry a request that timed out without worrying about creating duplicate objects or transactions. Using them is optional, but is a best practice to avoid creating duplicate transactions. The idempotency key is something that you must generate and include as a header parameter in POST requests. Payabli recommends using a [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier) for your tokens. When using idempotency keys, keep these considerations in mind. * Payabli retains the idempotency key for 2 minutes. After 2 minutes, you can reuse the key if needed. * If a transaction is declined because of a bad payment method, you can't correct the payment information and retry the transaction with the same idempotency key value, it fails with a `409 Conflict` error. When using an idempotency key, your request header looks something like this: ```curl curl --request POST \ --url https://api.payabli.com/api/MoneyIn/getpaid \ --header "accept: application/json" \ --header "content-type: application/*+json" \ --header "idempotencyKey: dc125696-0c78-11ee-be56-0242ac120002" \ --header "requestToken: " ``` ### 409 conflict If you send an idempotencyKey more than once before it expires, you get a `409 Conflict` response: ```bash HTTP Response: 409 Conflict Duplicated idempotencyKey: 12345 ``` If you get this error when running a payment transaction, you can [query a list of transactions](/developers/api-reference/query/get-list-of-transactions-for-an-entrypoint) to pull in any information about a transaction that was approved but timed out. ### Use webhooks to avoid duplicate transactions \[#idempotency-webhooks] Payabli recommends using webhooks to help avoid duplicate transactions. All of the [Money In webhooks](/guides/pay-ops-notifications-webhooks-overview#pay-in-events) are helpful, and the ApprovedTransaction notification will let you know when a transaction has been approved. One of the main reasons you might double-charge a card is if you tried to process the payment and received a timeout error response. In that case, you don't know if the original transaction was received, processed, or approved, and the standard course of action is to resubmit the transaction request. If you have webhooks configured, you will get a copy of the approval or decline response. You can use the response sent via webhook instead of the standard response you should have received but didn't because the request timed out. ## Entrypoint vs entry An entrypoint is an alias used to identify an organization or paypoint. When you make a call via the API or with embedded components, the entrypoint value indicates which paypoint account to use for a payment, subscription, or storing a payment method. Sometimes the terms "paypoint" and "entrypoint" are used seemingly interchangeably. A paypoint is a merchant. An entrypoint is an alias used to identify an organization or a paypoint. Sometimes the entrypoint is referred to as `entry` or `entryname` in the APIs and as Entry Name in PartnerHub and PayHub. You can get the list of active paypoints for your organization by making a request to the [List Paypoints](/developers/api-reference/paypoint/get-list-of-paypoints-for-an-organization) endpoint. You need the `entry` ID for the parent *organization* to make the request. Payabli gives you this ID in your onboarding documents. A paypoint's entrypoint is returned as `EntryName` in the response. This is the value you need to make any API calls that deal with that paypoint. ```json ... "EntryPoints": [ { "IdEntry": 100, "EntryName": "8cfec329267", ... } ] ``` You can get entrypoint names from the UI in PartnerHub. Just navigate to **Portfolio > Paypoints**, and copy the value in the **Entry Name** column for the paypoint you want to work with. *** title: API responseCode and resultCode Reference subtitle: Learn about responseCode and resultCode values returned by the API description: >- Reference guide for Payabli API responseCode and resultCode values. Understand success and error codes returned by Pay In, Pay Out, and boarding API endpoints 'og:description': >- Reference guide for Payabli API responseCode and resultCode values. Understand success and error codes returned by Pay In, Pay Out, and boarding API endpoints keywords: >- embedded payments, API response codes, error codes, payment API, result codes, API reference, troubleshooting sidebarTitle: API Responses icon: brackets-curly slug: developers/api-reference/api-responses area: * Pay In * Pay Out * Pay Ops audience: * developers * partners *** When you make an API request, a `responseCode` or `resultCode` is returned in the response, depending on the endpoint. These codes can tell you whether the action was successful, and if not, can help you troubleshoot what went wrong with your request. These codes don't cover payment errors and return codes. See [Payment Return Codes and Errors](/guides/platform-return-codes-and-errors-reference) for codes relating to payments. ## General codes
ResultCode Name Description Solution
1 Request successful The API request executed without errors There's nothing to do.
2 Request failed The API request failed due to a processor decline Check the response for the failure reason.
3 Request failed The API request failed due to a technical error Check the response for the failure reason.
10 Request initiated An asynchronous process has started successfully. There's nothing to do.
## 3000 codes
ResponseCode Name Description Solution
3001 Invalid entrypoint name Entrypoint specified in parameter doesn't exist Correct the parameter and try again.
3002 Invalid Amount Amount value is empty or negative Provide a valid amount.
3003 Invalid parameter value in request The value in parameter is incorrect Provide the correct value for parameter.
3004 Invalid TimeZone value The timezone value is invalid Provide a value between -12 and +12.
3005 Invalid paypoint ID The paypoint ID value is invalid Provide a valid paypoint ID value.
3006 Invalid user status The value provided is invalid Provide a valid status value for user (either 0, 1, or 85).
3007 The transaction cannot be refunded We can't refund this transaction because it already has an associated chargeback or return. There's no solution for this, transactions with an associated chargeback or ACH return can't be refunded. See [Chargebacks and Returns Overview](/guides/pay-ops-disputes-chargebacks-returns-overview) for more information.
3012 Invalid Amount Amount value is greater than available amount for action Provide a valid amount.
3013 Invalid Amount Amount value is different to amount in invoices Provide a valid amount.
3014 Invalid Amount Amount value is not as same as the authorized amount Please make sure that the amount in the request matches the authorized amount
3015 Invalid Total Amount Total Amount value is zero Please make sure that the total amount in the request is greater than zero
3016 Invalid Total Amount Total Amount value is less than the allowed value Please make sure that the total amount in the request is greater than 85% of the authorized amount
## 3200 codes
ResponseCode Name Description Solution
3201 Empty scope array for user The scope specified for user is empty Provide a valid scope for user.
3202 Empty access array for user The access specified for user is empty Provide a valid access array for user.
3203 Empty email address for user The email specified for user is empty Provide a valid email address for user.
3204 Duplicated email address A user with this email address exists already Provide a valid email address that isn't used in Payabli yet.
3205 Invalid scope declared by requestToken The scope provided is outside of the scope of the used API token in the request Review the scope provided in request. The platform rules don't allow scopes not included in the parent API token.
3206 Invalid access declared by requestToken The access provided is outside of the access authorized of the API token used in the request Review the access provided in request. The platform rules don't allow access not included in the parent API token.
3207 Invalid email address The email address is invalid Review the value of the email address provided in request. The email address need to follow the format specified in RFC 881.
3208 Invalid phone number The phone number is invalid Review the value of the phone number provided in request. The phone number need to satisfy the regular expression `"^[\+]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?[0-9]{4,6}$"` Examples: - +1(786)111-2222 - 234.222.1234 - 111 222 2345 - 555-444-1111
3209 Invalid country code The country code is invalid Review the value of the country code provided in the request. The country code must be in ISO-3166-1-Alpha 2 format. Refer to the [ISO reference](https://www.iso.org/obp/ui/#search) for help.
3210 Invalid mail country code The mail country code is invalid Review the value of the mail country code provided in the request. The country code must be in ISO-3166-1-Alpha 2 format. Refer to the [ISO reference](https://www.iso.org/obp/ui/#search) for help.
3211 Invalid start date The start date value is invalid Provide the value in one of accepted formats: YYYY-MM-DD or MM/DD/YYYY.
3212 Invalid billing table Invalid billing table The paypoint already has a billing table. Use the update endpoint or delete the current billing table.
## 3400 codes
ResponseCode Name Description Solution
3401 Invalid Bill Number Field `BillNumber` empty Provide the `BillNumber` in the request.
3402 Duplicated Bill Number The value provided in the field `BillNumber` already exists Provide a different `BillNumber` in the request, or set the [`allowDuplicatedBills`](/developers/api-reference/moneyout/authorize-a-transaction-for-payout#request.query) query parameter to `true` to bypass validation.
3403 Missing Vendor information Vendor data missing from request Provide the minimum required data for Vendor.
3404 Invalid Vendor Number Field `VendorNumber` empty Provide the required value in request.
3405 Missing frequency value The required frequency for scheduled bill is empty Provide the required frequency value in request:- `onetime` \- `weekly` \- `every2weeks` \- `every6months` \- `monthly` \- `every3months` \- `annually`
3406 Invalid frequency value Frequency value for scheduled bill is invalid Provide the required frequency value in request:- `onetime` \- `weekly` \- `every2weeks` \- `every6months` \- `monthly` \- `every3months` \- `annually`
3407 Invalid EndDate format Date value empty or in an invalid format Provide the date value in an accepted format: YYYY-MM-DD or MM/DD/YYYY.
3408 Invalid EndDate value Date value can't before or equal to today's date Provide a valid value for `Date` field.
3409 Vendor is Inactive Can't complete the action because the Vendor status is inactive Update vendor status to active. See [Vendor Status](/guides/pay-out-developer-vendors-manage#vendor-status) for help.
3410 Invalid Bill Id The Bill identifier doesn't exist or doesn't have a valid status Provide a valid bill identifier in the request.
3411 Invalid Bill status Can't complete the action because the Bill status is invalid Verify the status of the bill before resubmitting the request. See [Bills](/guides/pay-out-schemas-overview#bill-statuses) for statuses.
3412 Bill has associated payments Can't complete the action because the bill has associated payment records Cancel the associated payments.
3413 Existing payment link for Id A payment link already exists for the provided ID Review the Payment link ID and try again.
3414 Invalid entrypoint The entrypoint associated with the bill doesn't exist Verify the entrypoint to make sure it's related to the bill.
3415 Invalid EntryPage The EntryPage associated with the paypoint doesn't exist Verify the EntryPage related to the paypoint.
3416 Missing email The vendor associated with the bill doesn't have a valid email address Verify the vendor's email address isn't empty and has a valid format.
3417 Invalid Invoice Id The Invoice identifier doesn't exist or doesn't have a valid status Provide a valid identifier value in the request.
3418 Invalid customer The Invoice doesn't have a valid customer associated with it Review the customer associated with the invoice and try again.
3419 Invoice not available The invoice status is not allowed with this action Verify the status of the invoice before resubmitting the request.
3420 Duplicated Bill Number The value provided in field `BillNumber` exists already within the Vendor Provide a different `BillNumber` in the request, or set the [`allowDuplicatedBills`](/developers/api-reference/moneyout/authorize-a-transaction-for-payout#request.query) query parameter to `true` to bypass validation.
3421 Invalid Vendor Id The Vendor identifier doesn't exist or doesn't have a valid status Provide a valid Vendor ID value in the request.
3422 Invalid Vendor Name Field `Name1` empty Provide the required value in the request.
3423 Missing address field Field `address(1)` empty Provide the required value in the request.
3424 Missing address field Field `city` in address empty Provide the required value in the request.
3425 Missing address field Field `state` in address empty Provide the required value in the request.
3426 Missing address field Field `zip` in address empty Provide the required value in the request.
3427 Invalid EIN Invalid value provided for EIN field Provide the required value in the request using the of 9 digit format.
3428 Missing email Vendor email address is required for virtual card (vCard) Verify the that vendor's email isn't empty and has a valid format.
3429 Empty transaction list List of transaction in input wasn't provided Verify that the list of transactions is provided in the request.
3430 Invalid Customer Id The Customer identifier doesn't exist or has invalid status Verify the included customer's information and try again.
3431 Empty approvals Empty approvals Provide the required value in the request.
3432 No attachments found No attachments found Provide the required attachments.
3433 Invalid orgId Invalid `orgId` Provide a valid organization ID.
3434 Invalid Level in request Invalid Level Provide a valid level for the entrypoint: `0` for partner, `2` for paypoint.
3435 Invalid Vendor Status The vendor status is invalid. Provide a valid vendor status: `0` for inactive, `1` for active, and `-99` for deleted.
3436 Duplicated vendor under entry Duplicated vendor under entry The vendor already exists under the paypoint.
3437 Invalid Year value The year value is invalid Provide the value in the accepted format: YYYY.
3438 Invalid dates The startDate cannot be greater than the endDate Provide valid `startDate` and `endDate` parameters.
3439 Invalid parameters for custom mode The custom mode must provide a valid startDate and endDate parameters Provide valid `startDate` and `endDate` parameters when using the custom mode.
## 3500 codes
ResponseCode Name Description Solution
3501 Invalid request The search field is missing, null, or empty in the request Provide a valid search field in the body request.
## 3600 codes
ResponseCode Name Description Solution
3601 Invalid payment link Id The provided payment link ID is invalid or inactive Review the payment link ID and try again.
3602 Invalid invoice/bill The provided payment link ID doesn't have a valid invoice/bill associated Review the payment link ID and try again.
3603 The entrypoint doesn't exist The provided payment link ID isn't associated to a valid entrypoint Review the payment link ID and try again.
3604 EntryPage doesn't exist The entrypoint doesn't have a valid EntryPage Verify that the entrypoint has a payment page created. Review the payment link ID and try again.
3605 Invalid vendorId or customerId A `customerId` or a `VendorId` is required for a new vCard Verify the request and provide the missing data.
3614 Subdomain doesn't exist The entrypoint doesn't have a valid subdomain Verify the entrypoint has a payment page created. Review the information in the request and try again.
## 3700 codes
ResponseCode Name Description Solution
3701 Invalid application ID Invalid application ID or doesn't exists Provide a valid application ID and try again.
3702 An error occurred while processing the request An error occurred while processing the request Try again later. If the error persists please contact your API provider.
3703 Duplicated Bank account The bank account already exists To update an existing bank account, use the edit endpoint.
3704 Invalid bank ID Invalid bank ID Provide a valid bank ID.
3705 Invalid routing number Invalid routing number Provide a valid routing number.
3706 Invalid account number Invalid account number Provide a valid account number.
3707 Invalid account type Invalid account type Provide a valid account type: Checking or Savings.
3708 Invalid bank account holder type Invalid bank accountholder type Provide a valid bank accountholder type: Personal or Business.
3709 Invalid bank account function Invalid bank account function Provide a valid bank account purpose: `0` : Deposit, `1` : Withdraw, `2` : Deposit/Withdraw
3710 Invalid bank name Invalid bank name Provide a valid bank name.
3711 Invalid account holder name Invalid accountholder name Provide a valid accountholder name.
3712 Billing ID not found Billing ID not found Provide a valid billing ID in the request.
3713 The entrypoint doesn't have a billing table The entrypoint doesn't have a billing table Create a billing table if required.
3714 Error with the billing request There is an error with the billing request Review the billing object for any missing or invalid field.
3715 Duplicated bank information The combination of bank account number, routing number and function already exists Verify the bank information or update the existing bank entity.
## 3900 codes
ResponseCode Name Description Solution
3901 Empty Text field The input field Text is empty Provide a value in required field Text.
3902 Invalid color code provided in field darkColor The hexadecimal HTML code provided is incorrect Provide a correct HTML code value. Reference [https://html-color.codes/](https://html-color.codes/)
3903 Invalid color code provided in field lightColor The hexadecimal HTML code provided is incorrect Provide a correct HTML code value. Reference [https://html-color.codes/](https://html-color.codes/)
3904 Both color codes need to be provided in fields lightColor and darkColor The hexadecimal HTML code provided is incorrect or the field is empty Provide a correct HTML code value. Reference [https://html-color.codes/](https://html-color.codes/)
3905 max length for Number field is 19 chars The string length is greater than is allowed Reduce the string length to a maximum of 19 characters.
3906 max length for Text field is 23 chars The string length is greater than is allowed Reduce the string length to a maximum of 23 characters.
3907 max length for Holder field is 30 chars The string length is greater than is allowed Reduce the string length to a maximum of 30 characters.
3908 max length for Holder1 field is 30 chars The string length is greater than is allowed Reduce the string length to a maximum of 30 characters.
3909 max length for ExpDate field is 8 chars The string length is greater than is allowed Reduce the string length to a maximum of 8 characters.
3910 max length for Cvv field is 4 chars The string length is greater than is allowed Reduce the string length to a maximum of 4 characters.
3911 Amount cannot be negative A negative value isn't accepted Provide a positive value in the input field.
3912 Invalid Theme value provided The theme name provided doesn't exists Provide a valid value in the input field.
## 4000 codes
ResponseCode Name Description Solution
4001 Invalid Xchange AccountId Invalid Xchange AccountId Provide a valid Xchange AccountId.
4002 Invalid User account Invalid User account Either the user doesn't exist or there is a problem with their token.
4003 Model cannot be null Model can't be null The entry model is null. Review and try again.
4004 The Server field cannot be null or empty The `Server` field can't be void or empty Review the `Server` field and try again.
4005 The UserId field cannot be null or empty The `UserId` field can't be void or empty Review the `UserId` field and try again.
4006 The RemotePathIn field cannot be null or empty The `RemotePathIn` field can't be void or empty Review `RemotePathIn` fields and try again.
4007 The RemotePathOut field cannot be null or empty The `RemotePathOut` field can't be void or empty Review the `RemotePathOut` field and try again.
4008 The Schedule field cannot be null or empty The `Schedule` field can't be void or empty Review the `Schedule` field and try again.
4009 The LastCheck field cannot be less than the actual date The `LastCheck` field can't be less than the actual date Review the `LastCheck` field and try again
4010 The EntryName field cannot be null or empty The `EntryName` field can't be null or empty Review the `EntryName` field and try again.
4011 The OrgType field cannot be null or empty The `OrgType` field can't be void or empty Review the `OrgType` field and try again.
4012 The Orgid field cannot be null or 0 The `Orgid` field can't be null or 0 Review the `Orgid` field and try again.
4013 The Mode field cannot be null The `Mode` field can't be void or empty Review the `Userid` field and try again.
4014 The Channel field cannot be null or 0 The `Channel` field can't be null or 0 Review the `Channel` field and try again.
4015 The content of the PKey field isn't Base64 encoded The content of the `PKey` field isn't Base64-encoded Review the `PKey` field and try again.
4016 The Organization/Paypoint has no associated token The organization or paypoint has no associated token Review the request data and try again.
4017 The data wasn't saved in the Payabli database The data wasn't saved in the Payabli database An error occurred while saving the data to the database. Contact the support team.
4018 Invalid Xchange Account Invalid Xchange account Provide a valid Xchange account and try again.
4019 The user isn't related to the organization The user isn't related to the organization The user isn't related to the organization.
4020 The configuration isn't related to the xchange account organization The configuration isn't related to the Xchange account organization The configuration isn't related to the Xchange account organization.
4021 The Type field cannot be null or different from IP, Card or PayorId The `Type` field must be `IP` , `Card` or `PayorId` and can't be null. Review the `Type` field and try again.
4022 At least one of these fields is required: Content, FraudHistoryId, or TransId At least one of these fields is required: `Content` , `FraudHistoryId` , or `TransId` Review the request and try again.
4023 The service cannot be deleted The service cannot be deleted, because there are still transactions that haven't settled yet Wait until all transactions are marked as settled, then delete the service.
4024 The service cannot be updated The service cannot be updated, because there are still transactions that haven't settled yet Wait until all transactions are marked as settled, then update the service.
4025 Purposes cannot be null Purposes is null Purposes can't be null. Review and try again.
4026 The keyword cannot be repeated A keyword is repeated Keywords can't be repeated. Review and try again.
4027 Empty input file The input file is empty The input file can't be empty. Review and try again.
4028 Empty file content Empty file content The file has no content. Review and try again.
4029 The size of the PKey File is not allowed The size of the PKey File is not allowed The size of the PKey File is not allowed. Review and try again.
4030 PKey File does not have the allowed format PKey File does not have the allowed format PKey File does not have the allowed format. Review and try again.
4031 The password and key file cannot be empty, at least one is required The password and key file cannot be empty, at least one is required The password and key file cannot be empty, at least one is required. Review and try again.
## 5000 codes
ResponseCode Name Description Solution
5004 Invalid Service Fee value Provided service fee value is less than zero Please make sure that the service fee value in the request is greater than or equal to zero.
5005 Invalid Service Fee value Provided service fee value is lesser than value agreed Review the service fee value provided in the request and try again. See [Pass-Through Fees](/guides/pay-in-fees-passthrough-overview) for more information on how fees work.
5006 Invalid Service Fee value Provided service fee value is greater than value agreed Review the service fee value provided in the request and try again. See [Pass-Through Fees](/guides/pay-in-fees-passthrough-overview) for more information on how fees work.
5009 Invalid stored method relationship The `storedMethodId` provided isn't associated with the customer provided. Review values to make sure the stored method belongs to the specified customer, and try again. See [Tokenization](/guides/platform-tokenization-overview) for more information on stored methods.
5010 Invalid chargeback ID The provided chargeback identifier does not exists in the platform. Review the value of the chargeback identifier and try again.
5011 Invalid chargeback status The chargeback status provided is not allowed Review the value of the chargeback status and try again.
5012 Invalid ACH return ID The provided ACH return identifier does not exist in the platform Verify the ACH return identifier and make sure that it's correct
5013 Invalid ACH return status The provided ACH return status is not allowed for this transaction Check the ACH return status and make sure that it's valid for this transaction
5014 Invalid transaction method The provided transaction identifier is invalid or does not correspond to a valid ACH payment Verify the transaction identifier and make sure that it corresponds to a valid ACH payment
5015 Invalid transaction ID The provided transaction identifier does not exist in the platform Verify the transaction identifier and make sure that it's correct
5016 Invalid transaction ID The transaction already has an associated return This transaction has already been returned
5017 Invalid transaction method The provided transaction identifier is invalid or does not correspond to a valid card payment Verify the transaction identifier and make sure it corresponds to a valid card payment
## 6000 codes
ResponseCode Name Description Solution
6000 Opt-in process is already pending for this customer An opt-in request has already been sent to this customer The customer must complete the opt-in process.
6001 SMS configuration is missing SMS sending isn't configured Contact Payabli Support to enable this feature.
6002 The request has failed because the user hasn't consented to communications The recipient hasn't opted-in to receiving SMS communications The customer must complete the opt-in process
6003 Invalid customer ID The provided customer identifier doesn't exist or doesn't have a valid status Provide a correct identifier value in the request.
6004 Missing or invalid phone number Phone number is required for customer consent request Verify that the customer's phone number isn't empty and has a valid format.
6005 Invalid payment link type Invalid payment link type Payment link must be for an invoice.
6006 Missing or invalid phone number Phone number is required to send a payment link Verify that the customer's phone number isn't empty and has a valid format
6007 Missing or invalid email address Email address is required to send a payment link Verify that the customer's email isn't empty and has a valid format
6008 Invalid additional email addresses One or more of the additional email addresses aren't valid Verify that the additional email addresses aren't empty and has a valid format
6009 Invalid channel Invalid communication channel value Verify that the communication channel is one of the valid options: sms or email
6010 Invalid invoice The provided payment link ID doesn't have a valid invoice associated Verify that the invoice exists and has a valid status
6101 Invalid domain ID The provided domain ID is invalid. Verify that the domain ID is correct and try again.
6103 Failed to cascade the domain An error occurred while cascading the domain. Try cascading the domain again later.
6201 No card service found for this paypoint Card service is required to enable Apple Pay. Contact Payabli for help.
6202 Cascading is not supported for this entity type. Cascading domains is allowed only for the domains owned by organizations. Use a domain owned by an organization.
6202 Card services are disabled for this paypoint Card services should be enabled to use Apple Pay. Contact Payabli for help.
6203 No card gateway found for this paypoint Card gateway is required to enable Apple Pay. Contact Payabli for help.
6204 Invalid card credentials for this paypoint Card credentials are required to enable Apple Pay. Contact Payabli for help.
6205 Apple Pay configuration update in progress for this organization There is an ApplePay configuration update in progress for this organization. Wait for the update to finish and try again.
6206 Failed to cascade organization updates An error occurred while cascading the organization updates. Try again later.
## 7000 codes
ResponseCode Name Description Solution
7001 Invalid transaction ID The provided transaction identifier doesn't exist in the platform Review the value of the transaction ID and try again.
7002 Invalid transaction status The status of the transaction doesn't allow the action requested. Verify the status of the transaction. For Void, Cancel, or Reverse the valid statuses are 1 and 11, for Refund the valid status is 1. Learn more about [Transaction Statuses](/guides/pay-out-schemas-overview#payout-transaction-statuses)
7003 Invalid payment method Stored payment methods can't be validated. Change the payment method or remove the reference to a stored payment method in the request.
7004 Invalid payment method Provided payment method can't be executed. Try a different payment method.
7005 Missing card number Field `cardnumber` in payment method object is empty Provide a valid card number in payment method object.
7006 Missing payment method The payment method object is empty Provide valid data in payment method object.
7007 Invalid payment method Stored payment method provided doesn't exist Provide valid data in payment method object.
7008 Missing payment details The payment detail object is empty Provide a valid data in payment detail object.
7009 Invalid currency code Currency code provided is invalid Provide a valid ISO 4217 currency code.
7010 Invalid card expiration date The expiration date provided is invalid Review the expiration date. Accepted formats are MM/YY and MMYY.
7011 Invalid payment method No payment instrument was provided in request Review the payment method object for any missing data.
If the payment method is card, then either a cardNumber or storedMethodId are missing.
If the payment method is ACH, then either achRouting or storedMethodId are missing or invalid.
7012 Invalid payment method Missing account or card holder in request Review the payment method object for any missing data.
7013 Invalid payment method Missing bank account number in request Review the payment method object for any missing data.
7014 Invalid payment method Invalid bank account type in request Review the payment method object for invalid data. Accepted values for bank account type are: SAVINGS or CHECKING
7015 Invalid payment method missing `achholder` or `checknumber` in check payment method Review the payment method object and payment detail object for any missing data.
7015 Invalid card number Invalid card number provided. Provide a valid card number in payment method object.
7016 Invalid CVV number Invalid CVV number provided. Provide a valid CVV number in payment method object.
7017 Invalid payment method Missing device identifier in `paymentMethod` object Review the payment method object for any missing data.
7018 Invalid payment method Invalid device identifier in `paymentMethod` object Review the payment method object for any missing data.
7019 Invalid payment method Stored payment method provided and customer don't match Provide the correct `customerId` linked to the stored payment method provided.
7020 Error in customer data Something is wrong with the customer data Review customer object for missing or invalid fields.
7021 Invalid invoice number Customer associated to payment doesn't match with referenced invoice Review customer object and invoice data provided in request.
7022 Invalid invoice action Trying to pay a scheduled Invoice Review the data provided in request and try again.
7023 Invalid invoice action Trying to pay an invoice with an invalid status Review the data provided in request and try again.
7024 Invalid invoice action Trying to pay an invoice with zero or negative amount Review the data provided in request and try again.
7025 Invalid invoice action Trying to overpay an invoice Review the data provided in request and try again.
7026 Invalid invoice number Vendor associated to payment doesn't match with referenced invoice Review vendor object and invoice data provided in request.
7027 Invalid card expiration date The expiration date provided is invalid- minimum accepted is 3 months Review the expiration date. The value must be in MM/DD/YY format.
7028 Invalid card expiration date The expiration date provided is invalid- maximum accepted is 2 years and 363 days Review the expiration date. The value must be in MM/DD/YY format.
7029 Invalid MCC value provided The MCC value is invalid Review the data provided in request and try again.
7030 Invalid TCC value provided The TCC value is invalid Review the data provided in request and try again.
7031 Invalid expense limit provided The expense limit value is invalid Review the data provided in request and try again.
7032 Invalid expense limit period provided The expense limit period value is invalid Review the data provided in request and try again.
7033 Invalid cardtoken provided The `cardtoken` value is invalid Review the data provided in request and try again.
7034 Invalid cardtoken provided The vCard is cancelled Review the data provided in request and try again.
7035 Invalid customer ID Invalid customer ID Review the data provided in request and try again.
7036 Invalid payment method Missing bank account holder or check number in request Review the payment method object for any missing data.
7037 Invalid transaction status The current status of transaction doesn't allow requested action Review status of transaction before submitting the request. Payabli doesn't accept void action for funded payments or payments with funding in transit. Refunds can't be performed for unsettled payments. Learn more about [voids and refunds](/guides/pay-in-developer-transactions-cancel#choose-a-method) .
7038 Invalid stored method type Provided stored method isn't supported by the paypoint A Universal tokenized method was provided in the request, but the target paypoint doesn't support it. Try a different payment method.
7039 Invalid stored method type Provided stored method isn't supported by the paypoint A Network tokenized method was provided in the request, but the target paypoint doesn't support it. Try a different payment method.
7040 This type of stored method cannot be used with this paypoint Review the payment method object. Only universal tokens and network tokens can be used at a payment point other than the one they belong to. Try a different payment method.
7041 Tokenization provider of stored method is incompatible with processor in paypoint Review the payment method object. The tokenization provider for needs to be the same or be compatible with payment provider Try a different payment method.
## 8000 codes
ResponseCode Name Description Solution
8001 Invalid Token in request Provided token is in use under different service Remove provided token from other services before executing the action.
8002 Invalid parameter in request Requested component type requires a valid subType Provide a valid subType in request.
8003 File system service is not available The server is not ready to handle the request Please try again, if the error persists contact your administrator.
8012 Invalid amount Invalid amount value provided for action Review amount provided. Transactions with split funding instructions don't allow partial capture.
8013 Invalid split funding instructions Missing or invalid split instructions provided for action Review the instructions provided for the action. Review amounts and recipients.
8014 Invalid split funding instructions Invalid Amount in split instruction. Amount provided greater than balance in split Review the instructions provided for the action. Review amounts and recipients.
8016 Invalid split funding instructions Invalid Amount in split instruction. Amount provided cannot be negative Review the instructions provided for the action. Review amounts and recipients.
8015 Invalid split funding instructions Invalid Amount in split instruction. Amount provided is different to sum of amounts in split instructions Review the instructions provided for the action. Review amounts and recipients.
8082 Invalid split funding instructions Empty recipient value in split funding instructions Review the instructions provided for the action. Make sure all recipients for the split are provided.
8083 Invalid split funding instructions Provided recipient value in split funding instructions is outside of scope of the origination. Review the instructions provided for the action. Review all the recipients for split are in the same level under the same parent organization.
8084 Invalid split funding instructions Invalid Amount in split instruction. Amount provided cannot be negative or zero Review the instructions provided for the action. Review amounts and recipients.
8086 Invalid split funding instructions Provided recipient does not have a configured funding account Review the instructions provided for the action. Review the recipients.
8088 Invalid split funding instructions Origination for split need to be included in split instructions Review the instructions provided for the action. Review the recipients.
8099 Invalid split funding instructions Origination entry point does not have split funding capability enabled Contact Support to have split funding enabled.
## 9000 codes
ResponseCode Name Description Solution
9001 Invalid Authorization Token Token in input doesn't have access to Entity in scope or Token isn't allowed to execute requested action. Use the authorized API token for the request. Review the reference to the entity in request parameter (entry name, paypoint ID, organization ID, signing) is correct and is within the token scope.
9002 Unauthorized Token User or Customer entity doesn't have permission to the requested action. Verify permissions assigned to the user or customer.
9003 Unauthorized Token Token type or origin IP address aren't accepted by action Use the correct API token for action. For web components the token type is different of the direct API token. Verify if your token has IP restriction. See [Authentication](/developers/api-reference/api-overview#authentication) for more information on token types and restrictions.
9004 Inactive Paypoint The paypoint isn't active in the platform. Reach out to the support team to clarify the status of your paypoint.
9005 Blocked by Fraud Control The card or the origin IP of request is blacklisted in the platform Reach out to the support team to clarify the status of your paypoint.
9006 Unauthorized Token Expected Validation code is missing or invalid Use the correct validation code for action. Verify value provided in CAPTCHA for payment pages.
9007 Invalid entryId The provided entry ID is invalid Review the data provided in request and try again.
9008 Invalid orgId parameter Invalid `orgId` parameter Provide a valid `orgId` parameter.
9009 Invalid entry point name Invalid entrypoint name Review the entry point name in the request and try again.
9010 Invalid Fraud History Id Invalid Fraud History ID Provide a valid ID parameter.
9011 Unauthorized Token Domain Origin not in scope Review your domain restrictions to see the domain originating the request is included in scope.
9012 Invalid Fraud Blacklist Id Invalid Fraud Blacklist ID Invalid Fraud Blacklist ID.
9013 Invalid Tier Id Invalid Tier Id Provide a valid ID parameter.
9014 Invalid Tier Name Invalid Tier Name Provide a valid Name parameter.
9051 Fraud alert A velocity fraud alert condition was triggered Verify your request and fraud limits with the Support team.
*** title: Pay In transaction APIs v2 description: >- Explore v2 Pay In transaction APIs with enhanced responses including unified response codes and detailed transaction data for improved processing visibility 'og:description': >- Explore v2 Pay In transaction APIs with enhanced responses including unified response codes and detailed transaction data for improved processing visibility subtitle: >- Learn how to use version 2 of Payabli's Pay In transaction APIs with enhanced standardized responses sidebarTitle: V2 Transaction APIs icon: brackets-curly slug: developers/api-reference/moneyIn/v2 keywords: >- embedded payments, transaction APIs, Pay In, payment processing, unified response codes, API v2 area: * Pay In subArea: * Making Transactions audience: * developers * partners *** The v2 Pay In transaction APIs have two major improvements over Payabli's core payment processing endpoints: unified response codes and automatic transaction details in responses. ## What's different in v2 These next sections cover the main differences between v1 and v2 transaction APIs. All v2 endpoints return responses using a standardized code format that makes it easier to understand transaction outcomes and handle them consistently across your application. ### Response code categories v2 APIs use a three-tier code structure that groups outcomes by type: * **A codes (A0000-A0099)**: Approved transactions: payment was successfully processed * **D codes (D0100-D2999)**: Declined transactions: payment was rejected by the card network or issuer * **E codes (E3000-E9999)**: Error conditions: technical or validation errors prevented processing This structure lets you handle responses at different levels of specificity. For example, you can check if a code starts with "A" for any approval, or check for specific codes like "D0225" (insufficient funds) to provide targeted messaging. See the [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for the complete list of all codes for errors, approvals, and declines. You can explore realistic response examples for v2 in the individual endpoint references for each of the v2 transaction endpoints. ### Approved and Declined response format Every v2 Approval and Decline response includes four key fields that offer context about the outcome: * `code`: The standardized response code (for example, `A0000`, `D0110`, `E5001`) * `reason`: Human-readable reason for the outcome (for example, "Approved", "Insufficient Funds") * `explanation`: Detailed explanation of what happened and why * `action`: Recommended next steps for handling this outcome These fields are consistent across all v2 endpoints, making it easier to build reusable error handling and user messaging logic. This is an example of a successful v2 transaction response: ```json { "code": "A0000", "reason": "Approved", "explanation": "Approved by card network or card issuer.", "action": "No action required.", "data": { // transaction details object here }, "token": null } ``` Decline responses follow the same structure, with appropriate `code`, `reason`, `explanation`, and `action` fields. All decline and approval responses automatically include complete transaction details in the response `data` object, eliminating the need for a separate API call to retrieve transaction information. ### Error response format Error responses (E codes) follow RFC 7807 Problem Details format, providing structured information about what went wrong: * `type`: URI reference to documentation about this error type * `title`: Short error title (for example, "Bad Request") * `status`: HTTP status code (for example, 400, 500) * `detail`: Description of the specific error * `instance`: The request URL that caused the error * `errors`: Field-specific validation errors (for 400 Bad Request responses) This standardized format makes it easier to debug issues and give helpful feedback to users. When request validation fails, v2 endpoints return a 400 Bad Request response following RFC 7807 Problem Details format: ```json { "type": "https://docs.payabli.com/developers/references/pay-in-unified-response-codes", "title": "Bad Request", "status": 400, "detail": "Invalid CVV number", "instance": "/api/v2/MoneyIn/auth", "code": "E7016", "errors": { "paymentMethod.cvv": [ { "message": "Invalid CVV number provided", "suggestion": "Provide a valid CVV number in payment method object" } ] }, "token": null } ``` The `errors` field provides detailed validation information for each field that failed validation, making it easier to identify and fix issues in your request. ## Available v2 endpoints The following endpoints are available in v2: * **[POST /v2/MoneyIn/getpaid](/developers/api-reference/moneyinV2/make-a-transaction)**: Make a transaction (authorize and capture in one step) * **[POST /v2/MoneyIn/authorize](/developers/api-reference/moneyinV2/authorize-a-transaction)**: Authorize a card transaction * **[POST /v2/MoneyIn/capture/\{transId}](/developers/api-reference/moneyinV2/capture-an-authorized-transaction)**: Capture an authorized transaction (full or partial) * **[POST /v2/MoneyIn/refund/\{transId}/\{amount}](/developers/api-reference/moneyinV2/refund-a-settled-transaction)**: Refund a settled transaction (full or partial) * **[POST /v2/MoneyIn/void/\{transId}](/developers/api-reference/moneyinV2/void-a-transaction)**: Void an unsettled transaction ## Choosing v1 or v2 If you're starting a new integration or want to take advantage of the enhanced features, use the v2 transaction APIs. They return standardized response codes, immediate transaction details, and clearer error messages. **Use v2 if:** * You're starting a new integration * You want standardized, predictable response codes * You need transaction details immediately after processing * You want clearer error messages and guidance **Use v1 if:** * You need backward compatibility with legacy systems Payabli will continue to support v1 transaction APIs for now, but they will be retired in the future. We recommend planning to migrate to v2. ## Migration guide Unified response codes and the v2 transaction endpoints are available in Sandbox as of December 23, 2025, and are scheduled to be available in Production on January 20, 2026. Migrating from v1 to v2 is straightforward. All v2 endpoints use the same authentication, request bodies, and path parameters as their v1 counterparts. Only the response format has changed. 1. **Update endpoint paths**: Add `/v2` to the base path (for example `/MoneyIn/getpaid` becomes `/v2/MoneyIn/getpaid`) 2. **Update response handling**: Parse the new response structure with `code`, `reason`, `explanation`, `action`, and `data` fields 3. **Update error handling**: Map unified response codes to your application's error handling 4. **Test**: The response structure is different, so ensure your integration handles all response scenarios correctly See [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for a full list of the new response codes. # Make a transaction POST https://api-sandbox.payabli.com/api/v2/MoneyIn/getpaid Content-Type: application/json Make a single transaction. This method authorizes and captures a payment in one step. This is the v2 version of the `api/MoneyIn/getpaid` endpoint, and returns the unified response format. See [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for more information. Reference: https://docs.payabli.com/developers/api-reference/moneyinV2/make-a-transaction ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /v2/MoneyIn/getpaid: post: operationId: getpaidv-2 summary: Make a transaction (v2) description: >- Make a single transaction. This method authorizes and captures a payment in one step. This is the v2 version of the `api/MoneyIn/getpaid` endpoint, and returns the unified response format. See [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for more information. tags: - subpackage_moneyIn parameters: - name: achValidation in: query required: false schema: $ref: '#/components/schemas/type_:AchValidation' - name: forceCustomerCreation in: query required: false schema: $ref: '#/components/schemas/type_:ForceCustomerCreation' - name: requestToken in: header required: true schema: type: string - name: idempotencyKey in: header required: false schema: $ref: '#/components/schemas/type_:IdempotencyKey' - name: validationCode in: header description: >- Value obtained from user when an API generated CAPTCHA is used in payment page required: false schema: type: string responses: '201': description: Ok content: application/json: schema: $ref: >- #/components/schemas/type___v2moneyInTypes__:V2TransactionResponseWrapper '400': description: >- Bad request error for v2 Money In auth endpoint (HTTP 400). Returned when request validation fails. Follows RFC 7807 Problem Details format with Payabli-specific unified response codes. See the [Pay In unified response codes reference](/developers/references/pay-in-unified-response-codes-reference) for the complete list of codes. content: application/json: schema: $ref: '#/components/schemas/type___v2moneyInTypes__:V2BadRequestError' '401': description: Unauthorized request. content: application/json: schema: description: Any type '402': description: >- Auth or sale decline error for v2 Money In endpoints (HTTP 402). Returned when an authorization or sale operation is declined for a transaction. Uses unified response codes starting with 'D'. See the [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for the complete list of codes. content: application/json: schema: $ref: >- #/components/schemas/type___v2moneyInTypes__:V2DeclinedTransactionResponseWrapper '500': description: >- Internal server error for v2 Money In endpoints (HTTP 500). Returned when an unexpected error occurs. Follows RFC 7807 Problem Details format. content: application/json: schema: $ref: >- #/components/schemas/type___v2moneyInTypes__:V2InternalServerError requestBody: content: application/json: schema: $ref: '#/components/schemas/type_moneyIn:TransRequestBody' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:AchValidation: type: boolean description: >- When `true`, enables real-time validation of ACH account and routing numbers. This is an add-on feature, contact Payabli for more information. title: AchValidation type_:ForceCustomerCreation: type: boolean description: >- When `true`, the request creates a new customer record, regardless of whether customer identifiers match an existing customer. Defaults to `false`. title: ForceCustomerCreation type_:IdempotencyKey: type: string description: >- _Optional but recommended_ A unique ID that you can include to prevent duplicating objects or transactions in the case that a request is sent more than once. This key isn't generated in Payabli, you must generate it yourself. This key persists for 2 minutes. After 2 minutes, you can reuse the key if needed. title: IdempotencyKey type_:Accountid: type: string description: Custom identifier for payment connector. title: Accountid type_:AdditionalData: type: object additionalProperties: type: object additionalProperties: description: Any type description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. If you are using [custom identifiers](/developers/developer-guides/entities-customers), pass those in this object. Max length for a value is 100 characters. Example usage: ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalData type_:BillingAddressNullable: type: string description: Billing address. title: BillingAddressNullable type_:BillingAddressAddtlNullable: type: string description: Additional line for the billing address. title: BillingAddressAddtlNullable type_:BillingCityNullable: type: string description: Billing city. title: BillingCityNullable type_:BillingCountryNullable: type: string description: Billing address country. title: BillingCountryNullable type_:Email: type: string format: email description: Email address. title: Email type_:PhoneNumber: type: string description: Phone number. title: PhoneNumber type_:BillingStateNullable: type: string description: Billing state. Must be 2-letter state code for address in US. title: BillingStateNullable type_:BillingZip: type: string description: Billing address ZIP code. title: BillingZip type_:CustomerId: type: integer format: int64 description: The Payabli-generated unique ID for the customer. title: CustomerId type_:CustomerNumberNullable: type: string description: >- User-provided unique identifier for the customer. This is typically the customer ID from your own system. title: CustomerNumberNullable type_:Identifierfields: type: array items: type: string description: >- List of fields acting as customer identifiers, to be used instead of CustomerNumber. title: Identifierfields type_:Shippingaddress: type: string description: The shipping address. title: Shippingaddress type_:Shippingaddressadditional: type: string description: Additional line for shipping address. title: Shippingaddressadditional type_:Shippingcity: type: string description: Shipping city. title: Shippingcity type_:Shippingcountry: type: string description: Shipping address country. title: Shippingcountry type_:Shippingstate: type: string description: Shipping state or province. title: Shippingstate type_:Shippingzip: type: string description: >- Shipping ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". title: Shippingzip type_:PayorDataRequest: type: object properties: additionalData: $ref: '#/components/schemas/type_:AdditionalData' billingAddress1: $ref: '#/components/schemas/type_:BillingAddressNullable' billingAddress2: $ref: '#/components/schemas/type_:BillingAddressAddtlNullable' billingCity: $ref: '#/components/schemas/type_:BillingCityNullable' billingCountry: $ref: '#/components/schemas/type_:BillingCountryNullable' billingEmail: $ref: '#/components/schemas/type_:Email' billingPhone: $ref: '#/components/schemas/type_:PhoneNumber' billingState: $ref: '#/components/schemas/type_:BillingStateNullable' billingZip: $ref: '#/components/schemas/type_:BillingZip' description: >- Customer's billing ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". company: type: string description: Customer's company name. customerId: $ref: '#/components/schemas/type_:CustomerId' customerNumber: $ref: '#/components/schemas/type_:CustomerNumberNullable' firstName: type: string description: Customer/Payor first name. identifierFields: $ref: '#/components/schemas/type_:Identifierfields' lastName: type: string description: Customer/Payor last name. shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' description: >- Customer information. May be required, depending on the paypoint's settings. Required for subscriptions. title: PayorDataRequest type_:Entrypointfield: type: string description: The entrypoint identifier. title: Entrypointfield type_:AdditionalDataMap: type: object additionalProperties: type: string description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalDataMap type_:FileContentFtype: type: string enum: - pdf - doc - docx - jpg - jpeg - png - gif - txt description: The MIME type of the file (if content is provided) title: FileContentFtype type_:FileContent: type: object properties: fContent: type: string description: >- Content of file, Base64-encoded. Ignored if furl is specified. Max upload size is 30 MB. filename: type: string description: The name of the attached file. ftype: $ref: '#/components/schemas/type_:FileContentFtype' description: The MIME type of the file (if content is provided) furl: type: string description: Optional URL provided to show or download the file remotely description: Contains details about a file. Max upload size is 30 MB. title: FileContent type_:Attachments: type: array items: $ref: '#/components/schemas/type_:FileContent' description: >- Array of `fileContent` objects with attached documents. Max upload size is 30 MB. title: Attachments type_:Discount: type: number format: double description: Discount applied to the invoice. title: Discount type_:DutyAmount: type: number format: double description: Duty amount. title: DutyAmount type_:FreightAmount: type: number format: double description: Freight/shipping amount. title: FreightAmount type_:Frequency: type: string enum: - onetime - weekly - every2weeks - every6months - monthly - every3months - annually description: Frequency for operation. title: Frequency type_:InvoiceAmount: type: number format: double description: Invoice total amount. title: InvoiceAmount type_:InvoiceNumber: type: string description: >- Custom number identifying the bill or invoice. Must be unique in paypoint. title: InvoiceNumber type_:Invoicestatus: type: integer description: |- Status for invoice. The accepted status values are: - 0 draft - 1 active - 2 partially paid - 4 paid/complete - 99 cancelled title: Invoicestatus type_:InvoiceType: type: integer description: Type of invoice. Only `0` for one-time invoices is currently supported. title: InvoiceType type_:ItemCommodityCode: type: string description: Item or product commodity code. Max length of 250 characters. title: ItemCommodityCode type_:ItemDescription: type: string description: Item or product description. Max length of 250 characters. title: ItemDescription type_:ItemProductCode: type: string description: Item or product code. Max length of 250 characters. title: ItemProductCode type_:ItemProductName: type: string description: Item or product name. Max length of 250 characters. title: ItemProductName type_:ItemUnitofMeasure: type: string description: Unit of measurement. Max length of 100 characters. title: ItemUnitofMeasure type_:BillItem: type: object properties: itemCategories: type: array items: type: string description: Array of tags classifying item or product. itemCommodityCode: $ref: '#/components/schemas/type_:ItemCommodityCode' itemCost: type: number format: double description: Item or product price per unit. itemDescription: $ref: '#/components/schemas/type_:ItemDescription' itemMode: type: integer description: >- Internal class of item or product: value '0' is only for invoices , '1' for bills and, '2' common for both. itemProductCode: $ref: '#/components/schemas/type_:ItemProductCode' itemProductName: $ref: '#/components/schemas/type_:ItemProductName' itemQty: type: integer description: Quantity of item or product. itemTaxAmount: type: number format: double description: Tax amount applied to item or product. itemTaxRate: type: number format: double description: Tax rate applied to item or product. itemTotalAmount: type: number format: double description: Total amount in item or product. itemUnitOfMeasure: $ref: '#/components/schemas/type_:ItemUnitofMeasure' required: - itemCost title: BillItem type_:BillDataPaymentTerms: type: string enum: - PIA - CIA - UR - NET10 - NET20 - NET30 - NET45 - NET60 - NET90 - EOM - MFI - 5MFI - 10MFI - 15MFI - 20MFI - 2/10NET30 - UF - 10UF - 20UF - 25UF - 50UF description: >- Payment terms for invoice. If no terms are defined, then response data for this field defaults to `NET30`. **Available Values:** - `PIA`: Payment in advance - `CIA`: Cash in advance - `UR`: Upon receipt - `NET10`: 10 days after invoice date - `NET20`: 20 days after invoice date - `NET30`: 30 days after invoice date - `NET45`: 45 days after invoice date - `NET60`: 60 days after invoice date - `NET90`: 90 days after invoice date - `EOM`: Due end of this month - `MFI`: 1st of the month following the invoice date - `5MFI`: 5th of the month following the invoice date - `10MFI`: 10th of the month following the invoice date - `15MFI`: 15th of the month following the invoice date - `20MFI`: 20th of the month following the invoice date - `2/10NET30`: 2% discount if paid within 10 days, otherwise net 30 days - `UF`: Until further notice - `10UF`: 10 days until further notice - `20UF`: 20 days until further notice - `25UF`: 25 days until further notice - `50UF`: 50 days until further notice title: BillDataPaymentTerms type_:PurchaseOrder: type: string description: Purchase order number. title: PurchaseOrder type_:ShippingFromZip: type: string description: Sender shipping ZIP code. title: ShippingFromZip type_:SummaryCommodityCode: type: string description: Commodity code. title: SummaryCommodityCode type_:Tax: type: number format: double description: Tax rate in percent applied to the invoice. title: Tax type_:TermsConditions: type: string description: Custom terms and conditions included in the invoice. title: TermsConditions type_:BillData: type: object properties: AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' attachments: $ref: '#/components/schemas/type_:Attachments' company: type: string description: Company name of the recipient of the invoice. discount: $ref: '#/components/schemas/type_:Discount' dutyAmount: $ref: '#/components/schemas/type_:DutyAmount' firstName: type: string description: First name of the recipient of the invoice. freightAmount: $ref: '#/components/schemas/type_:FreightAmount' frequency: $ref: '#/components/schemas/type_:Frequency' description: Frequency of scheduled invoice. invoiceAmount: $ref: '#/components/schemas/type_:InvoiceAmount' invoiceDate: type: string format: date description: 'Invoice date in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY.' invoiceDueDate: type: string format: date description: >- Invoice due date in one of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceEndDate: type: string format: date description: >- Indicate the date to finish a scheduled invoice cycle (`invoiceType`` = 1) in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceNumber: $ref: '#/components/schemas/type_:InvoiceNumber' description: Invoice number. Identifies the invoice under a paypoint. invoiceStatus: $ref: '#/components/schemas/type_:Invoicestatus' invoiceType: $ref: '#/components/schemas/type_:InvoiceType' items: type: array items: $ref: '#/components/schemas/type_:BillItem' description: Array of line items included in the invoice. lastName: type: string description: Last name of the recipient of the invoice. notes: type: string description: Notes included in the invoice. paymentTerms: $ref: '#/components/schemas/type_:BillDataPaymentTerms' purchaseOrder: $ref: '#/components/schemas/type_:PurchaseOrder' shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' shippingEmail: $ref: '#/components/schemas/type_:Email' description: Shipping recipient's contact email address. shippingFromZip: $ref: '#/components/schemas/type_:ShippingFromZip' shippingPhone: type: string description: Recipient phone number. shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' summaryCommodityCode: $ref: '#/components/schemas/type_:SummaryCommodityCode' tax: $ref: '#/components/schemas/type_:Tax' termsConditions: $ref: '#/components/schemas/type_:TermsConditions' title: BillData type_:IpAddress: type: string description: >- *Recommended*. The customer's IP address. This field is used to help prevent fraudulent transactions, and Payabli strongly recommends including this data. title: IpAddress type_:Orderdescription: type: string description: Text description of the transaction. title: Orderdescription type_:OrderId: type: string description: Custom identifier for the transaction. title: OrderId type_:PaymentCategories: type: object properties: amount: type: number format: double description: Price/cost per unit of item or category. description: type: string description: Description of item or category label: type: string description: Name of item or category. qty: type: integer default: 1 description: Quantity of item or category required: - amount - label title: PaymentCategories type_:SplitFundingContent: type: object properties: accountId: type: string description: The accountId for the account the split should be sent to. amount: type: number format: double description: Amount from the transaction to sent to this recipient. description: type: string description: A description for the split. recipientEntryPoint: type: string description: The entrypoint the split should be sent to. title: SplitFundingContent type_:SplitFunding: type: array items: $ref: '#/components/schemas/type_:SplitFundingContent' description: >- Split funding instructions for the transaction. The total amount of the splits must match the total amount of the transaction. title: SplitFunding type_:PaymentDetail: type: object properties: categories: type: array items: $ref: '#/components/schemas/type_:PaymentCategories' description: >- Array of payment categories/line items describing the amount to be paid. **Note**: These categories are for information only and aren't validated against the total amount provided. checkImage: type: object additionalProperties: description: Any type description: Object containing image of paper check. checkNumber: type: string description: >- A check number to be used in the ach transaction. **Required** for payment method = 'check'. currency: type: string description: >- The currency for the transaction, `USD` or `CAD`. If your paypoint is configured for CAD, you must send the `CAD` value in this field, otherwise it defaults to USD, which will cause the transaction to fail. serviceFee: type: number format: double description: >- Service fee to be deducted from the total amount. This amount must be a number, percentages aren't accepted. If you are using a percentage-based fee schedule, you must calculate the value manually. splitFunding: $ref: '#/components/schemas/type_:SplitFunding' description: >- Split funding instructions for the transaction. See [Split a Transaction](/developers/developer-guides/money-in-split-funding) for more. checkUniqueId: type: string description: >- Unique identifier for a processed check image. Required for RDC (Remote Deposit Capture) transactions where `achCode` is `BOC`. Use the `id` value from the [check processing](/developers/api-reference/moneyin/check-capture) response. totalAmount: type: number format: double description: >- Total amount to be charged. If a service fee is sent, then this amount should include the service fee." required: - totalAmount description: Details about the payment. title: PaymentDetail type_:Cardcvv: type: string description: >- Card Verification Value (CVV) associated with the card number. We **strongly recommend** that you include this field when using `card` as a method. title: Cardcvv type_:Cardexp: type: string description: >- Card expiration date in format MMYY or MM/YY. Required for card transactions. title: Cardexp type_:Cardholder: type: string description: Cardholder name. title: Cardholder type_:Cardnumber: type: string description: >- The card number. Required when method is `card` and a `storedMethodId` isn't included. title: Cardnumber type_:Cardzip: type: string description: >- ZIP or postal code for the billing address of cardholder. We **strongly recommend** that you include this field when using `card` as a method. title: Cardzip type_:Initiator: type: string description: >- **Strongly recommended** The cardholder-initiated transaction (CIT) or merchant-initiated transaction (MIT) indicator for the transaction. If you don't specify a value, Payabli defaults to `merchant`. Available values: - `payor`: For cardholder-initiated transactions - `merchant`: For merchant-initiated transactions See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Initiator type_:SaveIfSuccess: type: boolean description: >- When `true`, Payabli saves the payment method if the transaction is successful. The payment method ID is returned in the response as `methodReferenceId`. Defaults to `false`. title: SaveIfSuccess type_:PayMethodCredit: type: object properties: cardcvv: $ref: '#/components/schemas/type_:Cardcvv' cardexp: $ref: '#/components/schemas/type_:Cardexp' cardHolder: $ref: '#/components/schemas/type_:Cardholder' cardnumber: $ref: '#/components/schemas/type_:Cardnumber' cardzip: $ref: '#/components/schemas/type_:Cardzip' initiator: $ref: '#/components/schemas/type_:Initiator' method: type: string enum: - card description: >- Method to use for the transaction. For transactions with a credit or debit card, or a tokenized card, use `card`. saveIfSuccess: $ref: '#/components/schemas/type_:SaveIfSuccess' required: - cardexp - cardnumber - method title: PayMethodCredit type_:Achaccount: type: string description: Bank account number. title: Achaccount type_:Achaccounttype: type: string enum: - Checking - Savings description: 'Bank account type: Checking or Savings.' title: Achaccounttype type_:AchSecCode: type: string description: >- Standard Entry Class (SEC) code is a three letter code that describes how an ACH payment was authorized. Supported values are: - PPD (Prearranged Payment and Deposit) - Used for credits or debits where an accountholder authorizes a company to initiate either a single or recurring transaction to their personal bank account. Common examples include direct deposit of payroll, mortgage payments, or utility bills. This is the default value for subscription payments. - WEB (Internet-Initiated/Mobile Entry) - Used for debit entries when authorization is obtained from an accountholder via the internet or a wireless network. Common examples are online bill payments, ecommerce purchases, and mobile app payments where the consumer enters their banking information online. - TEL (Telephone-Initiated Entry) - Used for one-time debit entries where authorization is obtained from a consumer via telephone. Common examples are phone-based purchases or bill payments where the consumer provides their banking information over the phone. - CCD (Corporate Credit or Debit) - Used for fund transfers between business accounts. This code is specifically for business-to-business transactions. Common examples include vendor payments and other business-to-business payments. - BOC (Back Office Conversion) - Used to convert paper checks received in-person at a point-of-sale or staffed payment location into electronic ACH debits. Required for Remote Deposit Capture (RDC) transactions. Only supports consumer checks; business, government, and mailed checks aren't eligible. title: AchSecCode type_:AchHolder: type: string description: >- Bank account holder. This field is **required** when `method` is `ach` or `check`. title: AchHolder type_:AchHolderType: type: string enum: - personal - business default: personal description: 'The bank''s accountholder type: personal or business.' title: AchHolderType type_:Achrouting: type: string description: ABA/routing number of Bank account. title: Achrouting type_:Device: type: string description: Identifier of registered cloud device used in the transaction. title: Device type_:PayMethodACH: type: object properties: achAccount: $ref: '#/components/schemas/type_:Achaccount' description: Bank account number. This field is **required** when method = 'ach'. achAccountType: $ref: '#/components/schemas/type_:Achaccounttype' description: Bank account type. This field is **required** when method = 'ach'. achCode: $ref: '#/components/schemas/type_:AchSecCode' achHolder: $ref: '#/components/schemas/type_:AchHolder' achHolderType: $ref: '#/components/schemas/type_:AchHolderType' achRouting: $ref: '#/components/schemas/type_:Achrouting' description: >- ABA/routing number of bank account. This field is **required** when method = 'ach'. device: $ref: '#/components/schemas/type_:Device' method: type: string enum: - ach required: - achAccount - achHolder - achRouting - method title: PayMethodACH type_:PayMethodStoredMethodMethod: type: string enum: - card - ach description: >- Method to use for the transaction. Use either `card` or `ach`, depending on what kind of method was tokenized to use a saved payment method for this transaction. title: PayMethodStoredMethodMethod type_:Storedmethodid: type: string description: >- Payabli identifier of a tokenized payment method. If this field is used in a request, the `method` field is overridden and the payment is made using the payment token. title: Storedmethodid type_:StoredMethodUsageType: type: string description: >- **Strongly recommended** The usage type for the stored method, used for merchant-initiated transactions (MIT). If you don't specify a value, Payabli defaults to `unscheduled`. Available values: - `unscheduled`: This type is used for transactions that are one-time or otherwise not pre-scheduled. - `subscription`: This type is used for subscription payments. For example, monthly rental fees or ongoing service subscriptions. - `recurring`: This type is used for recurring payments that occur per a set plan. For example, splitting an HOA special assessment over 6 monthly payments. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: StoredMethodUsageType type_:PayMethodStoredMethod: type: object properties: initiator: $ref: '#/components/schemas/type_:Initiator' method: $ref: '#/components/schemas/type_:PayMethodStoredMethodMethod' description: >- Method to use for the transaction. Use either `card` or `ach`, depending on what kind of method was tokenized to use a saved payment method for this transaction. storedMethodId: $ref: '#/components/schemas/type_:Storedmethodid' description: Payabli identifier of a tokenized payment method. storedMethodUsageType: $ref: '#/components/schemas/type_:StoredMethodUsageType' required: - method description: >- The required and recommended fields for a payment made with a stored payment method. title: PayMethodStoredMethod type_:PayMethodCloud: type: object properties: device: $ref: '#/components/schemas/type_:Device' method: type: string enum: - cloud description: >- Method to use for the transaction. For cloud device transactions, the method is `cloud`. saveIfSuccess: $ref: '#/components/schemas/type_:SaveIfSuccess' required: - method title: PayMethodCloud type_:Check: type: object properties: achHolder: $ref: '#/components/schemas/type_:AchHolder' description: The checking accountholder's name. method: type: string enum: - check description: >- Method to use for the transaction. Use `check` for a paper check transaction. When the method is `check`, then `paymentDetails.checkNumber` is required. required: - achHolder - method title: Check type_:Cash: type: object properties: method: type: string enum: - cash description: >- Method to use for the transaction. For cash transactions, use `cash`. required: - method title: Cash type_:Methodall: type: string enum: - card - ach - cloud - check - cash description: Method to use for the transaction. title: Methodall type_:PayMethodBodyAllFields: type: object properties: achAccount: $ref: '#/components/schemas/type_:Achaccount' description: Bank account number. This field is **required** when method = 'ach'. achAccountType: $ref: '#/components/schemas/type_:Achaccounttype' achCode: $ref: '#/components/schemas/type_:AchSecCode' achHolder: $ref: '#/components/schemas/type_:AchHolder' achRouting: $ref: '#/components/schemas/type_:Achrouting' description: >- ABA/routing number of Bank account. This field is **required** when method = 'ach'. cardcvv: $ref: '#/components/schemas/type_:Cardcvv' cardexp: $ref: '#/components/schemas/type_:Cardexp' cardHolder: $ref: '#/components/schemas/type_:Cardholder' cardnumber: $ref: '#/components/schemas/type_:Cardnumber' cardzip: $ref: '#/components/schemas/type_:Cardzip' device: $ref: '#/components/schemas/type_:Device' initator: $ref: '#/components/schemas/type_:Initiator' method: $ref: '#/components/schemas/type_:Methodall' saveIfSuccess: $ref: '#/components/schemas/type_:SaveIfSuccess' storedMethodId: $ref: '#/components/schemas/type_:Storedmethodid' storedMethodUsageType: $ref: '#/components/schemas/type_:StoredMethodUsageType' required: - achAccount - achHolder - achRouting description: 'Model for the PaymentMethod object, includes all method types. ' title: PayMethodBodyAllFields type_:PaymentMethod: oneOf: - $ref: '#/components/schemas/type_:PayMethodCredit' - $ref: '#/components/schemas/type_:PayMethodACH' - $ref: '#/components/schemas/type_:PayMethodStoredMethod' - $ref: '#/components/schemas/type_:PayMethodCloud' - $ref: '#/components/schemas/type_:Check' - $ref: '#/components/schemas/type_:Cash' - $ref: '#/components/schemas/type_:PayMethodBodyAllFields' description: Information about the payment method for the transaction. title: PaymentMethod type_:Source: type: string description: Custom identifier to indicate the transaction or request source. title: Source type_:Subdomain: type: string description: >- Refers to the payment page identifier. If provided, then the transaction is linked to the payment page. title: Subdomain type_:Subscriptionid: type: integer format: int64 description: Payabli identifier of the subscription associated with the transaction. title: Subscriptionid type_moneyIn:TransRequestBody: type: object properties: accountId: $ref: '#/components/schemas/type_:Accountid' customerData: $ref: '#/components/schemas/type_:PayorDataRequest' description: >- Object describing the Customer/Payor. Which fields are required depends on the paypoint's custom identifier settings. entryPoint: $ref: '#/components/schemas/type_:Entrypointfield' invoiceData: $ref: '#/components/schemas/type_:BillData' description: Object describing an Invoice linked to the transaction. ipaddress: $ref: '#/components/schemas/type_:IpAddress' orderDescription: $ref: '#/components/schemas/type_:Orderdescription' orderId: $ref: '#/components/schemas/type_:OrderId' paymentDetails: $ref: '#/components/schemas/type_:PaymentDetail' description: Object describing details of the payment. Required. paymentMethod: $ref: '#/components/schemas/type_:PaymentMethod' description: >- Information about the payment method for the transaction. Required and recommended fields for each payment method type are described in each schema below. source: $ref: '#/components/schemas/type_:Source' subdomain: $ref: '#/components/schemas/type_:Subdomain' subscriptionId: $ref: '#/components/schemas/type_:Subscriptionid' required: - paymentDetails - paymentMethod title: TransRequestBody type___v2moneyInTypes__:V2ResponseCode: type: string description: >- Payabli's unified response code. Starts with `A` (Approved) or `D` (Declined) followed by a four-digit code that provides specific details about the transaction result. See [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for more information. title: V2ResponseCode type___v2moneyInTypes__:V2ResponseReason: type: string description: Human-readable reason corresponding to the response code. title: V2ResponseReason type___v2moneyInTypes__:V2ResponseExplanation: type: string description: Detailed description of the response code. title: V2ResponseExplanation type___v2moneyInTypes__:V2ResponseAction: type: string description: Recommended resolution approach or next steps based on the response. title: V2ResponseAction type_:OrgParentName: type: string description: The name of the parent organization. title: OrgParentName type_:Dbaname: type: string description: >- The alternate or common name that this business is doing business under usually referred to as a DBA name. title: Dbaname type_:Legalname: type: string description: Business legal name. title: Legalname type_:ExternalProcessorInformation: type: string description: >- Processor information, used for troubleshooting and reporting. This field contains a value when the API key used to make the request has management permissions. title: ExternalProcessorInformation type_:BatchNumber: type: string description: >- A unique identifier for the batch. This is generated by Payabli when the batch is created, and follows this format: `paypointId + "_" + serviceName + "_" + batchDate:yyyyMMdd + "_" + Guid.NewGuid()`. Payabli generates the GUID to ensure that the batch number is unique. For example, in this batch number: `123_card_20251008_3f2504e0-4f89-11d3-9a0c-0305e82c3301`, the paypointID is "123", the service is "card", the batch date is "2025-10-08", and the GUID is "3f2504e0-4f89-11d3-9a0c-0305e82c3301". title: BatchNumber type_:PayorId: type: integer format: int64 description: >- Unique ID for the customer linked to the transaction. This is the same value as the `customerId` used when creating or referencing a customer. title: PayorId type_:Maskedaccount: type: string description: >- Masked card or bank account used in transaction. In the case of Apple Pay, this is a masked DPAN (device primary account number). title: Maskedaccount type_:Accounttype: type: string description: Bank account type or card brand. title: Accounttype type_:Accountexp: type: string description: Expiration date of card used in transaction. title: Accountexp type_:Holdername: type: string description: Account holder name for the method. title: Holdername type_:Sequence: type: string description: >- The order of the transaction for cardholder-initiated transaction (CIT) and merchant-initiated transaction (MIT) purposes. This field is automatically detected and populated by Payabli. Available values: - `first`: The first use of the payment method. This is almost always a cardholder-initiated transaction. - `subsequent`: For merchant-initiated transactions after the first use of the payment method. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Sequence type_:Signaturedata: type: string title: Signaturedata type_:BinData: type: object properties: binMatchedLength: type: string description: |- The number of characters from the beginning of the card number that were matched against a Bank Identification Number (BIN) or the Card Range table. binCardBrand: type: string description: |- The card brand. For example, Visa, Mastercard, American Express, Discover. binCardType: type: string description: 'The type of card: Credit or Debit.' binCardCategory: type: string description: >- The category of the card, which indicates the card product. For example: Standard, Gold, Platinum, etc. The binCardCategory for prepaid cards is marked `PREPAID`. binCardIssuer: type: string description: The name of the financial institution that issued the card. binCardIssuerCountry: type: string description: The issuing financial institution's country name. binCardIssuerCountryCodeA2: type: string description: >- The issuing financial institution's two-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIssuerCountryNumber: type: string description: >- The issuing financial institution's ISO standard numeric country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIsRegulated: type: string description: Indicates whether the card is regulated. binCardUseCategory: type: string description: The use category classification for the card. binCardIssuerCountryCodeA3: type: string description: >- The issuing financial institution's three-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. description: >- Object containing information related to the card. This object is `null` unless the payment method is card. If the payment method is Apple Pay, the binData will be related to the DPAN (device primary account number), not the card connected to Apple Pay. title: BinData type_moneyIn:TransactionDetailPaymentDetails: type: object properties: totalAmount: type: number format: double serviceFee: type: number format: double checkNumber: type: - string - 'null' checkImage: oneOf: - description: Any type - type: 'null' checkUniqueId: type: string currency: type: string orderDescription: oneOf: - $ref: '#/components/schemas/type_:Orderdescription' - type: 'null' orderId: oneOf: - $ref: '#/components/schemas/type_:OrderId' - type: 'null' orderIdAlternative: type: - string - 'null' paymentDescription: type: - string - 'null' groupNumber: type: - string - 'null' source: oneOf: - $ref: '#/components/schemas/type_:Source' - type: 'null' payabliTransId: type: - string - 'null' unbundled: oneOf: - description: Any type - type: 'null' categories: type: array items: description: Any type splitFunding: type: array items: description: Any type required: - totalAmount - serviceFee - checkNumber - checkImage - checkUniqueId - currency - orderDescription - orderId - orderIdAlternative - paymentDescription - groupNumber - source - payabliTransId - unbundled - categories - splitFunding description: Detailed breakdown of payment amounts and identifiers title: TransactionDetailPaymentDetails type_moneyIn:TransactionDetailPaymentData: type: object properties: maskedAccount: $ref: '#/components/schemas/type_:Maskedaccount' accountType: $ref: '#/components/schemas/type_:Accounttype' accountExp: oneOf: - $ref: '#/components/schemas/type_:Accountexp' - type: 'null' holderName: $ref: '#/components/schemas/type_:Holdername' storedId: oneOf: - $ref: '#/components/schemas/type_:Storedmethodid' - type: 'null' initiator: oneOf: - $ref: '#/components/schemas/type_:Initiator' - type: 'null' storedMethodUsageType: oneOf: - $ref: '#/components/schemas/type_:StoredMethodUsageType' - type: 'null' sequence: oneOf: - $ref: '#/components/schemas/type_:Sequence' - type: 'null' orderDescription: $ref: '#/components/schemas/type_:Orderdescription' accountId: oneOf: - $ref: '#/components/schemas/type_:Accountid' - type: 'null' signatureData: oneOf: - $ref: '#/components/schemas/type_:Signaturedata' - type: 'null' binData: oneOf: - $ref: '#/components/schemas/type_:BinData' - type: 'null' paymentDetails: $ref: '#/components/schemas/type_moneyIn:TransactionDetailPaymentDetails' required: - maskedAccount - accountType - accountExp - holderName - storedId - initiator - storedMethodUsageType - sequence - orderDescription - accountId - signatureData - binData - paymentDetails description: Payment method and transaction details title: TransactionDetailPaymentData type_:TransStatus: type: integer description: >- Status of transaction. See [the docs](/developers/references/money-in-statuses#money-in-transaction-status) for a full reference. title: TransStatus type_:PaypointId: type: integer format: int64 description: The paypoint's ID. Note that this is different than the entryname. title: PaypointId type_:FeeAmount: type: number format: double description: Service fee or sub-charge applied. title: FeeAmount type_:SettlementStatus: type: integer description: >- Settlement status for transaction. See [the docs](/developers/references/money-in-statuses#payment-funding-status) for a full reference. title: SettlementStatus type_:Operation: type: string description: The transaction's operation. title: Operation type_:ResultCodev2: type: string description: >- Unified result code for the transaction. See [Pay In unified response codes](/developers/references/pay-in-unified-response-codes-reference) for more information. title: ResultCodev2 type_:ResultCodeText: type: string description: >- Description of the result code. See [Pay In unified response codes](/developers/references/pay-in-unified-response-codes-reference) for more information. title: ResultCodeText type_:Resulttext: type: string description: >- Text describing the result. If `ResultCode` = 1, will return 'Approved' or a general success message. If `ResultCode`` = 2 or 3, will contain the cause of the error or decline. title: Resulttext type_:Authcode: type: string description: Authorization code for the transaction. title: Authcode type_:AvsResponse: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponse type_:AvsResponseText: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponseText type_:CvvResponse: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponse type_:CvvResponseText: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponseText type_:CustomerVaultId: type: string title: CustomerVaultId type_:EmvAuthResponseData: type: string description: EMV authorization response data, applicable for card transactions. title: EmvAuthResponseData type___v2moneyInTypes__:V2TransactionDetailResponseData: type: object properties: resultCode: $ref: '#/components/schemas/type_:ResultCodev2' resultCodeText: $ref: '#/components/schemas/type_:ResultCodeText' response: type: - string - 'null' responsetext: $ref: '#/components/schemas/type_:Resulttext' authcode: oneOf: - $ref: '#/components/schemas/type_:Authcode' - type: 'null' transactionid: type: string description: >- Unique identifier for the transaction assigned by the payment processor. avsresponse: oneOf: - $ref: '#/components/schemas/type_:AvsResponse' - type: 'null' avsresponse_text: oneOf: - $ref: '#/components/schemas/type_:AvsResponseText' - type: 'null' cvvresponse: oneOf: - $ref: '#/components/schemas/type_:CvvResponse' - type: 'null' cvvresponse_text: oneOf: - $ref: '#/components/schemas/type_:CvvResponseText' - type: 'null' orderid: oneOf: - $ref: '#/components/schemas/type_:OrderId' - type: 'null' type: type: - string - 'null' response_code: type: string description: Processor-specific response code. response_code_text: type: string description: Description of the response code. customer_vault_id: oneOf: - $ref: '#/components/schemas/type_:CustomerVaultId' - type: 'null' emv_auth_response_data: oneOf: - $ref: '#/components/schemas/type_:EmvAuthResponseData' - type: 'null' required: - resultCode - resultCodeText - response - responsetext - authcode - transactionid - avsresponse - avsresponse_text - cvvresponse - cvvresponse_text - orderid - type - response_code - response_code_text - customer_vault_id - emv_auth_response_data description: Response data from payment processor title: V2TransactionDetailResponseData type_:Orgid: type: integer format: int64 description: Organization ID. Unique identifier assigned to an org by Payabli. title: Orgid type_:RefundId: type: integer format: int64 description: Identifier of refund transaction linked to this payment. title: RefundId type_:ReturnedId: type: integer format: int64 description: Identifier of return/chargeback transaction linked to this payment. title: ReturnedId type_:ChargebackId: type: integer format: int64 description: Identifier of chargeback transaction title: ChargebackId type_:RetrievalId: type: integer format: int64 description: Identifier of retrieval request title: RetrievalId type_:AdditionalDataString: type: string description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. Example usage: ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalDataString type_moneyIn:TransactionDetailInvoiceData: type: object properties: invoiceNumber: oneOf: - $ref: '#/components/schemas/type_:InvoiceNumber' - type: 'null' invoiceDate: type: - string - 'null' format: date invoiceDueDate: type: - string - 'null' format: date invoiceEndDate: type: - string - 'null' format: date invoiceStatus: oneOf: - $ref: '#/components/schemas/type_:Invoicestatus' - type: 'null' invoiceType: oneOf: - $ref: '#/components/schemas/type_:InvoiceType' - type: 'null' frequency: oneOf: - $ref: '#/components/schemas/type_:Frequency' - type: 'null' paymentTerms: type: - string - 'null' termsConditions: oneOf: - $ref: '#/components/schemas/type_:TermsConditions' - type: 'null' notes: type: - string - 'null' tax: oneOf: - $ref: '#/components/schemas/type_:Tax' - type: 'null' discount: oneOf: - $ref: '#/components/schemas/type_:Discount' - type: 'null' invoiceAmount: oneOf: - $ref: '#/components/schemas/type_:InvoiceAmount' - type: 'null' freightAmount: oneOf: - $ref: '#/components/schemas/type_:FreightAmount' - type: 'null' dutyAmount: oneOf: - $ref: '#/components/schemas/type_:DutyAmount' - type: 'null' purchaseOrder: oneOf: - $ref: '#/components/schemas/type_:PurchaseOrder' - type: 'null' firstName: type: - string - 'null' lastName: type: - string - 'null' company: type: - string - 'null' shippingAddress1: oneOf: - $ref: '#/components/schemas/type_:Shippingaddress' - type: 'null' shippingAddress2: oneOf: - $ref: '#/components/schemas/type_:Shippingaddressadditional' - type: 'null' shippingCity: oneOf: - $ref: '#/components/schemas/type_:Shippingcity' - type: 'null' shippingState: oneOf: - $ref: '#/components/schemas/type_:Shippingstate' - type: 'null' shippingZip: oneOf: - $ref: '#/components/schemas/type_:Shippingzip' - type: 'null' shippingCountry: oneOf: - $ref: '#/components/schemas/type_:Shippingcountry' - type: 'null' shippingEmail: oneOf: - $ref: '#/components/schemas/type_:Email' - type: 'null' shippingPhone: type: - string - 'null' shippingFromZip: oneOf: - $ref: '#/components/schemas/type_:ShippingFromZip' - type: 'null' summaryCommodityCode: oneOf: - $ref: '#/components/schemas/type_:SummaryCommodityCode' - type: 'null' items: type: - array - 'null' items: $ref: '#/components/schemas/type_:BillItem' attachments: oneOf: - $ref: '#/components/schemas/type_:Attachments' - type: 'null' additionalData: oneOf: - $ref: '#/components/schemas/type_:AdditionalDataString' - type: 'null' required: - invoiceNumber - invoiceDate - invoiceDueDate - invoiceEndDate - invoiceStatus - invoiceType - frequency - paymentTerms - termsConditions - notes - tax - discount - invoiceAmount - freightAmount - dutyAmount - purchaseOrder - firstName - lastName - company - shippingAddress1 - shippingAddress2 - shippingCity - shippingState - shippingZip - shippingCountry - shippingEmail - shippingPhone - shippingFromZip - summaryCommodityCode - items - attachments - additionalData description: Invoice information if transaction is associated with an invoice title: TransactionDetailInvoiceData type_:EntrypageId: type: integer format: int64 description: >- If applicable, the internal reference ID to the payment page capturing the payment. title: EntrypageId type_:ExternalPaypointId: type: string description: >- A custom identifier for the paypoint, if applicable. Like `entrypoint` is the Payabli identifier for the merchant, `externalPaypointId` is a custom field you can use to include the merchant's ID from your own systems. title: ExternalPaypointId type_:CustomerStatus: type: integer description: |- Customer Status. Possible values: - `-99` Deleted - `0` Inactive - `1` Active - `85` Locked (typically due to multiple failed login attempts) title: CustomerStatus type_moneyIn:TransactionDetailCustomer: type: object properties: identifiers: oneOf: - $ref: '#/components/schemas/type_:Identifierfields' - type: 'null' firstName: type: string lastName: type: string companyName: type: string billingAddress1: $ref: '#/components/schemas/type_:BillingAddressNullable' billingAddress2: $ref: '#/components/schemas/type_:BillingAddressAddtlNullable' billingCity: $ref: '#/components/schemas/type_:BillingCityNullable' billingState: $ref: '#/components/schemas/type_:BillingStateNullable' billingZip: $ref: '#/components/schemas/type_:BillingZip' billingCountry: $ref: '#/components/schemas/type_:BillingCountryNullable' billingPhone: $ref: '#/components/schemas/type_:PhoneNumber' billingEmail: $ref: '#/components/schemas/type_:Email' customerNumber: $ref: '#/components/schemas/type_:CustomerNumberNullable' shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' customerId: $ref: '#/components/schemas/type_:CustomerId' customerStatus: $ref: '#/components/schemas/type_:CustomerStatus' additionalData: oneOf: - $ref: '#/components/schemas/type_:AdditionalDataString' - type: 'null' required: - identifiers - firstName - lastName - companyName - billingAddress1 - billingAddress2 - billingCity - billingState - billingZip - billingCountry - billingPhone - billingEmail - customerNumber - shippingAddress1 - shippingAddress2 - shippingCity - shippingState - shippingZip - shippingCountry - customerId - customerStatus - additionalData description: Customer information associated with the transaction title: TransactionDetailCustomer type_:TransactionTime: type: string format: date-time description: Timestamp when transaction was submitted, in UTC. title: TransactionTime type_:QueryCFeeTransaction: type: object properties: cFeeTransid: type: string feeAmount: type: number format: double operation: type: string refundId: type: integer format: int64 responseData: type: object additionalProperties: description: Any type settlementStatus: type: integer transactionTime: $ref: '#/components/schemas/type_:TransactionTime' transStatus: type: integer title: QueryCFeeTransaction type_moneyIn:TransactionDetailEvent: type: object properties: transEvent: type: string eventData: type: string eventTime: type: string required: - transEvent - eventData - eventTime description: Event associated with transaction processing title: TransactionDetailEvent type_:PendingFeeAmount: type: number format: double description: >- The difference between the configured pass-through fee and the fee amount sent in the request. When transferring funds, Payabli uses this field to deduct the fee difference and transfer the correct amount to the merchant. When a paypoint is set up to absorb fees, and the pass-through fee sent with the request is less than the configured amount, the difference must be covered by the merchant. See [Fee Configuration](/guides/pay-in-fees-passthrough-overview#fee-configuration) to learn more about pass-through fee settings. title: PendingFeeAmount type_:RiskFlagged: type: boolean description: Indicates if the transaction was flagged for risk title: RiskFlagged type_:RiskFlaggedOn: type: string format: date-time description: Timestamp when the transaction was flagged for risk title: RiskFlaggedOn type_:RiskStatus: type: string description: Current risk status of the transaction title: RiskStatus type_:RiskReason: type: string description: Reason for risk flagging title: RiskReason type_:RiskAction: type: string description: Action taken due to risk assessment title: RiskAction type_:RiskActionCode: type: integer description: Numeric code representing the risk action title: RiskActionCode type___v2moneyInTypes__:V2TransactionDetails: type: object properties: parentOrgName: $ref: '#/components/schemas/type_:OrgParentName' paypointDbaname: $ref: '#/components/schemas/type_:Dbaname' paypointLegalname: $ref: '#/components/schemas/type_:Legalname' paypointEntryname: $ref: '#/components/schemas/type_:Entrypointfield' paymentTransId: type: string description: Unique transaction identifier. connectorName: type: string description: Name of the payment connector used. externalProcessorInformation: $ref: '#/components/schemas/type_:ExternalProcessorInformation' gatewayTransId: type: string description: Gateway transaction identifier. orderId: oneOf: - $ref: '#/components/schemas/type_:OrderId' - type: 'null' method: type: string description: Payment method used for the transaction. batchNumber: $ref: '#/components/schemas/type_:BatchNumber' batchAmount: type: number format: double description: Total amount in the batch. payorId: $ref: '#/components/schemas/type_:PayorId' paymentData: $ref: '#/components/schemas/type_moneyIn:TransactionDetailPaymentData' transStatus: $ref: '#/components/schemas/type_:TransStatus' paypointId: $ref: '#/components/schemas/type_:PaypointId' totalAmount: type: number format: double description: Total transaction amount including fees. netAmount: type: number format: double description: Net transaction amount excluding fees. feeAmount: $ref: '#/components/schemas/type_:FeeAmount' settlementStatus: $ref: '#/components/schemas/type_:SettlementStatus' operation: $ref: '#/components/schemas/type_:Operation' responseData: $ref: >- #/components/schemas/type___v2moneyInTypes__:V2TransactionDetailResponseData source: $ref: '#/components/schemas/type_:Source' scheduleReference: type: integer format: int64 description: Reference to associated payment schedule if applicable. orgId: $ref: '#/components/schemas/type_:Orgid' refundId: $ref: '#/components/schemas/type_:RefundId' returnedId: $ref: '#/components/schemas/type_:ReturnedId' chargebackId: $ref: '#/components/schemas/type_:ChargebackId' retrievalId: $ref: '#/components/schemas/type_:RetrievalId' transAdditionalData: oneOf: - description: Any type - type: 'null' invoiceData: $ref: '#/components/schemas/type_moneyIn:TransactionDetailInvoiceData' entrypageId: $ref: '#/components/schemas/type_:EntrypageId' externalPaypointID: $ref: '#/components/schemas/type_:ExternalPaypointId' isValidatedACH: type: boolean description: Indicates if ACH account was validated in real-time. transactionTime: type: string description: Timestamp when transaction was created. customer: $ref: '#/components/schemas/type_moneyIn:TransactionDetailCustomer' splitFundingInstructions: oneOf: - $ref: '#/components/schemas/type_:SplitFunding' - type: 'null' cfeeTransactions: type: array items: $ref: '#/components/schemas/type_:QueryCFeeTransaction' transactionEvents: type: array items: $ref: '#/components/schemas/type_moneyIn:TransactionDetailEvent' pendingFeeAmount: $ref: '#/components/schemas/type_:PendingFeeAmount' riskFlagged: $ref: '#/components/schemas/type_:RiskFlagged' riskFlaggedOn: $ref: '#/components/schemas/type_:RiskFlaggedOn' riskStatus: $ref: '#/components/schemas/type_:RiskStatus' riskReason: $ref: '#/components/schemas/type_:RiskReason' riskAction: $ref: '#/components/schemas/type_:RiskAction' riskActionCode: $ref: '#/components/schemas/type_:RiskActionCode' deviceId: $ref: '#/components/schemas/type_:Device' achSecCode: $ref: '#/components/schemas/type_:AchSecCode' achHolderType: $ref: '#/components/schemas/type_:AchHolderType' ipAddress: $ref: '#/components/schemas/type_:IpAddress' isSameDayACH: type: boolean description: Indicates if ACH transaction uses same-day processing. walletType: type: - string - 'null' description: Digital wallet type if applicable. required: - parentOrgName - paypointDbaname - paypointLegalname - paypointEntryname - paymentTransId - connectorName - externalProcessorInformation - gatewayTransId - orderId - method - batchNumber - batchAmount - payorId - paymentData - transStatus - paypointId - totalAmount - netAmount - feeAmount - settlementStatus - operation - responseData - source - scheduleReference - orgId - refundId - returnedId - chargebackId - retrievalId - transAdditionalData - invoiceData - entrypageId - externalPaypointID - isValidatedACH - transactionTime - customer - splitFundingInstructions - cfeeTransactions - transactionEvents - riskStatus - riskReason - riskAction - deviceId - achSecCode - achHolderType - ipAddress - isSameDayACH - walletType description: >- Complete transaction details returned by v2 Money In endpoints. This matches the structure of the transaction details previously returned by the v1 details endpoint. title: V2TransactionDetails type___v2moneyInTypes__:V2TransactionResponseWrapper: type: object properties: code: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseCode' reason: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseReason' explanation: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseExplanation' action: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseAction' data: $ref: '#/components/schemas/type___v2moneyInTypes__:V2TransactionDetails' token: type: - string - 'null' description: >- Pagination token (equivalent to `pageIdentifier` in v1 APIs). Returns `null` when pagination is not applicable. required: - code - reason - explanation - action - data - token description: >- Standard response wrapper for v2 Money In transaction endpoints. All v2 transaction endpoints return responses in this format with consistent `code`, `reason`, `explanation`, and `action` fields. The `data` field contains transaction details. title: V2TransactionResponseWrapper type___v2moneyInTypes__:V2BadRequestErrorDetail: type: object properties: message: type: string description: Description of the validation error. suggestion: type: string description: Suggested action to fix the error. required: - message - suggestion description: Individual field error detail for bad request responses. title: V2BadRequestErrorDetail type___v2moneyInTypes__:V2BadRequestError: type: object properties: type: type: string description: >- A URI reference that identifies the problem type. Points to human-readable documentation for this error type. title: type: string description: Always "Bad Request" for 400 errors. status: type: integer description: HTTP status code, always 400 for bad requests. detail: type: string description: Short description of the error. instance: type: string description: Request URL that caused the error. code: type: string description: >- Payabli's unified response code for validation errors. Starts with 'E'. See [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for more information. errors: type: object additionalProperties: type: array items: $ref: >- #/components/schemas/type___v2moneyInTypes__:V2BadRequestErrorDetail description: >- Dictionary of field-specific validation errors. Keys are field paths (e.g., "paymentMethod.cardnumber") and values are arrays of error details. token: type: - string - 'null' description: >- Pagination token (equivalent to pageIdentifier in v1 APIs). Usually null for errors. required: - type - title - status - detail - instance - code - errors - token description: >- Bad request error response (HTTP 400) returned when request validation fails. Follows RFC 7807 Problem Details format with additional Payabli-specific fields. title: V2BadRequestError type___v2moneyInTypes__:V2DeclinedTransactionResponseWrapper: type: object properties: code: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseCode' reason: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseReason' explanation: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseExplanation' action: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseAction' data: $ref: '#/components/schemas/type___v2moneyInTypes__:V2TransactionDetails' token: type: - string - 'null' description: >- Pagination token (equivalent to `pageIdentifier` in v1 APIs). Returns `null` when pagination is not applicable. required: - code - reason - explanation - action - data - token description: >- Response wrapper for declined v2 Money In transaction endpoints (HTTP 402). Returned when a transaction is declined by the card network or issuer. All decline responses use this format with unified response codes starting with 'D'. The `data` field contains transaction details. title: V2DeclinedTransactionResponseWrapper type___v2moneyInTypes__:V2InternalServerError: type: object properties: title: type: string description: Always "Internal Server Error" for 500 errors. status: type: integer description: HTTP status code, always 500 for internal errors. detail: type: string description: Additional details about the internal error. instance: type: string description: Request URL that caused the error. required: - title - status - detail - instance description: >- Internal server error response (HTTP 500) returned when an unexpected error occurs. Follows RFC 7807 Problem Details format. title: V2InternalServerError securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript CardApproval import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.moneyIn.getpaidv2({ body: { paymentDetails: { totalAmount: 100, serviceFee: 0, }, paymentMethod: { cardcvv: "999", cardexp: "02/27", cardHolder: "John Cassian", cardnumber: "4111111111111111", cardzip: "12345", initiator: "payor", method: "card", }, customerData: { customerId: 4440, }, entryPoint: "f743aed24a", ipaddress: "255.255.255.255", }, }); } main(); ``` ```python CardApproval from payabli import payabli, PaymentDetail, PayMethodCredit, PayorDataRequest client = payabli( api_key="YOUR_API_KEY_HERE", ) client.money_in.getpaidv_2( payment_details=PaymentDetail( total_amount=100, service_fee=0, ), payment_method=PayMethodCredit( cardcvv="999", cardexp="02/27", card_holder="John Cassian", cardnumber="4111111111111111", cardzip="12345", initiator="payor", method="card", ), customer_data=PayorDataRequest( customer_id=4440, ), entry_point="f743aed24a", ipaddress="255.255.255.255", ) ``` ```csharp CardApproval using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.MoneyIn.Getpaidv2Async( new RequestPaymentV2 { Body = new TransRequestBody { PaymentDetails = new PaymentDetail { TotalAmount = 100, ServiceFee = 0 }, PaymentMethod = new PayMethodCredit { Cardcvv = "999", Cardexp = "02/27", CardHolder = "John Cassian", Cardnumber = "4111111111111111", Cardzip = "12345", Initiator = "payor", Method = "card" }, CustomerData = new PayorDataRequest { CustomerId = 4440L }, EntryPoint = "f743aed24a", Ipaddress = "255.255.255.255" } } ); } } ``` ```go CardApproval package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/v2/MoneyIn/getpaid" payload := strings.NewReader("{\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"cardcvv\": \"999\",\n \"cardexp\": \"02/27\",\n \"cardHolder\": \"John Cassian\",\n \"cardnumber\": \"4111111111111111\",\n \"cardzip\": \"12345\",\n \"initiator\": \"payor\",\n \"method\": \"card\"\n },\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"ipaddress\": \"255.255.255.255\"\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby CardApproval require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/v2/MoneyIn/getpaid") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"cardcvv\": \"999\",\n \"cardexp\": \"02/27\",\n \"cardHolder\": \"John Cassian\",\n \"cardnumber\": \"4111111111111111\",\n \"cardzip\": \"12345\",\n \"initiator\": \"payor\",\n \"method\": \"card\"\n },\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"ipaddress\": \"255.255.255.255\"\n}" response = http.request(request) puts response.read_body ``` ```java CardApproval import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/v2/MoneyIn/getpaid") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"cardcvv\": \"999\",\n \"cardexp\": \"02/27\",\n \"cardHolder\": \"John Cassian\",\n \"cardnumber\": \"4111111111111111\",\n \"cardzip\": \"12345\",\n \"initiator\": \"payor\",\n \"method\": \"card\"\n },\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"ipaddress\": \"255.255.255.255\"\n}") .asString(); ``` ```php CardApproval request('POST', 'https://api-sandbox.payabli.com/api/v2/MoneyIn/getpaid', [ 'body' => '{ "paymentDetails": { "totalAmount": 100, "serviceFee": 0 }, "paymentMethod": { "cardcvv": "999", "cardexp": "02/27", "cardHolder": "John Cassian", "cardnumber": "4111111111111111", "cardzip": "12345", "initiator": "payor", "method": "card" }, "customerData": { "customerId": 4440 }, "entryPoint": "f743aed24a", "ipaddress": "255.255.255.255" }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift CardApproval import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "paymentDetails": [ "totalAmount": 100, "serviceFee": 0 ], "paymentMethod": [ "cardcvv": "999", "cardexp": "02/27", "cardHolder": "John Cassian", "cardnumber": "4111111111111111", "cardzip": "12345", "initiator": "payor", "method": "card" ], "customerData": ["customerId": 4440], "entryPoint": "f743aed24a", "ipaddress": "255.255.255.255" ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/v2/MoneyIn/getpaid")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ```typescript StoredMethodApproval import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.moneyIn.getpaidv2({ body: { paymentDetails: { totalAmount: 100, serviceFee: 0, }, paymentMethod: { initiator: "payor", method: "card", }, customerData: { customerId: 4440, }, entryPoint: "f743aed24a", ipaddress: "255.255.255.255", }, }); } main(); ``` ```python StoredMethodApproval from payabli import payabli, PaymentDetail, PayMethodCredit, PayorDataRequest client = payabli( api_key="YOUR_API_KEY_HERE", ) client.money_in.getpaidv_2( payment_details=PaymentDetail( total_amount=100, service_fee=0, ), payment_method=PayMethodCredit( initiator="payor", method="card", ), customer_data=PayorDataRequest( customer_id=4440, ), entry_point="f743aed24a", ipaddress="255.255.255.255", ) ``` ```csharp StoredMethodApproval using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.MoneyIn.Getpaidv2Async( new RequestPaymentV2 { Body = new TransRequestBody { PaymentDetails = new PaymentDetail { TotalAmount = 100, ServiceFee = 0 }, PaymentMethod = new PayMethodCredit { Initiator = "payor", Method = "card" }, CustomerData = new PayorDataRequest { CustomerId = 4440L }, EntryPoint = "f743aed24a", Ipaddress = "255.255.255.255" } } ); } } ``` ```go StoredMethodApproval package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/v2/MoneyIn/getpaid" payload := strings.NewReader("{\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"initiator\": \"payor\",\n \"method\": \"card\",\n \"storedMethodId\": \"1ec55af9-7b5a-4ff0-81ed-c12d2f95e135-4440\",\n \"storedMethodUsageType\": \"unscheduled\"\n },\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"ipaddress\": \"255.255.255.255\"\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby StoredMethodApproval require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/v2/MoneyIn/getpaid") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"initiator\": \"payor\",\n \"method\": \"card\",\n \"storedMethodId\": \"1ec55af9-7b5a-4ff0-81ed-c12d2f95e135-4440\",\n \"storedMethodUsageType\": \"unscheduled\"\n },\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"ipaddress\": \"255.255.255.255\"\n}" response = http.request(request) puts response.read_body ``` ```java StoredMethodApproval import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/v2/MoneyIn/getpaid") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"initiator\": \"payor\",\n \"method\": \"card\",\n \"storedMethodId\": \"1ec55af9-7b5a-4ff0-81ed-c12d2f95e135-4440\",\n \"storedMethodUsageType\": \"unscheduled\"\n },\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"ipaddress\": \"255.255.255.255\"\n}") .asString(); ``` ```php StoredMethodApproval request('POST', 'https://api-sandbox.payabli.com/api/v2/MoneyIn/getpaid', [ 'body' => '{ "paymentDetails": { "totalAmount": 100, "serviceFee": 0 }, "paymentMethod": { "initiator": "payor", "method": "card", "storedMethodId": "1ec55af9-7b5a-4ff0-81ed-c12d2f95e135-4440", "storedMethodUsageType": "unscheduled" }, "customerData": { "customerId": 4440 }, "entryPoint": "f743aed24a", "ipaddress": "255.255.255.255" }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift StoredMethodApproval import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "paymentDetails": [ "totalAmount": 100, "serviceFee": 0 ], "paymentMethod": [ "initiator": "payor", "method": "card", "storedMethodId": "1ec55af9-7b5a-4ff0-81ed-c12d2f95e135-4440", "storedMethodUsageType": "unscheduled" ], "customerData": ["customerId": 4440], "entryPoint": "f743aed24a", "ipaddress": "255.255.255.255" ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/v2/MoneyIn/getpaid")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ```typescript ACHApproval import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.moneyIn.getpaidv2({ body: { paymentDetails: { totalAmount: 100, serviceFee: 0, }, paymentMethod: { method: "ach", }, customerData: { customerId: 4440, }, entryPoint: "f743aed24a", ipaddress: "255.255.255.255", }, }); } main(); ``` ```python ACHApproval from payabli import payabli, PaymentDetail, PayMethodCredit, PayorDataRequest client = payabli( api_key="YOUR_API_KEY_HERE", ) client.money_in.getpaidv_2( payment_details=PaymentDetail( total_amount=100, service_fee=0, ), payment_method=PayMethodCredit( method="ach", ), customer_data=PayorDataRequest( customer_id=4440, ), entry_point="f743aed24a", ipaddress="255.255.255.255", ) ``` ```csharp ACHApproval using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.MoneyIn.Getpaidv2Async( new RequestPaymentV2 { Body = new TransRequestBody { PaymentDetails = new PaymentDetail { TotalAmount = 100, ServiceFee = 0 }, PaymentMethod = new PayMethodCredit { Method = "ach" }, CustomerData = new PayorDataRequest { CustomerId = 4440L }, EntryPoint = "f743aed24a", Ipaddress = "255.255.255.255" } } ); } } ``` ```go ACHApproval package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/v2/MoneyIn/getpaid" payload := strings.NewReader("{\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"achAccount\": \"123123123\",\n \"achAccountType\": \"Checking\",\n \"achCode\": \"WEB\",\n \"achHolder\": \"John Cassian\",\n \"achHolderType\": \"personal\",\n \"achRouting\": \"123123123\",\n \"method\": \"ach\"\n },\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"ipaddress\": \"255.255.255.255\"\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby ACHApproval require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/v2/MoneyIn/getpaid") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"achAccount\": \"123123123\",\n \"achAccountType\": \"Checking\",\n \"achCode\": \"WEB\",\n \"achHolder\": \"John Cassian\",\n \"achHolderType\": \"personal\",\n \"achRouting\": \"123123123\",\n \"method\": \"ach\"\n },\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"ipaddress\": \"255.255.255.255\"\n}" response = http.request(request) puts response.read_body ``` ```java ACHApproval import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/v2/MoneyIn/getpaid") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"achAccount\": \"123123123\",\n \"achAccountType\": \"Checking\",\n \"achCode\": \"WEB\",\n \"achHolder\": \"John Cassian\",\n \"achHolderType\": \"personal\",\n \"achRouting\": \"123123123\",\n \"method\": \"ach\"\n },\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"ipaddress\": \"255.255.255.255\"\n}") .asString(); ``` ```php ACHApproval request('POST', 'https://api-sandbox.payabli.com/api/v2/MoneyIn/getpaid', [ 'body' => '{ "paymentDetails": { "totalAmount": 100, "serviceFee": 0 }, "paymentMethod": { "achAccount": "123123123", "achAccountType": "Checking", "achCode": "WEB", "achHolder": "John Cassian", "achHolderType": "personal", "achRouting": "123123123", "method": "ach" }, "customerData": { "customerId": 4440 }, "entryPoint": "f743aed24a", "ipaddress": "255.255.255.255" }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift ACHApproval import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "paymentDetails": [ "totalAmount": 100, "serviceFee": 0 ], "paymentMethod": [ "achAccount": "123123123", "achAccountType": "Checking", "achCode": "WEB", "achHolder": "John Cassian", "achHolderType": "personal", "achRouting": "123123123", "method": "ach" ], "customerData": ["customerId": 4440], "entryPoint": "f743aed24a", "ipaddress": "255.255.255.255" ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/v2/MoneyIn/getpaid")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ```typescript CloudApproval import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.moneyIn.getpaidv2({ body: { paymentDetails: { totalAmount: 100, serviceFee: 0, }, paymentMethod: { method: "cloud", saveIfSuccess: true, }, customerData: { customerId: 4440, }, entryPoint: "f743aed24a", ipaddress: "255.255.255.255", }, }); } main(); ``` ```python CloudApproval from payabli import payabli, PaymentDetail, PayMethodCredit, PayorDataRequest client = payabli( api_key="YOUR_API_KEY_HERE", ) client.money_in.getpaidv_2( payment_details=PaymentDetail( total_amount=100, service_fee=0, ), payment_method=PayMethodCredit( method="cloud", save_if_success=True, ), customer_data=PayorDataRequest( customer_id=4440, ), entry_point="f743aed24a", ipaddress="255.255.255.255", ) ``` ```csharp CloudApproval using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.MoneyIn.Getpaidv2Async( new RequestPaymentV2 { Body = new TransRequestBody { PaymentDetails = new PaymentDetail { TotalAmount = 100, ServiceFee = 0 }, PaymentMethod = new PayMethodCredit { Method = "cloud", SaveIfSuccess = true }, CustomerData = new PayorDataRequest { CustomerId = 4440L }, EntryPoint = "f743aed24a", Ipaddress = "255.255.255.255" } } ); } } ``` ```go CloudApproval package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/v2/MoneyIn/getpaid" payload := strings.NewReader("{\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"device\": \"6c361c7d-674c-44cc-b790-382b75d1xxx\",\n \"method\": \"cloud\",\n \"saveIfSuccess\": true\n },\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"ipaddress\": \"255.255.255.255\"\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby CloudApproval require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/v2/MoneyIn/getpaid") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"device\": \"6c361c7d-674c-44cc-b790-382b75d1xxx\",\n \"method\": \"cloud\",\n \"saveIfSuccess\": true\n },\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"ipaddress\": \"255.255.255.255\"\n}" response = http.request(request) puts response.read_body ``` ```java CloudApproval import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/v2/MoneyIn/getpaid") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"device\": \"6c361c7d-674c-44cc-b790-382b75d1xxx\",\n \"method\": \"cloud\",\n \"saveIfSuccess\": true\n },\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"ipaddress\": \"255.255.255.255\"\n}") .asString(); ``` ```php CloudApproval request('POST', 'https://api-sandbox.payabli.com/api/v2/MoneyIn/getpaid', [ 'body' => '{ "paymentDetails": { "totalAmount": 100, "serviceFee": 0 }, "paymentMethod": { "device": "6c361c7d-674c-44cc-b790-382b75d1xxx", "method": "cloud", "saveIfSuccess": true }, "customerData": { "customerId": 4440 }, "entryPoint": "f743aed24a", "ipaddress": "255.255.255.255" }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift CloudApproval import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "paymentDetails": [ "totalAmount": 100, "serviceFee": 0 ], "paymentMethod": [ "device": "6c361c7d-674c-44cc-b790-382b75d1xxx", "method": "cloud", "saveIfSuccess": true ], "customerData": ["customerId": 4440], "entryPoint": "f743aed24a", "ipaddress": "255.255.255.255" ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/v2/MoneyIn/getpaid")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Authorize transaction POST https://api-sandbox.payabli.com/api/v2/MoneyIn/authorize Content-Type: application/json Authorize a card transaction. This returns an authorization code and reserves funds for the merchant. Authorized transactions aren't flagged for settlement until captured. This is the v2 version of the `api/MoneyIn/authorize` endpoint, and returns the unified response format. See [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for more information. **Note**: Only card transactions can be authorized. This endpoint can't be used for ACH transactions. Reference: https://docs.payabli.com/developers/api-reference/moneyinV2/authorize-a-transaction ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /v2/MoneyIn/authorize: post: operationId: authorizev-2 summary: Authorize card transaction (v2) description: >- Authorize a card transaction. This returns an authorization code and reserves funds for the merchant. Authorized transactions aren't flagged for settlement until captured. This is the v2 version of the `api/MoneyIn/authorize` endpoint, and returns the unified response format. See [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for more information. **Note**: Only card transactions can be authorized. This endpoint can't be used for ACH transactions. tags: - subpackage_moneyIn parameters: - name: forceCustomerCreation in: query required: false schema: $ref: '#/components/schemas/type_:ForceCustomerCreation' - name: requestToken in: header required: true schema: type: string - name: idempotencyKey in: header required: false schema: $ref: '#/components/schemas/type_:IdempotencyKey' responses: '201': description: Ok content: application/json: schema: $ref: >- #/components/schemas/type___v2moneyInTypes__:V2TransactionResponseWrapper '400': description: >- Bad request error for v2 Money In auth endpoint (HTTP 400). Returned when request validation fails. Follows RFC 7807 Problem Details format with Payabli-specific unified response codes. See the [Pay In unified response codes reference](/developers/references/pay-in-unified-response-codes-reference) for the complete list of codes. content: application/json: schema: $ref: '#/components/schemas/type___v2moneyInTypes__:V2BadRequestError' '401': description: Unauthorized request. content: application/json: schema: description: Any type '402': description: >- Auth or sale decline error for v2 Money In endpoints (HTTP 402). Returned when an authorization or sale operation is declined for a transaction. Uses unified response codes starting with 'D'. See the [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for the complete list of codes. content: application/json: schema: $ref: >- #/components/schemas/type___v2moneyInTypes__:V2DeclinedTransactionResponseWrapper '500': description: >- Internal server error for v2 Money In endpoints (HTTP 500). Returned when an unexpected error occurs. Follows RFC 7807 Problem Details format. content: application/json: schema: $ref: >- #/components/schemas/type___v2moneyInTypes__:V2InternalServerError requestBody: content: application/json: schema: $ref: '#/components/schemas/type_moneyIn:TransRequestBody' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:ForceCustomerCreation: type: boolean description: >- When `true`, the request creates a new customer record, regardless of whether customer identifiers match an existing customer. Defaults to `false`. title: ForceCustomerCreation type_:IdempotencyKey: type: string description: >- _Optional but recommended_ A unique ID that you can include to prevent duplicating objects or transactions in the case that a request is sent more than once. This key isn't generated in Payabli, you must generate it yourself. This key persists for 2 minutes. After 2 minutes, you can reuse the key if needed. title: IdempotencyKey type_:Accountid: type: string description: Custom identifier for payment connector. title: Accountid type_:AdditionalData: type: object additionalProperties: type: object additionalProperties: description: Any type description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. If you are using [custom identifiers](/developers/developer-guides/entities-customers), pass those in this object. Max length for a value is 100 characters. Example usage: ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalData type_:BillingAddressNullable: type: string description: Billing address. title: BillingAddressNullable type_:BillingAddressAddtlNullable: type: string description: Additional line for the billing address. title: BillingAddressAddtlNullable type_:BillingCityNullable: type: string description: Billing city. title: BillingCityNullable type_:BillingCountryNullable: type: string description: Billing address country. title: BillingCountryNullable type_:Email: type: string format: email description: Email address. title: Email type_:PhoneNumber: type: string description: Phone number. title: PhoneNumber type_:BillingStateNullable: type: string description: Billing state. Must be 2-letter state code for address in US. title: BillingStateNullable type_:BillingZip: type: string description: Billing address ZIP code. title: BillingZip type_:CustomerId: type: integer format: int64 description: The Payabli-generated unique ID for the customer. title: CustomerId type_:CustomerNumberNullable: type: string description: >- User-provided unique identifier for the customer. This is typically the customer ID from your own system. title: CustomerNumberNullable type_:Identifierfields: type: array items: type: string description: >- List of fields acting as customer identifiers, to be used instead of CustomerNumber. title: Identifierfields type_:Shippingaddress: type: string description: The shipping address. title: Shippingaddress type_:Shippingaddressadditional: type: string description: Additional line for shipping address. title: Shippingaddressadditional type_:Shippingcity: type: string description: Shipping city. title: Shippingcity type_:Shippingcountry: type: string description: Shipping address country. title: Shippingcountry type_:Shippingstate: type: string description: Shipping state or province. title: Shippingstate type_:Shippingzip: type: string description: >- Shipping ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". title: Shippingzip type_:PayorDataRequest: type: object properties: additionalData: $ref: '#/components/schemas/type_:AdditionalData' billingAddress1: $ref: '#/components/schemas/type_:BillingAddressNullable' billingAddress2: $ref: '#/components/schemas/type_:BillingAddressAddtlNullable' billingCity: $ref: '#/components/schemas/type_:BillingCityNullable' billingCountry: $ref: '#/components/schemas/type_:BillingCountryNullable' billingEmail: $ref: '#/components/schemas/type_:Email' billingPhone: $ref: '#/components/schemas/type_:PhoneNumber' billingState: $ref: '#/components/schemas/type_:BillingStateNullable' billingZip: $ref: '#/components/schemas/type_:BillingZip' description: >- Customer's billing ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". company: type: string description: Customer's company name. customerId: $ref: '#/components/schemas/type_:CustomerId' customerNumber: $ref: '#/components/schemas/type_:CustomerNumberNullable' firstName: type: string description: Customer/Payor first name. identifierFields: $ref: '#/components/schemas/type_:Identifierfields' lastName: type: string description: Customer/Payor last name. shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' description: >- Customer information. May be required, depending on the paypoint's settings. Required for subscriptions. title: PayorDataRequest type_:Entrypointfield: type: string description: The entrypoint identifier. title: Entrypointfield type_:AdditionalDataMap: type: object additionalProperties: type: string description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalDataMap type_:FileContentFtype: type: string enum: - pdf - doc - docx - jpg - jpeg - png - gif - txt description: The MIME type of the file (if content is provided) title: FileContentFtype type_:FileContent: type: object properties: fContent: type: string description: >- Content of file, Base64-encoded. Ignored if furl is specified. Max upload size is 30 MB. filename: type: string description: The name of the attached file. ftype: $ref: '#/components/schemas/type_:FileContentFtype' description: The MIME type of the file (if content is provided) furl: type: string description: Optional URL provided to show or download the file remotely description: Contains details about a file. Max upload size is 30 MB. title: FileContent type_:Attachments: type: array items: $ref: '#/components/schemas/type_:FileContent' description: >- Array of `fileContent` objects with attached documents. Max upload size is 30 MB. title: Attachments type_:Discount: type: number format: double description: Discount applied to the invoice. title: Discount type_:DutyAmount: type: number format: double description: Duty amount. title: DutyAmount type_:FreightAmount: type: number format: double description: Freight/shipping amount. title: FreightAmount type_:Frequency: type: string enum: - onetime - weekly - every2weeks - every6months - monthly - every3months - annually description: Frequency for operation. title: Frequency type_:InvoiceAmount: type: number format: double description: Invoice total amount. title: InvoiceAmount type_:InvoiceNumber: type: string description: >- Custom number identifying the bill or invoice. Must be unique in paypoint. title: InvoiceNumber type_:Invoicestatus: type: integer description: |- Status for invoice. The accepted status values are: - 0 draft - 1 active - 2 partially paid - 4 paid/complete - 99 cancelled title: Invoicestatus type_:InvoiceType: type: integer description: Type of invoice. Only `0` for one-time invoices is currently supported. title: InvoiceType type_:ItemCommodityCode: type: string description: Item or product commodity code. Max length of 250 characters. title: ItemCommodityCode type_:ItemDescription: type: string description: Item or product description. Max length of 250 characters. title: ItemDescription type_:ItemProductCode: type: string description: Item or product code. Max length of 250 characters. title: ItemProductCode type_:ItemProductName: type: string description: Item or product name. Max length of 250 characters. title: ItemProductName type_:ItemUnitofMeasure: type: string description: Unit of measurement. Max length of 100 characters. title: ItemUnitofMeasure type_:BillItem: type: object properties: itemCategories: type: array items: type: string description: Array of tags classifying item or product. itemCommodityCode: $ref: '#/components/schemas/type_:ItemCommodityCode' itemCost: type: number format: double description: Item or product price per unit. itemDescription: $ref: '#/components/schemas/type_:ItemDescription' itemMode: type: integer description: >- Internal class of item or product: value '0' is only for invoices , '1' for bills and, '2' common for both. itemProductCode: $ref: '#/components/schemas/type_:ItemProductCode' itemProductName: $ref: '#/components/schemas/type_:ItemProductName' itemQty: type: integer description: Quantity of item or product. itemTaxAmount: type: number format: double description: Tax amount applied to item or product. itemTaxRate: type: number format: double description: Tax rate applied to item or product. itemTotalAmount: type: number format: double description: Total amount in item or product. itemUnitOfMeasure: $ref: '#/components/schemas/type_:ItemUnitofMeasure' required: - itemCost title: BillItem type_:BillDataPaymentTerms: type: string enum: - PIA - CIA - UR - NET10 - NET20 - NET30 - NET45 - NET60 - NET90 - EOM - MFI - 5MFI - 10MFI - 15MFI - 20MFI - 2/10NET30 - UF - 10UF - 20UF - 25UF - 50UF description: >- Payment terms for invoice. If no terms are defined, then response data for this field defaults to `NET30`. **Available Values:** - `PIA`: Payment in advance - `CIA`: Cash in advance - `UR`: Upon receipt - `NET10`: 10 days after invoice date - `NET20`: 20 days after invoice date - `NET30`: 30 days after invoice date - `NET45`: 45 days after invoice date - `NET60`: 60 days after invoice date - `NET90`: 90 days after invoice date - `EOM`: Due end of this month - `MFI`: 1st of the month following the invoice date - `5MFI`: 5th of the month following the invoice date - `10MFI`: 10th of the month following the invoice date - `15MFI`: 15th of the month following the invoice date - `20MFI`: 20th of the month following the invoice date - `2/10NET30`: 2% discount if paid within 10 days, otherwise net 30 days - `UF`: Until further notice - `10UF`: 10 days until further notice - `20UF`: 20 days until further notice - `25UF`: 25 days until further notice - `50UF`: 50 days until further notice title: BillDataPaymentTerms type_:PurchaseOrder: type: string description: Purchase order number. title: PurchaseOrder type_:ShippingFromZip: type: string description: Sender shipping ZIP code. title: ShippingFromZip type_:SummaryCommodityCode: type: string description: Commodity code. title: SummaryCommodityCode type_:Tax: type: number format: double description: Tax rate in percent applied to the invoice. title: Tax type_:TermsConditions: type: string description: Custom terms and conditions included in the invoice. title: TermsConditions type_:BillData: type: object properties: AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' attachments: $ref: '#/components/schemas/type_:Attachments' company: type: string description: Company name of the recipient of the invoice. discount: $ref: '#/components/schemas/type_:Discount' dutyAmount: $ref: '#/components/schemas/type_:DutyAmount' firstName: type: string description: First name of the recipient of the invoice. freightAmount: $ref: '#/components/schemas/type_:FreightAmount' frequency: $ref: '#/components/schemas/type_:Frequency' description: Frequency of scheduled invoice. invoiceAmount: $ref: '#/components/schemas/type_:InvoiceAmount' invoiceDate: type: string format: date description: 'Invoice date in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY.' invoiceDueDate: type: string format: date description: >- Invoice due date in one of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceEndDate: type: string format: date description: >- Indicate the date to finish a scheduled invoice cycle (`invoiceType`` = 1) in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceNumber: $ref: '#/components/schemas/type_:InvoiceNumber' description: Invoice number. Identifies the invoice under a paypoint. invoiceStatus: $ref: '#/components/schemas/type_:Invoicestatus' invoiceType: $ref: '#/components/schemas/type_:InvoiceType' items: type: array items: $ref: '#/components/schemas/type_:BillItem' description: Array of line items included in the invoice. lastName: type: string description: Last name of the recipient of the invoice. notes: type: string description: Notes included in the invoice. paymentTerms: $ref: '#/components/schemas/type_:BillDataPaymentTerms' purchaseOrder: $ref: '#/components/schemas/type_:PurchaseOrder' shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' shippingEmail: $ref: '#/components/schemas/type_:Email' description: Shipping recipient's contact email address. shippingFromZip: $ref: '#/components/schemas/type_:ShippingFromZip' shippingPhone: type: string description: Recipient phone number. shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' summaryCommodityCode: $ref: '#/components/schemas/type_:SummaryCommodityCode' tax: $ref: '#/components/schemas/type_:Tax' termsConditions: $ref: '#/components/schemas/type_:TermsConditions' title: BillData type_:IpAddress: type: string description: >- *Recommended*. The customer's IP address. This field is used to help prevent fraudulent transactions, and Payabli strongly recommends including this data. title: IpAddress type_:Orderdescription: type: string description: Text description of the transaction. title: Orderdescription type_:OrderId: type: string description: Custom identifier for the transaction. title: OrderId type_:PaymentCategories: type: object properties: amount: type: number format: double description: Price/cost per unit of item or category. description: type: string description: Description of item or category label: type: string description: Name of item or category. qty: type: integer default: 1 description: Quantity of item or category required: - amount - label title: PaymentCategories type_:SplitFundingContent: type: object properties: accountId: type: string description: The accountId for the account the split should be sent to. amount: type: number format: double description: Amount from the transaction to sent to this recipient. description: type: string description: A description for the split. recipientEntryPoint: type: string description: The entrypoint the split should be sent to. title: SplitFundingContent type_:SplitFunding: type: array items: $ref: '#/components/schemas/type_:SplitFundingContent' description: >- Split funding instructions for the transaction. The total amount of the splits must match the total amount of the transaction. title: SplitFunding type_:PaymentDetail: type: object properties: categories: type: array items: $ref: '#/components/schemas/type_:PaymentCategories' description: >- Array of payment categories/line items describing the amount to be paid. **Note**: These categories are for information only and aren't validated against the total amount provided. checkImage: type: object additionalProperties: description: Any type description: Object containing image of paper check. checkNumber: type: string description: >- A check number to be used in the ach transaction. **Required** for payment method = 'check'. currency: type: string description: >- The currency for the transaction, `USD` or `CAD`. If your paypoint is configured for CAD, you must send the `CAD` value in this field, otherwise it defaults to USD, which will cause the transaction to fail. serviceFee: type: number format: double description: >- Service fee to be deducted from the total amount. This amount must be a number, percentages aren't accepted. If you are using a percentage-based fee schedule, you must calculate the value manually. splitFunding: $ref: '#/components/schemas/type_:SplitFunding' description: >- Split funding instructions for the transaction. See [Split a Transaction](/developers/developer-guides/money-in-split-funding) for more. checkUniqueId: type: string description: >- Unique identifier for a processed check image. Required for RDC (Remote Deposit Capture) transactions where `achCode` is `BOC`. Use the `id` value from the [check processing](/developers/api-reference/moneyin/check-capture) response. totalAmount: type: number format: double description: >- Total amount to be charged. If a service fee is sent, then this amount should include the service fee." required: - totalAmount description: Details about the payment. title: PaymentDetail type_:Cardcvv: type: string description: >- Card Verification Value (CVV) associated with the card number. We **strongly recommend** that you include this field when using `card` as a method. title: Cardcvv type_:Cardexp: type: string description: >- Card expiration date in format MMYY or MM/YY. Required for card transactions. title: Cardexp type_:Cardholder: type: string description: Cardholder name. title: Cardholder type_:Cardnumber: type: string description: >- The card number. Required when method is `card` and a `storedMethodId` isn't included. title: Cardnumber type_:Cardzip: type: string description: >- ZIP or postal code for the billing address of cardholder. We **strongly recommend** that you include this field when using `card` as a method. title: Cardzip type_:Initiator: type: string description: >- **Strongly recommended** The cardholder-initiated transaction (CIT) or merchant-initiated transaction (MIT) indicator for the transaction. If you don't specify a value, Payabli defaults to `merchant`. Available values: - `payor`: For cardholder-initiated transactions - `merchant`: For merchant-initiated transactions See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Initiator type_:SaveIfSuccess: type: boolean description: >- When `true`, Payabli saves the payment method if the transaction is successful. The payment method ID is returned in the response as `methodReferenceId`. Defaults to `false`. title: SaveIfSuccess type_:PayMethodCredit: type: object properties: cardcvv: $ref: '#/components/schemas/type_:Cardcvv' cardexp: $ref: '#/components/schemas/type_:Cardexp' cardHolder: $ref: '#/components/schemas/type_:Cardholder' cardnumber: $ref: '#/components/schemas/type_:Cardnumber' cardzip: $ref: '#/components/schemas/type_:Cardzip' initiator: $ref: '#/components/schemas/type_:Initiator' method: type: string enum: - card description: >- Method to use for the transaction. For transactions with a credit or debit card, or a tokenized card, use `card`. saveIfSuccess: $ref: '#/components/schemas/type_:SaveIfSuccess' required: - cardexp - cardnumber - method title: PayMethodCredit type_:Achaccount: type: string description: Bank account number. title: Achaccount type_:Achaccounttype: type: string enum: - Checking - Savings description: 'Bank account type: Checking or Savings.' title: Achaccounttype type_:AchSecCode: type: string description: >- Standard Entry Class (SEC) code is a three letter code that describes how an ACH payment was authorized. Supported values are: - PPD (Prearranged Payment and Deposit) - Used for credits or debits where an accountholder authorizes a company to initiate either a single or recurring transaction to their personal bank account. Common examples include direct deposit of payroll, mortgage payments, or utility bills. This is the default value for subscription payments. - WEB (Internet-Initiated/Mobile Entry) - Used for debit entries when authorization is obtained from an accountholder via the internet or a wireless network. Common examples are online bill payments, ecommerce purchases, and mobile app payments where the consumer enters their banking information online. - TEL (Telephone-Initiated Entry) - Used for one-time debit entries where authorization is obtained from a consumer via telephone. Common examples are phone-based purchases or bill payments where the consumer provides their banking information over the phone. - CCD (Corporate Credit or Debit) - Used for fund transfers between business accounts. This code is specifically for business-to-business transactions. Common examples include vendor payments and other business-to-business payments. - BOC (Back Office Conversion) - Used to convert paper checks received in-person at a point-of-sale or staffed payment location into electronic ACH debits. Required for Remote Deposit Capture (RDC) transactions. Only supports consumer checks; business, government, and mailed checks aren't eligible. title: AchSecCode type_:AchHolder: type: string description: >- Bank account holder. This field is **required** when `method` is `ach` or `check`. title: AchHolder type_:AchHolderType: type: string enum: - personal - business default: personal description: 'The bank''s accountholder type: personal or business.' title: AchHolderType type_:Achrouting: type: string description: ABA/routing number of Bank account. title: Achrouting type_:Device: type: string description: Identifier of registered cloud device used in the transaction. title: Device type_:PayMethodACH: type: object properties: achAccount: $ref: '#/components/schemas/type_:Achaccount' description: Bank account number. This field is **required** when method = 'ach'. achAccountType: $ref: '#/components/schemas/type_:Achaccounttype' description: Bank account type. This field is **required** when method = 'ach'. achCode: $ref: '#/components/schemas/type_:AchSecCode' achHolder: $ref: '#/components/schemas/type_:AchHolder' achHolderType: $ref: '#/components/schemas/type_:AchHolderType' achRouting: $ref: '#/components/schemas/type_:Achrouting' description: >- ABA/routing number of bank account. This field is **required** when method = 'ach'. device: $ref: '#/components/schemas/type_:Device' method: type: string enum: - ach required: - achAccount - achHolder - achRouting - method title: PayMethodACH type_:PayMethodStoredMethodMethod: type: string enum: - card - ach description: >- Method to use for the transaction. Use either `card` or `ach`, depending on what kind of method was tokenized to use a saved payment method for this transaction. title: PayMethodStoredMethodMethod type_:Storedmethodid: type: string description: >- Payabli identifier of a tokenized payment method. If this field is used in a request, the `method` field is overridden and the payment is made using the payment token. title: Storedmethodid type_:StoredMethodUsageType: type: string description: >- **Strongly recommended** The usage type for the stored method, used for merchant-initiated transactions (MIT). If you don't specify a value, Payabli defaults to `unscheduled`. Available values: - `unscheduled`: This type is used for transactions that are one-time or otherwise not pre-scheduled. - `subscription`: This type is used for subscription payments. For example, monthly rental fees or ongoing service subscriptions. - `recurring`: This type is used for recurring payments that occur per a set plan. For example, splitting an HOA special assessment over 6 monthly payments. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: StoredMethodUsageType type_:PayMethodStoredMethod: type: object properties: initiator: $ref: '#/components/schemas/type_:Initiator' method: $ref: '#/components/schemas/type_:PayMethodStoredMethodMethod' description: >- Method to use for the transaction. Use either `card` or `ach`, depending on what kind of method was tokenized to use a saved payment method for this transaction. storedMethodId: $ref: '#/components/schemas/type_:Storedmethodid' description: Payabli identifier of a tokenized payment method. storedMethodUsageType: $ref: '#/components/schemas/type_:StoredMethodUsageType' required: - method description: >- The required and recommended fields for a payment made with a stored payment method. title: PayMethodStoredMethod type_:PayMethodCloud: type: object properties: device: $ref: '#/components/schemas/type_:Device' method: type: string enum: - cloud description: >- Method to use for the transaction. For cloud device transactions, the method is `cloud`. saveIfSuccess: $ref: '#/components/schemas/type_:SaveIfSuccess' required: - method title: PayMethodCloud type_:Check: type: object properties: achHolder: $ref: '#/components/schemas/type_:AchHolder' description: The checking accountholder's name. method: type: string enum: - check description: >- Method to use for the transaction. Use `check` for a paper check transaction. When the method is `check`, then `paymentDetails.checkNumber` is required. required: - achHolder - method title: Check type_:Cash: type: object properties: method: type: string enum: - cash description: >- Method to use for the transaction. For cash transactions, use `cash`. required: - method title: Cash type_:Methodall: type: string enum: - card - ach - cloud - check - cash description: Method to use for the transaction. title: Methodall type_:PayMethodBodyAllFields: type: object properties: achAccount: $ref: '#/components/schemas/type_:Achaccount' description: Bank account number. This field is **required** when method = 'ach'. achAccountType: $ref: '#/components/schemas/type_:Achaccounttype' achCode: $ref: '#/components/schemas/type_:AchSecCode' achHolder: $ref: '#/components/schemas/type_:AchHolder' achRouting: $ref: '#/components/schemas/type_:Achrouting' description: >- ABA/routing number of Bank account. This field is **required** when method = 'ach'. cardcvv: $ref: '#/components/schemas/type_:Cardcvv' cardexp: $ref: '#/components/schemas/type_:Cardexp' cardHolder: $ref: '#/components/schemas/type_:Cardholder' cardnumber: $ref: '#/components/schemas/type_:Cardnumber' cardzip: $ref: '#/components/schemas/type_:Cardzip' device: $ref: '#/components/schemas/type_:Device' initator: $ref: '#/components/schemas/type_:Initiator' method: $ref: '#/components/schemas/type_:Methodall' saveIfSuccess: $ref: '#/components/schemas/type_:SaveIfSuccess' storedMethodId: $ref: '#/components/schemas/type_:Storedmethodid' storedMethodUsageType: $ref: '#/components/schemas/type_:StoredMethodUsageType' required: - achAccount - achHolder - achRouting description: 'Model for the PaymentMethod object, includes all method types. ' title: PayMethodBodyAllFields type_:PaymentMethod: oneOf: - $ref: '#/components/schemas/type_:PayMethodCredit' - $ref: '#/components/schemas/type_:PayMethodACH' - $ref: '#/components/schemas/type_:PayMethodStoredMethod' - $ref: '#/components/schemas/type_:PayMethodCloud' - $ref: '#/components/schemas/type_:Check' - $ref: '#/components/schemas/type_:Cash' - $ref: '#/components/schemas/type_:PayMethodBodyAllFields' description: Information about the payment method for the transaction. title: PaymentMethod type_:Source: type: string description: Custom identifier to indicate the transaction or request source. title: Source type_:Subdomain: type: string description: >- Refers to the payment page identifier. If provided, then the transaction is linked to the payment page. title: Subdomain type_:Subscriptionid: type: integer format: int64 description: Payabli identifier of the subscription associated with the transaction. title: Subscriptionid type_moneyIn:TransRequestBody: type: object properties: accountId: $ref: '#/components/schemas/type_:Accountid' customerData: $ref: '#/components/schemas/type_:PayorDataRequest' description: >- Object describing the Customer/Payor. Which fields are required depends on the paypoint's custom identifier settings. entryPoint: $ref: '#/components/schemas/type_:Entrypointfield' invoiceData: $ref: '#/components/schemas/type_:BillData' description: Object describing an Invoice linked to the transaction. ipaddress: $ref: '#/components/schemas/type_:IpAddress' orderDescription: $ref: '#/components/schemas/type_:Orderdescription' orderId: $ref: '#/components/schemas/type_:OrderId' paymentDetails: $ref: '#/components/schemas/type_:PaymentDetail' description: Object describing details of the payment. Required. paymentMethod: $ref: '#/components/schemas/type_:PaymentMethod' description: >- Information about the payment method for the transaction. Required and recommended fields for each payment method type are described in each schema below. source: $ref: '#/components/schemas/type_:Source' subdomain: $ref: '#/components/schemas/type_:Subdomain' subscriptionId: $ref: '#/components/schemas/type_:Subscriptionid' required: - paymentDetails - paymentMethod title: TransRequestBody type___v2moneyInTypes__:V2ResponseCode: type: string description: >- Payabli's unified response code. Starts with `A` (Approved) or `D` (Declined) followed by a four-digit code that provides specific details about the transaction result. See [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for more information. title: V2ResponseCode type___v2moneyInTypes__:V2ResponseReason: type: string description: Human-readable reason corresponding to the response code. title: V2ResponseReason type___v2moneyInTypes__:V2ResponseExplanation: type: string description: Detailed description of the response code. title: V2ResponseExplanation type___v2moneyInTypes__:V2ResponseAction: type: string description: Recommended resolution approach or next steps based on the response. title: V2ResponseAction type_:OrgParentName: type: string description: The name of the parent organization. title: OrgParentName type_:Dbaname: type: string description: >- The alternate or common name that this business is doing business under usually referred to as a DBA name. title: Dbaname type_:Legalname: type: string description: Business legal name. title: Legalname type_:ExternalProcessorInformation: type: string description: >- Processor information, used for troubleshooting and reporting. This field contains a value when the API key used to make the request has management permissions. title: ExternalProcessorInformation type_:BatchNumber: type: string description: >- A unique identifier for the batch. This is generated by Payabli when the batch is created, and follows this format: `paypointId + "_" + serviceName + "_" + batchDate:yyyyMMdd + "_" + Guid.NewGuid()`. Payabli generates the GUID to ensure that the batch number is unique. For example, in this batch number: `123_card_20251008_3f2504e0-4f89-11d3-9a0c-0305e82c3301`, the paypointID is "123", the service is "card", the batch date is "2025-10-08", and the GUID is "3f2504e0-4f89-11d3-9a0c-0305e82c3301". title: BatchNumber type_:PayorId: type: integer format: int64 description: >- Unique ID for the customer linked to the transaction. This is the same value as the `customerId` used when creating or referencing a customer. title: PayorId type_:Maskedaccount: type: string description: >- Masked card or bank account used in transaction. In the case of Apple Pay, this is a masked DPAN (device primary account number). title: Maskedaccount type_:Accounttype: type: string description: Bank account type or card brand. title: Accounttype type_:Accountexp: type: string description: Expiration date of card used in transaction. title: Accountexp type_:Holdername: type: string description: Account holder name for the method. title: Holdername type_:Sequence: type: string description: >- The order of the transaction for cardholder-initiated transaction (CIT) and merchant-initiated transaction (MIT) purposes. This field is automatically detected and populated by Payabli. Available values: - `first`: The first use of the payment method. This is almost always a cardholder-initiated transaction. - `subsequent`: For merchant-initiated transactions after the first use of the payment method. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Sequence type_:Signaturedata: type: string title: Signaturedata type_:BinData: type: object properties: binMatchedLength: type: string description: |- The number of characters from the beginning of the card number that were matched against a Bank Identification Number (BIN) or the Card Range table. binCardBrand: type: string description: |- The card brand. For example, Visa, Mastercard, American Express, Discover. binCardType: type: string description: 'The type of card: Credit or Debit.' binCardCategory: type: string description: >- The category of the card, which indicates the card product. For example: Standard, Gold, Platinum, etc. The binCardCategory for prepaid cards is marked `PREPAID`. binCardIssuer: type: string description: The name of the financial institution that issued the card. binCardIssuerCountry: type: string description: The issuing financial institution's country name. binCardIssuerCountryCodeA2: type: string description: >- The issuing financial institution's two-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIssuerCountryNumber: type: string description: >- The issuing financial institution's ISO standard numeric country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIsRegulated: type: string description: Indicates whether the card is regulated. binCardUseCategory: type: string description: The use category classification for the card. binCardIssuerCountryCodeA3: type: string description: >- The issuing financial institution's three-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. description: >- Object containing information related to the card. This object is `null` unless the payment method is card. If the payment method is Apple Pay, the binData will be related to the DPAN (device primary account number), not the card connected to Apple Pay. title: BinData type_moneyIn:TransactionDetailPaymentDetails: type: object properties: totalAmount: type: number format: double serviceFee: type: number format: double checkNumber: type: - string - 'null' checkImage: oneOf: - description: Any type - type: 'null' checkUniqueId: type: string currency: type: string orderDescription: oneOf: - $ref: '#/components/schemas/type_:Orderdescription' - type: 'null' orderId: oneOf: - $ref: '#/components/schemas/type_:OrderId' - type: 'null' orderIdAlternative: type: - string - 'null' paymentDescription: type: - string - 'null' groupNumber: type: - string - 'null' source: oneOf: - $ref: '#/components/schemas/type_:Source' - type: 'null' payabliTransId: type: - string - 'null' unbundled: oneOf: - description: Any type - type: 'null' categories: type: array items: description: Any type splitFunding: type: array items: description: Any type required: - totalAmount - serviceFee - checkNumber - checkImage - checkUniqueId - currency - orderDescription - orderId - orderIdAlternative - paymentDescription - groupNumber - source - payabliTransId - unbundled - categories - splitFunding description: Detailed breakdown of payment amounts and identifiers title: TransactionDetailPaymentDetails type_moneyIn:TransactionDetailPaymentData: type: object properties: maskedAccount: $ref: '#/components/schemas/type_:Maskedaccount' accountType: $ref: '#/components/schemas/type_:Accounttype' accountExp: oneOf: - $ref: '#/components/schemas/type_:Accountexp' - type: 'null' holderName: $ref: '#/components/schemas/type_:Holdername' storedId: oneOf: - $ref: '#/components/schemas/type_:Storedmethodid' - type: 'null' initiator: oneOf: - $ref: '#/components/schemas/type_:Initiator' - type: 'null' storedMethodUsageType: oneOf: - $ref: '#/components/schemas/type_:StoredMethodUsageType' - type: 'null' sequence: oneOf: - $ref: '#/components/schemas/type_:Sequence' - type: 'null' orderDescription: $ref: '#/components/schemas/type_:Orderdescription' accountId: oneOf: - $ref: '#/components/schemas/type_:Accountid' - type: 'null' signatureData: oneOf: - $ref: '#/components/schemas/type_:Signaturedata' - type: 'null' binData: oneOf: - $ref: '#/components/schemas/type_:BinData' - type: 'null' paymentDetails: $ref: '#/components/schemas/type_moneyIn:TransactionDetailPaymentDetails' required: - maskedAccount - accountType - accountExp - holderName - storedId - initiator - storedMethodUsageType - sequence - orderDescription - accountId - signatureData - binData - paymentDetails description: Payment method and transaction details title: TransactionDetailPaymentData type_:TransStatus: type: integer description: >- Status of transaction. See [the docs](/developers/references/money-in-statuses#money-in-transaction-status) for a full reference. title: TransStatus type_:PaypointId: type: integer format: int64 description: The paypoint's ID. Note that this is different than the entryname. title: PaypointId type_:FeeAmount: type: number format: double description: Service fee or sub-charge applied. title: FeeAmount type_:SettlementStatus: type: integer description: >- Settlement status for transaction. See [the docs](/developers/references/money-in-statuses#payment-funding-status) for a full reference. title: SettlementStatus type_:Operation: type: string description: The transaction's operation. title: Operation type_:ResultCodev2: type: string description: >- Unified result code for the transaction. See [Pay In unified response codes](/developers/references/pay-in-unified-response-codes-reference) for more information. title: ResultCodev2 type_:ResultCodeText: type: string description: >- Description of the result code. See [Pay In unified response codes](/developers/references/pay-in-unified-response-codes-reference) for more information. title: ResultCodeText type_:Resulttext: type: string description: >- Text describing the result. If `ResultCode` = 1, will return 'Approved' or a general success message. If `ResultCode`` = 2 or 3, will contain the cause of the error or decline. title: Resulttext type_:Authcode: type: string description: Authorization code for the transaction. title: Authcode type_:AvsResponse: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponse type_:AvsResponseText: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponseText type_:CvvResponse: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponse type_:CvvResponseText: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponseText type_:CustomerVaultId: type: string title: CustomerVaultId type_:EmvAuthResponseData: type: string description: EMV authorization response data, applicable for card transactions. title: EmvAuthResponseData type___v2moneyInTypes__:V2TransactionDetailResponseData: type: object properties: resultCode: $ref: '#/components/schemas/type_:ResultCodev2' resultCodeText: $ref: '#/components/schemas/type_:ResultCodeText' response: type: - string - 'null' responsetext: $ref: '#/components/schemas/type_:Resulttext' authcode: oneOf: - $ref: '#/components/schemas/type_:Authcode' - type: 'null' transactionid: type: string description: >- Unique identifier for the transaction assigned by the payment processor. avsresponse: oneOf: - $ref: '#/components/schemas/type_:AvsResponse' - type: 'null' avsresponse_text: oneOf: - $ref: '#/components/schemas/type_:AvsResponseText' - type: 'null' cvvresponse: oneOf: - $ref: '#/components/schemas/type_:CvvResponse' - type: 'null' cvvresponse_text: oneOf: - $ref: '#/components/schemas/type_:CvvResponseText' - type: 'null' orderid: oneOf: - $ref: '#/components/schemas/type_:OrderId' - type: 'null' type: type: - string - 'null' response_code: type: string description: Processor-specific response code. response_code_text: type: string description: Description of the response code. customer_vault_id: oneOf: - $ref: '#/components/schemas/type_:CustomerVaultId' - type: 'null' emv_auth_response_data: oneOf: - $ref: '#/components/schemas/type_:EmvAuthResponseData' - type: 'null' required: - resultCode - resultCodeText - response - responsetext - authcode - transactionid - avsresponse - avsresponse_text - cvvresponse - cvvresponse_text - orderid - type - response_code - response_code_text - customer_vault_id - emv_auth_response_data description: Response data from payment processor title: V2TransactionDetailResponseData type_:Orgid: type: integer format: int64 description: Organization ID. Unique identifier assigned to an org by Payabli. title: Orgid type_:RefundId: type: integer format: int64 description: Identifier of refund transaction linked to this payment. title: RefundId type_:ReturnedId: type: integer format: int64 description: Identifier of return/chargeback transaction linked to this payment. title: ReturnedId type_:ChargebackId: type: integer format: int64 description: Identifier of chargeback transaction title: ChargebackId type_:RetrievalId: type: integer format: int64 description: Identifier of retrieval request title: RetrievalId type_:AdditionalDataString: type: string description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. Example usage: ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalDataString type_moneyIn:TransactionDetailInvoiceData: type: object properties: invoiceNumber: oneOf: - $ref: '#/components/schemas/type_:InvoiceNumber' - type: 'null' invoiceDate: type: - string - 'null' format: date invoiceDueDate: type: - string - 'null' format: date invoiceEndDate: type: - string - 'null' format: date invoiceStatus: oneOf: - $ref: '#/components/schemas/type_:Invoicestatus' - type: 'null' invoiceType: oneOf: - $ref: '#/components/schemas/type_:InvoiceType' - type: 'null' frequency: oneOf: - $ref: '#/components/schemas/type_:Frequency' - type: 'null' paymentTerms: type: - string - 'null' termsConditions: oneOf: - $ref: '#/components/schemas/type_:TermsConditions' - type: 'null' notes: type: - string - 'null' tax: oneOf: - $ref: '#/components/schemas/type_:Tax' - type: 'null' discount: oneOf: - $ref: '#/components/schemas/type_:Discount' - type: 'null' invoiceAmount: oneOf: - $ref: '#/components/schemas/type_:InvoiceAmount' - type: 'null' freightAmount: oneOf: - $ref: '#/components/schemas/type_:FreightAmount' - type: 'null' dutyAmount: oneOf: - $ref: '#/components/schemas/type_:DutyAmount' - type: 'null' purchaseOrder: oneOf: - $ref: '#/components/schemas/type_:PurchaseOrder' - type: 'null' firstName: type: - string - 'null' lastName: type: - string - 'null' company: type: - string - 'null' shippingAddress1: oneOf: - $ref: '#/components/schemas/type_:Shippingaddress' - type: 'null' shippingAddress2: oneOf: - $ref: '#/components/schemas/type_:Shippingaddressadditional' - type: 'null' shippingCity: oneOf: - $ref: '#/components/schemas/type_:Shippingcity' - type: 'null' shippingState: oneOf: - $ref: '#/components/schemas/type_:Shippingstate' - type: 'null' shippingZip: oneOf: - $ref: '#/components/schemas/type_:Shippingzip' - type: 'null' shippingCountry: oneOf: - $ref: '#/components/schemas/type_:Shippingcountry' - type: 'null' shippingEmail: oneOf: - $ref: '#/components/schemas/type_:Email' - type: 'null' shippingPhone: type: - string - 'null' shippingFromZip: oneOf: - $ref: '#/components/schemas/type_:ShippingFromZip' - type: 'null' summaryCommodityCode: oneOf: - $ref: '#/components/schemas/type_:SummaryCommodityCode' - type: 'null' items: type: - array - 'null' items: $ref: '#/components/schemas/type_:BillItem' attachments: oneOf: - $ref: '#/components/schemas/type_:Attachments' - type: 'null' additionalData: oneOf: - $ref: '#/components/schemas/type_:AdditionalDataString' - type: 'null' required: - invoiceNumber - invoiceDate - invoiceDueDate - invoiceEndDate - invoiceStatus - invoiceType - frequency - paymentTerms - termsConditions - notes - tax - discount - invoiceAmount - freightAmount - dutyAmount - purchaseOrder - firstName - lastName - company - shippingAddress1 - shippingAddress2 - shippingCity - shippingState - shippingZip - shippingCountry - shippingEmail - shippingPhone - shippingFromZip - summaryCommodityCode - items - attachments - additionalData description: Invoice information if transaction is associated with an invoice title: TransactionDetailInvoiceData type_:EntrypageId: type: integer format: int64 description: >- If applicable, the internal reference ID to the payment page capturing the payment. title: EntrypageId type_:ExternalPaypointId: type: string description: >- A custom identifier for the paypoint, if applicable. Like `entrypoint` is the Payabli identifier for the merchant, `externalPaypointId` is a custom field you can use to include the merchant's ID from your own systems. title: ExternalPaypointId type_:CustomerStatus: type: integer description: |- Customer Status. Possible values: - `-99` Deleted - `0` Inactive - `1` Active - `85` Locked (typically due to multiple failed login attempts) title: CustomerStatus type_moneyIn:TransactionDetailCustomer: type: object properties: identifiers: oneOf: - $ref: '#/components/schemas/type_:Identifierfields' - type: 'null' firstName: type: string lastName: type: string companyName: type: string billingAddress1: $ref: '#/components/schemas/type_:BillingAddressNullable' billingAddress2: $ref: '#/components/schemas/type_:BillingAddressAddtlNullable' billingCity: $ref: '#/components/schemas/type_:BillingCityNullable' billingState: $ref: '#/components/schemas/type_:BillingStateNullable' billingZip: $ref: '#/components/schemas/type_:BillingZip' billingCountry: $ref: '#/components/schemas/type_:BillingCountryNullable' billingPhone: $ref: '#/components/schemas/type_:PhoneNumber' billingEmail: $ref: '#/components/schemas/type_:Email' customerNumber: $ref: '#/components/schemas/type_:CustomerNumberNullable' shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' customerId: $ref: '#/components/schemas/type_:CustomerId' customerStatus: $ref: '#/components/schemas/type_:CustomerStatus' additionalData: oneOf: - $ref: '#/components/schemas/type_:AdditionalDataString' - type: 'null' required: - identifiers - firstName - lastName - companyName - billingAddress1 - billingAddress2 - billingCity - billingState - billingZip - billingCountry - billingPhone - billingEmail - customerNumber - shippingAddress1 - shippingAddress2 - shippingCity - shippingState - shippingZip - shippingCountry - customerId - customerStatus - additionalData description: Customer information associated with the transaction title: TransactionDetailCustomer type_:TransactionTime: type: string format: date-time description: Timestamp when transaction was submitted, in UTC. title: TransactionTime type_:QueryCFeeTransaction: type: object properties: cFeeTransid: type: string feeAmount: type: number format: double operation: type: string refundId: type: integer format: int64 responseData: type: object additionalProperties: description: Any type settlementStatus: type: integer transactionTime: $ref: '#/components/schemas/type_:TransactionTime' transStatus: type: integer title: QueryCFeeTransaction type_moneyIn:TransactionDetailEvent: type: object properties: transEvent: type: string eventData: type: string eventTime: type: string required: - transEvent - eventData - eventTime description: Event associated with transaction processing title: TransactionDetailEvent type_:PendingFeeAmount: type: number format: double description: >- The difference between the configured pass-through fee and the fee amount sent in the request. When transferring funds, Payabli uses this field to deduct the fee difference and transfer the correct amount to the merchant. When a paypoint is set up to absorb fees, and the pass-through fee sent with the request is less than the configured amount, the difference must be covered by the merchant. See [Fee Configuration](/guides/pay-in-fees-passthrough-overview#fee-configuration) to learn more about pass-through fee settings. title: PendingFeeAmount type_:RiskFlagged: type: boolean description: Indicates if the transaction was flagged for risk title: RiskFlagged type_:RiskFlaggedOn: type: string format: date-time description: Timestamp when the transaction was flagged for risk title: RiskFlaggedOn type_:RiskStatus: type: string description: Current risk status of the transaction title: RiskStatus type_:RiskReason: type: string description: Reason for risk flagging title: RiskReason type_:RiskAction: type: string description: Action taken due to risk assessment title: RiskAction type_:RiskActionCode: type: integer description: Numeric code representing the risk action title: RiskActionCode type___v2moneyInTypes__:V2TransactionDetails: type: object properties: parentOrgName: $ref: '#/components/schemas/type_:OrgParentName' paypointDbaname: $ref: '#/components/schemas/type_:Dbaname' paypointLegalname: $ref: '#/components/schemas/type_:Legalname' paypointEntryname: $ref: '#/components/schemas/type_:Entrypointfield' paymentTransId: type: string description: Unique transaction identifier. connectorName: type: string description: Name of the payment connector used. externalProcessorInformation: $ref: '#/components/schemas/type_:ExternalProcessorInformation' gatewayTransId: type: string description: Gateway transaction identifier. orderId: oneOf: - $ref: '#/components/schemas/type_:OrderId' - type: 'null' method: type: string description: Payment method used for the transaction. batchNumber: $ref: '#/components/schemas/type_:BatchNumber' batchAmount: type: number format: double description: Total amount in the batch. payorId: $ref: '#/components/schemas/type_:PayorId' paymentData: $ref: '#/components/schemas/type_moneyIn:TransactionDetailPaymentData' transStatus: $ref: '#/components/schemas/type_:TransStatus' paypointId: $ref: '#/components/schemas/type_:PaypointId' totalAmount: type: number format: double description: Total transaction amount including fees. netAmount: type: number format: double description: Net transaction amount excluding fees. feeAmount: $ref: '#/components/schemas/type_:FeeAmount' settlementStatus: $ref: '#/components/schemas/type_:SettlementStatus' operation: $ref: '#/components/schemas/type_:Operation' responseData: $ref: >- #/components/schemas/type___v2moneyInTypes__:V2TransactionDetailResponseData source: $ref: '#/components/schemas/type_:Source' scheduleReference: type: integer format: int64 description: Reference to associated payment schedule if applicable. orgId: $ref: '#/components/schemas/type_:Orgid' refundId: $ref: '#/components/schemas/type_:RefundId' returnedId: $ref: '#/components/schemas/type_:ReturnedId' chargebackId: $ref: '#/components/schemas/type_:ChargebackId' retrievalId: $ref: '#/components/schemas/type_:RetrievalId' transAdditionalData: oneOf: - description: Any type - type: 'null' invoiceData: $ref: '#/components/schemas/type_moneyIn:TransactionDetailInvoiceData' entrypageId: $ref: '#/components/schemas/type_:EntrypageId' externalPaypointID: $ref: '#/components/schemas/type_:ExternalPaypointId' isValidatedACH: type: boolean description: Indicates if ACH account was validated in real-time. transactionTime: type: string description: Timestamp when transaction was created. customer: $ref: '#/components/schemas/type_moneyIn:TransactionDetailCustomer' splitFundingInstructions: oneOf: - $ref: '#/components/schemas/type_:SplitFunding' - type: 'null' cfeeTransactions: type: array items: $ref: '#/components/schemas/type_:QueryCFeeTransaction' transactionEvents: type: array items: $ref: '#/components/schemas/type_moneyIn:TransactionDetailEvent' pendingFeeAmount: $ref: '#/components/schemas/type_:PendingFeeAmount' riskFlagged: $ref: '#/components/schemas/type_:RiskFlagged' riskFlaggedOn: $ref: '#/components/schemas/type_:RiskFlaggedOn' riskStatus: $ref: '#/components/schemas/type_:RiskStatus' riskReason: $ref: '#/components/schemas/type_:RiskReason' riskAction: $ref: '#/components/schemas/type_:RiskAction' riskActionCode: $ref: '#/components/schemas/type_:RiskActionCode' deviceId: $ref: '#/components/schemas/type_:Device' achSecCode: $ref: '#/components/schemas/type_:AchSecCode' achHolderType: $ref: '#/components/schemas/type_:AchHolderType' ipAddress: $ref: '#/components/schemas/type_:IpAddress' isSameDayACH: type: boolean description: Indicates if ACH transaction uses same-day processing. walletType: type: - string - 'null' description: Digital wallet type if applicable. required: - parentOrgName - paypointDbaname - paypointLegalname - paypointEntryname - paymentTransId - connectorName - externalProcessorInformation - gatewayTransId - orderId - method - batchNumber - batchAmount - payorId - paymentData - transStatus - paypointId - totalAmount - netAmount - feeAmount - settlementStatus - operation - responseData - source - scheduleReference - orgId - refundId - returnedId - chargebackId - retrievalId - transAdditionalData - invoiceData - entrypageId - externalPaypointID - isValidatedACH - transactionTime - customer - splitFundingInstructions - cfeeTransactions - transactionEvents - riskStatus - riskReason - riskAction - deviceId - achSecCode - achHolderType - ipAddress - isSameDayACH - walletType description: >- Complete transaction details returned by v2 Money In endpoints. This matches the structure of the transaction details previously returned by the v1 details endpoint. title: V2TransactionDetails type___v2moneyInTypes__:V2TransactionResponseWrapper: type: object properties: code: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseCode' reason: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseReason' explanation: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseExplanation' action: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseAction' data: $ref: '#/components/schemas/type___v2moneyInTypes__:V2TransactionDetails' token: type: - string - 'null' description: >- Pagination token (equivalent to `pageIdentifier` in v1 APIs). Returns `null` when pagination is not applicable. required: - code - reason - explanation - action - data - token description: >- Standard response wrapper for v2 Money In transaction endpoints. All v2 transaction endpoints return responses in this format with consistent `code`, `reason`, `explanation`, and `action` fields. The `data` field contains transaction details. title: V2TransactionResponseWrapper type___v2moneyInTypes__:V2BadRequestErrorDetail: type: object properties: message: type: string description: Description of the validation error. suggestion: type: string description: Suggested action to fix the error. required: - message - suggestion description: Individual field error detail for bad request responses. title: V2BadRequestErrorDetail type___v2moneyInTypes__:V2BadRequestError: type: object properties: type: type: string description: >- A URI reference that identifies the problem type. Points to human-readable documentation for this error type. title: type: string description: Always "Bad Request" for 400 errors. status: type: integer description: HTTP status code, always 400 for bad requests. detail: type: string description: Short description of the error. instance: type: string description: Request URL that caused the error. code: type: string description: >- Payabli's unified response code for validation errors. Starts with 'E'. See [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for more information. errors: type: object additionalProperties: type: array items: $ref: >- #/components/schemas/type___v2moneyInTypes__:V2BadRequestErrorDetail description: >- Dictionary of field-specific validation errors. Keys are field paths (e.g., "paymentMethod.cardnumber") and values are arrays of error details. token: type: - string - 'null' description: >- Pagination token (equivalent to pageIdentifier in v1 APIs). Usually null for errors. required: - type - title - status - detail - instance - code - errors - token description: >- Bad request error response (HTTP 400) returned when request validation fails. Follows RFC 7807 Problem Details format with additional Payabli-specific fields. title: V2BadRequestError type___v2moneyInTypes__:V2DeclinedTransactionResponseWrapper: type: object properties: code: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseCode' reason: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseReason' explanation: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseExplanation' action: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseAction' data: $ref: '#/components/schemas/type___v2moneyInTypes__:V2TransactionDetails' token: type: - string - 'null' description: >- Pagination token (equivalent to `pageIdentifier` in v1 APIs). Returns `null` when pagination is not applicable. required: - code - reason - explanation - action - data - token description: >- Response wrapper for declined v2 Money In transaction endpoints (HTTP 402). Returned when a transaction is declined by the card network or issuer. All decline responses use this format with unified response codes starting with 'D'. The `data` field contains transaction details. title: V2DeclinedTransactionResponseWrapper type___v2moneyInTypes__:V2InternalServerError: type: object properties: title: type: string description: Always "Internal Server Error" for 500 errors. status: type: integer description: HTTP status code, always 500 for internal errors. detail: type: string description: Additional details about the internal error. instance: type: string description: Request URL that caused the error. required: - title - status - detail - instance description: >- Internal server error response (HTTP 500) returned when an unexpected error occurs. Follows RFC 7807 Problem Details format. title: V2InternalServerError securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript CardAuthorization import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.moneyIn.authorizev2({ body: { paymentDetails: { totalAmount: 100, serviceFee: 0, }, paymentMethod: { cardcvv: "999", cardexp: "02/27", cardHolder: "John Cassian", cardnumber: "4111111111111111", cardzip: "12345", initiator: "payor", method: "card", }, customerData: { customerId: 4440, }, entryPoint: "f743aed24a", ipaddress: "255.255.255.255", }, }); } main(); ``` ```python CardAuthorization from payabli import payabli, PaymentDetail, PayMethodCredit, PayorDataRequest client = payabli( api_key="YOUR_API_KEY_HERE", ) client.money_in.authorizev_2( payment_details=PaymentDetail( total_amount=100, service_fee=0, ), payment_method=PayMethodCredit( cardcvv="999", cardexp="02/27", card_holder="John Cassian", cardnumber="4111111111111111", cardzip="12345", initiator="payor", method="card", ), customer_data=PayorDataRequest( customer_id=4440, ), entry_point="f743aed24a", ipaddress="255.255.255.255", ) ``` ```csharp CardAuthorization using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.MoneyIn.Authorizev2Async( new RequestPaymentAuthorizeV2 { Body = new TransRequestBody { PaymentDetails = new PaymentDetail { TotalAmount = 100, ServiceFee = 0 }, PaymentMethod = new PayMethodCredit { Cardcvv = "999", Cardexp = "02/27", CardHolder = "John Cassian", Cardnumber = "4111111111111111", Cardzip = "12345", Initiator = "payor", Method = "card" }, CustomerData = new PayorDataRequest { CustomerId = 4440L }, EntryPoint = "f743aed24a", Ipaddress = "255.255.255.255" } } ); } } ``` ```go CardAuthorization package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/v2/MoneyIn/authorize" payload := strings.NewReader("{\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"cardcvv\": \"999\",\n \"cardexp\": \"02/27\",\n \"cardHolder\": \"John Cassian\",\n \"cardnumber\": \"4111111111111111\",\n \"cardzip\": \"12345\",\n \"initiator\": \"payor\",\n \"method\": \"card\"\n },\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"ipaddress\": \"255.255.255.255\"\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby CardAuthorization require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/v2/MoneyIn/authorize") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"cardcvv\": \"999\",\n \"cardexp\": \"02/27\",\n \"cardHolder\": \"John Cassian\",\n \"cardnumber\": \"4111111111111111\",\n \"cardzip\": \"12345\",\n \"initiator\": \"payor\",\n \"method\": \"card\"\n },\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"ipaddress\": \"255.255.255.255\"\n}" response = http.request(request) puts response.read_body ``` ```java CardAuthorization import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/v2/MoneyIn/authorize") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"cardcvv\": \"999\",\n \"cardexp\": \"02/27\",\n \"cardHolder\": \"John Cassian\",\n \"cardnumber\": \"4111111111111111\",\n \"cardzip\": \"12345\",\n \"initiator\": \"payor\",\n \"method\": \"card\"\n },\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"ipaddress\": \"255.255.255.255\"\n}") .asString(); ``` ```php CardAuthorization request('POST', 'https://api-sandbox.payabli.com/api/v2/MoneyIn/authorize', [ 'body' => '{ "paymentDetails": { "totalAmount": 100, "serviceFee": 0 }, "paymentMethod": { "cardcvv": "999", "cardexp": "02/27", "cardHolder": "John Cassian", "cardnumber": "4111111111111111", "cardzip": "12345", "initiator": "payor", "method": "card" }, "customerData": { "customerId": 4440 }, "entryPoint": "f743aed24a", "ipaddress": "255.255.255.255" }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift CardAuthorization import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "paymentDetails": [ "totalAmount": 100, "serviceFee": 0 ], "paymentMethod": [ "cardcvv": "999", "cardexp": "02/27", "cardHolder": "John Cassian", "cardnumber": "4111111111111111", "cardzip": "12345", "initiator": "payor", "method": "card" ], "customerData": ["customerId": 4440], "entryPoint": "f743aed24a", "ipaddress": "255.255.255.255" ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/v2/MoneyIn/authorize")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Capture transaction POST https://api-sandbox.payabli.com/api/v2/MoneyIn/capture/{transId} Content-Type: application/json Capture an authorized transaction to complete the transaction and move funds from the customer to merchant account. This is the v2 version of the `api/MoneyIn/capture/{transId}` endpoint, and returns the unified response format. See [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for more information. Reference: https://docs.payabli.com/developers/api-reference/moneyinV2/capture-an-authorized-transaction ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /v2/MoneyIn/capture/{transId}: post: operationId: capturev-2 summary: Capture an authorized transaction (v2) description: >- Capture an authorized transaction to complete the transaction and move funds from the customer to merchant account. This is the v2 version of the `api/MoneyIn/capture/{transId}` endpoint, and returns the unified response format. See [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for more information. tags: - subpackage_moneyIn parameters: - name: transId in: path description: ReferenceId for the transaction (PaymentId). required: true schema: type: string - name: requestToken in: header required: true schema: type: string responses: '201': description: Ok content: application/json: schema: $ref: >- #/components/schemas/type___v2moneyInTypes__:V2TransactionResponseWrapper '400': description: >- Bad request error for v2 Money In capture endpoint (HTTP 400). Returned when request validation fails. Follows RFC 7807 Problem Details format with Payabli-specific unified response codes. See the [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for the complete list of codes. content: application/json: schema: $ref: '#/components/schemas/type___v2moneyInTypes__:V2BadRequestError' '401': description: Unauthorized request. content: application/json: schema: description: Any type '402': description: >- Capture decline error for v2 Money In endpoints (HTTP 402). Returned when a capture operation is declined for a transaction. Uses unified response codes starting with 'D'. See the [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for the complete list of codes. content: application/json: schema: $ref: >- #/components/schemas/type___v2moneyInTypes__:V2DeclinedTransactionResponseWrapper '500': description: >- Internal server error for v2 Money In endpoints (HTTP 500). Returned when an unexpected error occurs. Follows RFC 7807 Problem Details format. content: application/json: schema: $ref: >- #/components/schemas/type___v2moneyInTypes__:V2InternalServerError requestBody: content: application/json: schema: $ref: '#/components/schemas/type_moneyIn:CaptureRequest' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_moneyIn:CapturePaymentDetails: type: object properties: totalAmount: type: number format: double description: >- Total amount to be captured, including the `serviceFee` amount. The amount can't be greater the original total amount of the transaction, and can't be more than 15% lower than the original amount. serviceFee: type: number format: double description: Service fee to capture for the transaction. required: - totalAmount title: CapturePaymentDetails type_moneyIn:CaptureRequest: type: object properties: paymentDetails: $ref: '#/components/schemas/type_moneyIn:CapturePaymentDetails' required: - paymentDetails title: CaptureRequest type___v2moneyInTypes__:V2ResponseCode: type: string description: >- Payabli's unified response code. Starts with `A` (Approved) or `D` (Declined) followed by a four-digit code that provides specific details about the transaction result. See [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for more information. title: V2ResponseCode type___v2moneyInTypes__:V2ResponseReason: type: string description: Human-readable reason corresponding to the response code. title: V2ResponseReason type___v2moneyInTypes__:V2ResponseExplanation: type: string description: Detailed description of the response code. title: V2ResponseExplanation type___v2moneyInTypes__:V2ResponseAction: type: string description: Recommended resolution approach or next steps based on the response. title: V2ResponseAction type_:OrgParentName: type: string description: The name of the parent organization. title: OrgParentName type_:Dbaname: type: string description: >- The alternate or common name that this business is doing business under usually referred to as a DBA name. title: Dbaname type_:Legalname: type: string description: Business legal name. title: Legalname type_:Entrypointfield: type: string description: The entrypoint identifier. title: Entrypointfield type_:ExternalProcessorInformation: type: string description: >- Processor information, used for troubleshooting and reporting. This field contains a value when the API key used to make the request has management permissions. title: ExternalProcessorInformation type_:OrderId: type: string description: Custom identifier for the transaction. title: OrderId type_:BatchNumber: type: string description: >- A unique identifier for the batch. This is generated by Payabli when the batch is created, and follows this format: `paypointId + "_" + serviceName + "_" + batchDate:yyyyMMdd + "_" + Guid.NewGuid()`. Payabli generates the GUID to ensure that the batch number is unique. For example, in this batch number: `123_card_20251008_3f2504e0-4f89-11d3-9a0c-0305e82c3301`, the paypointID is "123", the service is "card", the batch date is "2025-10-08", and the GUID is "3f2504e0-4f89-11d3-9a0c-0305e82c3301". title: BatchNumber type_:PayorId: type: integer format: int64 description: >- Unique ID for the customer linked to the transaction. This is the same value as the `customerId` used when creating or referencing a customer. title: PayorId type_:Maskedaccount: type: string description: >- Masked card or bank account used in transaction. In the case of Apple Pay, this is a masked DPAN (device primary account number). title: Maskedaccount type_:Accounttype: type: string description: Bank account type or card brand. title: Accounttype type_:Accountexp: type: string description: Expiration date of card used in transaction. title: Accountexp type_:Holdername: type: string description: Account holder name for the method. title: Holdername type_:Storedmethodid: type: string description: >- Payabli identifier of a tokenized payment method. If this field is used in a request, the `method` field is overridden and the payment is made using the payment token. title: Storedmethodid type_:Initiator: type: string description: >- **Strongly recommended** The cardholder-initiated transaction (CIT) or merchant-initiated transaction (MIT) indicator for the transaction. If you don't specify a value, Payabli defaults to `merchant`. Available values: - `payor`: For cardholder-initiated transactions - `merchant`: For merchant-initiated transactions See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Initiator type_:StoredMethodUsageType: type: string description: >- **Strongly recommended** The usage type for the stored method, used for merchant-initiated transactions (MIT). If you don't specify a value, Payabli defaults to `unscheduled`. Available values: - `unscheduled`: This type is used for transactions that are one-time or otherwise not pre-scheduled. - `subscription`: This type is used for subscription payments. For example, monthly rental fees or ongoing service subscriptions. - `recurring`: This type is used for recurring payments that occur per a set plan. For example, splitting an HOA special assessment over 6 monthly payments. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: StoredMethodUsageType type_:Sequence: type: string description: >- The order of the transaction for cardholder-initiated transaction (CIT) and merchant-initiated transaction (MIT) purposes. This field is automatically detected and populated by Payabli. Available values: - `first`: The first use of the payment method. This is almost always a cardholder-initiated transaction. - `subsequent`: For merchant-initiated transactions after the first use of the payment method. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Sequence type_:Orderdescription: type: string description: Text description of the transaction. title: Orderdescription type_:Accountid: type: string description: Custom identifier for payment connector. title: Accountid type_:Signaturedata: type: string title: Signaturedata type_:BinData: type: object properties: binMatchedLength: type: string description: |- The number of characters from the beginning of the card number that were matched against a Bank Identification Number (BIN) or the Card Range table. binCardBrand: type: string description: |- The card brand. For example, Visa, Mastercard, American Express, Discover. binCardType: type: string description: 'The type of card: Credit or Debit.' binCardCategory: type: string description: >- The category of the card, which indicates the card product. For example: Standard, Gold, Platinum, etc. The binCardCategory for prepaid cards is marked `PREPAID`. binCardIssuer: type: string description: The name of the financial institution that issued the card. binCardIssuerCountry: type: string description: The issuing financial institution's country name. binCardIssuerCountryCodeA2: type: string description: >- The issuing financial institution's two-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIssuerCountryNumber: type: string description: >- The issuing financial institution's ISO standard numeric country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIsRegulated: type: string description: Indicates whether the card is regulated. binCardUseCategory: type: string description: The use category classification for the card. binCardIssuerCountryCodeA3: type: string description: >- The issuing financial institution's three-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. description: >- Object containing information related to the card. This object is `null` unless the payment method is card. If the payment method is Apple Pay, the binData will be related to the DPAN (device primary account number), not the card connected to Apple Pay. title: BinData type_:Source: type: string description: Custom identifier to indicate the transaction or request source. title: Source type_moneyIn:TransactionDetailPaymentDetails: type: object properties: totalAmount: type: number format: double serviceFee: type: number format: double checkNumber: type: - string - 'null' checkImage: oneOf: - description: Any type - type: 'null' checkUniqueId: type: string currency: type: string orderDescription: oneOf: - $ref: '#/components/schemas/type_:Orderdescription' - type: 'null' orderId: oneOf: - $ref: '#/components/schemas/type_:OrderId' - type: 'null' orderIdAlternative: type: - string - 'null' paymentDescription: type: - string - 'null' groupNumber: type: - string - 'null' source: oneOf: - $ref: '#/components/schemas/type_:Source' - type: 'null' payabliTransId: type: - string - 'null' unbundled: oneOf: - description: Any type - type: 'null' categories: type: array items: description: Any type splitFunding: type: array items: description: Any type required: - totalAmount - serviceFee - checkNumber - checkImage - checkUniqueId - currency - orderDescription - orderId - orderIdAlternative - paymentDescription - groupNumber - source - payabliTransId - unbundled - categories - splitFunding description: Detailed breakdown of payment amounts and identifiers title: TransactionDetailPaymentDetails type_moneyIn:TransactionDetailPaymentData: type: object properties: maskedAccount: $ref: '#/components/schemas/type_:Maskedaccount' accountType: $ref: '#/components/schemas/type_:Accounttype' accountExp: oneOf: - $ref: '#/components/schemas/type_:Accountexp' - type: 'null' holderName: $ref: '#/components/schemas/type_:Holdername' storedId: oneOf: - $ref: '#/components/schemas/type_:Storedmethodid' - type: 'null' initiator: oneOf: - $ref: '#/components/schemas/type_:Initiator' - type: 'null' storedMethodUsageType: oneOf: - $ref: '#/components/schemas/type_:StoredMethodUsageType' - type: 'null' sequence: oneOf: - $ref: '#/components/schemas/type_:Sequence' - type: 'null' orderDescription: $ref: '#/components/schemas/type_:Orderdescription' accountId: oneOf: - $ref: '#/components/schemas/type_:Accountid' - type: 'null' signatureData: oneOf: - $ref: '#/components/schemas/type_:Signaturedata' - type: 'null' binData: oneOf: - $ref: '#/components/schemas/type_:BinData' - type: 'null' paymentDetails: $ref: '#/components/schemas/type_moneyIn:TransactionDetailPaymentDetails' required: - maskedAccount - accountType - accountExp - holderName - storedId - initiator - storedMethodUsageType - sequence - orderDescription - accountId - signatureData - binData - paymentDetails description: Payment method and transaction details title: TransactionDetailPaymentData type_:TransStatus: type: integer description: >- Status of transaction. See [the docs](/developers/references/money-in-statuses#money-in-transaction-status) for a full reference. title: TransStatus type_:PaypointId: type: integer format: int64 description: The paypoint's ID. Note that this is different than the entryname. title: PaypointId type_:FeeAmount: type: number format: double description: Service fee or sub-charge applied. title: FeeAmount type_:SettlementStatus: type: integer description: >- Settlement status for transaction. See [the docs](/developers/references/money-in-statuses#payment-funding-status) for a full reference. title: SettlementStatus type_:Operation: type: string description: The transaction's operation. title: Operation type_:ResultCodev2: type: string description: >- Unified result code for the transaction. See [Pay In unified response codes](/developers/references/pay-in-unified-response-codes-reference) for more information. title: ResultCodev2 type_:ResultCodeText: type: string description: >- Description of the result code. See [Pay In unified response codes](/developers/references/pay-in-unified-response-codes-reference) for more information. title: ResultCodeText type_:Resulttext: type: string description: >- Text describing the result. If `ResultCode` = 1, will return 'Approved' or a general success message. If `ResultCode`` = 2 or 3, will contain the cause of the error or decline. title: Resulttext type_:Authcode: type: string description: Authorization code for the transaction. title: Authcode type_:AvsResponse: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponse type_:AvsResponseText: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponseText type_:CvvResponse: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponse type_:CvvResponseText: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponseText type_:CustomerVaultId: type: string title: CustomerVaultId type_:EmvAuthResponseData: type: string description: EMV authorization response data, applicable for card transactions. title: EmvAuthResponseData type___v2moneyInTypes__:V2TransactionDetailResponseData: type: object properties: resultCode: $ref: '#/components/schemas/type_:ResultCodev2' resultCodeText: $ref: '#/components/schemas/type_:ResultCodeText' response: type: - string - 'null' responsetext: $ref: '#/components/schemas/type_:Resulttext' authcode: oneOf: - $ref: '#/components/schemas/type_:Authcode' - type: 'null' transactionid: type: string description: >- Unique identifier for the transaction assigned by the payment processor. avsresponse: oneOf: - $ref: '#/components/schemas/type_:AvsResponse' - type: 'null' avsresponse_text: oneOf: - $ref: '#/components/schemas/type_:AvsResponseText' - type: 'null' cvvresponse: oneOf: - $ref: '#/components/schemas/type_:CvvResponse' - type: 'null' cvvresponse_text: oneOf: - $ref: '#/components/schemas/type_:CvvResponseText' - type: 'null' orderid: oneOf: - $ref: '#/components/schemas/type_:OrderId' - type: 'null' type: type: - string - 'null' response_code: type: string description: Processor-specific response code. response_code_text: type: string description: Description of the response code. customer_vault_id: oneOf: - $ref: '#/components/schemas/type_:CustomerVaultId' - type: 'null' emv_auth_response_data: oneOf: - $ref: '#/components/schemas/type_:EmvAuthResponseData' - type: 'null' required: - resultCode - resultCodeText - response - responsetext - authcode - transactionid - avsresponse - avsresponse_text - cvvresponse - cvvresponse_text - orderid - type - response_code - response_code_text - customer_vault_id - emv_auth_response_data description: Response data from payment processor title: V2TransactionDetailResponseData type_:Orgid: type: integer format: int64 description: Organization ID. Unique identifier assigned to an org by Payabli. title: Orgid type_:RefundId: type: integer format: int64 description: Identifier of refund transaction linked to this payment. title: RefundId type_:ReturnedId: type: integer format: int64 description: Identifier of return/chargeback transaction linked to this payment. title: ReturnedId type_:ChargebackId: type: integer format: int64 description: Identifier of chargeback transaction title: ChargebackId type_:RetrievalId: type: integer format: int64 description: Identifier of retrieval request title: RetrievalId type_:InvoiceNumber: type: string description: >- Custom number identifying the bill or invoice. Must be unique in paypoint. title: InvoiceNumber type_:Invoicestatus: type: integer description: |- Status for invoice. The accepted status values are: - 0 draft - 1 active - 2 partially paid - 4 paid/complete - 99 cancelled title: Invoicestatus type_:InvoiceType: type: integer description: Type of invoice. Only `0` for one-time invoices is currently supported. title: InvoiceType type_:Frequency: type: string enum: - onetime - weekly - every2weeks - every6months - monthly - every3months - annually description: Frequency for operation. title: Frequency type_:TermsConditions: type: string description: Custom terms and conditions included in the invoice. title: TermsConditions type_:Tax: type: number format: double description: Tax rate in percent applied to the invoice. title: Tax type_:Discount: type: number format: double description: Discount applied to the invoice. title: Discount type_:InvoiceAmount: type: number format: double description: Invoice total amount. title: InvoiceAmount type_:FreightAmount: type: number format: double description: Freight/shipping amount. title: FreightAmount type_:DutyAmount: type: number format: double description: Duty amount. title: DutyAmount type_:PurchaseOrder: type: string description: Purchase order number. title: PurchaseOrder type_:Shippingaddress: type: string description: The shipping address. title: Shippingaddress type_:Shippingaddressadditional: type: string description: Additional line for shipping address. title: Shippingaddressadditional type_:Shippingcity: type: string description: Shipping city. title: Shippingcity type_:Shippingstate: type: string description: Shipping state or province. title: Shippingstate type_:Shippingzip: type: string description: >- Shipping ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". title: Shippingzip type_:Shippingcountry: type: string description: Shipping address country. title: Shippingcountry type_:Email: type: string format: email description: Email address. title: Email type_:ShippingFromZip: type: string description: Sender shipping ZIP code. title: ShippingFromZip type_:SummaryCommodityCode: type: string description: Commodity code. title: SummaryCommodityCode type_:ItemCommodityCode: type: string description: Item or product commodity code. Max length of 250 characters. title: ItemCommodityCode type_:ItemDescription: type: string description: Item or product description. Max length of 250 characters. title: ItemDescription type_:ItemProductCode: type: string description: Item or product code. Max length of 250 characters. title: ItemProductCode type_:ItemProductName: type: string description: Item or product name. Max length of 250 characters. title: ItemProductName type_:ItemUnitofMeasure: type: string description: Unit of measurement. Max length of 100 characters. title: ItemUnitofMeasure type_:BillItem: type: object properties: itemCategories: type: array items: type: string description: Array of tags classifying item or product. itemCommodityCode: $ref: '#/components/schemas/type_:ItemCommodityCode' itemCost: type: number format: double description: Item or product price per unit. itemDescription: $ref: '#/components/schemas/type_:ItemDescription' itemMode: type: integer description: >- Internal class of item or product: value '0' is only for invoices , '1' for bills and, '2' common for both. itemProductCode: $ref: '#/components/schemas/type_:ItemProductCode' itemProductName: $ref: '#/components/schemas/type_:ItemProductName' itemQty: type: integer description: Quantity of item or product. itemTaxAmount: type: number format: double description: Tax amount applied to item or product. itemTaxRate: type: number format: double description: Tax rate applied to item or product. itemTotalAmount: type: number format: double description: Total amount in item or product. itemUnitOfMeasure: $ref: '#/components/schemas/type_:ItemUnitofMeasure' required: - itemCost title: BillItem type_:FileContentFtype: type: string enum: - pdf - doc - docx - jpg - jpeg - png - gif - txt description: The MIME type of the file (if content is provided) title: FileContentFtype type_:FileContent: type: object properties: fContent: type: string description: >- Content of file, Base64-encoded. Ignored if furl is specified. Max upload size is 30 MB. filename: type: string description: The name of the attached file. ftype: $ref: '#/components/schemas/type_:FileContentFtype' description: The MIME type of the file (if content is provided) furl: type: string description: Optional URL provided to show or download the file remotely description: Contains details about a file. Max upload size is 30 MB. title: FileContent type_:Attachments: type: array items: $ref: '#/components/schemas/type_:FileContent' description: >- Array of `fileContent` objects with attached documents. Max upload size is 30 MB. title: Attachments type_:AdditionalDataString: type: string description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. Example usage: ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalDataString type_moneyIn:TransactionDetailInvoiceData: type: object properties: invoiceNumber: oneOf: - $ref: '#/components/schemas/type_:InvoiceNumber' - type: 'null' invoiceDate: type: - string - 'null' format: date invoiceDueDate: type: - string - 'null' format: date invoiceEndDate: type: - string - 'null' format: date invoiceStatus: oneOf: - $ref: '#/components/schemas/type_:Invoicestatus' - type: 'null' invoiceType: oneOf: - $ref: '#/components/schemas/type_:InvoiceType' - type: 'null' frequency: oneOf: - $ref: '#/components/schemas/type_:Frequency' - type: 'null' paymentTerms: type: - string - 'null' termsConditions: oneOf: - $ref: '#/components/schemas/type_:TermsConditions' - type: 'null' notes: type: - string - 'null' tax: oneOf: - $ref: '#/components/schemas/type_:Tax' - type: 'null' discount: oneOf: - $ref: '#/components/schemas/type_:Discount' - type: 'null' invoiceAmount: oneOf: - $ref: '#/components/schemas/type_:InvoiceAmount' - type: 'null' freightAmount: oneOf: - $ref: '#/components/schemas/type_:FreightAmount' - type: 'null' dutyAmount: oneOf: - $ref: '#/components/schemas/type_:DutyAmount' - type: 'null' purchaseOrder: oneOf: - $ref: '#/components/schemas/type_:PurchaseOrder' - type: 'null' firstName: type: - string - 'null' lastName: type: - string - 'null' company: type: - string - 'null' shippingAddress1: oneOf: - $ref: '#/components/schemas/type_:Shippingaddress' - type: 'null' shippingAddress2: oneOf: - $ref: '#/components/schemas/type_:Shippingaddressadditional' - type: 'null' shippingCity: oneOf: - $ref: '#/components/schemas/type_:Shippingcity' - type: 'null' shippingState: oneOf: - $ref: '#/components/schemas/type_:Shippingstate' - type: 'null' shippingZip: oneOf: - $ref: '#/components/schemas/type_:Shippingzip' - type: 'null' shippingCountry: oneOf: - $ref: '#/components/schemas/type_:Shippingcountry' - type: 'null' shippingEmail: oneOf: - $ref: '#/components/schemas/type_:Email' - type: 'null' shippingPhone: type: - string - 'null' shippingFromZip: oneOf: - $ref: '#/components/schemas/type_:ShippingFromZip' - type: 'null' summaryCommodityCode: oneOf: - $ref: '#/components/schemas/type_:SummaryCommodityCode' - type: 'null' items: type: - array - 'null' items: $ref: '#/components/schemas/type_:BillItem' attachments: oneOf: - $ref: '#/components/schemas/type_:Attachments' - type: 'null' additionalData: oneOf: - $ref: '#/components/schemas/type_:AdditionalDataString' - type: 'null' required: - invoiceNumber - invoiceDate - invoiceDueDate - invoiceEndDate - invoiceStatus - invoiceType - frequency - paymentTerms - termsConditions - notes - tax - discount - invoiceAmount - freightAmount - dutyAmount - purchaseOrder - firstName - lastName - company - shippingAddress1 - shippingAddress2 - shippingCity - shippingState - shippingZip - shippingCountry - shippingEmail - shippingPhone - shippingFromZip - summaryCommodityCode - items - attachments - additionalData description: Invoice information if transaction is associated with an invoice title: TransactionDetailInvoiceData type_:EntrypageId: type: integer format: int64 description: >- If applicable, the internal reference ID to the payment page capturing the payment. title: EntrypageId type_:ExternalPaypointId: type: string description: >- A custom identifier for the paypoint, if applicable. Like `entrypoint` is the Payabli identifier for the merchant, `externalPaypointId` is a custom field you can use to include the merchant's ID from your own systems. title: ExternalPaypointId type_:Identifierfields: type: array items: type: string description: >- List of fields acting as customer identifiers, to be used instead of CustomerNumber. title: Identifierfields type_:BillingAddressNullable: type: string description: Billing address. title: BillingAddressNullable type_:BillingAddressAddtlNullable: type: string description: Additional line for the billing address. title: BillingAddressAddtlNullable type_:BillingCityNullable: type: string description: Billing city. title: BillingCityNullable type_:BillingStateNullable: type: string description: Billing state. Must be 2-letter state code for address in US. title: BillingStateNullable type_:BillingZip: type: string description: Billing address ZIP code. title: BillingZip type_:BillingCountryNullable: type: string description: Billing address country. title: BillingCountryNullable type_:PhoneNumber: type: string description: Phone number. title: PhoneNumber type_:CustomerNumberNullable: type: string description: >- User-provided unique identifier for the customer. This is typically the customer ID from your own system. title: CustomerNumberNullable type_:CustomerId: type: integer format: int64 description: The Payabli-generated unique ID for the customer. title: CustomerId type_:CustomerStatus: type: integer description: |- Customer Status. Possible values: - `-99` Deleted - `0` Inactive - `1` Active - `85` Locked (typically due to multiple failed login attempts) title: CustomerStatus type_moneyIn:TransactionDetailCustomer: type: object properties: identifiers: oneOf: - $ref: '#/components/schemas/type_:Identifierfields' - type: 'null' firstName: type: string lastName: type: string companyName: type: string billingAddress1: $ref: '#/components/schemas/type_:BillingAddressNullable' billingAddress2: $ref: '#/components/schemas/type_:BillingAddressAddtlNullable' billingCity: $ref: '#/components/schemas/type_:BillingCityNullable' billingState: $ref: '#/components/schemas/type_:BillingStateNullable' billingZip: $ref: '#/components/schemas/type_:BillingZip' billingCountry: $ref: '#/components/schemas/type_:BillingCountryNullable' billingPhone: $ref: '#/components/schemas/type_:PhoneNumber' billingEmail: $ref: '#/components/schemas/type_:Email' customerNumber: $ref: '#/components/schemas/type_:CustomerNumberNullable' shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' customerId: $ref: '#/components/schemas/type_:CustomerId' customerStatus: $ref: '#/components/schemas/type_:CustomerStatus' additionalData: oneOf: - $ref: '#/components/schemas/type_:AdditionalDataString' - type: 'null' required: - identifiers - firstName - lastName - companyName - billingAddress1 - billingAddress2 - billingCity - billingState - billingZip - billingCountry - billingPhone - billingEmail - customerNumber - shippingAddress1 - shippingAddress2 - shippingCity - shippingState - shippingZip - shippingCountry - customerId - customerStatus - additionalData description: Customer information associated with the transaction title: TransactionDetailCustomer type_:SplitFundingContent: type: object properties: accountId: type: string description: The accountId for the account the split should be sent to. amount: type: number format: double description: Amount from the transaction to sent to this recipient. description: type: string description: A description for the split. recipientEntryPoint: type: string description: The entrypoint the split should be sent to. title: SplitFundingContent type_:SplitFunding: type: array items: $ref: '#/components/schemas/type_:SplitFundingContent' description: >- Split funding instructions for the transaction. The total amount of the splits must match the total amount of the transaction. title: SplitFunding type_:TransactionTime: type: string format: date-time description: Timestamp when transaction was submitted, in UTC. title: TransactionTime type_:QueryCFeeTransaction: type: object properties: cFeeTransid: type: string feeAmount: type: number format: double operation: type: string refundId: type: integer format: int64 responseData: type: object additionalProperties: description: Any type settlementStatus: type: integer transactionTime: $ref: '#/components/schemas/type_:TransactionTime' transStatus: type: integer title: QueryCFeeTransaction type_moneyIn:TransactionDetailEvent: type: object properties: transEvent: type: string eventData: type: string eventTime: type: string required: - transEvent - eventData - eventTime description: Event associated with transaction processing title: TransactionDetailEvent type_:PendingFeeAmount: type: number format: double description: >- The difference between the configured pass-through fee and the fee amount sent in the request. When transferring funds, Payabli uses this field to deduct the fee difference and transfer the correct amount to the merchant. When a paypoint is set up to absorb fees, and the pass-through fee sent with the request is less than the configured amount, the difference must be covered by the merchant. See [Fee Configuration](/guides/pay-in-fees-passthrough-overview#fee-configuration) to learn more about pass-through fee settings. title: PendingFeeAmount type_:RiskFlagged: type: boolean description: Indicates if the transaction was flagged for risk title: RiskFlagged type_:RiskFlaggedOn: type: string format: date-time description: Timestamp when the transaction was flagged for risk title: RiskFlaggedOn type_:RiskStatus: type: string description: Current risk status of the transaction title: RiskStatus type_:RiskReason: type: string description: Reason for risk flagging title: RiskReason type_:RiskAction: type: string description: Action taken due to risk assessment title: RiskAction type_:RiskActionCode: type: integer description: Numeric code representing the risk action title: RiskActionCode type_:Device: type: string description: Identifier of registered cloud device used in the transaction. title: Device type_:AchSecCode: type: string description: >- Standard Entry Class (SEC) code is a three letter code that describes how an ACH payment was authorized. Supported values are: - PPD (Prearranged Payment and Deposit) - Used for credits or debits where an accountholder authorizes a company to initiate either a single or recurring transaction to their personal bank account. Common examples include direct deposit of payroll, mortgage payments, or utility bills. This is the default value for subscription payments. - WEB (Internet-Initiated/Mobile Entry) - Used for debit entries when authorization is obtained from an accountholder via the internet or a wireless network. Common examples are online bill payments, ecommerce purchases, and mobile app payments where the consumer enters their banking information online. - TEL (Telephone-Initiated Entry) - Used for one-time debit entries where authorization is obtained from a consumer via telephone. Common examples are phone-based purchases or bill payments where the consumer provides their banking information over the phone. - CCD (Corporate Credit or Debit) - Used for fund transfers between business accounts. This code is specifically for business-to-business transactions. Common examples include vendor payments and other business-to-business payments. - BOC (Back Office Conversion) - Used to convert paper checks received in-person at a point-of-sale or staffed payment location into electronic ACH debits. Required for Remote Deposit Capture (RDC) transactions. Only supports consumer checks; business, government, and mailed checks aren't eligible. title: AchSecCode type_:AchHolderType: type: string enum: - personal - business default: personal description: 'The bank''s accountholder type: personal or business.' title: AchHolderType type_:IpAddress: type: string description: >- *Recommended*. The customer's IP address. This field is used to help prevent fraudulent transactions, and Payabli strongly recommends including this data. title: IpAddress type___v2moneyInTypes__:V2TransactionDetails: type: object properties: parentOrgName: $ref: '#/components/schemas/type_:OrgParentName' paypointDbaname: $ref: '#/components/schemas/type_:Dbaname' paypointLegalname: $ref: '#/components/schemas/type_:Legalname' paypointEntryname: $ref: '#/components/schemas/type_:Entrypointfield' paymentTransId: type: string description: Unique transaction identifier. connectorName: type: string description: Name of the payment connector used. externalProcessorInformation: $ref: '#/components/schemas/type_:ExternalProcessorInformation' gatewayTransId: type: string description: Gateway transaction identifier. orderId: oneOf: - $ref: '#/components/schemas/type_:OrderId' - type: 'null' method: type: string description: Payment method used for the transaction. batchNumber: $ref: '#/components/schemas/type_:BatchNumber' batchAmount: type: number format: double description: Total amount in the batch. payorId: $ref: '#/components/schemas/type_:PayorId' paymentData: $ref: '#/components/schemas/type_moneyIn:TransactionDetailPaymentData' transStatus: $ref: '#/components/schemas/type_:TransStatus' paypointId: $ref: '#/components/schemas/type_:PaypointId' totalAmount: type: number format: double description: Total transaction amount including fees. netAmount: type: number format: double description: Net transaction amount excluding fees. feeAmount: $ref: '#/components/schemas/type_:FeeAmount' settlementStatus: $ref: '#/components/schemas/type_:SettlementStatus' operation: $ref: '#/components/schemas/type_:Operation' responseData: $ref: >- #/components/schemas/type___v2moneyInTypes__:V2TransactionDetailResponseData source: $ref: '#/components/schemas/type_:Source' scheduleReference: type: integer format: int64 description: Reference to associated payment schedule if applicable. orgId: $ref: '#/components/schemas/type_:Orgid' refundId: $ref: '#/components/schemas/type_:RefundId' returnedId: $ref: '#/components/schemas/type_:ReturnedId' chargebackId: $ref: '#/components/schemas/type_:ChargebackId' retrievalId: $ref: '#/components/schemas/type_:RetrievalId' transAdditionalData: oneOf: - description: Any type - type: 'null' invoiceData: $ref: '#/components/schemas/type_moneyIn:TransactionDetailInvoiceData' entrypageId: $ref: '#/components/schemas/type_:EntrypageId' externalPaypointID: $ref: '#/components/schemas/type_:ExternalPaypointId' isValidatedACH: type: boolean description: Indicates if ACH account was validated in real-time. transactionTime: type: string description: Timestamp when transaction was created. customer: $ref: '#/components/schemas/type_moneyIn:TransactionDetailCustomer' splitFundingInstructions: oneOf: - $ref: '#/components/schemas/type_:SplitFunding' - type: 'null' cfeeTransactions: type: array items: $ref: '#/components/schemas/type_:QueryCFeeTransaction' transactionEvents: type: array items: $ref: '#/components/schemas/type_moneyIn:TransactionDetailEvent' pendingFeeAmount: $ref: '#/components/schemas/type_:PendingFeeAmount' riskFlagged: $ref: '#/components/schemas/type_:RiskFlagged' riskFlaggedOn: $ref: '#/components/schemas/type_:RiskFlaggedOn' riskStatus: $ref: '#/components/schemas/type_:RiskStatus' riskReason: $ref: '#/components/schemas/type_:RiskReason' riskAction: $ref: '#/components/schemas/type_:RiskAction' riskActionCode: $ref: '#/components/schemas/type_:RiskActionCode' deviceId: $ref: '#/components/schemas/type_:Device' achSecCode: $ref: '#/components/schemas/type_:AchSecCode' achHolderType: $ref: '#/components/schemas/type_:AchHolderType' ipAddress: $ref: '#/components/schemas/type_:IpAddress' isSameDayACH: type: boolean description: Indicates if ACH transaction uses same-day processing. walletType: type: - string - 'null' description: Digital wallet type if applicable. required: - parentOrgName - paypointDbaname - paypointLegalname - paypointEntryname - paymentTransId - connectorName - externalProcessorInformation - gatewayTransId - orderId - method - batchNumber - batchAmount - payorId - paymentData - transStatus - paypointId - totalAmount - netAmount - feeAmount - settlementStatus - operation - responseData - source - scheduleReference - orgId - refundId - returnedId - chargebackId - retrievalId - transAdditionalData - invoiceData - entrypageId - externalPaypointID - isValidatedACH - transactionTime - customer - splitFundingInstructions - cfeeTransactions - transactionEvents - riskStatus - riskReason - riskAction - deviceId - achSecCode - achHolderType - ipAddress - isSameDayACH - walletType description: >- Complete transaction details returned by v2 Money In endpoints. This matches the structure of the transaction details previously returned by the v1 details endpoint. title: V2TransactionDetails type___v2moneyInTypes__:V2TransactionResponseWrapper: type: object properties: code: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseCode' reason: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseReason' explanation: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseExplanation' action: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseAction' data: $ref: '#/components/schemas/type___v2moneyInTypes__:V2TransactionDetails' token: type: - string - 'null' description: >- Pagination token (equivalent to `pageIdentifier` in v1 APIs). Returns `null` when pagination is not applicable. required: - code - reason - explanation - action - data - token description: >- Standard response wrapper for v2 Money In transaction endpoints. All v2 transaction endpoints return responses in this format with consistent `code`, `reason`, `explanation`, and `action` fields. The `data` field contains transaction details. title: V2TransactionResponseWrapper type___v2moneyInTypes__:V2BadRequestErrorDetail: type: object properties: message: type: string description: Description of the validation error. suggestion: type: string description: Suggested action to fix the error. required: - message - suggestion description: Individual field error detail for bad request responses. title: V2BadRequestErrorDetail type___v2moneyInTypes__:V2BadRequestError: type: object properties: type: type: string description: >- A URI reference that identifies the problem type. Points to human-readable documentation for this error type. title: type: string description: Always "Bad Request" for 400 errors. status: type: integer description: HTTP status code, always 400 for bad requests. detail: type: string description: Short description of the error. instance: type: string description: Request URL that caused the error. code: type: string description: >- Payabli's unified response code for validation errors. Starts with 'E'. See [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for more information. errors: type: object additionalProperties: type: array items: $ref: >- #/components/schemas/type___v2moneyInTypes__:V2BadRequestErrorDetail description: >- Dictionary of field-specific validation errors. Keys are field paths (e.g., "paymentMethod.cardnumber") and values are arrays of error details. token: type: - string - 'null' description: >- Pagination token (equivalent to pageIdentifier in v1 APIs). Usually null for errors. required: - type - title - status - detail - instance - code - errors - token description: >- Bad request error response (HTTP 400) returned when request validation fails. Follows RFC 7807 Problem Details format with additional Payabli-specific fields. title: V2BadRequestError type___v2moneyInTypes__:V2DeclinedTransactionResponseWrapper: type: object properties: code: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseCode' reason: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseReason' explanation: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseExplanation' action: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseAction' data: $ref: '#/components/schemas/type___v2moneyInTypes__:V2TransactionDetails' token: type: - string - 'null' description: >- Pagination token (equivalent to `pageIdentifier` in v1 APIs). Returns `null` when pagination is not applicable. required: - code - reason - explanation - action - data - token description: >- Response wrapper for declined v2 Money In transaction endpoints (HTTP 402). Returned when a transaction is declined by the card network or issuer. All decline responses use this format with unified response codes starting with 'D'. The `data` field contains transaction details. title: V2DeclinedTransactionResponseWrapper type___v2moneyInTypes__:V2InternalServerError: type: object properties: title: type: string description: Always "Internal Server Error" for 500 errors. status: type: integer description: HTTP status code, always 500 for internal errors. detail: type: string description: Additional details about the internal error. instance: type: string description: Request URL that caused the error. required: - title - status - detail - instance description: >- Internal server error response (HTTP 500) returned when an unexpected error occurs. Follows RFC 7807 Problem Details format. title: V2InternalServerError securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript FullCapture import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.moneyIn.capturev2("10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13", { paymentDetails: { totalAmount: 105, serviceFee: 5, }, }); } main(); ``` ```python FullCapture from payabli import payabli from payabli.money_in import CapturePaymentDetails client = payabli( api_key="YOUR_API_KEY_HERE", ) client.money_in.capturev_2( trans_id="10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13", payment_details=CapturePaymentDetails( total_amount=105, service_fee=5, ), ) ``` ```csharp FullCapture using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.MoneyIn.Capturev2Async( "10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13", new CaptureRequest { PaymentDetails = new CapturePaymentDetails { TotalAmount = 105, ServiceFee = 5 } } ); } } ``` ```go FullCapture package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/v2/MoneyIn/capture/10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13" payload := strings.NewReader("{\n \"paymentDetails\": {\n \"totalAmount\": 105,\n \"serviceFee\": 5\n }\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby FullCapture require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/v2/MoneyIn/capture/10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"paymentDetails\": {\n \"totalAmount\": 105,\n \"serviceFee\": 5\n }\n}" response = http.request(request) puts response.read_body ``` ```java FullCapture import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/v2/MoneyIn/capture/10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"paymentDetails\": {\n \"totalAmount\": 105,\n \"serviceFee\": 5\n }\n}") .asString(); ``` ```php FullCapture request('POST', 'https://api-sandbox.payabli.com/api/v2/MoneyIn/capture/10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13', [ 'body' => '{ "paymentDetails": { "totalAmount": 105, "serviceFee": 5 } }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift FullCapture import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = ["paymentDetails": [ "totalAmount": 105, "serviceFee": 5 ]] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/v2/MoneyIn/capture/10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ```typescript PartialCapture import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.moneyIn.capturev2("10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13", { paymentDetails: { totalAmount: 89, serviceFee: 4, }, }); } main(); ``` ```python PartialCapture from payabli import payabli from payabli.money_in import CapturePaymentDetails client = payabli( api_key="YOUR_API_KEY_HERE", ) client.money_in.capturev_2( trans_id="10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13", payment_details=CapturePaymentDetails( total_amount=89, service_fee=4, ), ) ``` ```csharp PartialCapture using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.MoneyIn.Capturev2Async( "10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13", new CaptureRequest { PaymentDetails = new CapturePaymentDetails { TotalAmount = 89, ServiceFee = 4 } } ); } } ``` ```go PartialCapture package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/v2/MoneyIn/capture/10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13" payload := strings.NewReader("{\n \"paymentDetails\": {\n \"totalAmount\": 89,\n \"serviceFee\": 4\n }\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby PartialCapture require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/v2/MoneyIn/capture/10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"paymentDetails\": {\n \"totalAmount\": 89,\n \"serviceFee\": 4\n }\n}" response = http.request(request) puts response.read_body ``` ```java PartialCapture import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/v2/MoneyIn/capture/10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"paymentDetails\": {\n \"totalAmount\": 89,\n \"serviceFee\": 4\n }\n}") .asString(); ``` ```php PartialCapture request('POST', 'https://api-sandbox.payabli.com/api/v2/MoneyIn/capture/10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13', [ 'body' => '{ "paymentDetails": { "totalAmount": 89, "serviceFee": 4 } }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift PartialCapture import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = ["paymentDetails": [ "totalAmount": 89, "serviceFee": 4 ]] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/v2/MoneyIn/capture/10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Refund transaction POST https://api-sandbox.payabli.com/api/v2/MoneyIn/refund/{transId} Give a full refund for a transaction that has settled and send money back to the account holder. To perform a partial refund, see [Partially refund a transaction](developers/api-reference/moneyinV2/partial-refund-a-settled-transaction). This is the v2 version of the refund endpoint, and returns the unified response format. See [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for more information. Reference: https://docs.payabli.com/developers/api-reference/moneyinV2/refund-a-settled-transaction ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /v2/MoneyIn/refund/{transId}: post: operationId: refundv-2 summary: Refund a settled transaction (v2) description: >- Give a full refund for a transaction that has settled and send money back to the account holder. To perform a partial refund, see [Partially refund a transaction](developers/api-reference/moneyinV2/partial-refund-a-settled-transaction). This is the v2 version of the refund endpoint, and returns the unified response format. See [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for more information. tags: - subpackage_moneyIn parameters: - name: transId in: path description: ReferenceId for the transaction (PaymentId). required: true schema: type: string - name: requestToken in: header required: true schema: type: string responses: '201': description: Ok content: application/json: schema: $ref: >- #/components/schemas/type___v2moneyInTypes__:V2TransactionResponseWrapper '400': description: >- Bad request error for v2 Money In refund endpoint (HTTP 400). Returned when request validation fails. Follows RFC 7807 Problem Details format with Payabli-specific unified response codes. See the [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for the complete list of codes. content: application/json: schema: $ref: '#/components/schemas/type___v2moneyInTypes__:V2BadRequestError' '401': description: Unauthorized request. content: application/json: schema: description: Any type '402': description: >- Refund decline error for v2 Money In endpoints (HTTP 402). Returned when a refund operation is declined for a transaction. Uses unified response codes starting with 'D'. See the [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for the complete list of codes. content: application/json: schema: $ref: >- #/components/schemas/type___v2moneyInTypes__:V2DeclinedTransactionResponseWrapper '500': description: >- Internal server error for v2 Money In endpoints (HTTP 500). Returned when an unexpected error occurs. Follows RFC 7807 Problem Details format. content: application/json: schema: $ref: >- #/components/schemas/type___v2moneyInTypes__:V2InternalServerError servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type___v2moneyInTypes__:V2ResponseCode: type: string description: >- Payabli's unified response code. Starts with `A` (Approved) or `D` (Declined) followed by a four-digit code that provides specific details about the transaction result. See [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for more information. title: V2ResponseCode type___v2moneyInTypes__:V2ResponseReason: type: string description: Human-readable reason corresponding to the response code. title: V2ResponseReason type___v2moneyInTypes__:V2ResponseExplanation: type: string description: Detailed description of the response code. title: V2ResponseExplanation type___v2moneyInTypes__:V2ResponseAction: type: string description: Recommended resolution approach or next steps based on the response. title: V2ResponseAction type_:OrgParentName: type: string description: The name of the parent organization. title: OrgParentName type_:Dbaname: type: string description: >- The alternate or common name that this business is doing business under usually referred to as a DBA name. title: Dbaname type_:Legalname: type: string description: Business legal name. title: Legalname type_:Entrypointfield: type: string description: The entrypoint identifier. title: Entrypointfield type_:ExternalProcessorInformation: type: string description: >- Processor information, used for troubleshooting and reporting. This field contains a value when the API key used to make the request has management permissions. title: ExternalProcessorInformation type_:OrderId: type: string description: Custom identifier for the transaction. title: OrderId type_:BatchNumber: type: string description: >- A unique identifier for the batch. This is generated by Payabli when the batch is created, and follows this format: `paypointId + "_" + serviceName + "_" + batchDate:yyyyMMdd + "_" + Guid.NewGuid()`. Payabli generates the GUID to ensure that the batch number is unique. For example, in this batch number: `123_card_20251008_3f2504e0-4f89-11d3-9a0c-0305e82c3301`, the paypointID is "123", the service is "card", the batch date is "2025-10-08", and the GUID is "3f2504e0-4f89-11d3-9a0c-0305e82c3301". title: BatchNumber type_:PayorId: type: integer format: int64 description: >- Unique ID for the customer linked to the transaction. This is the same value as the `customerId` used when creating or referencing a customer. title: PayorId type_:Maskedaccount: type: string description: >- Masked card or bank account used in transaction. In the case of Apple Pay, this is a masked DPAN (device primary account number). title: Maskedaccount type_:Accounttype: type: string description: Bank account type or card brand. title: Accounttype type_:Accountexp: type: string description: Expiration date of card used in transaction. title: Accountexp type_:Holdername: type: string description: Account holder name for the method. title: Holdername type_:Storedmethodid: type: string description: >- Payabli identifier of a tokenized payment method. If this field is used in a request, the `method` field is overridden and the payment is made using the payment token. title: Storedmethodid type_:Initiator: type: string description: >- **Strongly recommended** The cardholder-initiated transaction (CIT) or merchant-initiated transaction (MIT) indicator for the transaction. If you don't specify a value, Payabli defaults to `merchant`. Available values: - `payor`: For cardholder-initiated transactions - `merchant`: For merchant-initiated transactions See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Initiator type_:StoredMethodUsageType: type: string description: >- **Strongly recommended** The usage type for the stored method, used for merchant-initiated transactions (MIT). If you don't specify a value, Payabli defaults to `unscheduled`. Available values: - `unscheduled`: This type is used for transactions that are one-time or otherwise not pre-scheduled. - `subscription`: This type is used for subscription payments. For example, monthly rental fees or ongoing service subscriptions. - `recurring`: This type is used for recurring payments that occur per a set plan. For example, splitting an HOA special assessment over 6 monthly payments. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: StoredMethodUsageType type_:Sequence: type: string description: >- The order of the transaction for cardholder-initiated transaction (CIT) and merchant-initiated transaction (MIT) purposes. This field is automatically detected and populated by Payabli. Available values: - `first`: The first use of the payment method. This is almost always a cardholder-initiated transaction. - `subsequent`: For merchant-initiated transactions after the first use of the payment method. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Sequence type_:Orderdescription: type: string description: Text description of the transaction. title: Orderdescription type_:Accountid: type: string description: Custom identifier for payment connector. title: Accountid type_:Signaturedata: type: string title: Signaturedata type_:BinData: type: object properties: binMatchedLength: type: string description: |- The number of characters from the beginning of the card number that were matched against a Bank Identification Number (BIN) or the Card Range table. binCardBrand: type: string description: |- The card brand. For example, Visa, Mastercard, American Express, Discover. binCardType: type: string description: 'The type of card: Credit or Debit.' binCardCategory: type: string description: >- The category of the card, which indicates the card product. For example: Standard, Gold, Platinum, etc. The binCardCategory for prepaid cards is marked `PREPAID`. binCardIssuer: type: string description: The name of the financial institution that issued the card. binCardIssuerCountry: type: string description: The issuing financial institution's country name. binCardIssuerCountryCodeA2: type: string description: >- The issuing financial institution's two-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIssuerCountryNumber: type: string description: >- The issuing financial institution's ISO standard numeric country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIsRegulated: type: string description: Indicates whether the card is regulated. binCardUseCategory: type: string description: The use category classification for the card. binCardIssuerCountryCodeA3: type: string description: >- The issuing financial institution's three-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. description: >- Object containing information related to the card. This object is `null` unless the payment method is card. If the payment method is Apple Pay, the binData will be related to the DPAN (device primary account number), not the card connected to Apple Pay. title: BinData type_:Source: type: string description: Custom identifier to indicate the transaction or request source. title: Source type_moneyIn:TransactionDetailPaymentDetails: type: object properties: totalAmount: type: number format: double serviceFee: type: number format: double checkNumber: type: - string - 'null' checkImage: oneOf: - description: Any type - type: 'null' checkUniqueId: type: string currency: type: string orderDescription: oneOf: - $ref: '#/components/schemas/type_:Orderdescription' - type: 'null' orderId: oneOf: - $ref: '#/components/schemas/type_:OrderId' - type: 'null' orderIdAlternative: type: - string - 'null' paymentDescription: type: - string - 'null' groupNumber: type: - string - 'null' source: oneOf: - $ref: '#/components/schemas/type_:Source' - type: 'null' payabliTransId: type: - string - 'null' unbundled: oneOf: - description: Any type - type: 'null' categories: type: array items: description: Any type splitFunding: type: array items: description: Any type required: - totalAmount - serviceFee - checkNumber - checkImage - checkUniqueId - currency - orderDescription - orderId - orderIdAlternative - paymentDescription - groupNumber - source - payabliTransId - unbundled - categories - splitFunding description: Detailed breakdown of payment amounts and identifiers title: TransactionDetailPaymentDetails type_moneyIn:TransactionDetailPaymentData: type: object properties: maskedAccount: $ref: '#/components/schemas/type_:Maskedaccount' accountType: $ref: '#/components/schemas/type_:Accounttype' accountExp: oneOf: - $ref: '#/components/schemas/type_:Accountexp' - type: 'null' holderName: $ref: '#/components/schemas/type_:Holdername' storedId: oneOf: - $ref: '#/components/schemas/type_:Storedmethodid' - type: 'null' initiator: oneOf: - $ref: '#/components/schemas/type_:Initiator' - type: 'null' storedMethodUsageType: oneOf: - $ref: '#/components/schemas/type_:StoredMethodUsageType' - type: 'null' sequence: oneOf: - $ref: '#/components/schemas/type_:Sequence' - type: 'null' orderDescription: $ref: '#/components/schemas/type_:Orderdescription' accountId: oneOf: - $ref: '#/components/schemas/type_:Accountid' - type: 'null' signatureData: oneOf: - $ref: '#/components/schemas/type_:Signaturedata' - type: 'null' binData: oneOf: - $ref: '#/components/schemas/type_:BinData' - type: 'null' paymentDetails: $ref: '#/components/schemas/type_moneyIn:TransactionDetailPaymentDetails' required: - maskedAccount - accountType - accountExp - holderName - storedId - initiator - storedMethodUsageType - sequence - orderDescription - accountId - signatureData - binData - paymentDetails description: Payment method and transaction details title: TransactionDetailPaymentData type_:TransStatus: type: integer description: >- Status of transaction. See [the docs](/developers/references/money-in-statuses#money-in-transaction-status) for a full reference. title: TransStatus type_:PaypointId: type: integer format: int64 description: The paypoint's ID. Note that this is different than the entryname. title: PaypointId type_:FeeAmount: type: number format: double description: Service fee or sub-charge applied. title: FeeAmount type_:SettlementStatus: type: integer description: >- Settlement status for transaction. See [the docs](/developers/references/money-in-statuses#payment-funding-status) for a full reference. title: SettlementStatus type_:Operation: type: string description: The transaction's operation. title: Operation type_:ResultCodev2: type: string description: >- Unified result code for the transaction. See [Pay In unified response codes](/developers/references/pay-in-unified-response-codes-reference) for more information. title: ResultCodev2 type_:ResultCodeText: type: string description: >- Description of the result code. See [Pay In unified response codes](/developers/references/pay-in-unified-response-codes-reference) for more information. title: ResultCodeText type_:Resulttext: type: string description: >- Text describing the result. If `ResultCode` = 1, will return 'Approved' or a general success message. If `ResultCode`` = 2 or 3, will contain the cause of the error or decline. title: Resulttext type_:Authcode: type: string description: Authorization code for the transaction. title: Authcode type_:AvsResponse: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponse type_:AvsResponseText: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponseText type_:CvvResponse: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponse type_:CvvResponseText: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponseText type_:CustomerVaultId: type: string title: CustomerVaultId type_:EmvAuthResponseData: type: string description: EMV authorization response data, applicable for card transactions. title: EmvAuthResponseData type___v2moneyInTypes__:V2TransactionDetailResponseData: type: object properties: resultCode: $ref: '#/components/schemas/type_:ResultCodev2' resultCodeText: $ref: '#/components/schemas/type_:ResultCodeText' response: type: - string - 'null' responsetext: $ref: '#/components/schemas/type_:Resulttext' authcode: oneOf: - $ref: '#/components/schemas/type_:Authcode' - type: 'null' transactionid: type: string description: >- Unique identifier for the transaction assigned by the payment processor. avsresponse: oneOf: - $ref: '#/components/schemas/type_:AvsResponse' - type: 'null' avsresponse_text: oneOf: - $ref: '#/components/schemas/type_:AvsResponseText' - type: 'null' cvvresponse: oneOf: - $ref: '#/components/schemas/type_:CvvResponse' - type: 'null' cvvresponse_text: oneOf: - $ref: '#/components/schemas/type_:CvvResponseText' - type: 'null' orderid: oneOf: - $ref: '#/components/schemas/type_:OrderId' - type: 'null' type: type: - string - 'null' response_code: type: string description: Processor-specific response code. response_code_text: type: string description: Description of the response code. customer_vault_id: oneOf: - $ref: '#/components/schemas/type_:CustomerVaultId' - type: 'null' emv_auth_response_data: oneOf: - $ref: '#/components/schemas/type_:EmvAuthResponseData' - type: 'null' required: - resultCode - resultCodeText - response - responsetext - authcode - transactionid - avsresponse - avsresponse_text - cvvresponse - cvvresponse_text - orderid - type - response_code - response_code_text - customer_vault_id - emv_auth_response_data description: Response data from payment processor title: V2TransactionDetailResponseData type_:Orgid: type: integer format: int64 description: Organization ID. Unique identifier assigned to an org by Payabli. title: Orgid type_:RefundId: type: integer format: int64 description: Identifier of refund transaction linked to this payment. title: RefundId type_:ReturnedId: type: integer format: int64 description: Identifier of return/chargeback transaction linked to this payment. title: ReturnedId type_:ChargebackId: type: integer format: int64 description: Identifier of chargeback transaction title: ChargebackId type_:RetrievalId: type: integer format: int64 description: Identifier of retrieval request title: RetrievalId type_:InvoiceNumber: type: string description: >- Custom number identifying the bill or invoice. Must be unique in paypoint. title: InvoiceNumber type_:Invoicestatus: type: integer description: |- Status for invoice. The accepted status values are: - 0 draft - 1 active - 2 partially paid - 4 paid/complete - 99 cancelled title: Invoicestatus type_:InvoiceType: type: integer description: Type of invoice. Only `0` for one-time invoices is currently supported. title: InvoiceType type_:Frequency: type: string enum: - onetime - weekly - every2weeks - every6months - monthly - every3months - annually description: Frequency for operation. title: Frequency type_:TermsConditions: type: string description: Custom terms and conditions included in the invoice. title: TermsConditions type_:Tax: type: number format: double description: Tax rate in percent applied to the invoice. title: Tax type_:Discount: type: number format: double description: Discount applied to the invoice. title: Discount type_:InvoiceAmount: type: number format: double description: Invoice total amount. title: InvoiceAmount type_:FreightAmount: type: number format: double description: Freight/shipping amount. title: FreightAmount type_:DutyAmount: type: number format: double description: Duty amount. title: DutyAmount type_:PurchaseOrder: type: string description: Purchase order number. title: PurchaseOrder type_:Shippingaddress: type: string description: The shipping address. title: Shippingaddress type_:Shippingaddressadditional: type: string description: Additional line for shipping address. title: Shippingaddressadditional type_:Shippingcity: type: string description: Shipping city. title: Shippingcity type_:Shippingstate: type: string description: Shipping state or province. title: Shippingstate type_:Shippingzip: type: string description: >- Shipping ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". title: Shippingzip type_:Shippingcountry: type: string description: Shipping address country. title: Shippingcountry type_:Email: type: string format: email description: Email address. title: Email type_:ShippingFromZip: type: string description: Sender shipping ZIP code. title: ShippingFromZip type_:SummaryCommodityCode: type: string description: Commodity code. title: SummaryCommodityCode type_:ItemCommodityCode: type: string description: Item or product commodity code. Max length of 250 characters. title: ItemCommodityCode type_:ItemDescription: type: string description: Item or product description. Max length of 250 characters. title: ItemDescription type_:ItemProductCode: type: string description: Item or product code. Max length of 250 characters. title: ItemProductCode type_:ItemProductName: type: string description: Item or product name. Max length of 250 characters. title: ItemProductName type_:ItemUnitofMeasure: type: string description: Unit of measurement. Max length of 100 characters. title: ItemUnitofMeasure type_:BillItem: type: object properties: itemCategories: type: array items: type: string description: Array of tags classifying item or product. itemCommodityCode: $ref: '#/components/schemas/type_:ItemCommodityCode' itemCost: type: number format: double description: Item or product price per unit. itemDescription: $ref: '#/components/schemas/type_:ItemDescription' itemMode: type: integer description: >- Internal class of item or product: value '0' is only for invoices , '1' for bills and, '2' common for both. itemProductCode: $ref: '#/components/schemas/type_:ItemProductCode' itemProductName: $ref: '#/components/schemas/type_:ItemProductName' itemQty: type: integer description: Quantity of item or product. itemTaxAmount: type: number format: double description: Tax amount applied to item or product. itemTaxRate: type: number format: double description: Tax rate applied to item or product. itemTotalAmount: type: number format: double description: Total amount in item or product. itemUnitOfMeasure: $ref: '#/components/schemas/type_:ItemUnitofMeasure' required: - itemCost title: BillItem type_:FileContentFtype: type: string enum: - pdf - doc - docx - jpg - jpeg - png - gif - txt description: The MIME type of the file (if content is provided) title: FileContentFtype type_:FileContent: type: object properties: fContent: type: string description: >- Content of file, Base64-encoded. Ignored if furl is specified. Max upload size is 30 MB. filename: type: string description: The name of the attached file. ftype: $ref: '#/components/schemas/type_:FileContentFtype' description: The MIME type of the file (if content is provided) furl: type: string description: Optional URL provided to show or download the file remotely description: Contains details about a file. Max upload size is 30 MB. title: FileContent type_:Attachments: type: array items: $ref: '#/components/schemas/type_:FileContent' description: >- Array of `fileContent` objects with attached documents. Max upload size is 30 MB. title: Attachments type_:AdditionalDataString: type: string description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. Example usage: ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalDataString type_moneyIn:TransactionDetailInvoiceData: type: object properties: invoiceNumber: oneOf: - $ref: '#/components/schemas/type_:InvoiceNumber' - type: 'null' invoiceDate: type: - string - 'null' format: date invoiceDueDate: type: - string - 'null' format: date invoiceEndDate: type: - string - 'null' format: date invoiceStatus: oneOf: - $ref: '#/components/schemas/type_:Invoicestatus' - type: 'null' invoiceType: oneOf: - $ref: '#/components/schemas/type_:InvoiceType' - type: 'null' frequency: oneOf: - $ref: '#/components/schemas/type_:Frequency' - type: 'null' paymentTerms: type: - string - 'null' termsConditions: oneOf: - $ref: '#/components/schemas/type_:TermsConditions' - type: 'null' notes: type: - string - 'null' tax: oneOf: - $ref: '#/components/schemas/type_:Tax' - type: 'null' discount: oneOf: - $ref: '#/components/schemas/type_:Discount' - type: 'null' invoiceAmount: oneOf: - $ref: '#/components/schemas/type_:InvoiceAmount' - type: 'null' freightAmount: oneOf: - $ref: '#/components/schemas/type_:FreightAmount' - type: 'null' dutyAmount: oneOf: - $ref: '#/components/schemas/type_:DutyAmount' - type: 'null' purchaseOrder: oneOf: - $ref: '#/components/schemas/type_:PurchaseOrder' - type: 'null' firstName: type: - string - 'null' lastName: type: - string - 'null' company: type: - string - 'null' shippingAddress1: oneOf: - $ref: '#/components/schemas/type_:Shippingaddress' - type: 'null' shippingAddress2: oneOf: - $ref: '#/components/schemas/type_:Shippingaddressadditional' - type: 'null' shippingCity: oneOf: - $ref: '#/components/schemas/type_:Shippingcity' - type: 'null' shippingState: oneOf: - $ref: '#/components/schemas/type_:Shippingstate' - type: 'null' shippingZip: oneOf: - $ref: '#/components/schemas/type_:Shippingzip' - type: 'null' shippingCountry: oneOf: - $ref: '#/components/schemas/type_:Shippingcountry' - type: 'null' shippingEmail: oneOf: - $ref: '#/components/schemas/type_:Email' - type: 'null' shippingPhone: type: - string - 'null' shippingFromZip: oneOf: - $ref: '#/components/schemas/type_:ShippingFromZip' - type: 'null' summaryCommodityCode: oneOf: - $ref: '#/components/schemas/type_:SummaryCommodityCode' - type: 'null' items: type: - array - 'null' items: $ref: '#/components/schemas/type_:BillItem' attachments: oneOf: - $ref: '#/components/schemas/type_:Attachments' - type: 'null' additionalData: oneOf: - $ref: '#/components/schemas/type_:AdditionalDataString' - type: 'null' required: - invoiceNumber - invoiceDate - invoiceDueDate - invoiceEndDate - invoiceStatus - invoiceType - frequency - paymentTerms - termsConditions - notes - tax - discount - invoiceAmount - freightAmount - dutyAmount - purchaseOrder - firstName - lastName - company - shippingAddress1 - shippingAddress2 - shippingCity - shippingState - shippingZip - shippingCountry - shippingEmail - shippingPhone - shippingFromZip - summaryCommodityCode - items - attachments - additionalData description: Invoice information if transaction is associated with an invoice title: TransactionDetailInvoiceData type_:EntrypageId: type: integer format: int64 description: >- If applicable, the internal reference ID to the payment page capturing the payment. title: EntrypageId type_:ExternalPaypointId: type: string description: >- A custom identifier for the paypoint, if applicable. Like `entrypoint` is the Payabli identifier for the merchant, `externalPaypointId` is a custom field you can use to include the merchant's ID from your own systems. title: ExternalPaypointId type_:Identifierfields: type: array items: type: string description: >- List of fields acting as customer identifiers, to be used instead of CustomerNumber. title: Identifierfields type_:BillingAddressNullable: type: string description: Billing address. title: BillingAddressNullable type_:BillingAddressAddtlNullable: type: string description: Additional line for the billing address. title: BillingAddressAddtlNullable type_:BillingCityNullable: type: string description: Billing city. title: BillingCityNullable type_:BillingStateNullable: type: string description: Billing state. Must be 2-letter state code for address in US. title: BillingStateNullable type_:BillingZip: type: string description: Billing address ZIP code. title: BillingZip type_:BillingCountryNullable: type: string description: Billing address country. title: BillingCountryNullable type_:PhoneNumber: type: string description: Phone number. title: PhoneNumber type_:CustomerNumberNullable: type: string description: >- User-provided unique identifier for the customer. This is typically the customer ID from your own system. title: CustomerNumberNullable type_:CustomerId: type: integer format: int64 description: The Payabli-generated unique ID for the customer. title: CustomerId type_:CustomerStatus: type: integer description: |- Customer Status. Possible values: - `-99` Deleted - `0` Inactive - `1` Active - `85` Locked (typically due to multiple failed login attempts) title: CustomerStatus type_moneyIn:TransactionDetailCustomer: type: object properties: identifiers: oneOf: - $ref: '#/components/schemas/type_:Identifierfields' - type: 'null' firstName: type: string lastName: type: string companyName: type: string billingAddress1: $ref: '#/components/schemas/type_:BillingAddressNullable' billingAddress2: $ref: '#/components/schemas/type_:BillingAddressAddtlNullable' billingCity: $ref: '#/components/schemas/type_:BillingCityNullable' billingState: $ref: '#/components/schemas/type_:BillingStateNullable' billingZip: $ref: '#/components/schemas/type_:BillingZip' billingCountry: $ref: '#/components/schemas/type_:BillingCountryNullable' billingPhone: $ref: '#/components/schemas/type_:PhoneNumber' billingEmail: $ref: '#/components/schemas/type_:Email' customerNumber: $ref: '#/components/schemas/type_:CustomerNumberNullable' shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' customerId: $ref: '#/components/schemas/type_:CustomerId' customerStatus: $ref: '#/components/schemas/type_:CustomerStatus' additionalData: oneOf: - $ref: '#/components/schemas/type_:AdditionalDataString' - type: 'null' required: - identifiers - firstName - lastName - companyName - billingAddress1 - billingAddress2 - billingCity - billingState - billingZip - billingCountry - billingPhone - billingEmail - customerNumber - shippingAddress1 - shippingAddress2 - shippingCity - shippingState - shippingZip - shippingCountry - customerId - customerStatus - additionalData description: Customer information associated with the transaction title: TransactionDetailCustomer type_:SplitFundingContent: type: object properties: accountId: type: string description: The accountId for the account the split should be sent to. amount: type: number format: double description: Amount from the transaction to sent to this recipient. description: type: string description: A description for the split. recipientEntryPoint: type: string description: The entrypoint the split should be sent to. title: SplitFundingContent type_:SplitFunding: type: array items: $ref: '#/components/schemas/type_:SplitFundingContent' description: >- Split funding instructions for the transaction. The total amount of the splits must match the total amount of the transaction. title: SplitFunding type_:TransactionTime: type: string format: date-time description: Timestamp when transaction was submitted, in UTC. title: TransactionTime type_:QueryCFeeTransaction: type: object properties: cFeeTransid: type: string feeAmount: type: number format: double operation: type: string refundId: type: integer format: int64 responseData: type: object additionalProperties: description: Any type settlementStatus: type: integer transactionTime: $ref: '#/components/schemas/type_:TransactionTime' transStatus: type: integer title: QueryCFeeTransaction type_moneyIn:TransactionDetailEvent: type: object properties: transEvent: type: string eventData: type: string eventTime: type: string required: - transEvent - eventData - eventTime description: Event associated with transaction processing title: TransactionDetailEvent type_:PendingFeeAmount: type: number format: double description: >- The difference between the configured pass-through fee and the fee amount sent in the request. When transferring funds, Payabli uses this field to deduct the fee difference and transfer the correct amount to the merchant. When a paypoint is set up to absorb fees, and the pass-through fee sent with the request is less than the configured amount, the difference must be covered by the merchant. See [Fee Configuration](/guides/pay-in-fees-passthrough-overview#fee-configuration) to learn more about pass-through fee settings. title: PendingFeeAmount type_:RiskFlagged: type: boolean description: Indicates if the transaction was flagged for risk title: RiskFlagged type_:RiskFlaggedOn: type: string format: date-time description: Timestamp when the transaction was flagged for risk title: RiskFlaggedOn type_:RiskStatus: type: string description: Current risk status of the transaction title: RiskStatus type_:RiskReason: type: string description: Reason for risk flagging title: RiskReason type_:RiskAction: type: string description: Action taken due to risk assessment title: RiskAction type_:RiskActionCode: type: integer description: Numeric code representing the risk action title: RiskActionCode type_:Device: type: string description: Identifier of registered cloud device used in the transaction. title: Device type_:AchSecCode: type: string description: >- Standard Entry Class (SEC) code is a three letter code that describes how an ACH payment was authorized. Supported values are: - PPD (Prearranged Payment and Deposit) - Used for credits or debits where an accountholder authorizes a company to initiate either a single or recurring transaction to their personal bank account. Common examples include direct deposit of payroll, mortgage payments, or utility bills. This is the default value for subscription payments. - WEB (Internet-Initiated/Mobile Entry) - Used for debit entries when authorization is obtained from an accountholder via the internet or a wireless network. Common examples are online bill payments, ecommerce purchases, and mobile app payments where the consumer enters their banking information online. - TEL (Telephone-Initiated Entry) - Used for one-time debit entries where authorization is obtained from a consumer via telephone. Common examples are phone-based purchases or bill payments where the consumer provides their banking information over the phone. - CCD (Corporate Credit or Debit) - Used for fund transfers between business accounts. This code is specifically for business-to-business transactions. Common examples include vendor payments and other business-to-business payments. - BOC (Back Office Conversion) - Used to convert paper checks received in-person at a point-of-sale or staffed payment location into electronic ACH debits. Required for Remote Deposit Capture (RDC) transactions. Only supports consumer checks; business, government, and mailed checks aren't eligible. title: AchSecCode type_:AchHolderType: type: string enum: - personal - business default: personal description: 'The bank''s accountholder type: personal or business.' title: AchHolderType type_:IpAddress: type: string description: >- *Recommended*. The customer's IP address. This field is used to help prevent fraudulent transactions, and Payabli strongly recommends including this data. title: IpAddress type___v2moneyInTypes__:V2TransactionDetails: type: object properties: parentOrgName: $ref: '#/components/schemas/type_:OrgParentName' paypointDbaname: $ref: '#/components/schemas/type_:Dbaname' paypointLegalname: $ref: '#/components/schemas/type_:Legalname' paypointEntryname: $ref: '#/components/schemas/type_:Entrypointfield' paymentTransId: type: string description: Unique transaction identifier. connectorName: type: string description: Name of the payment connector used. externalProcessorInformation: $ref: '#/components/schemas/type_:ExternalProcessorInformation' gatewayTransId: type: string description: Gateway transaction identifier. orderId: oneOf: - $ref: '#/components/schemas/type_:OrderId' - type: 'null' method: type: string description: Payment method used for the transaction. batchNumber: $ref: '#/components/schemas/type_:BatchNumber' batchAmount: type: number format: double description: Total amount in the batch. payorId: $ref: '#/components/schemas/type_:PayorId' paymentData: $ref: '#/components/schemas/type_moneyIn:TransactionDetailPaymentData' transStatus: $ref: '#/components/schemas/type_:TransStatus' paypointId: $ref: '#/components/schemas/type_:PaypointId' totalAmount: type: number format: double description: Total transaction amount including fees. netAmount: type: number format: double description: Net transaction amount excluding fees. feeAmount: $ref: '#/components/schemas/type_:FeeAmount' settlementStatus: $ref: '#/components/schemas/type_:SettlementStatus' operation: $ref: '#/components/schemas/type_:Operation' responseData: $ref: >- #/components/schemas/type___v2moneyInTypes__:V2TransactionDetailResponseData source: $ref: '#/components/schemas/type_:Source' scheduleReference: type: integer format: int64 description: Reference to associated payment schedule if applicable. orgId: $ref: '#/components/schemas/type_:Orgid' refundId: $ref: '#/components/schemas/type_:RefundId' returnedId: $ref: '#/components/schemas/type_:ReturnedId' chargebackId: $ref: '#/components/schemas/type_:ChargebackId' retrievalId: $ref: '#/components/schemas/type_:RetrievalId' transAdditionalData: oneOf: - description: Any type - type: 'null' invoiceData: $ref: '#/components/schemas/type_moneyIn:TransactionDetailInvoiceData' entrypageId: $ref: '#/components/schemas/type_:EntrypageId' externalPaypointID: $ref: '#/components/schemas/type_:ExternalPaypointId' isValidatedACH: type: boolean description: Indicates if ACH account was validated in real-time. transactionTime: type: string description: Timestamp when transaction was created. customer: $ref: '#/components/schemas/type_moneyIn:TransactionDetailCustomer' splitFundingInstructions: oneOf: - $ref: '#/components/schemas/type_:SplitFunding' - type: 'null' cfeeTransactions: type: array items: $ref: '#/components/schemas/type_:QueryCFeeTransaction' transactionEvents: type: array items: $ref: '#/components/schemas/type_moneyIn:TransactionDetailEvent' pendingFeeAmount: $ref: '#/components/schemas/type_:PendingFeeAmount' riskFlagged: $ref: '#/components/schemas/type_:RiskFlagged' riskFlaggedOn: $ref: '#/components/schemas/type_:RiskFlaggedOn' riskStatus: $ref: '#/components/schemas/type_:RiskStatus' riskReason: $ref: '#/components/schemas/type_:RiskReason' riskAction: $ref: '#/components/schemas/type_:RiskAction' riskActionCode: $ref: '#/components/schemas/type_:RiskActionCode' deviceId: $ref: '#/components/schemas/type_:Device' achSecCode: $ref: '#/components/schemas/type_:AchSecCode' achHolderType: $ref: '#/components/schemas/type_:AchHolderType' ipAddress: $ref: '#/components/schemas/type_:IpAddress' isSameDayACH: type: boolean description: Indicates if ACH transaction uses same-day processing. walletType: type: - string - 'null' description: Digital wallet type if applicable. required: - parentOrgName - paypointDbaname - paypointLegalname - paypointEntryname - paymentTransId - connectorName - externalProcessorInformation - gatewayTransId - orderId - method - batchNumber - batchAmount - payorId - paymentData - transStatus - paypointId - totalAmount - netAmount - feeAmount - settlementStatus - operation - responseData - source - scheduleReference - orgId - refundId - returnedId - chargebackId - retrievalId - transAdditionalData - invoiceData - entrypageId - externalPaypointID - isValidatedACH - transactionTime - customer - splitFundingInstructions - cfeeTransactions - transactionEvents - riskStatus - riskReason - riskAction - deviceId - achSecCode - achHolderType - ipAddress - isSameDayACH - walletType description: >- Complete transaction details returned by v2 Money In endpoints. This matches the structure of the transaction details previously returned by the v1 details endpoint. title: V2TransactionDetails type___v2moneyInTypes__:V2TransactionResponseWrapper: type: object properties: code: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseCode' reason: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseReason' explanation: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseExplanation' action: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseAction' data: $ref: '#/components/schemas/type___v2moneyInTypes__:V2TransactionDetails' token: type: - string - 'null' description: >- Pagination token (equivalent to `pageIdentifier` in v1 APIs). Returns `null` when pagination is not applicable. required: - code - reason - explanation - action - data - token description: >- Standard response wrapper for v2 Money In transaction endpoints. All v2 transaction endpoints return responses in this format with consistent `code`, `reason`, `explanation`, and `action` fields. The `data` field contains transaction details. title: V2TransactionResponseWrapper type___v2moneyInTypes__:V2BadRequestErrorDetail: type: object properties: message: type: string description: Description of the validation error. suggestion: type: string description: Suggested action to fix the error. required: - message - suggestion description: Individual field error detail for bad request responses. title: V2BadRequestErrorDetail type___v2moneyInTypes__:V2BadRequestError: type: object properties: type: type: string description: >- A URI reference that identifies the problem type. Points to human-readable documentation for this error type. title: type: string description: Always "Bad Request" for 400 errors. status: type: integer description: HTTP status code, always 400 for bad requests. detail: type: string description: Short description of the error. instance: type: string description: Request URL that caused the error. code: type: string description: >- Payabli's unified response code for validation errors. Starts with 'E'. See [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for more information. errors: type: object additionalProperties: type: array items: $ref: >- #/components/schemas/type___v2moneyInTypes__:V2BadRequestErrorDetail description: >- Dictionary of field-specific validation errors. Keys are field paths (e.g., "paymentMethod.cardnumber") and values are arrays of error details. token: type: - string - 'null' description: >- Pagination token (equivalent to pageIdentifier in v1 APIs). Usually null for errors. required: - type - title - status - detail - instance - code - errors - token description: >- Bad request error response (HTTP 400) returned when request validation fails. Follows RFC 7807 Problem Details format with additional Payabli-specific fields. title: V2BadRequestError type___v2moneyInTypes__:V2DeclinedTransactionResponseWrapper: type: object properties: code: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseCode' reason: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseReason' explanation: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseExplanation' action: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseAction' data: $ref: '#/components/schemas/type___v2moneyInTypes__:V2TransactionDetails' token: type: - string - 'null' description: >- Pagination token (equivalent to `pageIdentifier` in v1 APIs). Returns `null` when pagination is not applicable. required: - code - reason - explanation - action - data - token description: >- Response wrapper for declined v2 Money In transaction endpoints (HTTP 402). Returned when a transaction is declined by the card network or issuer. All decline responses use this format with unified response codes starting with 'D'. The `data` field contains transaction details. title: V2DeclinedTransactionResponseWrapper type___v2moneyInTypes__:V2InternalServerError: type: object properties: title: type: string description: Always "Internal Server Error" for 500 errors. status: type: integer description: HTTP status code, always 500 for internal errors. detail: type: string description: Additional details about the internal error. instance: type: string description: Request URL that caused the error. required: - title - status - detail - instance description: >- Internal server error response (HTTP 500) returned when an unexpected error occurs. Follows RFC 7807 Problem Details format. title: V2InternalServerError securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript FullRefundNoAmount import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.moneyIn.refundv2("10-3ffa27df-b171-44e0-b251-e95fbfc7a723"); } main(); ``` ```python FullRefundNoAmount from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.money_in.refundv_2( trans_id="10-3ffa27df-b171-44e0-b251-e95fbfc7a723", ) ``` ```csharp FullRefundNoAmount using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.MoneyIn.Refundv2Async( "10-3ffa27df-b171-44e0-b251-e95fbfc7a723" ); } } ``` ```go FullRefundNoAmount package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/v2/MoneyIn/refund/10-3ffa27df-b171-44e0-b251-e95fbfc7a723" req, _ := http.NewRequest("POST", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby FullRefundNoAmount require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/v2/MoneyIn/refund/10-3ffa27df-b171-44e0-b251-e95fbfc7a723") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java FullRefundNoAmount import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/v2/MoneyIn/refund/10-3ffa27df-b171-44e0-b251-e95fbfc7a723") .header("requestToken", "") .asString(); ``` ```php FullRefundNoAmount request('POST', 'https://api-sandbox.payabli.com/api/v2/MoneyIn/refund/10-3ffa27df-b171-44e0-b251-e95fbfc7a723', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift FullRefundNoAmount import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/v2/MoneyIn/refund/10-3ffa27df-b171-44e0-b251-e95fbfc7a723")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Partially refund transaction POST https://api-sandbox.payabli.com/api/v2/MoneyIn/refund/{transId}/{amount} Refund a transaction that has settled and send money back to the account holder. If `amount` is omitted or set to 0, performs a full refund. When a non-zero `amount` is provided, this endpoint performs a partial refund. This is the v2 version of the refund endpoint, and returns the unified response format. See [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for more information. Reference: https://docs.payabli.com/developers/api-reference/moneyinV2/partial-refund-a-settled-transaction ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /v2/MoneyIn/refund/{transId}/{amount}: post: operationId: refundv-2-amount summary: Partially refund a settled transaction (v2) description: >- Refund a transaction that has settled and send money back to the account holder. If `amount` is omitted or set to 0, performs a full refund. When a non-zero `amount` is provided, this endpoint performs a partial refund. This is the v2 version of the refund endpoint, and returns the unified response format. See [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for more information. tags: - subpackage_moneyIn parameters: - name: transId in: path description: ReferenceId for the transaction (PaymentId). required: true schema: type: string - name: amount in: path description: >- Amount to refund from original transaction, minus any service fees charged on the original transaction. If omitted or set to 0, performs a full refund. required: true schema: type: number format: double - name: requestToken in: header required: true schema: type: string responses: '201': description: Ok content: application/json: schema: $ref: >- #/components/schemas/type___v2moneyInTypes__:V2TransactionResponseWrapper '400': description: >- Bad request error for v2 Money In refund endpoint (HTTP 400). Returned when request validation fails. Follows RFC 7807 Problem Details format with Payabli-specific unified response codes. See the [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for the complete list of codes. content: application/json: schema: $ref: '#/components/schemas/type___v2moneyInTypes__:V2BadRequestError' '401': description: Unauthorized request. content: application/json: schema: description: Any type '402': description: >- Refund decline error for v2 Money In endpoints (HTTP 402). Returned when a refund operation is declined for a transaction. Uses unified response codes starting with 'D'. See the [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for the complete list of codes. content: application/json: schema: $ref: >- #/components/schemas/type___v2moneyInTypes__:V2DeclinedTransactionResponseWrapper '500': description: >- Internal server error for v2 Money In endpoints (HTTP 500). Returned when an unexpected error occurs. Follows RFC 7807 Problem Details format. content: application/json: schema: $ref: >- #/components/schemas/type___v2moneyInTypes__:V2InternalServerError servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type___v2moneyInTypes__:V2ResponseCode: type: string description: >- Payabli's unified response code. Starts with `A` (Approved) or `D` (Declined) followed by a four-digit code that provides specific details about the transaction result. See [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for more information. title: V2ResponseCode type___v2moneyInTypes__:V2ResponseReason: type: string description: Human-readable reason corresponding to the response code. title: V2ResponseReason type___v2moneyInTypes__:V2ResponseExplanation: type: string description: Detailed description of the response code. title: V2ResponseExplanation type___v2moneyInTypes__:V2ResponseAction: type: string description: Recommended resolution approach or next steps based on the response. title: V2ResponseAction type_:OrgParentName: type: string description: The name of the parent organization. title: OrgParentName type_:Dbaname: type: string description: >- The alternate or common name that this business is doing business under usually referred to as a DBA name. title: Dbaname type_:Legalname: type: string description: Business legal name. title: Legalname type_:Entrypointfield: type: string description: The entrypoint identifier. title: Entrypointfield type_:ExternalProcessorInformation: type: string description: >- Processor information, used for troubleshooting and reporting. This field contains a value when the API key used to make the request has management permissions. title: ExternalProcessorInformation type_:OrderId: type: string description: Custom identifier for the transaction. title: OrderId type_:BatchNumber: type: string description: >- A unique identifier for the batch. This is generated by Payabli when the batch is created, and follows this format: `paypointId + "_" + serviceName + "_" + batchDate:yyyyMMdd + "_" + Guid.NewGuid()`. Payabli generates the GUID to ensure that the batch number is unique. For example, in this batch number: `123_card_20251008_3f2504e0-4f89-11d3-9a0c-0305e82c3301`, the paypointID is "123", the service is "card", the batch date is "2025-10-08", and the GUID is "3f2504e0-4f89-11d3-9a0c-0305e82c3301". title: BatchNumber type_:PayorId: type: integer format: int64 description: >- Unique ID for the customer linked to the transaction. This is the same value as the `customerId` used when creating or referencing a customer. title: PayorId type_:Maskedaccount: type: string description: >- Masked card or bank account used in transaction. In the case of Apple Pay, this is a masked DPAN (device primary account number). title: Maskedaccount type_:Accounttype: type: string description: Bank account type or card brand. title: Accounttype type_:Accountexp: type: string description: Expiration date of card used in transaction. title: Accountexp type_:Holdername: type: string description: Account holder name for the method. title: Holdername type_:Storedmethodid: type: string description: >- Payabli identifier of a tokenized payment method. If this field is used in a request, the `method` field is overridden and the payment is made using the payment token. title: Storedmethodid type_:Initiator: type: string description: >- **Strongly recommended** The cardholder-initiated transaction (CIT) or merchant-initiated transaction (MIT) indicator for the transaction. If you don't specify a value, Payabli defaults to `merchant`. Available values: - `payor`: For cardholder-initiated transactions - `merchant`: For merchant-initiated transactions See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Initiator type_:StoredMethodUsageType: type: string description: >- **Strongly recommended** The usage type for the stored method, used for merchant-initiated transactions (MIT). If you don't specify a value, Payabli defaults to `unscheduled`. Available values: - `unscheduled`: This type is used for transactions that are one-time or otherwise not pre-scheduled. - `subscription`: This type is used for subscription payments. For example, monthly rental fees or ongoing service subscriptions. - `recurring`: This type is used for recurring payments that occur per a set plan. For example, splitting an HOA special assessment over 6 monthly payments. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: StoredMethodUsageType type_:Sequence: type: string description: >- The order of the transaction for cardholder-initiated transaction (CIT) and merchant-initiated transaction (MIT) purposes. This field is automatically detected and populated by Payabli. Available values: - `first`: The first use of the payment method. This is almost always a cardholder-initiated transaction. - `subsequent`: For merchant-initiated transactions after the first use of the payment method. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Sequence type_:Orderdescription: type: string description: Text description of the transaction. title: Orderdescription type_:Accountid: type: string description: Custom identifier for payment connector. title: Accountid type_:Signaturedata: type: string title: Signaturedata type_:BinData: type: object properties: binMatchedLength: type: string description: |- The number of characters from the beginning of the card number that were matched against a Bank Identification Number (BIN) or the Card Range table. binCardBrand: type: string description: |- The card brand. For example, Visa, Mastercard, American Express, Discover. binCardType: type: string description: 'The type of card: Credit or Debit.' binCardCategory: type: string description: >- The category of the card, which indicates the card product. For example: Standard, Gold, Platinum, etc. The binCardCategory for prepaid cards is marked `PREPAID`. binCardIssuer: type: string description: The name of the financial institution that issued the card. binCardIssuerCountry: type: string description: The issuing financial institution's country name. binCardIssuerCountryCodeA2: type: string description: >- The issuing financial institution's two-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIssuerCountryNumber: type: string description: >- The issuing financial institution's ISO standard numeric country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIsRegulated: type: string description: Indicates whether the card is regulated. binCardUseCategory: type: string description: The use category classification for the card. binCardIssuerCountryCodeA3: type: string description: >- The issuing financial institution's three-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. description: >- Object containing information related to the card. This object is `null` unless the payment method is card. If the payment method is Apple Pay, the binData will be related to the DPAN (device primary account number), not the card connected to Apple Pay. title: BinData type_:Source: type: string description: Custom identifier to indicate the transaction or request source. title: Source type_moneyIn:TransactionDetailPaymentDetails: type: object properties: totalAmount: type: number format: double serviceFee: type: number format: double checkNumber: type: - string - 'null' checkImage: oneOf: - description: Any type - type: 'null' checkUniqueId: type: string currency: type: string orderDescription: oneOf: - $ref: '#/components/schemas/type_:Orderdescription' - type: 'null' orderId: oneOf: - $ref: '#/components/schemas/type_:OrderId' - type: 'null' orderIdAlternative: type: - string - 'null' paymentDescription: type: - string - 'null' groupNumber: type: - string - 'null' source: oneOf: - $ref: '#/components/schemas/type_:Source' - type: 'null' payabliTransId: type: - string - 'null' unbundled: oneOf: - description: Any type - type: 'null' categories: type: array items: description: Any type splitFunding: type: array items: description: Any type required: - totalAmount - serviceFee - checkNumber - checkImage - checkUniqueId - currency - orderDescription - orderId - orderIdAlternative - paymentDescription - groupNumber - source - payabliTransId - unbundled - categories - splitFunding description: Detailed breakdown of payment amounts and identifiers title: TransactionDetailPaymentDetails type_moneyIn:TransactionDetailPaymentData: type: object properties: maskedAccount: $ref: '#/components/schemas/type_:Maskedaccount' accountType: $ref: '#/components/schemas/type_:Accounttype' accountExp: oneOf: - $ref: '#/components/schemas/type_:Accountexp' - type: 'null' holderName: $ref: '#/components/schemas/type_:Holdername' storedId: oneOf: - $ref: '#/components/schemas/type_:Storedmethodid' - type: 'null' initiator: oneOf: - $ref: '#/components/schemas/type_:Initiator' - type: 'null' storedMethodUsageType: oneOf: - $ref: '#/components/schemas/type_:StoredMethodUsageType' - type: 'null' sequence: oneOf: - $ref: '#/components/schemas/type_:Sequence' - type: 'null' orderDescription: $ref: '#/components/schemas/type_:Orderdescription' accountId: oneOf: - $ref: '#/components/schemas/type_:Accountid' - type: 'null' signatureData: oneOf: - $ref: '#/components/schemas/type_:Signaturedata' - type: 'null' binData: oneOf: - $ref: '#/components/schemas/type_:BinData' - type: 'null' paymentDetails: $ref: '#/components/schemas/type_moneyIn:TransactionDetailPaymentDetails' required: - maskedAccount - accountType - accountExp - holderName - storedId - initiator - storedMethodUsageType - sequence - orderDescription - accountId - signatureData - binData - paymentDetails description: Payment method and transaction details title: TransactionDetailPaymentData type_:TransStatus: type: integer description: >- Status of transaction. See [the docs](/developers/references/money-in-statuses#money-in-transaction-status) for a full reference. title: TransStatus type_:PaypointId: type: integer format: int64 description: The paypoint's ID. Note that this is different than the entryname. title: PaypointId type_:FeeAmount: type: number format: double description: Service fee or sub-charge applied. title: FeeAmount type_:SettlementStatus: type: integer description: >- Settlement status for transaction. See [the docs](/developers/references/money-in-statuses#payment-funding-status) for a full reference. title: SettlementStatus type_:Operation: type: string description: The transaction's operation. title: Operation type_:ResultCodev2: type: string description: >- Unified result code for the transaction. See [Pay In unified response codes](/developers/references/pay-in-unified-response-codes-reference) for more information. title: ResultCodev2 type_:ResultCodeText: type: string description: >- Description of the result code. See [Pay In unified response codes](/developers/references/pay-in-unified-response-codes-reference) for more information. title: ResultCodeText type_:Resulttext: type: string description: >- Text describing the result. If `ResultCode` = 1, will return 'Approved' or a general success message. If `ResultCode`` = 2 or 3, will contain the cause of the error or decline. title: Resulttext type_:Authcode: type: string description: Authorization code for the transaction. title: Authcode type_:AvsResponse: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponse type_:AvsResponseText: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponseText type_:CvvResponse: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponse type_:CvvResponseText: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponseText type_:CustomerVaultId: type: string title: CustomerVaultId type_:EmvAuthResponseData: type: string description: EMV authorization response data, applicable for card transactions. title: EmvAuthResponseData type___v2moneyInTypes__:V2TransactionDetailResponseData: type: object properties: resultCode: $ref: '#/components/schemas/type_:ResultCodev2' resultCodeText: $ref: '#/components/schemas/type_:ResultCodeText' response: type: - string - 'null' responsetext: $ref: '#/components/schemas/type_:Resulttext' authcode: oneOf: - $ref: '#/components/schemas/type_:Authcode' - type: 'null' transactionid: type: string description: >- Unique identifier for the transaction assigned by the payment processor. avsresponse: oneOf: - $ref: '#/components/schemas/type_:AvsResponse' - type: 'null' avsresponse_text: oneOf: - $ref: '#/components/schemas/type_:AvsResponseText' - type: 'null' cvvresponse: oneOf: - $ref: '#/components/schemas/type_:CvvResponse' - type: 'null' cvvresponse_text: oneOf: - $ref: '#/components/schemas/type_:CvvResponseText' - type: 'null' orderid: oneOf: - $ref: '#/components/schemas/type_:OrderId' - type: 'null' type: type: - string - 'null' response_code: type: string description: Processor-specific response code. response_code_text: type: string description: Description of the response code. customer_vault_id: oneOf: - $ref: '#/components/schemas/type_:CustomerVaultId' - type: 'null' emv_auth_response_data: oneOf: - $ref: '#/components/schemas/type_:EmvAuthResponseData' - type: 'null' required: - resultCode - resultCodeText - response - responsetext - authcode - transactionid - avsresponse - avsresponse_text - cvvresponse - cvvresponse_text - orderid - type - response_code - response_code_text - customer_vault_id - emv_auth_response_data description: Response data from payment processor title: V2TransactionDetailResponseData type_:Orgid: type: integer format: int64 description: Organization ID. Unique identifier assigned to an org by Payabli. title: Orgid type_:RefundId: type: integer format: int64 description: Identifier of refund transaction linked to this payment. title: RefundId type_:ReturnedId: type: integer format: int64 description: Identifier of return/chargeback transaction linked to this payment. title: ReturnedId type_:ChargebackId: type: integer format: int64 description: Identifier of chargeback transaction title: ChargebackId type_:RetrievalId: type: integer format: int64 description: Identifier of retrieval request title: RetrievalId type_:InvoiceNumber: type: string description: >- Custom number identifying the bill or invoice. Must be unique in paypoint. title: InvoiceNumber type_:Invoicestatus: type: integer description: |- Status for invoice. The accepted status values are: - 0 draft - 1 active - 2 partially paid - 4 paid/complete - 99 cancelled title: Invoicestatus type_:InvoiceType: type: integer description: Type of invoice. Only `0` for one-time invoices is currently supported. title: InvoiceType type_:Frequency: type: string enum: - onetime - weekly - every2weeks - every6months - monthly - every3months - annually description: Frequency for operation. title: Frequency type_:TermsConditions: type: string description: Custom terms and conditions included in the invoice. title: TermsConditions type_:Tax: type: number format: double description: Tax rate in percent applied to the invoice. title: Tax type_:Discount: type: number format: double description: Discount applied to the invoice. title: Discount type_:InvoiceAmount: type: number format: double description: Invoice total amount. title: InvoiceAmount type_:FreightAmount: type: number format: double description: Freight/shipping amount. title: FreightAmount type_:DutyAmount: type: number format: double description: Duty amount. title: DutyAmount type_:PurchaseOrder: type: string description: Purchase order number. title: PurchaseOrder type_:Shippingaddress: type: string description: The shipping address. title: Shippingaddress type_:Shippingaddressadditional: type: string description: Additional line for shipping address. title: Shippingaddressadditional type_:Shippingcity: type: string description: Shipping city. title: Shippingcity type_:Shippingstate: type: string description: Shipping state or province. title: Shippingstate type_:Shippingzip: type: string description: >- Shipping ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". title: Shippingzip type_:Shippingcountry: type: string description: Shipping address country. title: Shippingcountry type_:Email: type: string format: email description: Email address. title: Email type_:ShippingFromZip: type: string description: Sender shipping ZIP code. title: ShippingFromZip type_:SummaryCommodityCode: type: string description: Commodity code. title: SummaryCommodityCode type_:ItemCommodityCode: type: string description: Item or product commodity code. Max length of 250 characters. title: ItemCommodityCode type_:ItemDescription: type: string description: Item or product description. Max length of 250 characters. title: ItemDescription type_:ItemProductCode: type: string description: Item or product code. Max length of 250 characters. title: ItemProductCode type_:ItemProductName: type: string description: Item or product name. Max length of 250 characters. title: ItemProductName type_:ItemUnitofMeasure: type: string description: Unit of measurement. Max length of 100 characters. title: ItemUnitofMeasure type_:BillItem: type: object properties: itemCategories: type: array items: type: string description: Array of tags classifying item or product. itemCommodityCode: $ref: '#/components/schemas/type_:ItemCommodityCode' itemCost: type: number format: double description: Item or product price per unit. itemDescription: $ref: '#/components/schemas/type_:ItemDescription' itemMode: type: integer description: >- Internal class of item or product: value '0' is only for invoices , '1' for bills and, '2' common for both. itemProductCode: $ref: '#/components/schemas/type_:ItemProductCode' itemProductName: $ref: '#/components/schemas/type_:ItemProductName' itemQty: type: integer description: Quantity of item or product. itemTaxAmount: type: number format: double description: Tax amount applied to item or product. itemTaxRate: type: number format: double description: Tax rate applied to item or product. itemTotalAmount: type: number format: double description: Total amount in item or product. itemUnitOfMeasure: $ref: '#/components/schemas/type_:ItemUnitofMeasure' required: - itemCost title: BillItem type_:FileContentFtype: type: string enum: - pdf - doc - docx - jpg - jpeg - png - gif - txt description: The MIME type of the file (if content is provided) title: FileContentFtype type_:FileContent: type: object properties: fContent: type: string description: >- Content of file, Base64-encoded. Ignored if furl is specified. Max upload size is 30 MB. filename: type: string description: The name of the attached file. ftype: $ref: '#/components/schemas/type_:FileContentFtype' description: The MIME type of the file (if content is provided) furl: type: string description: Optional URL provided to show or download the file remotely description: Contains details about a file. Max upload size is 30 MB. title: FileContent type_:Attachments: type: array items: $ref: '#/components/schemas/type_:FileContent' description: >- Array of `fileContent` objects with attached documents. Max upload size is 30 MB. title: Attachments type_:AdditionalDataString: type: string description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. Example usage: ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalDataString type_moneyIn:TransactionDetailInvoiceData: type: object properties: invoiceNumber: oneOf: - $ref: '#/components/schemas/type_:InvoiceNumber' - type: 'null' invoiceDate: type: - string - 'null' format: date invoiceDueDate: type: - string - 'null' format: date invoiceEndDate: type: - string - 'null' format: date invoiceStatus: oneOf: - $ref: '#/components/schemas/type_:Invoicestatus' - type: 'null' invoiceType: oneOf: - $ref: '#/components/schemas/type_:InvoiceType' - type: 'null' frequency: oneOf: - $ref: '#/components/schemas/type_:Frequency' - type: 'null' paymentTerms: type: - string - 'null' termsConditions: oneOf: - $ref: '#/components/schemas/type_:TermsConditions' - type: 'null' notes: type: - string - 'null' tax: oneOf: - $ref: '#/components/schemas/type_:Tax' - type: 'null' discount: oneOf: - $ref: '#/components/schemas/type_:Discount' - type: 'null' invoiceAmount: oneOf: - $ref: '#/components/schemas/type_:InvoiceAmount' - type: 'null' freightAmount: oneOf: - $ref: '#/components/schemas/type_:FreightAmount' - type: 'null' dutyAmount: oneOf: - $ref: '#/components/schemas/type_:DutyAmount' - type: 'null' purchaseOrder: oneOf: - $ref: '#/components/schemas/type_:PurchaseOrder' - type: 'null' firstName: type: - string - 'null' lastName: type: - string - 'null' company: type: - string - 'null' shippingAddress1: oneOf: - $ref: '#/components/schemas/type_:Shippingaddress' - type: 'null' shippingAddress2: oneOf: - $ref: '#/components/schemas/type_:Shippingaddressadditional' - type: 'null' shippingCity: oneOf: - $ref: '#/components/schemas/type_:Shippingcity' - type: 'null' shippingState: oneOf: - $ref: '#/components/schemas/type_:Shippingstate' - type: 'null' shippingZip: oneOf: - $ref: '#/components/schemas/type_:Shippingzip' - type: 'null' shippingCountry: oneOf: - $ref: '#/components/schemas/type_:Shippingcountry' - type: 'null' shippingEmail: oneOf: - $ref: '#/components/schemas/type_:Email' - type: 'null' shippingPhone: type: - string - 'null' shippingFromZip: oneOf: - $ref: '#/components/schemas/type_:ShippingFromZip' - type: 'null' summaryCommodityCode: oneOf: - $ref: '#/components/schemas/type_:SummaryCommodityCode' - type: 'null' items: type: - array - 'null' items: $ref: '#/components/schemas/type_:BillItem' attachments: oneOf: - $ref: '#/components/schemas/type_:Attachments' - type: 'null' additionalData: oneOf: - $ref: '#/components/schemas/type_:AdditionalDataString' - type: 'null' required: - invoiceNumber - invoiceDate - invoiceDueDate - invoiceEndDate - invoiceStatus - invoiceType - frequency - paymentTerms - termsConditions - notes - tax - discount - invoiceAmount - freightAmount - dutyAmount - purchaseOrder - firstName - lastName - company - shippingAddress1 - shippingAddress2 - shippingCity - shippingState - shippingZip - shippingCountry - shippingEmail - shippingPhone - shippingFromZip - summaryCommodityCode - items - attachments - additionalData description: Invoice information if transaction is associated with an invoice title: TransactionDetailInvoiceData type_:EntrypageId: type: integer format: int64 description: >- If applicable, the internal reference ID to the payment page capturing the payment. title: EntrypageId type_:ExternalPaypointId: type: string description: >- A custom identifier for the paypoint, if applicable. Like `entrypoint` is the Payabli identifier for the merchant, `externalPaypointId` is a custom field you can use to include the merchant's ID from your own systems. title: ExternalPaypointId type_:Identifierfields: type: array items: type: string description: >- List of fields acting as customer identifiers, to be used instead of CustomerNumber. title: Identifierfields type_:BillingAddressNullable: type: string description: Billing address. title: BillingAddressNullable type_:BillingAddressAddtlNullable: type: string description: Additional line for the billing address. title: BillingAddressAddtlNullable type_:BillingCityNullable: type: string description: Billing city. title: BillingCityNullable type_:BillingStateNullable: type: string description: Billing state. Must be 2-letter state code for address in US. title: BillingStateNullable type_:BillingZip: type: string description: Billing address ZIP code. title: BillingZip type_:BillingCountryNullable: type: string description: Billing address country. title: BillingCountryNullable type_:PhoneNumber: type: string description: Phone number. title: PhoneNumber type_:CustomerNumberNullable: type: string description: >- User-provided unique identifier for the customer. This is typically the customer ID from your own system. title: CustomerNumberNullable type_:CustomerId: type: integer format: int64 description: The Payabli-generated unique ID for the customer. title: CustomerId type_:CustomerStatus: type: integer description: |- Customer Status. Possible values: - `-99` Deleted - `0` Inactive - `1` Active - `85` Locked (typically due to multiple failed login attempts) title: CustomerStatus type_moneyIn:TransactionDetailCustomer: type: object properties: identifiers: oneOf: - $ref: '#/components/schemas/type_:Identifierfields' - type: 'null' firstName: type: string lastName: type: string companyName: type: string billingAddress1: $ref: '#/components/schemas/type_:BillingAddressNullable' billingAddress2: $ref: '#/components/schemas/type_:BillingAddressAddtlNullable' billingCity: $ref: '#/components/schemas/type_:BillingCityNullable' billingState: $ref: '#/components/schemas/type_:BillingStateNullable' billingZip: $ref: '#/components/schemas/type_:BillingZip' billingCountry: $ref: '#/components/schemas/type_:BillingCountryNullable' billingPhone: $ref: '#/components/schemas/type_:PhoneNumber' billingEmail: $ref: '#/components/schemas/type_:Email' customerNumber: $ref: '#/components/schemas/type_:CustomerNumberNullable' shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' customerId: $ref: '#/components/schemas/type_:CustomerId' customerStatus: $ref: '#/components/schemas/type_:CustomerStatus' additionalData: oneOf: - $ref: '#/components/schemas/type_:AdditionalDataString' - type: 'null' required: - identifiers - firstName - lastName - companyName - billingAddress1 - billingAddress2 - billingCity - billingState - billingZip - billingCountry - billingPhone - billingEmail - customerNumber - shippingAddress1 - shippingAddress2 - shippingCity - shippingState - shippingZip - shippingCountry - customerId - customerStatus - additionalData description: Customer information associated with the transaction title: TransactionDetailCustomer type_:SplitFundingContent: type: object properties: accountId: type: string description: The accountId for the account the split should be sent to. amount: type: number format: double description: Amount from the transaction to sent to this recipient. description: type: string description: A description for the split. recipientEntryPoint: type: string description: The entrypoint the split should be sent to. title: SplitFundingContent type_:SplitFunding: type: array items: $ref: '#/components/schemas/type_:SplitFundingContent' description: >- Split funding instructions for the transaction. The total amount of the splits must match the total amount of the transaction. title: SplitFunding type_:TransactionTime: type: string format: date-time description: Timestamp when transaction was submitted, in UTC. title: TransactionTime type_:QueryCFeeTransaction: type: object properties: cFeeTransid: type: string feeAmount: type: number format: double operation: type: string refundId: type: integer format: int64 responseData: type: object additionalProperties: description: Any type settlementStatus: type: integer transactionTime: $ref: '#/components/schemas/type_:TransactionTime' transStatus: type: integer title: QueryCFeeTransaction type_moneyIn:TransactionDetailEvent: type: object properties: transEvent: type: string eventData: type: string eventTime: type: string required: - transEvent - eventData - eventTime description: Event associated with transaction processing title: TransactionDetailEvent type_:PendingFeeAmount: type: number format: double description: >- The difference between the configured pass-through fee and the fee amount sent in the request. When transferring funds, Payabli uses this field to deduct the fee difference and transfer the correct amount to the merchant. When a paypoint is set up to absorb fees, and the pass-through fee sent with the request is less than the configured amount, the difference must be covered by the merchant. See [Fee Configuration](/guides/pay-in-fees-passthrough-overview#fee-configuration) to learn more about pass-through fee settings. title: PendingFeeAmount type_:RiskFlagged: type: boolean description: Indicates if the transaction was flagged for risk title: RiskFlagged type_:RiskFlaggedOn: type: string format: date-time description: Timestamp when the transaction was flagged for risk title: RiskFlaggedOn type_:RiskStatus: type: string description: Current risk status of the transaction title: RiskStatus type_:RiskReason: type: string description: Reason for risk flagging title: RiskReason type_:RiskAction: type: string description: Action taken due to risk assessment title: RiskAction type_:RiskActionCode: type: integer description: Numeric code representing the risk action title: RiskActionCode type_:Device: type: string description: Identifier of registered cloud device used in the transaction. title: Device type_:AchSecCode: type: string description: >- Standard Entry Class (SEC) code is a three letter code that describes how an ACH payment was authorized. Supported values are: - PPD (Prearranged Payment and Deposit) - Used for credits or debits where an accountholder authorizes a company to initiate either a single or recurring transaction to their personal bank account. Common examples include direct deposit of payroll, mortgage payments, or utility bills. This is the default value for subscription payments. - WEB (Internet-Initiated/Mobile Entry) - Used for debit entries when authorization is obtained from an accountholder via the internet or a wireless network. Common examples are online bill payments, ecommerce purchases, and mobile app payments where the consumer enters their banking information online. - TEL (Telephone-Initiated Entry) - Used for one-time debit entries where authorization is obtained from a consumer via telephone. Common examples are phone-based purchases or bill payments where the consumer provides their banking information over the phone. - CCD (Corporate Credit or Debit) - Used for fund transfers between business accounts. This code is specifically for business-to-business transactions. Common examples include vendor payments and other business-to-business payments. - BOC (Back Office Conversion) - Used to convert paper checks received in-person at a point-of-sale or staffed payment location into electronic ACH debits. Required for Remote Deposit Capture (RDC) transactions. Only supports consumer checks; business, government, and mailed checks aren't eligible. title: AchSecCode type_:AchHolderType: type: string enum: - personal - business default: personal description: 'The bank''s accountholder type: personal or business.' title: AchHolderType type_:IpAddress: type: string description: >- *Recommended*. The customer's IP address. This field is used to help prevent fraudulent transactions, and Payabli strongly recommends including this data. title: IpAddress type___v2moneyInTypes__:V2TransactionDetails: type: object properties: parentOrgName: $ref: '#/components/schemas/type_:OrgParentName' paypointDbaname: $ref: '#/components/schemas/type_:Dbaname' paypointLegalname: $ref: '#/components/schemas/type_:Legalname' paypointEntryname: $ref: '#/components/schemas/type_:Entrypointfield' paymentTransId: type: string description: Unique transaction identifier. connectorName: type: string description: Name of the payment connector used. externalProcessorInformation: $ref: '#/components/schemas/type_:ExternalProcessorInformation' gatewayTransId: type: string description: Gateway transaction identifier. orderId: oneOf: - $ref: '#/components/schemas/type_:OrderId' - type: 'null' method: type: string description: Payment method used for the transaction. batchNumber: $ref: '#/components/schemas/type_:BatchNumber' batchAmount: type: number format: double description: Total amount in the batch. payorId: $ref: '#/components/schemas/type_:PayorId' paymentData: $ref: '#/components/schemas/type_moneyIn:TransactionDetailPaymentData' transStatus: $ref: '#/components/schemas/type_:TransStatus' paypointId: $ref: '#/components/schemas/type_:PaypointId' totalAmount: type: number format: double description: Total transaction amount including fees. netAmount: type: number format: double description: Net transaction amount excluding fees. feeAmount: $ref: '#/components/schemas/type_:FeeAmount' settlementStatus: $ref: '#/components/schemas/type_:SettlementStatus' operation: $ref: '#/components/schemas/type_:Operation' responseData: $ref: >- #/components/schemas/type___v2moneyInTypes__:V2TransactionDetailResponseData source: $ref: '#/components/schemas/type_:Source' scheduleReference: type: integer format: int64 description: Reference to associated payment schedule if applicable. orgId: $ref: '#/components/schemas/type_:Orgid' refundId: $ref: '#/components/schemas/type_:RefundId' returnedId: $ref: '#/components/schemas/type_:ReturnedId' chargebackId: $ref: '#/components/schemas/type_:ChargebackId' retrievalId: $ref: '#/components/schemas/type_:RetrievalId' transAdditionalData: oneOf: - description: Any type - type: 'null' invoiceData: $ref: '#/components/schemas/type_moneyIn:TransactionDetailInvoiceData' entrypageId: $ref: '#/components/schemas/type_:EntrypageId' externalPaypointID: $ref: '#/components/schemas/type_:ExternalPaypointId' isValidatedACH: type: boolean description: Indicates if ACH account was validated in real-time. transactionTime: type: string description: Timestamp when transaction was created. customer: $ref: '#/components/schemas/type_moneyIn:TransactionDetailCustomer' splitFundingInstructions: oneOf: - $ref: '#/components/schemas/type_:SplitFunding' - type: 'null' cfeeTransactions: type: array items: $ref: '#/components/schemas/type_:QueryCFeeTransaction' transactionEvents: type: array items: $ref: '#/components/schemas/type_moneyIn:TransactionDetailEvent' pendingFeeAmount: $ref: '#/components/schemas/type_:PendingFeeAmount' riskFlagged: $ref: '#/components/schemas/type_:RiskFlagged' riskFlaggedOn: $ref: '#/components/schemas/type_:RiskFlaggedOn' riskStatus: $ref: '#/components/schemas/type_:RiskStatus' riskReason: $ref: '#/components/schemas/type_:RiskReason' riskAction: $ref: '#/components/schemas/type_:RiskAction' riskActionCode: $ref: '#/components/schemas/type_:RiskActionCode' deviceId: $ref: '#/components/schemas/type_:Device' achSecCode: $ref: '#/components/schemas/type_:AchSecCode' achHolderType: $ref: '#/components/schemas/type_:AchHolderType' ipAddress: $ref: '#/components/schemas/type_:IpAddress' isSameDayACH: type: boolean description: Indicates if ACH transaction uses same-day processing. walletType: type: - string - 'null' description: Digital wallet type if applicable. required: - parentOrgName - paypointDbaname - paypointLegalname - paypointEntryname - paymentTransId - connectorName - externalProcessorInformation - gatewayTransId - orderId - method - batchNumber - batchAmount - payorId - paymentData - transStatus - paypointId - totalAmount - netAmount - feeAmount - settlementStatus - operation - responseData - source - scheduleReference - orgId - refundId - returnedId - chargebackId - retrievalId - transAdditionalData - invoiceData - entrypageId - externalPaypointID - isValidatedACH - transactionTime - customer - splitFundingInstructions - cfeeTransactions - transactionEvents - riskStatus - riskReason - riskAction - deviceId - achSecCode - achHolderType - ipAddress - isSameDayACH - walletType description: >- Complete transaction details returned by v2 Money In endpoints. This matches the structure of the transaction details previously returned by the v1 details endpoint. title: V2TransactionDetails type___v2moneyInTypes__:V2TransactionResponseWrapper: type: object properties: code: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseCode' reason: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseReason' explanation: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseExplanation' action: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseAction' data: $ref: '#/components/schemas/type___v2moneyInTypes__:V2TransactionDetails' token: type: - string - 'null' description: >- Pagination token (equivalent to `pageIdentifier` in v1 APIs). Returns `null` when pagination is not applicable. required: - code - reason - explanation - action - data - token description: >- Standard response wrapper for v2 Money In transaction endpoints. All v2 transaction endpoints return responses in this format with consistent `code`, `reason`, `explanation`, and `action` fields. The `data` field contains transaction details. title: V2TransactionResponseWrapper type___v2moneyInTypes__:V2BadRequestErrorDetail: type: object properties: message: type: string description: Description of the validation error. suggestion: type: string description: Suggested action to fix the error. required: - message - suggestion description: Individual field error detail for bad request responses. title: V2BadRequestErrorDetail type___v2moneyInTypes__:V2BadRequestError: type: object properties: type: type: string description: >- A URI reference that identifies the problem type. Points to human-readable documentation for this error type. title: type: string description: Always "Bad Request" for 400 errors. status: type: integer description: HTTP status code, always 400 for bad requests. detail: type: string description: Short description of the error. instance: type: string description: Request URL that caused the error. code: type: string description: >- Payabli's unified response code for validation errors. Starts with 'E'. See [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for more information. errors: type: object additionalProperties: type: array items: $ref: >- #/components/schemas/type___v2moneyInTypes__:V2BadRequestErrorDetail description: >- Dictionary of field-specific validation errors. Keys are field paths (e.g., "paymentMethod.cardnumber") and values are arrays of error details. token: type: - string - 'null' description: >- Pagination token (equivalent to pageIdentifier in v1 APIs). Usually null for errors. required: - type - title - status - detail - instance - code - errors - token description: >- Bad request error response (HTTP 400) returned when request validation fails. Follows RFC 7807 Problem Details format with additional Payabli-specific fields. title: V2BadRequestError type___v2moneyInTypes__:V2DeclinedTransactionResponseWrapper: type: object properties: code: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseCode' reason: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseReason' explanation: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseExplanation' action: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseAction' data: $ref: '#/components/schemas/type___v2moneyInTypes__:V2TransactionDetails' token: type: - string - 'null' description: >- Pagination token (equivalent to `pageIdentifier` in v1 APIs). Returns `null` when pagination is not applicable. required: - code - reason - explanation - action - data - token description: >- Response wrapper for declined v2 Money In transaction endpoints (HTTP 402). Returned when a transaction is declined by the card network or issuer. All decline responses use this format with unified response codes starting with 'D'. The `data` field contains transaction details. title: V2DeclinedTransactionResponseWrapper type___v2moneyInTypes__:V2InternalServerError: type: object properties: title: type: string description: Always "Internal Server Error" for 500 errors. status: type: integer description: HTTP status code, always 500 for internal errors. detail: type: string description: Additional details about the internal error. instance: type: string description: Request URL that caused the error. required: - title - status - detail - instance description: >- Internal server error response (HTTP 500) returned when an unexpected error occurs. Follows RFC 7807 Problem Details format. title: V2InternalServerError securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript FullRefundZeroAmount import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.moneyIn.refundv2Amount("10-3ffa27df-b171-44e0-b251-e95fbfc7a723", 0); } main(); ``` ```python FullRefundZeroAmount from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.money_in.refundv_2_amount( trans_id="10-3ffa27df-b171-44e0-b251-e95fbfc7a723", amount=0, ) ``` ```csharp FullRefundZeroAmount using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.MoneyIn.Refundv2AmountAsync( "10-3ffa27df-b171-44e0-b251-e95fbfc7a723", 0 ); } } ``` ```go FullRefundZeroAmount package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/v2/MoneyIn/refund/10-3ffa27df-b171-44e0-b251-e95fbfc7a723/0" req, _ := http.NewRequest("POST", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby FullRefundZeroAmount require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/v2/MoneyIn/refund/10-3ffa27df-b171-44e0-b251-e95fbfc7a723/0") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java FullRefundZeroAmount import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/v2/MoneyIn/refund/10-3ffa27df-b171-44e0-b251-e95fbfc7a723/0") .header("requestToken", "") .asString(); ``` ```php FullRefundZeroAmount request('POST', 'https://api-sandbox.payabli.com/api/v2/MoneyIn/refund/10-3ffa27df-b171-44e0-b251-e95fbfc7a723/0', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift FullRefundZeroAmount import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/v2/MoneyIn/refund/10-3ffa27df-b171-44e0-b251-e95fbfc7a723/0")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ```typescript RefundAmount import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.moneyIn.refundv2Amount("10-3ffa27df-b171-44e0-b251-e95fbfc7a723", 100.99); } main(); ``` ```python RefundAmount from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.money_in.refundv_2_amount( trans_id="10-3ffa27df-b171-44e0-b251-e95fbfc7a723", amount=100.99, ) ``` ```csharp RefundAmount using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.MoneyIn.Refundv2AmountAsync( "10-3ffa27df-b171-44e0-b251-e95fbfc7a723", 100.99 ); } } ``` ```go RefundAmount package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/v2/MoneyIn/refund/10-3ffa27df-b171-44e0-b251-e95fbfc7a723/100.99" req, _ := http.NewRequest("POST", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby RefundAmount require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/v2/MoneyIn/refund/10-3ffa27df-b171-44e0-b251-e95fbfc7a723/100.99") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java RefundAmount import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/v2/MoneyIn/refund/10-3ffa27df-b171-44e0-b251-e95fbfc7a723/100.99") .header("requestToken", "") .asString(); ``` ```php RefundAmount request('POST', 'https://api-sandbox.payabli.com/api/v2/MoneyIn/refund/10-3ffa27df-b171-44e0-b251-e95fbfc7a723/100.99', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift RefundAmount import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/v2/MoneyIn/refund/10-3ffa27df-b171-44e0-b251-e95fbfc7a723/100.99")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Void transaction POST https://api-sandbox.payabli.com/api/v2/MoneyIn/void/{transId} Cancel a transaction that hasn't been settled yet. Voiding non-captured authorizations prevents future captures. This is the v2 version of the `api/MoneyIn/void/{transId}` endpoint, and returns the unified response format. See [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for more information. Reference: https://docs.payabli.com/developers/api-reference/moneyinV2/void-a-transaction ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /v2/MoneyIn/void/{transId}: post: operationId: voidv-2 summary: Void a transaction (v2) description: >- Cancel a transaction that hasn't been settled yet. Voiding non-captured authorizations prevents future captures. This is the v2 version of the `api/MoneyIn/void/{transId}` endpoint, and returns the unified response format. See [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for more information. tags: - subpackage_moneyIn parameters: - name: transId in: path description: ReferenceId for the transaction (PaymentId). required: true schema: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: >- #/components/schemas/type___v2moneyInTypes__:V2TransactionResponseWrapper '400': description: >- Bad request error for v2 Money In void endpoint (HTTP 400). Returned when request validation fails. Follows RFC 7807 Problem Details format with Payabli-specific unified response codes. See the [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for the complete list of codes. content: application/json: schema: $ref: '#/components/schemas/type___v2moneyInTypes__:V2BadRequestError' '401': description: Unauthorized request. content: application/json: schema: description: Any type '402': description: >- Void decline error for v2 Money In endpoints (HTTP 402). Returned when a void operation is declined for a transaction. Uses unified response codes starting with 'D'. See the [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for the complete list of codes. content: application/json: schema: $ref: >- #/components/schemas/type___v2moneyInTypes__:V2DeclinedTransactionResponseWrapper '500': description: >- Internal server error for v2 Money In endpoints (HTTP 500). Returned when an unexpected error occurs. Follows RFC 7807 Problem Details format. content: application/json: schema: $ref: >- #/components/schemas/type___v2moneyInTypes__:V2InternalServerError servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type___v2moneyInTypes__:V2ResponseCode: type: string description: >- Payabli's unified response code. Starts with `A` (Approved) or `D` (Declined) followed by a four-digit code that provides specific details about the transaction result. See [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for more information. title: V2ResponseCode type___v2moneyInTypes__:V2ResponseReason: type: string description: Human-readable reason corresponding to the response code. title: V2ResponseReason type___v2moneyInTypes__:V2ResponseExplanation: type: string description: Detailed description of the response code. title: V2ResponseExplanation type___v2moneyInTypes__:V2ResponseAction: type: string description: Recommended resolution approach or next steps based on the response. title: V2ResponseAction type_:OrgParentName: type: string description: The name of the parent organization. title: OrgParentName type_:Dbaname: type: string description: >- The alternate or common name that this business is doing business under usually referred to as a DBA name. title: Dbaname type_:Legalname: type: string description: Business legal name. title: Legalname type_:Entrypointfield: type: string description: The entrypoint identifier. title: Entrypointfield type_:ExternalProcessorInformation: type: string description: >- Processor information, used for troubleshooting and reporting. This field contains a value when the API key used to make the request has management permissions. title: ExternalProcessorInformation type_:OrderId: type: string description: Custom identifier for the transaction. title: OrderId type_:BatchNumber: type: string description: >- A unique identifier for the batch. This is generated by Payabli when the batch is created, and follows this format: `paypointId + "_" + serviceName + "_" + batchDate:yyyyMMdd + "_" + Guid.NewGuid()`. Payabli generates the GUID to ensure that the batch number is unique. For example, in this batch number: `123_card_20251008_3f2504e0-4f89-11d3-9a0c-0305e82c3301`, the paypointID is "123", the service is "card", the batch date is "2025-10-08", and the GUID is "3f2504e0-4f89-11d3-9a0c-0305e82c3301". title: BatchNumber type_:PayorId: type: integer format: int64 description: >- Unique ID for the customer linked to the transaction. This is the same value as the `customerId` used when creating or referencing a customer. title: PayorId type_:Maskedaccount: type: string description: >- Masked card or bank account used in transaction. In the case of Apple Pay, this is a masked DPAN (device primary account number). title: Maskedaccount type_:Accounttype: type: string description: Bank account type or card brand. title: Accounttype type_:Accountexp: type: string description: Expiration date of card used in transaction. title: Accountexp type_:Holdername: type: string description: Account holder name for the method. title: Holdername type_:Storedmethodid: type: string description: >- Payabli identifier of a tokenized payment method. If this field is used in a request, the `method` field is overridden and the payment is made using the payment token. title: Storedmethodid type_:Initiator: type: string description: >- **Strongly recommended** The cardholder-initiated transaction (CIT) or merchant-initiated transaction (MIT) indicator for the transaction. If you don't specify a value, Payabli defaults to `merchant`. Available values: - `payor`: For cardholder-initiated transactions - `merchant`: For merchant-initiated transactions See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Initiator type_:StoredMethodUsageType: type: string description: >- **Strongly recommended** The usage type for the stored method, used for merchant-initiated transactions (MIT). If you don't specify a value, Payabli defaults to `unscheduled`. Available values: - `unscheduled`: This type is used for transactions that are one-time or otherwise not pre-scheduled. - `subscription`: This type is used for subscription payments. For example, monthly rental fees or ongoing service subscriptions. - `recurring`: This type is used for recurring payments that occur per a set plan. For example, splitting an HOA special assessment over 6 monthly payments. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: StoredMethodUsageType type_:Sequence: type: string description: >- The order of the transaction for cardholder-initiated transaction (CIT) and merchant-initiated transaction (MIT) purposes. This field is automatically detected and populated by Payabli. Available values: - `first`: The first use of the payment method. This is almost always a cardholder-initiated transaction. - `subsequent`: For merchant-initiated transactions after the first use of the payment method. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Sequence type_:Orderdescription: type: string description: Text description of the transaction. title: Orderdescription type_:Accountid: type: string description: Custom identifier for payment connector. title: Accountid type_:Signaturedata: type: string title: Signaturedata type_:BinData: type: object properties: binMatchedLength: type: string description: |- The number of characters from the beginning of the card number that were matched against a Bank Identification Number (BIN) or the Card Range table. binCardBrand: type: string description: |- The card brand. For example, Visa, Mastercard, American Express, Discover. binCardType: type: string description: 'The type of card: Credit or Debit.' binCardCategory: type: string description: >- The category of the card, which indicates the card product. For example: Standard, Gold, Platinum, etc. The binCardCategory for prepaid cards is marked `PREPAID`. binCardIssuer: type: string description: The name of the financial institution that issued the card. binCardIssuerCountry: type: string description: The issuing financial institution's country name. binCardIssuerCountryCodeA2: type: string description: >- The issuing financial institution's two-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIssuerCountryNumber: type: string description: >- The issuing financial institution's ISO standard numeric country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIsRegulated: type: string description: Indicates whether the card is regulated. binCardUseCategory: type: string description: The use category classification for the card. binCardIssuerCountryCodeA3: type: string description: >- The issuing financial institution's three-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. description: >- Object containing information related to the card. This object is `null` unless the payment method is card. If the payment method is Apple Pay, the binData will be related to the DPAN (device primary account number), not the card connected to Apple Pay. title: BinData type_:Source: type: string description: Custom identifier to indicate the transaction or request source. title: Source type_moneyIn:TransactionDetailPaymentDetails: type: object properties: totalAmount: type: number format: double serviceFee: type: number format: double checkNumber: type: - string - 'null' checkImage: oneOf: - description: Any type - type: 'null' checkUniqueId: type: string currency: type: string orderDescription: oneOf: - $ref: '#/components/schemas/type_:Orderdescription' - type: 'null' orderId: oneOf: - $ref: '#/components/schemas/type_:OrderId' - type: 'null' orderIdAlternative: type: - string - 'null' paymentDescription: type: - string - 'null' groupNumber: type: - string - 'null' source: oneOf: - $ref: '#/components/schemas/type_:Source' - type: 'null' payabliTransId: type: - string - 'null' unbundled: oneOf: - description: Any type - type: 'null' categories: type: array items: description: Any type splitFunding: type: array items: description: Any type required: - totalAmount - serviceFee - checkNumber - checkImage - checkUniqueId - currency - orderDescription - orderId - orderIdAlternative - paymentDescription - groupNumber - source - payabliTransId - unbundled - categories - splitFunding description: Detailed breakdown of payment amounts and identifiers title: TransactionDetailPaymentDetails type_moneyIn:TransactionDetailPaymentData: type: object properties: maskedAccount: $ref: '#/components/schemas/type_:Maskedaccount' accountType: $ref: '#/components/schemas/type_:Accounttype' accountExp: oneOf: - $ref: '#/components/schemas/type_:Accountexp' - type: 'null' holderName: $ref: '#/components/schemas/type_:Holdername' storedId: oneOf: - $ref: '#/components/schemas/type_:Storedmethodid' - type: 'null' initiator: oneOf: - $ref: '#/components/schemas/type_:Initiator' - type: 'null' storedMethodUsageType: oneOf: - $ref: '#/components/schemas/type_:StoredMethodUsageType' - type: 'null' sequence: oneOf: - $ref: '#/components/schemas/type_:Sequence' - type: 'null' orderDescription: $ref: '#/components/schemas/type_:Orderdescription' accountId: oneOf: - $ref: '#/components/schemas/type_:Accountid' - type: 'null' signatureData: oneOf: - $ref: '#/components/schemas/type_:Signaturedata' - type: 'null' binData: oneOf: - $ref: '#/components/schemas/type_:BinData' - type: 'null' paymentDetails: $ref: '#/components/schemas/type_moneyIn:TransactionDetailPaymentDetails' required: - maskedAccount - accountType - accountExp - holderName - storedId - initiator - storedMethodUsageType - sequence - orderDescription - accountId - signatureData - binData - paymentDetails description: Payment method and transaction details title: TransactionDetailPaymentData type_:TransStatus: type: integer description: >- Status of transaction. See [the docs](/developers/references/money-in-statuses#money-in-transaction-status) for a full reference. title: TransStatus type_:PaypointId: type: integer format: int64 description: The paypoint's ID. Note that this is different than the entryname. title: PaypointId type_:FeeAmount: type: number format: double description: Service fee or sub-charge applied. title: FeeAmount type_:SettlementStatus: type: integer description: >- Settlement status for transaction. See [the docs](/developers/references/money-in-statuses#payment-funding-status) for a full reference. title: SettlementStatus type_:Operation: type: string description: The transaction's operation. title: Operation type_:ResultCodev2: type: string description: >- Unified result code for the transaction. See [Pay In unified response codes](/developers/references/pay-in-unified-response-codes-reference) for more information. title: ResultCodev2 type_:ResultCodeText: type: string description: >- Description of the result code. See [Pay In unified response codes](/developers/references/pay-in-unified-response-codes-reference) for more information. title: ResultCodeText type_:Resulttext: type: string description: >- Text describing the result. If `ResultCode` = 1, will return 'Approved' or a general success message. If `ResultCode`` = 2 or 3, will contain the cause of the error or decline. title: Resulttext type_:Authcode: type: string description: Authorization code for the transaction. title: Authcode type_:AvsResponse: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponse type_:AvsResponseText: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponseText type_:CvvResponse: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponse type_:CvvResponseText: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponseText type_:CustomerVaultId: type: string title: CustomerVaultId type_:EmvAuthResponseData: type: string description: EMV authorization response data, applicable for card transactions. title: EmvAuthResponseData type___v2moneyInTypes__:V2TransactionDetailResponseData: type: object properties: resultCode: $ref: '#/components/schemas/type_:ResultCodev2' resultCodeText: $ref: '#/components/schemas/type_:ResultCodeText' response: type: - string - 'null' responsetext: $ref: '#/components/schemas/type_:Resulttext' authcode: oneOf: - $ref: '#/components/schemas/type_:Authcode' - type: 'null' transactionid: type: string description: >- Unique identifier for the transaction assigned by the payment processor. avsresponse: oneOf: - $ref: '#/components/schemas/type_:AvsResponse' - type: 'null' avsresponse_text: oneOf: - $ref: '#/components/schemas/type_:AvsResponseText' - type: 'null' cvvresponse: oneOf: - $ref: '#/components/schemas/type_:CvvResponse' - type: 'null' cvvresponse_text: oneOf: - $ref: '#/components/schemas/type_:CvvResponseText' - type: 'null' orderid: oneOf: - $ref: '#/components/schemas/type_:OrderId' - type: 'null' type: type: - string - 'null' response_code: type: string description: Processor-specific response code. response_code_text: type: string description: Description of the response code. customer_vault_id: oneOf: - $ref: '#/components/schemas/type_:CustomerVaultId' - type: 'null' emv_auth_response_data: oneOf: - $ref: '#/components/schemas/type_:EmvAuthResponseData' - type: 'null' required: - resultCode - resultCodeText - response - responsetext - authcode - transactionid - avsresponse - avsresponse_text - cvvresponse - cvvresponse_text - orderid - type - response_code - response_code_text - customer_vault_id - emv_auth_response_data description: Response data from payment processor title: V2TransactionDetailResponseData type_:Orgid: type: integer format: int64 description: Organization ID. Unique identifier assigned to an org by Payabli. title: Orgid type_:RefundId: type: integer format: int64 description: Identifier of refund transaction linked to this payment. title: RefundId type_:ReturnedId: type: integer format: int64 description: Identifier of return/chargeback transaction linked to this payment. title: ReturnedId type_:ChargebackId: type: integer format: int64 description: Identifier of chargeback transaction title: ChargebackId type_:RetrievalId: type: integer format: int64 description: Identifier of retrieval request title: RetrievalId type_:InvoiceNumber: type: string description: >- Custom number identifying the bill or invoice. Must be unique in paypoint. title: InvoiceNumber type_:Invoicestatus: type: integer description: |- Status for invoice. The accepted status values are: - 0 draft - 1 active - 2 partially paid - 4 paid/complete - 99 cancelled title: Invoicestatus type_:InvoiceType: type: integer description: Type of invoice. Only `0` for one-time invoices is currently supported. title: InvoiceType type_:Frequency: type: string enum: - onetime - weekly - every2weeks - every6months - monthly - every3months - annually description: Frequency for operation. title: Frequency type_:TermsConditions: type: string description: Custom terms and conditions included in the invoice. title: TermsConditions type_:Tax: type: number format: double description: Tax rate in percent applied to the invoice. title: Tax type_:Discount: type: number format: double description: Discount applied to the invoice. title: Discount type_:InvoiceAmount: type: number format: double description: Invoice total amount. title: InvoiceAmount type_:FreightAmount: type: number format: double description: Freight/shipping amount. title: FreightAmount type_:DutyAmount: type: number format: double description: Duty amount. title: DutyAmount type_:PurchaseOrder: type: string description: Purchase order number. title: PurchaseOrder type_:Shippingaddress: type: string description: The shipping address. title: Shippingaddress type_:Shippingaddressadditional: type: string description: Additional line for shipping address. title: Shippingaddressadditional type_:Shippingcity: type: string description: Shipping city. title: Shippingcity type_:Shippingstate: type: string description: Shipping state or province. title: Shippingstate type_:Shippingzip: type: string description: >- Shipping ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". title: Shippingzip type_:Shippingcountry: type: string description: Shipping address country. title: Shippingcountry type_:Email: type: string format: email description: Email address. title: Email type_:ShippingFromZip: type: string description: Sender shipping ZIP code. title: ShippingFromZip type_:SummaryCommodityCode: type: string description: Commodity code. title: SummaryCommodityCode type_:ItemCommodityCode: type: string description: Item or product commodity code. Max length of 250 characters. title: ItemCommodityCode type_:ItemDescription: type: string description: Item or product description. Max length of 250 characters. title: ItemDescription type_:ItemProductCode: type: string description: Item or product code. Max length of 250 characters. title: ItemProductCode type_:ItemProductName: type: string description: Item or product name. Max length of 250 characters. title: ItemProductName type_:ItemUnitofMeasure: type: string description: Unit of measurement. Max length of 100 characters. title: ItemUnitofMeasure type_:BillItem: type: object properties: itemCategories: type: array items: type: string description: Array of tags classifying item or product. itemCommodityCode: $ref: '#/components/schemas/type_:ItemCommodityCode' itemCost: type: number format: double description: Item or product price per unit. itemDescription: $ref: '#/components/schemas/type_:ItemDescription' itemMode: type: integer description: >- Internal class of item or product: value '0' is only for invoices , '1' for bills and, '2' common for both. itemProductCode: $ref: '#/components/schemas/type_:ItemProductCode' itemProductName: $ref: '#/components/schemas/type_:ItemProductName' itemQty: type: integer description: Quantity of item or product. itemTaxAmount: type: number format: double description: Tax amount applied to item or product. itemTaxRate: type: number format: double description: Tax rate applied to item or product. itemTotalAmount: type: number format: double description: Total amount in item or product. itemUnitOfMeasure: $ref: '#/components/schemas/type_:ItemUnitofMeasure' required: - itemCost title: BillItem type_:FileContentFtype: type: string enum: - pdf - doc - docx - jpg - jpeg - png - gif - txt description: The MIME type of the file (if content is provided) title: FileContentFtype type_:FileContent: type: object properties: fContent: type: string description: >- Content of file, Base64-encoded. Ignored if furl is specified. Max upload size is 30 MB. filename: type: string description: The name of the attached file. ftype: $ref: '#/components/schemas/type_:FileContentFtype' description: The MIME type of the file (if content is provided) furl: type: string description: Optional URL provided to show or download the file remotely description: Contains details about a file. Max upload size is 30 MB. title: FileContent type_:Attachments: type: array items: $ref: '#/components/schemas/type_:FileContent' description: >- Array of `fileContent` objects with attached documents. Max upload size is 30 MB. title: Attachments type_:AdditionalDataString: type: string description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. Example usage: ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalDataString type_moneyIn:TransactionDetailInvoiceData: type: object properties: invoiceNumber: oneOf: - $ref: '#/components/schemas/type_:InvoiceNumber' - type: 'null' invoiceDate: type: - string - 'null' format: date invoiceDueDate: type: - string - 'null' format: date invoiceEndDate: type: - string - 'null' format: date invoiceStatus: oneOf: - $ref: '#/components/schemas/type_:Invoicestatus' - type: 'null' invoiceType: oneOf: - $ref: '#/components/schemas/type_:InvoiceType' - type: 'null' frequency: oneOf: - $ref: '#/components/schemas/type_:Frequency' - type: 'null' paymentTerms: type: - string - 'null' termsConditions: oneOf: - $ref: '#/components/schemas/type_:TermsConditions' - type: 'null' notes: type: - string - 'null' tax: oneOf: - $ref: '#/components/schemas/type_:Tax' - type: 'null' discount: oneOf: - $ref: '#/components/schemas/type_:Discount' - type: 'null' invoiceAmount: oneOf: - $ref: '#/components/schemas/type_:InvoiceAmount' - type: 'null' freightAmount: oneOf: - $ref: '#/components/schemas/type_:FreightAmount' - type: 'null' dutyAmount: oneOf: - $ref: '#/components/schemas/type_:DutyAmount' - type: 'null' purchaseOrder: oneOf: - $ref: '#/components/schemas/type_:PurchaseOrder' - type: 'null' firstName: type: - string - 'null' lastName: type: - string - 'null' company: type: - string - 'null' shippingAddress1: oneOf: - $ref: '#/components/schemas/type_:Shippingaddress' - type: 'null' shippingAddress2: oneOf: - $ref: '#/components/schemas/type_:Shippingaddressadditional' - type: 'null' shippingCity: oneOf: - $ref: '#/components/schemas/type_:Shippingcity' - type: 'null' shippingState: oneOf: - $ref: '#/components/schemas/type_:Shippingstate' - type: 'null' shippingZip: oneOf: - $ref: '#/components/schemas/type_:Shippingzip' - type: 'null' shippingCountry: oneOf: - $ref: '#/components/schemas/type_:Shippingcountry' - type: 'null' shippingEmail: oneOf: - $ref: '#/components/schemas/type_:Email' - type: 'null' shippingPhone: type: - string - 'null' shippingFromZip: oneOf: - $ref: '#/components/schemas/type_:ShippingFromZip' - type: 'null' summaryCommodityCode: oneOf: - $ref: '#/components/schemas/type_:SummaryCommodityCode' - type: 'null' items: type: - array - 'null' items: $ref: '#/components/schemas/type_:BillItem' attachments: oneOf: - $ref: '#/components/schemas/type_:Attachments' - type: 'null' additionalData: oneOf: - $ref: '#/components/schemas/type_:AdditionalDataString' - type: 'null' required: - invoiceNumber - invoiceDate - invoiceDueDate - invoiceEndDate - invoiceStatus - invoiceType - frequency - paymentTerms - termsConditions - notes - tax - discount - invoiceAmount - freightAmount - dutyAmount - purchaseOrder - firstName - lastName - company - shippingAddress1 - shippingAddress2 - shippingCity - shippingState - shippingZip - shippingCountry - shippingEmail - shippingPhone - shippingFromZip - summaryCommodityCode - items - attachments - additionalData description: Invoice information if transaction is associated with an invoice title: TransactionDetailInvoiceData type_:EntrypageId: type: integer format: int64 description: >- If applicable, the internal reference ID to the payment page capturing the payment. title: EntrypageId type_:ExternalPaypointId: type: string description: >- A custom identifier for the paypoint, if applicable. Like `entrypoint` is the Payabli identifier for the merchant, `externalPaypointId` is a custom field you can use to include the merchant's ID from your own systems. title: ExternalPaypointId type_:Identifierfields: type: array items: type: string description: >- List of fields acting as customer identifiers, to be used instead of CustomerNumber. title: Identifierfields type_:BillingAddressNullable: type: string description: Billing address. title: BillingAddressNullable type_:BillingAddressAddtlNullable: type: string description: Additional line for the billing address. title: BillingAddressAddtlNullable type_:BillingCityNullable: type: string description: Billing city. title: BillingCityNullable type_:BillingStateNullable: type: string description: Billing state. Must be 2-letter state code for address in US. title: BillingStateNullable type_:BillingZip: type: string description: Billing address ZIP code. title: BillingZip type_:BillingCountryNullable: type: string description: Billing address country. title: BillingCountryNullable type_:PhoneNumber: type: string description: Phone number. title: PhoneNumber type_:CustomerNumberNullable: type: string description: >- User-provided unique identifier for the customer. This is typically the customer ID from your own system. title: CustomerNumberNullable type_:CustomerId: type: integer format: int64 description: The Payabli-generated unique ID for the customer. title: CustomerId type_:CustomerStatus: type: integer description: |- Customer Status. Possible values: - `-99` Deleted - `0` Inactive - `1` Active - `85` Locked (typically due to multiple failed login attempts) title: CustomerStatus type_moneyIn:TransactionDetailCustomer: type: object properties: identifiers: oneOf: - $ref: '#/components/schemas/type_:Identifierfields' - type: 'null' firstName: type: string lastName: type: string companyName: type: string billingAddress1: $ref: '#/components/schemas/type_:BillingAddressNullable' billingAddress2: $ref: '#/components/schemas/type_:BillingAddressAddtlNullable' billingCity: $ref: '#/components/schemas/type_:BillingCityNullable' billingState: $ref: '#/components/schemas/type_:BillingStateNullable' billingZip: $ref: '#/components/schemas/type_:BillingZip' billingCountry: $ref: '#/components/schemas/type_:BillingCountryNullable' billingPhone: $ref: '#/components/schemas/type_:PhoneNumber' billingEmail: $ref: '#/components/schemas/type_:Email' customerNumber: $ref: '#/components/schemas/type_:CustomerNumberNullable' shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' customerId: $ref: '#/components/schemas/type_:CustomerId' customerStatus: $ref: '#/components/schemas/type_:CustomerStatus' additionalData: oneOf: - $ref: '#/components/schemas/type_:AdditionalDataString' - type: 'null' required: - identifiers - firstName - lastName - companyName - billingAddress1 - billingAddress2 - billingCity - billingState - billingZip - billingCountry - billingPhone - billingEmail - customerNumber - shippingAddress1 - shippingAddress2 - shippingCity - shippingState - shippingZip - shippingCountry - customerId - customerStatus - additionalData description: Customer information associated with the transaction title: TransactionDetailCustomer type_:SplitFundingContent: type: object properties: accountId: type: string description: The accountId for the account the split should be sent to. amount: type: number format: double description: Amount from the transaction to sent to this recipient. description: type: string description: A description for the split. recipientEntryPoint: type: string description: The entrypoint the split should be sent to. title: SplitFundingContent type_:SplitFunding: type: array items: $ref: '#/components/schemas/type_:SplitFundingContent' description: >- Split funding instructions for the transaction. The total amount of the splits must match the total amount of the transaction. title: SplitFunding type_:TransactionTime: type: string format: date-time description: Timestamp when transaction was submitted, in UTC. title: TransactionTime type_:QueryCFeeTransaction: type: object properties: cFeeTransid: type: string feeAmount: type: number format: double operation: type: string refundId: type: integer format: int64 responseData: type: object additionalProperties: description: Any type settlementStatus: type: integer transactionTime: $ref: '#/components/schemas/type_:TransactionTime' transStatus: type: integer title: QueryCFeeTransaction type_moneyIn:TransactionDetailEvent: type: object properties: transEvent: type: string eventData: type: string eventTime: type: string required: - transEvent - eventData - eventTime description: Event associated with transaction processing title: TransactionDetailEvent type_:PendingFeeAmount: type: number format: double description: >- The difference between the configured pass-through fee and the fee amount sent in the request. When transferring funds, Payabli uses this field to deduct the fee difference and transfer the correct amount to the merchant. When a paypoint is set up to absorb fees, and the pass-through fee sent with the request is less than the configured amount, the difference must be covered by the merchant. See [Fee Configuration](/guides/pay-in-fees-passthrough-overview#fee-configuration) to learn more about pass-through fee settings. title: PendingFeeAmount type_:RiskFlagged: type: boolean description: Indicates if the transaction was flagged for risk title: RiskFlagged type_:RiskFlaggedOn: type: string format: date-time description: Timestamp when the transaction was flagged for risk title: RiskFlaggedOn type_:RiskStatus: type: string description: Current risk status of the transaction title: RiskStatus type_:RiskReason: type: string description: Reason for risk flagging title: RiskReason type_:RiskAction: type: string description: Action taken due to risk assessment title: RiskAction type_:RiskActionCode: type: integer description: Numeric code representing the risk action title: RiskActionCode type_:Device: type: string description: Identifier of registered cloud device used in the transaction. title: Device type_:AchSecCode: type: string description: >- Standard Entry Class (SEC) code is a three letter code that describes how an ACH payment was authorized. Supported values are: - PPD (Prearranged Payment and Deposit) - Used for credits or debits where an accountholder authorizes a company to initiate either a single or recurring transaction to their personal bank account. Common examples include direct deposit of payroll, mortgage payments, or utility bills. This is the default value for subscription payments. - WEB (Internet-Initiated/Mobile Entry) - Used for debit entries when authorization is obtained from an accountholder via the internet or a wireless network. Common examples are online bill payments, ecommerce purchases, and mobile app payments where the consumer enters their banking information online. - TEL (Telephone-Initiated Entry) - Used for one-time debit entries where authorization is obtained from a consumer via telephone. Common examples are phone-based purchases or bill payments where the consumer provides their banking information over the phone. - CCD (Corporate Credit or Debit) - Used for fund transfers between business accounts. This code is specifically for business-to-business transactions. Common examples include vendor payments and other business-to-business payments. - BOC (Back Office Conversion) - Used to convert paper checks received in-person at a point-of-sale or staffed payment location into electronic ACH debits. Required for Remote Deposit Capture (RDC) transactions. Only supports consumer checks; business, government, and mailed checks aren't eligible. title: AchSecCode type_:AchHolderType: type: string enum: - personal - business default: personal description: 'The bank''s accountholder type: personal or business.' title: AchHolderType type_:IpAddress: type: string description: >- *Recommended*. The customer's IP address. This field is used to help prevent fraudulent transactions, and Payabli strongly recommends including this data. title: IpAddress type___v2moneyInTypes__:V2TransactionDetails: type: object properties: parentOrgName: $ref: '#/components/schemas/type_:OrgParentName' paypointDbaname: $ref: '#/components/schemas/type_:Dbaname' paypointLegalname: $ref: '#/components/schemas/type_:Legalname' paypointEntryname: $ref: '#/components/schemas/type_:Entrypointfield' paymentTransId: type: string description: Unique transaction identifier. connectorName: type: string description: Name of the payment connector used. externalProcessorInformation: $ref: '#/components/schemas/type_:ExternalProcessorInformation' gatewayTransId: type: string description: Gateway transaction identifier. orderId: oneOf: - $ref: '#/components/schemas/type_:OrderId' - type: 'null' method: type: string description: Payment method used for the transaction. batchNumber: $ref: '#/components/schemas/type_:BatchNumber' batchAmount: type: number format: double description: Total amount in the batch. payorId: $ref: '#/components/schemas/type_:PayorId' paymentData: $ref: '#/components/schemas/type_moneyIn:TransactionDetailPaymentData' transStatus: $ref: '#/components/schemas/type_:TransStatus' paypointId: $ref: '#/components/schemas/type_:PaypointId' totalAmount: type: number format: double description: Total transaction amount including fees. netAmount: type: number format: double description: Net transaction amount excluding fees. feeAmount: $ref: '#/components/schemas/type_:FeeAmount' settlementStatus: $ref: '#/components/schemas/type_:SettlementStatus' operation: $ref: '#/components/schemas/type_:Operation' responseData: $ref: >- #/components/schemas/type___v2moneyInTypes__:V2TransactionDetailResponseData source: $ref: '#/components/schemas/type_:Source' scheduleReference: type: integer format: int64 description: Reference to associated payment schedule if applicable. orgId: $ref: '#/components/schemas/type_:Orgid' refundId: $ref: '#/components/schemas/type_:RefundId' returnedId: $ref: '#/components/schemas/type_:ReturnedId' chargebackId: $ref: '#/components/schemas/type_:ChargebackId' retrievalId: $ref: '#/components/schemas/type_:RetrievalId' transAdditionalData: oneOf: - description: Any type - type: 'null' invoiceData: $ref: '#/components/schemas/type_moneyIn:TransactionDetailInvoiceData' entrypageId: $ref: '#/components/schemas/type_:EntrypageId' externalPaypointID: $ref: '#/components/schemas/type_:ExternalPaypointId' isValidatedACH: type: boolean description: Indicates if ACH account was validated in real-time. transactionTime: type: string description: Timestamp when transaction was created. customer: $ref: '#/components/schemas/type_moneyIn:TransactionDetailCustomer' splitFundingInstructions: oneOf: - $ref: '#/components/schemas/type_:SplitFunding' - type: 'null' cfeeTransactions: type: array items: $ref: '#/components/schemas/type_:QueryCFeeTransaction' transactionEvents: type: array items: $ref: '#/components/schemas/type_moneyIn:TransactionDetailEvent' pendingFeeAmount: $ref: '#/components/schemas/type_:PendingFeeAmount' riskFlagged: $ref: '#/components/schemas/type_:RiskFlagged' riskFlaggedOn: $ref: '#/components/schemas/type_:RiskFlaggedOn' riskStatus: $ref: '#/components/schemas/type_:RiskStatus' riskReason: $ref: '#/components/schemas/type_:RiskReason' riskAction: $ref: '#/components/schemas/type_:RiskAction' riskActionCode: $ref: '#/components/schemas/type_:RiskActionCode' deviceId: $ref: '#/components/schemas/type_:Device' achSecCode: $ref: '#/components/schemas/type_:AchSecCode' achHolderType: $ref: '#/components/schemas/type_:AchHolderType' ipAddress: $ref: '#/components/schemas/type_:IpAddress' isSameDayACH: type: boolean description: Indicates if ACH transaction uses same-day processing. walletType: type: - string - 'null' description: Digital wallet type if applicable. required: - parentOrgName - paypointDbaname - paypointLegalname - paypointEntryname - paymentTransId - connectorName - externalProcessorInformation - gatewayTransId - orderId - method - batchNumber - batchAmount - payorId - paymentData - transStatus - paypointId - totalAmount - netAmount - feeAmount - settlementStatus - operation - responseData - source - scheduleReference - orgId - refundId - returnedId - chargebackId - retrievalId - transAdditionalData - invoiceData - entrypageId - externalPaypointID - isValidatedACH - transactionTime - customer - splitFundingInstructions - cfeeTransactions - transactionEvents - riskStatus - riskReason - riskAction - deviceId - achSecCode - achHolderType - ipAddress - isSameDayACH - walletType description: >- Complete transaction details returned by v2 Money In endpoints. This matches the structure of the transaction details previously returned by the v1 details endpoint. title: V2TransactionDetails type___v2moneyInTypes__:V2TransactionResponseWrapper: type: object properties: code: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseCode' reason: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseReason' explanation: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseExplanation' action: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseAction' data: $ref: '#/components/schemas/type___v2moneyInTypes__:V2TransactionDetails' token: type: - string - 'null' description: >- Pagination token (equivalent to `pageIdentifier` in v1 APIs). Returns `null` when pagination is not applicable. required: - code - reason - explanation - action - data - token description: >- Standard response wrapper for v2 Money In transaction endpoints. All v2 transaction endpoints return responses in this format with consistent `code`, `reason`, `explanation`, and `action` fields. The `data` field contains transaction details. title: V2TransactionResponseWrapper type___v2moneyInTypes__:V2BadRequestErrorDetail: type: object properties: message: type: string description: Description of the validation error. suggestion: type: string description: Suggested action to fix the error. required: - message - suggestion description: Individual field error detail for bad request responses. title: V2BadRequestErrorDetail type___v2moneyInTypes__:V2BadRequestError: type: object properties: type: type: string description: >- A URI reference that identifies the problem type. Points to human-readable documentation for this error type. title: type: string description: Always "Bad Request" for 400 errors. status: type: integer description: HTTP status code, always 400 for bad requests. detail: type: string description: Short description of the error. instance: type: string description: Request URL that caused the error. code: type: string description: >- Payabli's unified response code for validation errors. Starts with 'E'. See [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for more information. errors: type: object additionalProperties: type: array items: $ref: >- #/components/schemas/type___v2moneyInTypes__:V2BadRequestErrorDetail description: >- Dictionary of field-specific validation errors. Keys are field paths (e.g., "paymentMethod.cardnumber") and values are arrays of error details. token: type: - string - 'null' description: >- Pagination token (equivalent to pageIdentifier in v1 APIs). Usually null for errors. required: - type - title - status - detail - instance - code - errors - token description: >- Bad request error response (HTTP 400) returned when request validation fails. Follows RFC 7807 Problem Details format with additional Payabli-specific fields. title: V2BadRequestError type___v2moneyInTypes__:V2DeclinedTransactionResponseWrapper: type: object properties: code: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseCode' reason: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseReason' explanation: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseExplanation' action: $ref: '#/components/schemas/type___v2moneyInTypes__:V2ResponseAction' data: $ref: '#/components/schemas/type___v2moneyInTypes__:V2TransactionDetails' token: type: - string - 'null' description: >- Pagination token (equivalent to `pageIdentifier` in v1 APIs). Returns `null` when pagination is not applicable. required: - code - reason - explanation - action - data - token description: >- Response wrapper for declined v2 Money In transaction endpoints (HTTP 402). Returned when a transaction is declined by the card network or issuer. All decline responses use this format with unified response codes starting with 'D'. The `data` field contains transaction details. title: V2DeclinedTransactionResponseWrapper type___v2moneyInTypes__:V2InternalServerError: type: object properties: title: type: string description: Always "Internal Server Error" for 500 errors. status: type: integer description: HTTP status code, always 500 for internal errors. detail: type: string description: Additional details about the internal error. instance: type: string description: Request URL that caused the error. required: - title - status - detail - instance description: >- Internal server error response (HTTP 500) returned when an unexpected error occurs. Follows RFC 7807 Problem Details format. title: V2InternalServerError securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript VoidTransaction import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.moneyIn.voidv2("10-3ffa27df-b171-44e0-b251-e95fbfc7a723"); } main(); ``` ```python VoidTransaction from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.money_in.voidv_2( trans_id="10-3ffa27df-b171-44e0-b251-e95fbfc7a723", ) ``` ```csharp VoidTransaction using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.MoneyIn.Voidv2Async( "10-3ffa27df-b171-44e0-b251-e95fbfc7a723" ); } } ``` ```go VoidTransaction package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/v2/MoneyIn/void/10-3ffa27df-b171-44e0-b251-e95fbfc7a723" req, _ := http.NewRequest("POST", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby VoidTransaction require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/v2/MoneyIn/void/10-3ffa27df-b171-44e0-b251-e95fbfc7a723") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java VoidTransaction import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/v2/MoneyIn/void/10-3ffa27df-b171-44e0-b251-e95fbfc7a723") .header("requestToken", "") .asString(); ``` ```php VoidTransaction request('POST', 'https://api-sandbox.payabli.com/api/v2/MoneyIn/void/10-3ffa27df-b171-44e0-b251-e95fbfc7a723', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift VoidTransaction import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/v2/MoneyIn/void/10-3ffa27df-b171-44e0-b251-e95fbfc7a723")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Make transaction POST https://api-sandbox.payabli.com/api/MoneyIn/getpaid Content-Type: application/json Make a single transaction. This method authorizes and captures a payment in one step. Consider migrating to the [v2 Make a transaction endpoint](/developers/api-reference/moneyinV2/make-a-transaction) to take advantage of unified response codes and improved response consistency. Reference: https://docs.payabli.com/developers/api-reference/moneyin/make-a-transaction ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /MoneyIn/getpaid: post: operationId: getpaid summary: Make a transaction description: >- Make a single transaction. This method authorizes and captures a payment in one step. Consider migrating to the [v2 Make a transaction endpoint](/developers/api-reference/moneyinV2/make-a-transaction) to take advantage of unified response codes and improved response consistency. tags: - subpackage_moneyIn parameters: - name: achValidation in: query required: false schema: $ref: '#/components/schemas/type_:AchValidation' - name: forceCustomerCreation in: query required: false schema: $ref: '#/components/schemas/type_:ForceCustomerCreation' - name: includeDetails in: query description: >- When `true`, transactionDetails object is returned in the response. See a full example of the `transactionDetails` object in the [Transaction integration guide](/developers/developer-guides/money-in-transaction-add#includedetailstrue-response). required: false schema: type: boolean - name: requestToken in: header required: true schema: type: string - name: idempotencyKey in: header required: false schema: $ref: '#/components/schemas/type_:IdempotencyKey' - name: validationCode in: header description: >- Value obtained from user when an API generated CAPTCHA is used in payment page required: false schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/type_moneyIn:PayabliAPIResponseGetPaid' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/type_moneyIn:TransRequestBody' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:AchValidation: type: boolean description: >- When `true`, enables real-time validation of ACH account and routing numbers. This is an add-on feature, contact Payabli for more information. title: AchValidation type_:ForceCustomerCreation: type: boolean description: >- When `true`, the request creates a new customer record, regardless of whether customer identifiers match an existing customer. Defaults to `false`. title: ForceCustomerCreation type_:IdempotencyKey: type: string description: >- _Optional but recommended_ A unique ID that you can include to prevent duplicating objects or transactions in the case that a request is sent more than once. This key isn't generated in Payabli, you must generate it yourself. This key persists for 2 minutes. After 2 minutes, you can reuse the key if needed. title: IdempotencyKey type_:Accountid: type: string description: Custom identifier for payment connector. title: Accountid type_:AdditionalData: type: object additionalProperties: type: object additionalProperties: description: Any type description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. If you are using [custom identifiers](/developers/developer-guides/entities-customers), pass those in this object. Max length for a value is 100 characters. Example usage: ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalData type_:BillingAddressNullable: type: string description: Billing address. title: BillingAddressNullable type_:BillingAddressAddtlNullable: type: string description: Additional line for the billing address. title: BillingAddressAddtlNullable type_:BillingCityNullable: type: string description: Billing city. title: BillingCityNullable type_:BillingCountryNullable: type: string description: Billing address country. title: BillingCountryNullable type_:Email: type: string format: email description: Email address. title: Email type_:PhoneNumber: type: string description: Phone number. title: PhoneNumber type_:BillingStateNullable: type: string description: Billing state. Must be 2-letter state code for address in US. title: BillingStateNullable type_:BillingZip: type: string description: Billing address ZIP code. title: BillingZip type_:CustomerId: type: integer format: int64 description: The Payabli-generated unique ID for the customer. title: CustomerId type_:CustomerNumberNullable: type: string description: >- User-provided unique identifier for the customer. This is typically the customer ID from your own system. title: CustomerNumberNullable type_:Identifierfields: type: array items: type: string description: >- List of fields acting as customer identifiers, to be used instead of CustomerNumber. title: Identifierfields type_:Shippingaddress: type: string description: The shipping address. title: Shippingaddress type_:Shippingaddressadditional: type: string description: Additional line for shipping address. title: Shippingaddressadditional type_:Shippingcity: type: string description: Shipping city. title: Shippingcity type_:Shippingcountry: type: string description: Shipping address country. title: Shippingcountry type_:Shippingstate: type: string description: Shipping state or province. title: Shippingstate type_:Shippingzip: type: string description: >- Shipping ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". title: Shippingzip type_:PayorDataRequest: type: object properties: additionalData: $ref: '#/components/schemas/type_:AdditionalData' billingAddress1: $ref: '#/components/schemas/type_:BillingAddressNullable' billingAddress2: $ref: '#/components/schemas/type_:BillingAddressAddtlNullable' billingCity: $ref: '#/components/schemas/type_:BillingCityNullable' billingCountry: $ref: '#/components/schemas/type_:BillingCountryNullable' billingEmail: $ref: '#/components/schemas/type_:Email' billingPhone: $ref: '#/components/schemas/type_:PhoneNumber' billingState: $ref: '#/components/schemas/type_:BillingStateNullable' billingZip: $ref: '#/components/schemas/type_:BillingZip' description: >- Customer's billing ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". company: type: string description: Customer's company name. customerId: $ref: '#/components/schemas/type_:CustomerId' customerNumber: $ref: '#/components/schemas/type_:CustomerNumberNullable' firstName: type: string description: Customer/Payor first name. identifierFields: $ref: '#/components/schemas/type_:Identifierfields' lastName: type: string description: Customer/Payor last name. shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' description: >- Customer information. May be required, depending on the paypoint's settings. Required for subscriptions. title: PayorDataRequest type_:Entrypointfield: type: string description: The entrypoint identifier. title: Entrypointfield type_:AdditionalDataMap: type: object additionalProperties: type: string description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalDataMap type_:FileContentFtype: type: string enum: - pdf - doc - docx - jpg - jpeg - png - gif - txt description: The MIME type of the file (if content is provided) title: FileContentFtype type_:FileContent: type: object properties: fContent: type: string description: >- Content of file, Base64-encoded. Ignored if furl is specified. Max upload size is 30 MB. filename: type: string description: The name of the attached file. ftype: $ref: '#/components/schemas/type_:FileContentFtype' description: The MIME type of the file (if content is provided) furl: type: string description: Optional URL provided to show or download the file remotely description: Contains details about a file. Max upload size is 30 MB. title: FileContent type_:Attachments: type: array items: $ref: '#/components/schemas/type_:FileContent' description: >- Array of `fileContent` objects with attached documents. Max upload size is 30 MB. title: Attachments type_:Discount: type: number format: double description: Discount applied to the invoice. title: Discount type_:DutyAmount: type: number format: double description: Duty amount. title: DutyAmount type_:FreightAmount: type: number format: double description: Freight/shipping amount. title: FreightAmount type_:Frequency: type: string enum: - onetime - weekly - every2weeks - every6months - monthly - every3months - annually description: Frequency for operation. title: Frequency type_:InvoiceAmount: type: number format: double description: Invoice total amount. title: InvoiceAmount type_:InvoiceNumber: type: string description: >- Custom number identifying the bill or invoice. Must be unique in paypoint. title: InvoiceNumber type_:Invoicestatus: type: integer description: |- Status for invoice. The accepted status values are: - 0 draft - 1 active - 2 partially paid - 4 paid/complete - 99 cancelled title: Invoicestatus type_:InvoiceType: type: integer description: Type of invoice. Only `0` for one-time invoices is currently supported. title: InvoiceType type_:ItemCommodityCode: type: string description: Item or product commodity code. Max length of 250 characters. title: ItemCommodityCode type_:ItemDescription: type: string description: Item or product description. Max length of 250 characters. title: ItemDescription type_:ItemProductCode: type: string description: Item or product code. Max length of 250 characters. title: ItemProductCode type_:ItemProductName: type: string description: Item or product name. Max length of 250 characters. title: ItemProductName type_:ItemUnitofMeasure: type: string description: Unit of measurement. Max length of 100 characters. title: ItemUnitofMeasure type_:BillItem: type: object properties: itemCategories: type: array items: type: string description: Array of tags classifying item or product. itemCommodityCode: $ref: '#/components/schemas/type_:ItemCommodityCode' itemCost: type: number format: double description: Item or product price per unit. itemDescription: $ref: '#/components/schemas/type_:ItemDescription' itemMode: type: integer description: >- Internal class of item or product: value '0' is only for invoices , '1' for bills and, '2' common for both. itemProductCode: $ref: '#/components/schemas/type_:ItemProductCode' itemProductName: $ref: '#/components/schemas/type_:ItemProductName' itemQty: type: integer description: Quantity of item or product. itemTaxAmount: type: number format: double description: Tax amount applied to item or product. itemTaxRate: type: number format: double description: Tax rate applied to item or product. itemTotalAmount: type: number format: double description: Total amount in item or product. itemUnitOfMeasure: $ref: '#/components/schemas/type_:ItemUnitofMeasure' required: - itemCost title: BillItem type_:BillDataPaymentTerms: type: string enum: - PIA - CIA - UR - NET10 - NET20 - NET30 - NET45 - NET60 - NET90 - EOM - MFI - 5MFI - 10MFI - 15MFI - 20MFI - 2/10NET30 - UF - 10UF - 20UF - 25UF - 50UF description: >- Payment terms for invoice. If no terms are defined, then response data for this field defaults to `NET30`. **Available Values:** - `PIA`: Payment in advance - `CIA`: Cash in advance - `UR`: Upon receipt - `NET10`: 10 days after invoice date - `NET20`: 20 days after invoice date - `NET30`: 30 days after invoice date - `NET45`: 45 days after invoice date - `NET60`: 60 days after invoice date - `NET90`: 90 days after invoice date - `EOM`: Due end of this month - `MFI`: 1st of the month following the invoice date - `5MFI`: 5th of the month following the invoice date - `10MFI`: 10th of the month following the invoice date - `15MFI`: 15th of the month following the invoice date - `20MFI`: 20th of the month following the invoice date - `2/10NET30`: 2% discount if paid within 10 days, otherwise net 30 days - `UF`: Until further notice - `10UF`: 10 days until further notice - `20UF`: 20 days until further notice - `25UF`: 25 days until further notice - `50UF`: 50 days until further notice title: BillDataPaymentTerms type_:PurchaseOrder: type: string description: Purchase order number. title: PurchaseOrder type_:ShippingFromZip: type: string description: Sender shipping ZIP code. title: ShippingFromZip type_:SummaryCommodityCode: type: string description: Commodity code. title: SummaryCommodityCode type_:Tax: type: number format: double description: Tax rate in percent applied to the invoice. title: Tax type_:TermsConditions: type: string description: Custom terms and conditions included in the invoice. title: TermsConditions type_:BillData: type: object properties: AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' attachments: $ref: '#/components/schemas/type_:Attachments' company: type: string description: Company name of the recipient of the invoice. discount: $ref: '#/components/schemas/type_:Discount' dutyAmount: $ref: '#/components/schemas/type_:DutyAmount' firstName: type: string description: First name of the recipient of the invoice. freightAmount: $ref: '#/components/schemas/type_:FreightAmount' frequency: $ref: '#/components/schemas/type_:Frequency' description: Frequency of scheduled invoice. invoiceAmount: $ref: '#/components/schemas/type_:InvoiceAmount' invoiceDate: type: string format: date description: 'Invoice date in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY.' invoiceDueDate: type: string format: date description: >- Invoice due date in one of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceEndDate: type: string format: date description: >- Indicate the date to finish a scheduled invoice cycle (`invoiceType`` = 1) in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceNumber: $ref: '#/components/schemas/type_:InvoiceNumber' description: Invoice number. Identifies the invoice under a paypoint. invoiceStatus: $ref: '#/components/schemas/type_:Invoicestatus' invoiceType: $ref: '#/components/schemas/type_:InvoiceType' items: type: array items: $ref: '#/components/schemas/type_:BillItem' description: Array of line items included in the invoice. lastName: type: string description: Last name of the recipient of the invoice. notes: type: string description: Notes included in the invoice. paymentTerms: $ref: '#/components/schemas/type_:BillDataPaymentTerms' purchaseOrder: $ref: '#/components/schemas/type_:PurchaseOrder' shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' shippingEmail: $ref: '#/components/schemas/type_:Email' description: Shipping recipient's contact email address. shippingFromZip: $ref: '#/components/schemas/type_:ShippingFromZip' shippingPhone: type: string description: Recipient phone number. shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' summaryCommodityCode: $ref: '#/components/schemas/type_:SummaryCommodityCode' tax: $ref: '#/components/schemas/type_:Tax' termsConditions: $ref: '#/components/schemas/type_:TermsConditions' title: BillData type_:IpAddress: type: string description: >- *Recommended*. The customer's IP address. This field is used to help prevent fraudulent transactions, and Payabli strongly recommends including this data. title: IpAddress type_:Orderdescription: type: string description: Text description of the transaction. title: Orderdescription type_:OrderId: type: string description: Custom identifier for the transaction. title: OrderId type_:PaymentCategories: type: object properties: amount: type: number format: double description: Price/cost per unit of item or category. description: type: string description: Description of item or category label: type: string description: Name of item or category. qty: type: integer default: 1 description: Quantity of item or category required: - amount - label title: PaymentCategories type_:SplitFundingContent: type: object properties: accountId: type: string description: The accountId for the account the split should be sent to. amount: type: number format: double description: Amount from the transaction to sent to this recipient. description: type: string description: A description for the split. recipientEntryPoint: type: string description: The entrypoint the split should be sent to. title: SplitFundingContent type_:SplitFunding: type: array items: $ref: '#/components/schemas/type_:SplitFundingContent' description: >- Split funding instructions for the transaction. The total amount of the splits must match the total amount of the transaction. title: SplitFunding type_:PaymentDetail: type: object properties: categories: type: array items: $ref: '#/components/schemas/type_:PaymentCategories' description: >- Array of payment categories/line items describing the amount to be paid. **Note**: These categories are for information only and aren't validated against the total amount provided. checkImage: type: object additionalProperties: description: Any type description: Object containing image of paper check. checkNumber: type: string description: >- A check number to be used in the ach transaction. **Required** for payment method = 'check'. currency: type: string description: >- The currency for the transaction, `USD` or `CAD`. If your paypoint is configured for CAD, you must send the `CAD` value in this field, otherwise it defaults to USD, which will cause the transaction to fail. serviceFee: type: number format: double description: >- Service fee to be deducted from the total amount. This amount must be a number, percentages aren't accepted. If you are using a percentage-based fee schedule, you must calculate the value manually. splitFunding: $ref: '#/components/schemas/type_:SplitFunding' description: >- Split funding instructions for the transaction. See [Split a Transaction](/developers/developer-guides/money-in-split-funding) for more. checkUniqueId: type: string description: >- Unique identifier for a processed check image. Required for RDC (Remote Deposit Capture) transactions where `achCode` is `BOC`. Use the `id` value from the [check processing](/developers/api-reference/moneyin/check-capture) response. totalAmount: type: number format: double description: >- Total amount to be charged. If a service fee is sent, then this amount should include the service fee." required: - totalAmount description: Details about the payment. title: PaymentDetail type_:Cardcvv: type: string description: >- Card Verification Value (CVV) associated with the card number. We **strongly recommend** that you include this field when using `card` as a method. title: Cardcvv type_:Cardexp: type: string description: >- Card expiration date in format MMYY or MM/YY. Required for card transactions. title: Cardexp type_:Cardholder: type: string description: Cardholder name. title: Cardholder type_:Cardnumber: type: string description: >- The card number. Required when method is `card` and a `storedMethodId` isn't included. title: Cardnumber type_:Cardzip: type: string description: >- ZIP or postal code for the billing address of cardholder. We **strongly recommend** that you include this field when using `card` as a method. title: Cardzip type_:Initiator: type: string description: >- **Strongly recommended** The cardholder-initiated transaction (CIT) or merchant-initiated transaction (MIT) indicator for the transaction. If you don't specify a value, Payabli defaults to `merchant`. Available values: - `payor`: For cardholder-initiated transactions - `merchant`: For merchant-initiated transactions See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Initiator type_:SaveIfSuccess: type: boolean description: >- When `true`, Payabli saves the payment method if the transaction is successful. The payment method ID is returned in the response as `methodReferenceId`. Defaults to `false`. title: SaveIfSuccess type_:PayMethodCredit: type: object properties: cardcvv: $ref: '#/components/schemas/type_:Cardcvv' cardexp: $ref: '#/components/schemas/type_:Cardexp' cardHolder: $ref: '#/components/schemas/type_:Cardholder' cardnumber: $ref: '#/components/schemas/type_:Cardnumber' cardzip: $ref: '#/components/schemas/type_:Cardzip' initiator: $ref: '#/components/schemas/type_:Initiator' method: type: string enum: - card description: >- Method to use for the transaction. For transactions with a credit or debit card, or a tokenized card, use `card`. saveIfSuccess: $ref: '#/components/schemas/type_:SaveIfSuccess' required: - cardexp - cardnumber - method title: PayMethodCredit type_:Achaccount: type: string description: Bank account number. title: Achaccount type_:Achaccounttype: type: string enum: - Checking - Savings description: 'Bank account type: Checking or Savings.' title: Achaccounttype type_:AchSecCode: type: string description: >- Standard Entry Class (SEC) code is a three letter code that describes how an ACH payment was authorized. Supported values are: - PPD (Prearranged Payment and Deposit) - Used for credits or debits where an accountholder authorizes a company to initiate either a single or recurring transaction to their personal bank account. Common examples include direct deposit of payroll, mortgage payments, or utility bills. This is the default value for subscription payments. - WEB (Internet-Initiated/Mobile Entry) - Used for debit entries when authorization is obtained from an accountholder via the internet or a wireless network. Common examples are online bill payments, ecommerce purchases, and mobile app payments where the consumer enters their banking information online. - TEL (Telephone-Initiated Entry) - Used for one-time debit entries where authorization is obtained from a consumer via telephone. Common examples are phone-based purchases or bill payments where the consumer provides their banking information over the phone. - CCD (Corporate Credit or Debit) - Used for fund transfers between business accounts. This code is specifically for business-to-business transactions. Common examples include vendor payments and other business-to-business payments. - BOC (Back Office Conversion) - Used to convert paper checks received in-person at a point-of-sale or staffed payment location into electronic ACH debits. Required for Remote Deposit Capture (RDC) transactions. Only supports consumer checks; business, government, and mailed checks aren't eligible. title: AchSecCode type_:AchHolder: type: string description: >- Bank account holder. This field is **required** when `method` is `ach` or `check`. title: AchHolder type_:AchHolderType: type: string enum: - personal - business default: personal description: 'The bank''s accountholder type: personal or business.' title: AchHolderType type_:Achrouting: type: string description: ABA/routing number of Bank account. title: Achrouting type_:Device: type: string description: Identifier of registered cloud device used in the transaction. title: Device type_:PayMethodACH: type: object properties: achAccount: $ref: '#/components/schemas/type_:Achaccount' description: Bank account number. This field is **required** when method = 'ach'. achAccountType: $ref: '#/components/schemas/type_:Achaccounttype' description: Bank account type. This field is **required** when method = 'ach'. achCode: $ref: '#/components/schemas/type_:AchSecCode' achHolder: $ref: '#/components/schemas/type_:AchHolder' achHolderType: $ref: '#/components/schemas/type_:AchHolderType' achRouting: $ref: '#/components/schemas/type_:Achrouting' description: >- ABA/routing number of bank account. This field is **required** when method = 'ach'. device: $ref: '#/components/schemas/type_:Device' method: type: string enum: - ach required: - achAccount - achHolder - achRouting - method title: PayMethodACH type_:PayMethodStoredMethodMethod: type: string enum: - card - ach description: >- Method to use for the transaction. Use either `card` or `ach`, depending on what kind of method was tokenized to use a saved payment method for this transaction. title: PayMethodStoredMethodMethod type_:Storedmethodid: type: string description: >- Payabli identifier of a tokenized payment method. If this field is used in a request, the `method` field is overridden and the payment is made using the payment token. title: Storedmethodid type_:StoredMethodUsageType: type: string description: >- **Strongly recommended** The usage type for the stored method, used for merchant-initiated transactions (MIT). If you don't specify a value, Payabli defaults to `unscheduled`. Available values: - `unscheduled`: This type is used for transactions that are one-time or otherwise not pre-scheduled. - `subscription`: This type is used for subscription payments. For example, monthly rental fees or ongoing service subscriptions. - `recurring`: This type is used for recurring payments that occur per a set plan. For example, splitting an HOA special assessment over 6 monthly payments. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: StoredMethodUsageType type_:PayMethodStoredMethod: type: object properties: initiator: $ref: '#/components/schemas/type_:Initiator' method: $ref: '#/components/schemas/type_:PayMethodStoredMethodMethod' description: >- Method to use for the transaction. Use either `card` or `ach`, depending on what kind of method was tokenized to use a saved payment method for this transaction. storedMethodId: $ref: '#/components/schemas/type_:Storedmethodid' description: Payabli identifier of a tokenized payment method. storedMethodUsageType: $ref: '#/components/schemas/type_:StoredMethodUsageType' required: - method description: >- The required and recommended fields for a payment made with a stored payment method. title: PayMethodStoredMethod type_:PayMethodCloud: type: object properties: device: $ref: '#/components/schemas/type_:Device' method: type: string enum: - cloud description: >- Method to use for the transaction. For cloud device transactions, the method is `cloud`. saveIfSuccess: $ref: '#/components/schemas/type_:SaveIfSuccess' required: - method title: PayMethodCloud type_:Check: type: object properties: achHolder: $ref: '#/components/schemas/type_:AchHolder' description: The checking accountholder's name. method: type: string enum: - check description: >- Method to use for the transaction. Use `check` for a paper check transaction. When the method is `check`, then `paymentDetails.checkNumber` is required. required: - achHolder - method title: Check type_:Cash: type: object properties: method: type: string enum: - cash description: >- Method to use for the transaction. For cash transactions, use `cash`. required: - method title: Cash type_:Methodall: type: string enum: - card - ach - cloud - check - cash description: Method to use for the transaction. title: Methodall type_:PayMethodBodyAllFields: type: object properties: achAccount: $ref: '#/components/schemas/type_:Achaccount' description: Bank account number. This field is **required** when method = 'ach'. achAccountType: $ref: '#/components/schemas/type_:Achaccounttype' achCode: $ref: '#/components/schemas/type_:AchSecCode' achHolder: $ref: '#/components/schemas/type_:AchHolder' achRouting: $ref: '#/components/schemas/type_:Achrouting' description: >- ABA/routing number of Bank account. This field is **required** when method = 'ach'. cardcvv: $ref: '#/components/schemas/type_:Cardcvv' cardexp: $ref: '#/components/schemas/type_:Cardexp' cardHolder: $ref: '#/components/schemas/type_:Cardholder' cardnumber: $ref: '#/components/schemas/type_:Cardnumber' cardzip: $ref: '#/components/schemas/type_:Cardzip' device: $ref: '#/components/schemas/type_:Device' initator: $ref: '#/components/schemas/type_:Initiator' method: $ref: '#/components/schemas/type_:Methodall' saveIfSuccess: $ref: '#/components/schemas/type_:SaveIfSuccess' storedMethodId: $ref: '#/components/schemas/type_:Storedmethodid' storedMethodUsageType: $ref: '#/components/schemas/type_:StoredMethodUsageType' required: - achAccount - achHolder - achRouting description: 'Model for the PaymentMethod object, includes all method types. ' title: PayMethodBodyAllFields type_:PaymentMethod: oneOf: - $ref: '#/components/schemas/type_:PayMethodCredit' - $ref: '#/components/schemas/type_:PayMethodACH' - $ref: '#/components/schemas/type_:PayMethodStoredMethod' - $ref: '#/components/schemas/type_:PayMethodCloud' - $ref: '#/components/schemas/type_:Check' - $ref: '#/components/schemas/type_:Cash' - $ref: '#/components/schemas/type_:PayMethodBodyAllFields' description: Information about the payment method for the transaction. title: PaymentMethod type_:Source: type: string description: Custom identifier to indicate the transaction or request source. title: Source type_:Subdomain: type: string description: >- Refers to the payment page identifier. If provided, then the transaction is linked to the payment page. title: Subdomain type_:Subscriptionid: type: integer format: int64 description: Payabli identifier of the subscription associated with the transaction. title: Subscriptionid type_moneyIn:TransRequestBody: type: object properties: accountId: $ref: '#/components/schemas/type_:Accountid' customerData: $ref: '#/components/schemas/type_:PayorDataRequest' description: >- Object describing the Customer/Payor. Which fields are required depends on the paypoint's custom identifier settings. entryPoint: $ref: '#/components/schemas/type_:Entrypointfield' invoiceData: $ref: '#/components/schemas/type_:BillData' description: Object describing an Invoice linked to the transaction. ipaddress: $ref: '#/components/schemas/type_:IpAddress' orderDescription: $ref: '#/components/schemas/type_:Orderdescription' orderId: $ref: '#/components/schemas/type_:OrderId' paymentDetails: $ref: '#/components/schemas/type_:PaymentDetail' description: Object describing details of the payment. Required. paymentMethod: $ref: '#/components/schemas/type_:PaymentMethod' description: >- Information about the payment method for the transaction. Required and recommended fields for each payment method type are described in each schema below. source: $ref: '#/components/schemas/type_:Source' subdomain: $ref: '#/components/schemas/type_:Subdomain' subscriptionId: $ref: '#/components/schemas/type_:Subscriptionid' required: - paymentDetails - paymentMethod title: TransRequestBody type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Authcode: type: string description: Authorization code for the transaction. title: Authcode type_:OrgParentName: type: string description: The name of the parent organization. title: OrgParentName type_:Dbaname: type: string description: >- The alternate or common name that this business is doing business under usually referred to as a DBA name. title: Dbaname type_:Legalname: type: string description: Business legal name. title: Legalname type_:ExternalProcessorInformation: type: string description: >- Processor information, used for troubleshooting and reporting. This field contains a value when the API key used to make the request has management permissions. title: ExternalProcessorInformation type_moneyIn:TransactionDetailRecordMethod: type: string enum: - ach - card description: Payment method used for the transaction title: TransactionDetailRecordMethod type_:BatchNumber: type: string description: >- A unique identifier for the batch. This is generated by Payabli when the batch is created, and follows this format: `paypointId + "_" + serviceName + "_" + batchDate:yyyyMMdd + "_" + Guid.NewGuid()`. Payabli generates the GUID to ensure that the batch number is unique. For example, in this batch number: `123_card_20251008_3f2504e0-4f89-11d3-9a0c-0305e82c3301`, the paypointID is "123", the service is "card", the batch date is "2025-10-08", and the GUID is "3f2504e0-4f89-11d3-9a0c-0305e82c3301". title: BatchNumber type_:PayorId: type: integer format: int64 description: >- Unique ID for the customer linked to the transaction. This is the same value as the `customerId` used when creating or referencing a customer. title: PayorId type_:Maskedaccount: type: string description: >- Masked card or bank account used in transaction. In the case of Apple Pay, this is a masked DPAN (device primary account number). title: Maskedaccount type_:Accounttype: type: string description: Bank account type or card brand. title: Accounttype type_:Accountexp: type: string description: Expiration date of card used in transaction. title: Accountexp type_:Holdername: type: string description: Account holder name for the method. title: Holdername type_:Sequence: type: string description: >- The order of the transaction for cardholder-initiated transaction (CIT) and merchant-initiated transaction (MIT) purposes. This field is automatically detected and populated by Payabli. Available values: - `first`: The first use of the payment method. This is almost always a cardholder-initiated transaction. - `subsequent`: For merchant-initiated transactions after the first use of the payment method. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Sequence type_:Signaturedata: type: string title: Signaturedata type_:BinData: type: object properties: binMatchedLength: type: string description: |- The number of characters from the beginning of the card number that were matched against a Bank Identification Number (BIN) or the Card Range table. binCardBrand: type: string description: |- The card brand. For example, Visa, Mastercard, American Express, Discover. binCardType: type: string description: 'The type of card: Credit or Debit.' binCardCategory: type: string description: >- The category of the card, which indicates the card product. For example: Standard, Gold, Platinum, etc. The binCardCategory for prepaid cards is marked `PREPAID`. binCardIssuer: type: string description: The name of the financial institution that issued the card. binCardIssuerCountry: type: string description: The issuing financial institution's country name. binCardIssuerCountryCodeA2: type: string description: >- The issuing financial institution's two-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIssuerCountryNumber: type: string description: >- The issuing financial institution's ISO standard numeric country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIsRegulated: type: string description: Indicates whether the card is regulated. binCardUseCategory: type: string description: The use category classification for the card. binCardIssuerCountryCodeA3: type: string description: >- The issuing financial institution's three-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. description: >- Object containing information related to the card. This object is `null` unless the payment method is card. If the payment method is Apple Pay, the binData will be related to the DPAN (device primary account number), not the card connected to Apple Pay. title: BinData type_moneyIn:TransactionDetailPaymentDetails: type: object properties: totalAmount: type: number format: double serviceFee: type: number format: double checkNumber: type: - string - 'null' checkImage: oneOf: - description: Any type - type: 'null' checkUniqueId: type: string currency: type: string orderDescription: oneOf: - $ref: '#/components/schemas/type_:Orderdescription' - type: 'null' orderId: oneOf: - $ref: '#/components/schemas/type_:OrderId' - type: 'null' orderIdAlternative: type: - string - 'null' paymentDescription: type: - string - 'null' groupNumber: type: - string - 'null' source: oneOf: - $ref: '#/components/schemas/type_:Source' - type: 'null' payabliTransId: type: - string - 'null' unbundled: oneOf: - description: Any type - type: 'null' categories: type: array items: description: Any type splitFunding: type: array items: description: Any type required: - totalAmount - serviceFee - checkNumber - checkImage - checkUniqueId - currency - orderDescription - orderId - orderIdAlternative - paymentDescription - groupNumber - source - payabliTransId - unbundled - categories - splitFunding description: Detailed breakdown of payment amounts and identifiers title: TransactionDetailPaymentDetails type_moneyIn:TransactionDetailPaymentData: type: object properties: maskedAccount: $ref: '#/components/schemas/type_:Maskedaccount' accountType: $ref: '#/components/schemas/type_:Accounttype' accountExp: oneOf: - $ref: '#/components/schemas/type_:Accountexp' - type: 'null' holderName: $ref: '#/components/schemas/type_:Holdername' storedId: oneOf: - $ref: '#/components/schemas/type_:Storedmethodid' - type: 'null' initiator: oneOf: - $ref: '#/components/schemas/type_:Initiator' - type: 'null' storedMethodUsageType: oneOf: - $ref: '#/components/schemas/type_:StoredMethodUsageType' - type: 'null' sequence: oneOf: - $ref: '#/components/schemas/type_:Sequence' - type: 'null' orderDescription: $ref: '#/components/schemas/type_:Orderdescription' accountId: oneOf: - $ref: '#/components/schemas/type_:Accountid' - type: 'null' signatureData: oneOf: - $ref: '#/components/schemas/type_:Signaturedata' - type: 'null' binData: oneOf: - $ref: '#/components/schemas/type_:BinData' - type: 'null' paymentDetails: $ref: '#/components/schemas/type_moneyIn:TransactionDetailPaymentDetails' required: - maskedAccount - accountType - accountExp - holderName - storedId - initiator - storedMethodUsageType - sequence - orderDescription - accountId - signatureData - binData - paymentDetails description: Payment method and transaction details title: TransactionDetailPaymentData type_:TransStatus: type: integer description: >- Status of transaction. See [the docs](/developers/references/money-in-statuses#money-in-transaction-status) for a full reference. title: TransStatus type_:PaypointId: type: integer format: int64 description: The paypoint's ID. Note that this is different than the entryname. title: PaypointId type_:FeeAmount: type: number format: double description: Service fee or sub-charge applied. title: FeeAmount type_:SettlementStatus: type: integer description: >- Settlement status for transaction. See [the docs](/developers/references/money-in-statuses#payment-funding-status) for a full reference. title: SettlementStatus type_:Operation: type: string description: The transaction's operation. title: Operation type_:Resulttext: type: string description: >- Text describing the result. If `ResultCode` = 1, will return 'Approved' or a general success message. If `ResultCode`` = 2 or 3, will contain the cause of the error or decline. title: Resulttext type_:AvsResponseText: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponseText type_:CvvResponseText: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponseText type_:EmvAuthResponseData: type: string description: EMV authorization response data, applicable for card transactions. title: EmvAuthResponseData type_moneyIn:TransactionDetailResponseData: type: object properties: resultCode: type: string description: >- Unified result code for the transaction. See [Pay In unified response codes](/guides/pay-in-unified-response-codes-reference) for more information. resultCodeText: type: string description: >- Description of the result code. See [Pay In unified response codes](/guides/pay-in-unified-response-codes-reference) for more information. response: type: - string - 'null' responsetext: $ref: '#/components/schemas/type_:Resulttext' authcode: oneOf: - $ref: '#/components/schemas/type_:Authcode' - type: 'null' transactionid: type: string avsresponse: type: - string - 'null' avsresponse_text: oneOf: - $ref: '#/components/schemas/type_:AvsResponseText' - type: 'null' cvvresponse: type: - string - 'null' cvvresponse_text: oneOf: - $ref: '#/components/schemas/type_:CvvResponseText' - type: 'null' orderid: oneOf: - $ref: '#/components/schemas/type_:OrderId' - type: 'null' type: type: - string - 'null' response_code: type: string response_code_text: type: string customer_vault_id: type: - string - 'null' emv_auth_response_data: oneOf: - $ref: '#/components/schemas/type_:EmvAuthResponseData' - type: 'null' required: - response - responsetext - authcode - transactionid - avsresponse - avsresponse_text - cvvresponse - cvvresponse_text - orderid - type - response_code - response_code_text - customer_vault_id - emv_auth_response_data description: Response data from payment processor title: TransactionDetailResponseData type_:Orgid: type: integer format: int64 description: Organization ID. Unique identifier assigned to an org by Payabli. title: Orgid type_:RefundId: type: integer format: int64 description: Identifier of refund transaction linked to this payment. title: RefundId type_:ReturnedId: type: integer format: int64 description: Identifier of return/chargeback transaction linked to this payment. title: ReturnedId type_:ChargebackId: type: integer format: int64 description: Identifier of chargeback transaction title: ChargebackId type_:RetrievalId: type: integer format: int64 description: Identifier of retrieval request title: RetrievalId type_:AdditionalDataString: type: string description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. Example usage: ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalDataString type_moneyIn:TransactionDetailInvoiceData: type: object properties: invoiceNumber: oneOf: - $ref: '#/components/schemas/type_:InvoiceNumber' - type: 'null' invoiceDate: type: - string - 'null' format: date invoiceDueDate: type: - string - 'null' format: date invoiceEndDate: type: - string - 'null' format: date invoiceStatus: oneOf: - $ref: '#/components/schemas/type_:Invoicestatus' - type: 'null' invoiceType: oneOf: - $ref: '#/components/schemas/type_:InvoiceType' - type: 'null' frequency: oneOf: - $ref: '#/components/schemas/type_:Frequency' - type: 'null' paymentTerms: type: - string - 'null' termsConditions: oneOf: - $ref: '#/components/schemas/type_:TermsConditions' - type: 'null' notes: type: - string - 'null' tax: oneOf: - $ref: '#/components/schemas/type_:Tax' - type: 'null' discount: oneOf: - $ref: '#/components/schemas/type_:Discount' - type: 'null' invoiceAmount: oneOf: - $ref: '#/components/schemas/type_:InvoiceAmount' - type: 'null' freightAmount: oneOf: - $ref: '#/components/schemas/type_:FreightAmount' - type: 'null' dutyAmount: oneOf: - $ref: '#/components/schemas/type_:DutyAmount' - type: 'null' purchaseOrder: oneOf: - $ref: '#/components/schemas/type_:PurchaseOrder' - type: 'null' firstName: type: - string - 'null' lastName: type: - string - 'null' company: type: - string - 'null' shippingAddress1: oneOf: - $ref: '#/components/schemas/type_:Shippingaddress' - type: 'null' shippingAddress2: oneOf: - $ref: '#/components/schemas/type_:Shippingaddressadditional' - type: 'null' shippingCity: oneOf: - $ref: '#/components/schemas/type_:Shippingcity' - type: 'null' shippingState: oneOf: - $ref: '#/components/schemas/type_:Shippingstate' - type: 'null' shippingZip: oneOf: - $ref: '#/components/schemas/type_:Shippingzip' - type: 'null' shippingCountry: oneOf: - $ref: '#/components/schemas/type_:Shippingcountry' - type: 'null' shippingEmail: oneOf: - $ref: '#/components/schemas/type_:Email' - type: 'null' shippingPhone: type: - string - 'null' shippingFromZip: oneOf: - $ref: '#/components/schemas/type_:ShippingFromZip' - type: 'null' summaryCommodityCode: oneOf: - $ref: '#/components/schemas/type_:SummaryCommodityCode' - type: 'null' items: type: - array - 'null' items: $ref: '#/components/schemas/type_:BillItem' attachments: oneOf: - $ref: '#/components/schemas/type_:Attachments' - type: 'null' additionalData: oneOf: - $ref: '#/components/schemas/type_:AdditionalDataString' - type: 'null' required: - invoiceNumber - invoiceDate - invoiceDueDate - invoiceEndDate - invoiceStatus - invoiceType - frequency - paymentTerms - termsConditions - notes - tax - discount - invoiceAmount - freightAmount - dutyAmount - purchaseOrder - firstName - lastName - company - shippingAddress1 - shippingAddress2 - shippingCity - shippingState - shippingZip - shippingCountry - shippingEmail - shippingPhone - shippingFromZip - summaryCommodityCode - items - attachments - additionalData description: Invoice information if transaction is associated with an invoice title: TransactionDetailInvoiceData type_:EntrypageId: type: integer format: int64 description: >- If applicable, the internal reference ID to the payment page capturing the payment. title: EntrypageId type_:ExternalPaypointId: type: string description: >- A custom identifier for the paypoint, if applicable. Like `entrypoint` is the Payabli identifier for the merchant, `externalPaypointId` is a custom field you can use to include the merchant's ID from your own systems. title: ExternalPaypointId type_:CustomerStatus: type: integer description: |- Customer Status. Possible values: - `-99` Deleted - `0` Inactive - `1` Active - `85` Locked (typically due to multiple failed login attempts) title: CustomerStatus type_moneyIn:TransactionDetailCustomer: type: object properties: identifiers: oneOf: - $ref: '#/components/schemas/type_:Identifierfields' - type: 'null' firstName: type: string lastName: type: string companyName: type: string billingAddress1: $ref: '#/components/schemas/type_:BillingAddressNullable' billingAddress2: $ref: '#/components/schemas/type_:BillingAddressAddtlNullable' billingCity: $ref: '#/components/schemas/type_:BillingCityNullable' billingState: $ref: '#/components/schemas/type_:BillingStateNullable' billingZip: $ref: '#/components/schemas/type_:BillingZip' billingCountry: $ref: '#/components/schemas/type_:BillingCountryNullable' billingPhone: $ref: '#/components/schemas/type_:PhoneNumber' billingEmail: $ref: '#/components/schemas/type_:Email' customerNumber: $ref: '#/components/schemas/type_:CustomerNumberNullable' shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' customerId: $ref: '#/components/schemas/type_:CustomerId' customerStatus: $ref: '#/components/schemas/type_:CustomerStatus' additionalData: oneOf: - $ref: '#/components/schemas/type_:AdditionalDataString' - type: 'null' required: - identifiers - firstName - lastName - companyName - billingAddress1 - billingAddress2 - billingCity - billingState - billingZip - billingCountry - billingPhone - billingEmail - customerNumber - shippingAddress1 - shippingAddress2 - shippingCity - shippingState - shippingZip - shippingCountry - customerId - customerStatus - additionalData description: Customer information associated with the transaction title: TransactionDetailCustomer type_:TransactionTime: type: string format: date-time description: Timestamp when transaction was submitted, in UTC. title: TransactionTime type_:QueryCFeeTransaction: type: object properties: cFeeTransid: type: string feeAmount: type: number format: double operation: type: string refundId: type: integer format: int64 responseData: type: object additionalProperties: description: Any type settlementStatus: type: integer transactionTime: $ref: '#/components/schemas/type_:TransactionTime' transStatus: type: integer title: QueryCFeeTransaction type_moneyIn:TransactionDetailEvent: type: object properties: transEvent: type: string eventData: type: string eventTime: type: string required: - transEvent - eventData - eventTime description: Event associated with transaction processing title: TransactionDetailEvent type_:PendingFeeAmount: type: number format: double description: >- The difference between the configured pass-through fee and the fee amount sent in the request. When transferring funds, Payabli uses this field to deduct the fee difference and transfer the correct amount to the merchant. When a paypoint is set up to absorb fees, and the pass-through fee sent with the request is less than the configured amount, the difference must be covered by the merchant. See [Fee Configuration](/guides/pay-in-fees-passthrough-overview#fee-configuration) to learn more about pass-through fee settings. title: PendingFeeAmount type_:RiskFlagged: type: boolean description: Indicates if the transaction was flagged for risk title: RiskFlagged type_:RiskFlaggedOn: type: string format: date-time description: Timestamp when the transaction was flagged for risk title: RiskFlaggedOn type_:RiskStatus: type: string description: Current risk status of the transaction title: RiskStatus type_:RiskReason: type: string description: Reason for risk flagging title: RiskReason type_:RiskAction: type: string description: Action taken due to risk assessment title: RiskAction type_:RiskActionCode: type: integer description: Numeric code representing the risk action title: RiskActionCode type_moneyIn:TransactionDetailRecord: type: object properties: parentOrgName: $ref: '#/components/schemas/type_:OrgParentName' paypointDbaname: $ref: '#/components/schemas/type_:Dbaname' paypointLegalname: $ref: '#/components/schemas/type_:Legalname' paypointEntryname: $ref: '#/components/schemas/type_:Entrypointfield' paymentTransId: type: string connectorName: type: string externalProcessorInformation: $ref: '#/components/schemas/type_:ExternalProcessorInformation' gatewayTransId: type: string orderId: oneOf: - $ref: '#/components/schemas/type_:OrderId' - type: 'null' method: $ref: '#/components/schemas/type_moneyIn:TransactionDetailRecordMethod' batchNumber: $ref: '#/components/schemas/type_:BatchNumber' batchAmount: type: number format: double payorId: $ref: '#/components/schemas/type_:PayorId' paymentData: $ref: '#/components/schemas/type_moneyIn:TransactionDetailPaymentData' transStatus: $ref: '#/components/schemas/type_:TransStatus' paypointId: $ref: '#/components/schemas/type_:PaypointId' totalAmount: type: number format: double netAmount: type: number format: double feeAmount: $ref: '#/components/schemas/type_:FeeAmount' settlementStatus: $ref: '#/components/schemas/type_:SettlementStatus' operation: $ref: '#/components/schemas/type_:Operation' responseData: $ref: '#/components/schemas/type_moneyIn:TransactionDetailResponseData' source: $ref: '#/components/schemas/type_:Source' scheduleReference: type: integer format: int64 orgId: $ref: '#/components/schemas/type_:Orgid' refundId: $ref: '#/components/schemas/type_:RefundId' returnedId: $ref: '#/components/schemas/type_:ReturnedId' chargebackId: $ref: '#/components/schemas/type_:ChargebackId' retrievalId: $ref: '#/components/schemas/type_:RetrievalId' transAdditionalData: oneOf: - description: Any type - type: 'null' invoiceData: $ref: '#/components/schemas/type_moneyIn:TransactionDetailInvoiceData' entrypageId: $ref: '#/components/schemas/type_:EntrypageId' externalPaypointID: $ref: '#/components/schemas/type_:ExternalPaypointId' isValidatedACH: type: boolean transactionTime: type: string customer: $ref: '#/components/schemas/type_moneyIn:TransactionDetailCustomer' splitFundingInstructions: oneOf: - $ref: '#/components/schemas/type_:SplitFunding' - type: 'null' cfeeTransactions: type: array items: $ref: '#/components/schemas/type_:QueryCFeeTransaction' transactionEvents: type: array items: $ref: '#/components/schemas/type_moneyIn:TransactionDetailEvent' pendingFeeAmount: $ref: '#/components/schemas/type_:PendingFeeAmount' riskFlagged: $ref: '#/components/schemas/type_:RiskFlagged' riskFlaggedOn: $ref: '#/components/schemas/type_:RiskFlaggedOn' riskStatus: $ref: '#/components/schemas/type_:RiskStatus' riskReason: $ref: '#/components/schemas/type_:RiskReason' riskAction: $ref: '#/components/schemas/type_:RiskAction' riskActionCode: $ref: '#/components/schemas/type_:RiskActionCode' deviceId: $ref: '#/components/schemas/type_:Device' achSecCode: $ref: '#/components/schemas/type_:AchSecCode' achHolderType: $ref: '#/components/schemas/type_:AchHolderType' ipAddress: $ref: '#/components/schemas/type_:IpAddress' isSameDayACH: type: boolean walletType: type: - string - 'null' required: - parentOrgName - paypointDbaname - paypointLegalname - paypointEntryname - paymentTransId - connectorName - externalProcessorInformation - gatewayTransId - orderId - method - batchNumber - batchAmount - payorId - paymentData - transStatus - paypointId - totalAmount - netAmount - feeAmount - settlementStatus - operation - responseData - source - scheduleReference - orgId - refundId - returnedId - chargebackId - retrievalId - transAdditionalData - invoiceData - entrypageId - externalPaypointID - isValidatedACH - transactionTime - customer - splitFundingInstructions - cfeeTransactions - transactionEvents - riskStatus - riskReason - riskAction - deviceId - achSecCode - achHolderType - ipAddress - isSameDayACH - walletType description: >- Complete transaction details including payment information, customer data, and processing metadata. This is returned when includeDetails=true. title: TransactionDetailRecord type_:Referenceidtrans: type: string description: The transaction identifier in Payabli. title: Referenceidtrans type_:ResultCode: type: integer description: >- Result code for the operation. Value 1 indicates a successful operation, values 2 and 3 indicate errors. A value of 10 indicates that an operation has been initiated and is pending. title: ResultCode type_:Customeridtrans: type: integer format: int64 description: >- Payabli-generated unique ID of customer owner of transaction. Returns `0` if the transaction wasn't assigned to an existing customer or no customer was created. title: Customeridtrans type_:MethodReferenceId: type: string description: >- The stored method's identifier (sometimes referred to as 'token') in Payabli. When `null`, the method wasn't created, or doesn't exist, depending on the operation performed. title: MethodReferenceId type_moneyIn:GetPaidResponseData: type: object properties: authCode: oneOf: - $ref: '#/components/schemas/type_:Authcode' - type: 'null' transactionDetails: $ref: '#/components/schemas/type_moneyIn:TransactionDetailRecord' description: >- Details of the transaction. Present only if `includeDetails` query parameter is set to `true` in the request. referenceId: $ref: '#/components/schemas/type_:Referenceidtrans' resultCode: $ref: '#/components/schemas/type_:ResultCode' resultText: $ref: '#/components/schemas/type_:Resulttext' avsResponseText: $ref: '#/components/schemas/type_:AvsResponseText' cvvResponseText: $ref: '#/components/schemas/type_:CvvResponseText' customerId: $ref: '#/components/schemas/type_:Customeridtrans' methodReferenceId: $ref: '#/components/schemas/type_:MethodReferenceId' required: - authCode - referenceId - resultCode - resultText - avsResponseText - cvvResponseText - customerId description: Response data for GetPaid transactions title: GetPaidResponseData type_moneyIn:PayabliAPIResponseGetPaid: type: object properties: responseText: $ref: '#/components/schemas/type_:ResponseText' isSuccess: $ref: '#/components/schemas/type_:IsSuccess' pageIdentifier: type: string responseData: $ref: '#/components/schemas/type_moneyIn:GetPaidResponseData' required: - responseText - isSuccess - responseData description: >- General response for GetPaid endpoint supporting multiple payment methods title: PayabliAPIResponseGetPaid type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript Card import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.moneyIn.getpaid({ body: { paymentDetails: { totalAmount: 100, serviceFee: 0, }, paymentMethod: { cardcvv: "999", cardexp: "02/27", cardHolder: "John Cassian", cardnumber: "4111111111111111", cardzip: "12345", initiator: "payor", method: "card", }, customerData: { customerId: 4440, }, entryPoint: "f743aed24a", ipaddress: "255.255.255.255", }, }); } main(); ``` ```python Card from payabli import payabli, PaymentDetail, PayMethodCredit, PayorDataRequest client = payabli( api_key="YOUR_API_KEY_HERE", ) client.money_in.getpaid( payment_details=PaymentDetail( total_amount=100, service_fee=0, ), payment_method=PayMethodCredit( cardcvv="999", cardexp="02/27", card_holder="John Cassian", cardnumber="4111111111111111", cardzip="12345", initiator="payor", method="card", ), customer_data=PayorDataRequest( customer_id=4440, ), entry_point="f743aed24a", ipaddress="255.255.255.255", ) ``` ```csharp Card using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.MoneyIn.GetpaidAsync( new RequestPayment { Body = new TransRequestBody { PaymentDetails = new PaymentDetail { TotalAmount = 100, ServiceFee = 0 }, PaymentMethod = new PayMethodCredit { Cardcvv = "999", Cardexp = "02/27", CardHolder = "John Cassian", Cardnumber = "4111111111111111", Cardzip = "12345", Initiator = "payor", Method = "card" }, CustomerData = new PayorDataRequest { CustomerId = 4440L }, EntryPoint = "f743aed24a", Ipaddress = "255.255.255.255" } } ); } } ``` ```go Card package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/MoneyIn/getpaid" payload := strings.NewReader("{\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"cardcvv\": \"999\",\n \"cardexp\": \"02/27\",\n \"cardHolder\": \"John Cassian\",\n \"cardnumber\": \"4111111111111111\",\n \"cardzip\": \"12345\",\n \"initiator\": \"payor\",\n \"method\": \"card\"\n },\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"ipaddress\": \"255.255.255.255\"\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Card require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/MoneyIn/getpaid") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"cardcvv\": \"999\",\n \"cardexp\": \"02/27\",\n \"cardHolder\": \"John Cassian\",\n \"cardnumber\": \"4111111111111111\",\n \"cardzip\": \"12345\",\n \"initiator\": \"payor\",\n \"method\": \"card\"\n },\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"ipaddress\": \"255.255.255.255\"\n}" response = http.request(request) puts response.read_body ``` ```java Card import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/MoneyIn/getpaid") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"cardcvv\": \"999\",\n \"cardexp\": \"02/27\",\n \"cardHolder\": \"John Cassian\",\n \"cardnumber\": \"4111111111111111\",\n \"cardzip\": \"12345\",\n \"initiator\": \"payor\",\n \"method\": \"card\"\n },\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"ipaddress\": \"255.255.255.255\"\n}") .asString(); ``` ```php Card request('POST', 'https://api-sandbox.payabli.com/api/MoneyIn/getpaid', [ 'body' => '{ "paymentDetails": { "totalAmount": 100, "serviceFee": 0 }, "paymentMethod": { "cardcvv": "999", "cardexp": "02/27", "cardHolder": "John Cassian", "cardnumber": "4111111111111111", "cardzip": "12345", "initiator": "payor", "method": "card" }, "customerData": { "customerId": 4440 }, "entryPoint": "f743aed24a", "ipaddress": "255.255.255.255" }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift Card import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "paymentDetails": [ "totalAmount": 100, "serviceFee": 0 ], "paymentMethod": [ "cardcvv": "999", "cardexp": "02/27", "cardHolder": "John Cassian", "cardnumber": "4111111111111111", "cardzip": "12345", "initiator": "payor", "method": "card" ], "customerData": ["customerId": 4440], "entryPoint": "f743aed24a", "ipaddress": "255.255.255.255" ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/MoneyIn/getpaid")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ```typescript StoredMethod import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.moneyIn.getpaid({ body: { paymentDetails: { totalAmount: 100, serviceFee: 0, }, paymentMethod: { initiator: "payor", method: "card", }, customerData: { customerId: 4440, }, entryPoint: "f743aed24a", ipaddress: "255.255.255.255", }, }); } main(); ``` ```python StoredMethod from payabli import payabli, PaymentDetail, PayMethodCredit, PayorDataRequest client = payabli( api_key="YOUR_API_KEY_HERE", ) client.money_in.getpaid( payment_details=PaymentDetail( total_amount=100, service_fee=0, ), payment_method=PayMethodCredit( initiator="payor", method="card", ), customer_data=PayorDataRequest( customer_id=4440, ), entry_point="f743aed24a", ipaddress="255.255.255.255", ) ``` ```csharp StoredMethod using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.MoneyIn.GetpaidAsync( new RequestPayment { Body = new TransRequestBody { PaymentDetails = new PaymentDetail { TotalAmount = 100, ServiceFee = 0 }, PaymentMethod = new PayMethodCredit { Initiator = "payor", Method = "card" }, CustomerData = new PayorDataRequest { CustomerId = 4440L }, EntryPoint = "f743aed24a", Ipaddress = "255.255.255.255" } } ); } } ``` ```go StoredMethod package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/MoneyIn/getpaid" payload := strings.NewReader("{\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"initiator\": \"payor\",\n \"method\": \"card\",\n \"storedMethodId\": \"1ec55af9-7b5a-4ff0-81ed-c12d2f95e135-4440\",\n \"storedMethodUsageType\": \"unscheduled\"\n },\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"ipaddress\": \"255.255.255.255\"\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby StoredMethod require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/MoneyIn/getpaid") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"initiator\": \"payor\",\n \"method\": \"card\",\n \"storedMethodId\": \"1ec55af9-7b5a-4ff0-81ed-c12d2f95e135-4440\",\n \"storedMethodUsageType\": \"unscheduled\"\n },\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"ipaddress\": \"255.255.255.255\"\n}" response = http.request(request) puts response.read_body ``` ```java StoredMethod import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/MoneyIn/getpaid") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"initiator\": \"payor\",\n \"method\": \"card\",\n \"storedMethodId\": \"1ec55af9-7b5a-4ff0-81ed-c12d2f95e135-4440\",\n \"storedMethodUsageType\": \"unscheduled\"\n },\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"ipaddress\": \"255.255.255.255\"\n}") .asString(); ``` ```php StoredMethod request('POST', 'https://api-sandbox.payabli.com/api/MoneyIn/getpaid', [ 'body' => '{ "paymentDetails": { "totalAmount": 100, "serviceFee": 0 }, "paymentMethod": { "initiator": "payor", "method": "card", "storedMethodId": "1ec55af9-7b5a-4ff0-81ed-c12d2f95e135-4440", "storedMethodUsageType": "unscheduled" }, "customerData": { "customerId": 4440 }, "entryPoint": "f743aed24a", "ipaddress": "255.255.255.255" }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift StoredMethod import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "paymentDetails": [ "totalAmount": 100, "serviceFee": 0 ], "paymentMethod": [ "initiator": "payor", "method": "card", "storedMethodId": "1ec55af9-7b5a-4ff0-81ed-c12d2f95e135-4440", "storedMethodUsageType": "unscheduled" ], "customerData": ["customerId": 4440], "entryPoint": "f743aed24a", "ipaddress": "255.255.255.255" ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/MoneyIn/getpaid")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ```typescript Cloud import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.moneyIn.getpaid({ body: { paymentDetails: { totalAmount: 100, serviceFee: 0, }, paymentMethod: { method: "cloud", saveIfSuccess: true, }, customerData: { customerId: 4440, }, entryPoint: "f743aed24a", ipaddress: "255.255.255.255", }, }); } main(); ``` ```python Cloud from payabli import payabli, PaymentDetail, PayMethodCredit, PayorDataRequest client = payabli( api_key="YOUR_API_KEY_HERE", ) client.money_in.getpaid( payment_details=PaymentDetail( total_amount=100, service_fee=0, ), payment_method=PayMethodCredit( method="cloud", save_if_success=True, ), customer_data=PayorDataRequest( customer_id=4440, ), entry_point="f743aed24a", ipaddress="255.255.255.255", ) ``` ```csharp Cloud using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.MoneyIn.GetpaidAsync( new RequestPayment { Body = new TransRequestBody { PaymentDetails = new PaymentDetail { TotalAmount = 100, ServiceFee = 0 }, PaymentMethod = new PayMethodCredit { Method = "cloud", SaveIfSuccess = true }, CustomerData = new PayorDataRequest { CustomerId = 4440L }, EntryPoint = "f743aed24a", Ipaddress = "255.255.255.255" } } ); } } ``` ```go Cloud package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/MoneyIn/getpaid" payload := strings.NewReader("{\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"device\": \"6c361c7d-674c-44cc-b790-382b75d1xxx\",\n \"method\": \"cloud\",\n \"saveIfSuccess\": true\n },\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"ipaddress\": \"255.255.255.255\"\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Cloud require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/MoneyIn/getpaid") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"device\": \"6c361c7d-674c-44cc-b790-382b75d1xxx\",\n \"method\": \"cloud\",\n \"saveIfSuccess\": true\n },\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"ipaddress\": \"255.255.255.255\"\n}" response = http.request(request) puts response.read_body ``` ```java Cloud import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/MoneyIn/getpaid") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"device\": \"6c361c7d-674c-44cc-b790-382b75d1xxx\",\n \"method\": \"cloud\",\n \"saveIfSuccess\": true\n },\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"ipaddress\": \"255.255.255.255\"\n}") .asString(); ``` ```php Cloud request('POST', 'https://api-sandbox.payabli.com/api/MoneyIn/getpaid', [ 'body' => '{ "paymentDetails": { "totalAmount": 100, "serviceFee": 0 }, "paymentMethod": { "device": "6c361c7d-674c-44cc-b790-382b75d1xxx", "method": "cloud", "saveIfSuccess": true }, "customerData": { "customerId": 4440 }, "entryPoint": "f743aed24a", "ipaddress": "255.255.255.255" }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift Cloud import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "paymentDetails": [ "totalAmount": 100, "serviceFee": 0 ], "paymentMethod": [ "device": "6c361c7d-674c-44cc-b790-382b75d1xxx", "method": "cloud", "saveIfSuccess": true ], "customerData": ["customerId": 4440], "entryPoint": "f743aed24a", "ipaddress": "255.255.255.255" ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/MoneyIn/getpaid")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ```typescript ACH import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.moneyIn.getpaid({ body: { paymentDetails: { totalAmount: 100, serviceFee: 0, }, paymentMethod: { method: "ach", }, customerData: { customerId: 4440, }, entryPoint: "f743aed24a", ipaddress: "255.255.255.255", }, }); } main(); ``` ```python ACH from payabli import payabli, PaymentDetail, PayMethodCredit, PayorDataRequest client = payabli( api_key="YOUR_API_KEY_HERE", ) client.money_in.getpaid( payment_details=PaymentDetail( total_amount=100, service_fee=0, ), payment_method=PayMethodCredit( method="ach", ), customer_data=PayorDataRequest( customer_id=4440, ), entry_point="f743aed24a", ipaddress="255.255.255.255", ) ``` ```csharp ACH using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.MoneyIn.GetpaidAsync( new RequestPayment { Body = new TransRequestBody { PaymentDetails = new PaymentDetail { TotalAmount = 100, ServiceFee = 0 }, PaymentMethod = new PayMethodCredit { Method = "ach" }, CustomerData = new PayorDataRequest { CustomerId = 4440L }, EntryPoint = "f743aed24a", Ipaddress = "255.255.255.255" } } ); } } ``` ```go ACH package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/MoneyIn/getpaid" payload := strings.NewReader("{\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"achAccount\": \"123123123\",\n \"achAccountType\": \"Checking\",\n \"achCode\": \"WEB\",\n \"achHolder\": \"John Cassian\",\n \"achHolderType\": \"personal\",\n \"achRouting\": \"123123123\",\n \"method\": \"ach\"\n },\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"ipaddress\": \"255.255.255.255\"\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby ACH require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/MoneyIn/getpaid") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"achAccount\": \"123123123\",\n \"achAccountType\": \"Checking\",\n \"achCode\": \"WEB\",\n \"achHolder\": \"John Cassian\",\n \"achHolderType\": \"personal\",\n \"achRouting\": \"123123123\",\n \"method\": \"ach\"\n },\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"ipaddress\": \"255.255.255.255\"\n}" response = http.request(request) puts response.read_body ``` ```java ACH import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/MoneyIn/getpaid") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"achAccount\": \"123123123\",\n \"achAccountType\": \"Checking\",\n \"achCode\": \"WEB\",\n \"achHolder\": \"John Cassian\",\n \"achHolderType\": \"personal\",\n \"achRouting\": \"123123123\",\n \"method\": \"ach\"\n },\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"ipaddress\": \"255.255.255.255\"\n}") .asString(); ``` ```php ACH request('POST', 'https://api-sandbox.payabli.com/api/MoneyIn/getpaid', [ 'body' => '{ "paymentDetails": { "totalAmount": 100, "serviceFee": 0 }, "paymentMethod": { "achAccount": "123123123", "achAccountType": "Checking", "achCode": "WEB", "achHolder": "John Cassian", "achHolderType": "personal", "achRouting": "123123123", "method": "ach" }, "customerData": { "customerId": 4440 }, "entryPoint": "f743aed24a", "ipaddress": "255.255.255.255" }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift ACH import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "paymentDetails": [ "totalAmount": 100, "serviceFee": 0 ], "paymentMethod": [ "achAccount": "123123123", "achAccountType": "Checking", "achCode": "WEB", "achHolder": "John Cassian", "achHolderType": "personal", "achRouting": "123123123", "method": "ach" ], "customerData": ["customerId": 4440], "entryPoint": "f743aed24a", "ipaddress": "255.255.255.255" ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/MoneyIn/getpaid")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ```typescript BOC import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.moneyIn.getpaid({ body: { paymentDetails: { totalAmount: 125.5, serviceFee: 0, checkUniqueId: "abc123def456", }, paymentMethod: { method: "ach", }, customerData: { customerId: 4440, }, entryPoint: "f743aed24a", ipaddress: "255.255.255.255", }, }); } main(); ``` ```python BOC from payabli import payabli, PaymentDetail, PayMethodCredit, PayorDataRequest client = payabli( api_key="YOUR_API_KEY_HERE", ) client.money_in.getpaid( payment_details=PaymentDetail( total_amount=125.5, service_fee=0, check_unique_id="abc123def456", ), payment_method=PayMethodCredit( method="ach", ), customer_data=PayorDataRequest( customer_id=4440, ), entry_point="f743aed24a", ipaddress="255.255.255.255", ) ``` ```csharp BOC using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.MoneyIn.GetpaidAsync( new RequestPayment { Body = new TransRequestBody { PaymentDetails = new PaymentDetail { TotalAmount = 125.5, ServiceFee = 0, CheckUniqueId = "abc123def456" }, PaymentMethod = new PayMethodCredit { Method = "ach" }, CustomerData = new PayorDataRequest { CustomerId = 4440L }, EntryPoint = "f743aed24a", Ipaddress = "255.255.255.255" } } ); } } ``` ```go BOC package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/MoneyIn/getpaid" payload := strings.NewReader("{\n \"paymentDetails\": {\n \"totalAmount\": 125.5,\n \"serviceFee\": 0,\n \"checkUniqueId\": \"abc123def456\"\n },\n \"paymentMethod\": {\n \"achAccount\": \"123456\",\n \"achAccountType\": \"Checking\",\n \"achCode\": \"BOC\",\n \"achHolder\": \"John Doe\",\n \"achRouting\": \"123456789\",\n \"method\": \"ach\"\n },\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"ipaddress\": \"255.255.255.255\"\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby BOC require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/MoneyIn/getpaid") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"paymentDetails\": {\n \"totalAmount\": 125.5,\n \"serviceFee\": 0,\n \"checkUniqueId\": \"abc123def456\"\n },\n \"paymentMethod\": {\n \"achAccount\": \"123456\",\n \"achAccountType\": \"Checking\",\n \"achCode\": \"BOC\",\n \"achHolder\": \"John Doe\",\n \"achRouting\": \"123456789\",\n \"method\": \"ach\"\n },\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"ipaddress\": \"255.255.255.255\"\n}" response = http.request(request) puts response.read_body ``` ```java BOC import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/MoneyIn/getpaid") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"paymentDetails\": {\n \"totalAmount\": 125.5,\n \"serviceFee\": 0,\n \"checkUniqueId\": \"abc123def456\"\n },\n \"paymentMethod\": {\n \"achAccount\": \"123456\",\n \"achAccountType\": \"Checking\",\n \"achCode\": \"BOC\",\n \"achHolder\": \"John Doe\",\n \"achRouting\": \"123456789\",\n \"method\": \"ach\"\n },\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"ipaddress\": \"255.255.255.255\"\n}") .asString(); ``` ```php BOC request('POST', 'https://api-sandbox.payabli.com/api/MoneyIn/getpaid', [ 'body' => '{ "paymentDetails": { "totalAmount": 125.5, "serviceFee": 0, "checkUniqueId": "abc123def456" }, "paymentMethod": { "achAccount": "123456", "achAccountType": "Checking", "achCode": "BOC", "achHolder": "John Doe", "achRouting": "123456789", "method": "ach" }, "customerData": { "customerId": 4440 }, "entryPoint": "f743aed24a", "ipaddress": "255.255.255.255" }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift BOC import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "paymentDetails": [ "totalAmount": 125.5, "serviceFee": 0, "checkUniqueId": "abc123def456" ], "paymentMethod": [ "achAccount": "123456", "achAccountType": "Checking", "achCode": "BOC", "achHolder": "John Doe", "achRouting": "123456789", "method": "ach" ], "customerData": ["customerId": 4440], "entryPoint": "f743aed24a", "ipaddress": "255.255.255.255" ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/MoneyIn/getpaid")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ```typescript ComplexCard import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.moneyIn.getpaid({ body: { paymentDetails: { totalAmount: 1000, serviceFee: 0, }, paymentMethod: { cardcvv: "123", cardexp: "02/25", cardHolder: "John Cassian", cardnumber: "4111111111111111", cardzip: "12345", initiator: "payor", method: "card", saveIfSuccess: true, }, customerData: { billingAddress1: "123 Walnut Street", billingCity: "Johnson City", billingCountry: "US", billingEmail: "john@email.com", billingPhone: "1234567890", billingState: "Johnson City", billingZip: "37615", customerNumber: "3456-7645A", firstName: "John", lastName: "Cassian", }, entryPoint: "f743aed24a", ipaddress: "255.255.255.255", orderDescription: "New customer package", orderId: "982-102", source: "web", }, }); } main(); ``` ```python ComplexCard from payabli import payabli, PaymentDetail, PayMethodCredit, PayorDataRequest client = payabli( api_key="YOUR_API_KEY_HERE", ) client.money_in.getpaid( payment_details=PaymentDetail( total_amount=1000, service_fee=0, ), payment_method=PayMethodCredit( cardcvv="123", cardexp="02/25", card_holder="John Cassian", cardnumber="4111111111111111", cardzip="12345", initiator="payor", method="card", save_if_success=True, ), customer_data=PayorDataRequest( billing_address_1="123 Walnut Street", billing_city="Johnson City", billing_country="US", billing_email="john@email.com", billing_phone="1234567890", billing_state="Johnson City", billing_zip="37615", customer_number="3456-7645A", first_name="John", last_name="Cassian", ), entry_point="f743aed24a", ipaddress="255.255.255.255", order_description="New customer package", order_id="982-102", source="web", ) ``` ```csharp ComplexCard using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.MoneyIn.GetpaidAsync( new RequestPayment { Body = new TransRequestBody { PaymentDetails = new PaymentDetail { TotalAmount = 1000, ServiceFee = 0 }, PaymentMethod = new PayMethodCredit { Cardcvv = "123", Cardexp = "02/25", CardHolder = "John Cassian", Cardnumber = "4111111111111111", Cardzip = "12345", Initiator = "payor", Method = "card", SaveIfSuccess = true }, CustomerData = new PayorDataRequest { BillingAddress1 = "123 Walnut Street", BillingCity = "Johnson City", BillingCountry = "US", BillingEmail = "john@email.com", BillingPhone = "1234567890", BillingState = "Johnson City", BillingZip = "37615", CustomerNumber = "3456-7645A", FirstName = "John", LastName = "Cassian" }, EntryPoint = "f743aed24a", Ipaddress = "255.255.255.255", OrderDescription = "New customer package", OrderId = "982-102", Source = "web" } } ); } } ``` ```go ComplexCard package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/MoneyIn/getpaid" payload := strings.NewReader("{\n \"paymentDetails\": {\n \"totalAmount\": 1000,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"cardcvv\": \"123\",\n \"cardexp\": \"02/25\",\n \"cardHolder\": \"John Cassian\",\n \"cardnumber\": \"4111111111111111\",\n \"cardzip\": \"12345\",\n \"initiator\": \"payor\",\n \"method\": \"card\",\n \"saveIfSuccess\": true\n },\n \"customerData\": {\n \"billingAddress1\": \"123 Walnut Street\",\n \"billingCity\": \"Johnson City\",\n \"billingCountry\": \"US\",\n \"billingEmail\": \"john@email.com\",\n \"billingPhone\": \"1234567890\",\n \"billingState\": \"Johnson City\",\n \"billingZip\": \"37615\",\n \"customerNumber\": \"3456-7645A\",\n \"firstName\": \"John\",\n \"lastName\": \"Cassian\"\n },\n \"entryPoint\": \"f743aed24a\",\n \"ipaddress\": \"255.255.255.255\",\n \"orderDescription\": \"New customer package\",\n \"orderId\": \"982-102\",\n \"source\": \"web\"\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby ComplexCard require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/MoneyIn/getpaid") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"paymentDetails\": {\n \"totalAmount\": 1000,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"cardcvv\": \"123\",\n \"cardexp\": \"02/25\",\n \"cardHolder\": \"John Cassian\",\n \"cardnumber\": \"4111111111111111\",\n \"cardzip\": \"12345\",\n \"initiator\": \"payor\",\n \"method\": \"card\",\n \"saveIfSuccess\": true\n },\n \"customerData\": {\n \"billingAddress1\": \"123 Walnut Street\",\n \"billingCity\": \"Johnson City\",\n \"billingCountry\": \"US\",\n \"billingEmail\": \"john@email.com\",\n \"billingPhone\": \"1234567890\",\n \"billingState\": \"Johnson City\",\n \"billingZip\": \"37615\",\n \"customerNumber\": \"3456-7645A\",\n \"firstName\": \"John\",\n \"lastName\": \"Cassian\"\n },\n \"entryPoint\": \"f743aed24a\",\n \"ipaddress\": \"255.255.255.255\",\n \"orderDescription\": \"New customer package\",\n \"orderId\": \"982-102\",\n \"source\": \"web\"\n}" response = http.request(request) puts response.read_body ``` ```java ComplexCard import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/MoneyIn/getpaid") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"paymentDetails\": {\n \"totalAmount\": 1000,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"cardcvv\": \"123\",\n \"cardexp\": \"02/25\",\n \"cardHolder\": \"John Cassian\",\n \"cardnumber\": \"4111111111111111\",\n \"cardzip\": \"12345\",\n \"initiator\": \"payor\",\n \"method\": \"card\",\n \"saveIfSuccess\": true\n },\n \"customerData\": {\n \"billingAddress1\": \"123 Walnut Street\",\n \"billingCity\": \"Johnson City\",\n \"billingCountry\": \"US\",\n \"billingEmail\": \"john@email.com\",\n \"billingPhone\": \"1234567890\",\n \"billingState\": \"Johnson City\",\n \"billingZip\": \"37615\",\n \"customerNumber\": \"3456-7645A\",\n \"firstName\": \"John\",\n \"lastName\": \"Cassian\"\n },\n \"entryPoint\": \"f743aed24a\",\n \"ipaddress\": \"255.255.255.255\",\n \"orderDescription\": \"New customer package\",\n \"orderId\": \"982-102\",\n \"source\": \"web\"\n}") .asString(); ``` ```php ComplexCard request('POST', 'https://api-sandbox.payabli.com/api/MoneyIn/getpaid', [ 'body' => '{ "paymentDetails": { "totalAmount": 1000, "serviceFee": 0 }, "paymentMethod": { "cardcvv": "123", "cardexp": "02/25", "cardHolder": "John Cassian", "cardnumber": "4111111111111111", "cardzip": "12345", "initiator": "payor", "method": "card", "saveIfSuccess": true }, "customerData": { "billingAddress1": "123 Walnut Street", "billingCity": "Johnson City", "billingCountry": "US", "billingEmail": "john@email.com", "billingPhone": "1234567890", "billingState": "Johnson City", "billingZip": "37615", "customerNumber": "3456-7645A", "firstName": "John", "lastName": "Cassian" }, "entryPoint": "f743aed24a", "ipaddress": "255.255.255.255", "orderDescription": "New customer package", "orderId": "982-102", "source": "web" }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift ComplexCard import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "paymentDetails": [ "totalAmount": 1000, "serviceFee": 0 ], "paymentMethod": [ "cardcvv": "123", "cardexp": "02/25", "cardHolder": "John Cassian", "cardnumber": "4111111111111111", "cardzip": "12345", "initiator": "payor", "method": "card", "saveIfSuccess": true ], "customerData": [ "billingAddress1": "123 Walnut Street", "billingCity": "Johnson City", "billingCountry": "US", "billingEmail": "john@email.com", "billingPhone": "1234567890", "billingState": "Johnson City", "billingZip": "37615", "customerNumber": "3456-7645A", "firstName": "John", "lastName": "Cassian" ], "entryPoint": "f743aed24a", "ipaddress": "255.255.255.255", "orderDescription": "New customer package", "orderId": "982-102", "source": "web" ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/MoneyIn/getpaid")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ```typescript CADCard import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.moneyIn.getpaid({ body: { paymentDetails: { totalAmount: 100, currency: "CAD", serviceFee: 0, }, paymentMethod: { cardcvv: "999", cardexp: "02/27", cardHolder: "John Cassian", cardnumber: "4111111111111111", cardzip: "12345", initiator: "payor", method: "card", }, customerData: { customerId: 4440, }, entryPoint: "f743aed24a", ipaddress: "255.255.255.255", }, }); } main(); ``` ```python CADCard from payabli import payabli, PaymentDetail, PayMethodCredit, PayorDataRequest client = payabli( api_key="YOUR_API_KEY_HERE", ) client.money_in.getpaid( payment_details=PaymentDetail( total_amount=100, currency="CAD", service_fee=0, ), payment_method=PayMethodCredit( cardcvv="999", cardexp="02/27", card_holder="John Cassian", cardnumber="4111111111111111", cardzip="12345", initiator="payor", method="card", ), customer_data=PayorDataRequest( customer_id=4440, ), entry_point="f743aed24a", ipaddress="255.255.255.255", ) ``` ```csharp CADCard using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.MoneyIn.GetpaidAsync( new RequestPayment { Body = new TransRequestBody { PaymentDetails = new PaymentDetail { TotalAmount = 100, Currency = "CAD", ServiceFee = 0 }, PaymentMethod = new PayMethodCredit { Cardcvv = "999", Cardexp = "02/27", CardHolder = "John Cassian", Cardnumber = "4111111111111111", Cardzip = "12345", Initiator = "payor", Method = "card" }, CustomerData = new PayorDataRequest { CustomerId = 4440L }, EntryPoint = "f743aed24a", Ipaddress = "255.255.255.255" } } ); } } ``` ```go CADCard package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/MoneyIn/getpaid" payload := strings.NewReader("{\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"currency\": \"CAD\",\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"cardcvv\": \"999\",\n \"cardexp\": \"02/27\",\n \"cardHolder\": \"John Cassian\",\n \"cardnumber\": \"4111111111111111\",\n \"cardzip\": \"12345\",\n \"initiator\": \"payor\",\n \"method\": \"card\"\n },\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"ipaddress\": \"255.255.255.255\"\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby CADCard require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/MoneyIn/getpaid") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"currency\": \"CAD\",\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"cardcvv\": \"999\",\n \"cardexp\": \"02/27\",\n \"cardHolder\": \"John Cassian\",\n \"cardnumber\": \"4111111111111111\",\n \"cardzip\": \"12345\",\n \"initiator\": \"payor\",\n \"method\": \"card\"\n },\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"ipaddress\": \"255.255.255.255\"\n}" response = http.request(request) puts response.read_body ``` ```java CADCard import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/MoneyIn/getpaid") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"currency\": \"CAD\",\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"cardcvv\": \"999\",\n \"cardexp\": \"02/27\",\n \"cardHolder\": \"John Cassian\",\n \"cardnumber\": \"4111111111111111\",\n \"cardzip\": \"12345\",\n \"initiator\": \"payor\",\n \"method\": \"card\"\n },\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"ipaddress\": \"255.255.255.255\"\n}") .asString(); ``` ```php CADCard request('POST', 'https://api-sandbox.payabli.com/api/MoneyIn/getpaid', [ 'body' => '{ "paymentDetails": { "totalAmount": 100, "currency": "CAD", "serviceFee": 0 }, "paymentMethod": { "cardcvv": "999", "cardexp": "02/27", "cardHolder": "John Cassian", "cardnumber": "4111111111111111", "cardzip": "12345", "initiator": "payor", "method": "card" }, "customerData": { "customerId": 4440 }, "entryPoint": "f743aed24a", "ipaddress": "255.255.255.255" }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift CADCard import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "paymentDetails": [ "totalAmount": 100, "currency": "CAD", "serviceFee": 0 ], "paymentMethod": [ "cardcvv": "999", "cardexp": "02/27", "cardHolder": "John Cassian", "cardnumber": "4111111111111111", "cardzip": "12345", "initiator": "payor", "method": "card" ], "customerData": ["customerId": 4440], "entryPoint": "f743aed24a", "ipaddress": "255.255.255.255" ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/MoneyIn/getpaid")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ```typescript Decline import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.moneyIn.getpaid({ body: { paymentDetails: { totalAmount: 100, serviceFee: 0, }, paymentMethod: { cardcvv: "999", cardexp: "02/27", cardHolder: "John Cassian", cardnumber: "4111111111111111", cardzip: "12345", initiator: "payor", method: "card", }, customerData: { customerId: 4440, }, entryPoint: "f743aed24a", ipaddress: "255.255.255.255", }, }); } main(); ``` ```python Decline from payabli import payabli, PaymentDetail, PayMethodCredit, PayorDataRequest client = payabli( api_key="YOUR_API_KEY_HERE", ) client.money_in.getpaid( payment_details=PaymentDetail( total_amount=100, service_fee=0, ), payment_method=PayMethodCredit( cardcvv="999", cardexp="02/27", card_holder="John Cassian", cardnumber="4111111111111111", cardzip="12345", initiator="payor", method="card", ), customer_data=PayorDataRequest( customer_id=4440, ), entry_point="f743aed24a", ipaddress="255.255.255.255", ) ``` ```csharp Decline using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.MoneyIn.GetpaidAsync( new RequestPayment { Body = new TransRequestBody { PaymentDetails = new PaymentDetail { TotalAmount = 100, ServiceFee = 0 }, PaymentMethod = new PayMethodCredit { Cardcvv = "999", Cardexp = "02/27", CardHolder = "John Cassian", Cardnumber = "4111111111111111", Cardzip = "12345", Initiator = "payor", Method = "card" }, CustomerData = new PayorDataRequest { CustomerId = 4440L }, EntryPoint = "f743aed24a", Ipaddress = "255.255.255.255" } } ); } } ``` ```go Decline package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/MoneyIn/getpaid" payload := strings.NewReader("{\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"cardcvv\": \"999\",\n \"cardexp\": \"02/27\",\n \"cardHolder\": \"John Cassian\",\n \"cardnumber\": \"4111111111111111\",\n \"cardzip\": \"12345\",\n \"initiator\": \"payor\",\n \"method\": \"card\"\n },\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"ipaddress\": \"255.255.255.255\"\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Decline require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/MoneyIn/getpaid") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"cardcvv\": \"999\",\n \"cardexp\": \"02/27\",\n \"cardHolder\": \"John Cassian\",\n \"cardnumber\": \"4111111111111111\",\n \"cardzip\": \"12345\",\n \"initiator\": \"payor\",\n \"method\": \"card\"\n },\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"ipaddress\": \"255.255.255.255\"\n}" response = http.request(request) puts response.read_body ``` ```java Decline import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/MoneyIn/getpaid") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"cardcvv\": \"999\",\n \"cardexp\": \"02/27\",\n \"cardHolder\": \"John Cassian\",\n \"cardnumber\": \"4111111111111111\",\n \"cardzip\": \"12345\",\n \"initiator\": \"payor\",\n \"method\": \"card\"\n },\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"ipaddress\": \"255.255.255.255\"\n}") .asString(); ``` ```php Decline request('POST', 'https://api-sandbox.payabli.com/api/MoneyIn/getpaid', [ 'body' => '{ "paymentDetails": { "totalAmount": 100, "serviceFee": 0 }, "paymentMethod": { "cardcvv": "999", "cardexp": "02/27", "cardHolder": "John Cassian", "cardnumber": "4111111111111111", "cardzip": "12345", "initiator": "payor", "method": "card" }, "customerData": { "customerId": 4440 }, "entryPoint": "f743aed24a", "ipaddress": "255.255.255.255" }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift Decline import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "paymentDetails": [ "totalAmount": 100, "serviceFee": 0 ], "paymentMethod": [ "cardcvv": "999", "cardexp": "02/27", "cardHolder": "John Cassian", "cardnumber": "4111111111111111", "cardzip": "12345", "initiator": "payor", "method": "card" ], "customerData": ["customerId": 4440], "entryPoint": "f743aed24a", "ipaddress": "255.255.255.255" ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/MoneyIn/getpaid")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Authorize transaction POST https://api-sandbox.payabli.com/api/MoneyIn/authorize Content-Type: application/json Authorize a card transaction. This returns an authorization code and reserves funds for the merchant. Authorized transactions aren't flagged for settlement until [captured](/developers/api-reference/moneyin/capture-an-authorized-transaction). Only card transactions can be authorized. This endpoint can't be used for ACH transactions. Consider migrating to the [v2 Authorize endpoint](/developers/api-reference/moneyinV2/authorize-a-transaction) to take advantage of unified response codes and improved response consistency. Reference: https://docs.payabli.com/developers/api-reference/moneyin/authorize-a-transaction ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /MoneyIn/authorize: post: operationId: authorize summary: Authorize card transaction description: >- Authorize a card transaction. This returns an authorization code and reserves funds for the merchant. Authorized transactions aren't flagged for settlement until [captured](/developers/api-reference/moneyin/capture-an-authorized-transaction). Only card transactions can be authorized. This endpoint can't be used for ACH transactions. Consider migrating to the [v2 Authorize endpoint](/developers/api-reference/moneyinV2/authorize-a-transaction) to take advantage of unified response codes and improved response consistency. tags: - subpackage_moneyIn parameters: - name: forceCustomerCreation in: query required: false schema: $ref: '#/components/schemas/type_:ForceCustomerCreation' - name: requestToken in: header required: true schema: type: string - name: idempotencyKey in: header required: false schema: $ref: '#/components/schemas/type_:IdempotencyKey' responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/type_moneyIn:AuthResponse' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/type_moneyIn:TransRequestBody' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:ForceCustomerCreation: type: boolean description: >- When `true`, the request creates a new customer record, regardless of whether customer identifiers match an existing customer. Defaults to `false`. title: ForceCustomerCreation type_:IdempotencyKey: type: string description: >- _Optional but recommended_ A unique ID that you can include to prevent duplicating objects or transactions in the case that a request is sent more than once. This key isn't generated in Payabli, you must generate it yourself. This key persists for 2 minutes. After 2 minutes, you can reuse the key if needed. title: IdempotencyKey type_:Accountid: type: string description: Custom identifier for payment connector. title: Accountid type_:AdditionalData: type: object additionalProperties: type: object additionalProperties: description: Any type description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. If you are using [custom identifiers](/developers/developer-guides/entities-customers), pass those in this object. Max length for a value is 100 characters. Example usage: ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalData type_:BillingAddressNullable: type: string description: Billing address. title: BillingAddressNullable type_:BillingAddressAddtlNullable: type: string description: Additional line for the billing address. title: BillingAddressAddtlNullable type_:BillingCityNullable: type: string description: Billing city. title: BillingCityNullable type_:BillingCountryNullable: type: string description: Billing address country. title: BillingCountryNullable type_:Email: type: string format: email description: Email address. title: Email type_:PhoneNumber: type: string description: Phone number. title: PhoneNumber type_:BillingStateNullable: type: string description: Billing state. Must be 2-letter state code for address in US. title: BillingStateNullable type_:BillingZip: type: string description: Billing address ZIP code. title: BillingZip type_:CustomerId: type: integer format: int64 description: The Payabli-generated unique ID for the customer. title: CustomerId type_:CustomerNumberNullable: type: string description: >- User-provided unique identifier for the customer. This is typically the customer ID from your own system. title: CustomerNumberNullable type_:Identifierfields: type: array items: type: string description: >- List of fields acting as customer identifiers, to be used instead of CustomerNumber. title: Identifierfields type_:Shippingaddress: type: string description: The shipping address. title: Shippingaddress type_:Shippingaddressadditional: type: string description: Additional line for shipping address. title: Shippingaddressadditional type_:Shippingcity: type: string description: Shipping city. title: Shippingcity type_:Shippingcountry: type: string description: Shipping address country. title: Shippingcountry type_:Shippingstate: type: string description: Shipping state or province. title: Shippingstate type_:Shippingzip: type: string description: >- Shipping ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". title: Shippingzip type_:PayorDataRequest: type: object properties: additionalData: $ref: '#/components/schemas/type_:AdditionalData' billingAddress1: $ref: '#/components/schemas/type_:BillingAddressNullable' billingAddress2: $ref: '#/components/schemas/type_:BillingAddressAddtlNullable' billingCity: $ref: '#/components/schemas/type_:BillingCityNullable' billingCountry: $ref: '#/components/schemas/type_:BillingCountryNullable' billingEmail: $ref: '#/components/schemas/type_:Email' billingPhone: $ref: '#/components/schemas/type_:PhoneNumber' billingState: $ref: '#/components/schemas/type_:BillingStateNullable' billingZip: $ref: '#/components/schemas/type_:BillingZip' description: >- Customer's billing ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". company: type: string description: Customer's company name. customerId: $ref: '#/components/schemas/type_:CustomerId' customerNumber: $ref: '#/components/schemas/type_:CustomerNumberNullable' firstName: type: string description: Customer/Payor first name. identifierFields: $ref: '#/components/schemas/type_:Identifierfields' lastName: type: string description: Customer/Payor last name. shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' description: >- Customer information. May be required, depending on the paypoint's settings. Required for subscriptions. title: PayorDataRequest type_:Entrypointfield: type: string description: The entrypoint identifier. title: Entrypointfield type_:AdditionalDataMap: type: object additionalProperties: type: string description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalDataMap type_:FileContentFtype: type: string enum: - pdf - doc - docx - jpg - jpeg - png - gif - txt description: The MIME type of the file (if content is provided) title: FileContentFtype type_:FileContent: type: object properties: fContent: type: string description: >- Content of file, Base64-encoded. Ignored if furl is specified. Max upload size is 30 MB. filename: type: string description: The name of the attached file. ftype: $ref: '#/components/schemas/type_:FileContentFtype' description: The MIME type of the file (if content is provided) furl: type: string description: Optional URL provided to show or download the file remotely description: Contains details about a file. Max upload size is 30 MB. title: FileContent type_:Attachments: type: array items: $ref: '#/components/schemas/type_:FileContent' description: >- Array of `fileContent` objects with attached documents. Max upload size is 30 MB. title: Attachments type_:Discount: type: number format: double description: Discount applied to the invoice. title: Discount type_:DutyAmount: type: number format: double description: Duty amount. title: DutyAmount type_:FreightAmount: type: number format: double description: Freight/shipping amount. title: FreightAmount type_:Frequency: type: string enum: - onetime - weekly - every2weeks - every6months - monthly - every3months - annually description: Frequency for operation. title: Frequency type_:InvoiceAmount: type: number format: double description: Invoice total amount. title: InvoiceAmount type_:InvoiceNumber: type: string description: >- Custom number identifying the bill or invoice. Must be unique in paypoint. title: InvoiceNumber type_:Invoicestatus: type: integer description: |- Status for invoice. The accepted status values are: - 0 draft - 1 active - 2 partially paid - 4 paid/complete - 99 cancelled title: Invoicestatus type_:InvoiceType: type: integer description: Type of invoice. Only `0` for one-time invoices is currently supported. title: InvoiceType type_:ItemCommodityCode: type: string description: Item or product commodity code. Max length of 250 characters. title: ItemCommodityCode type_:ItemDescription: type: string description: Item or product description. Max length of 250 characters. title: ItemDescription type_:ItemProductCode: type: string description: Item or product code. Max length of 250 characters. title: ItemProductCode type_:ItemProductName: type: string description: Item or product name. Max length of 250 characters. title: ItemProductName type_:ItemUnitofMeasure: type: string description: Unit of measurement. Max length of 100 characters. title: ItemUnitofMeasure type_:BillItem: type: object properties: itemCategories: type: array items: type: string description: Array of tags classifying item or product. itemCommodityCode: $ref: '#/components/schemas/type_:ItemCommodityCode' itemCost: type: number format: double description: Item or product price per unit. itemDescription: $ref: '#/components/schemas/type_:ItemDescription' itemMode: type: integer description: >- Internal class of item or product: value '0' is only for invoices , '1' for bills and, '2' common for both. itemProductCode: $ref: '#/components/schemas/type_:ItemProductCode' itemProductName: $ref: '#/components/schemas/type_:ItemProductName' itemQty: type: integer description: Quantity of item or product. itemTaxAmount: type: number format: double description: Tax amount applied to item or product. itemTaxRate: type: number format: double description: Tax rate applied to item or product. itemTotalAmount: type: number format: double description: Total amount in item or product. itemUnitOfMeasure: $ref: '#/components/schemas/type_:ItemUnitofMeasure' required: - itemCost title: BillItem type_:BillDataPaymentTerms: type: string enum: - PIA - CIA - UR - NET10 - NET20 - NET30 - NET45 - NET60 - NET90 - EOM - MFI - 5MFI - 10MFI - 15MFI - 20MFI - 2/10NET30 - UF - 10UF - 20UF - 25UF - 50UF description: >- Payment terms for invoice. If no terms are defined, then response data for this field defaults to `NET30`. **Available Values:** - `PIA`: Payment in advance - `CIA`: Cash in advance - `UR`: Upon receipt - `NET10`: 10 days after invoice date - `NET20`: 20 days after invoice date - `NET30`: 30 days after invoice date - `NET45`: 45 days after invoice date - `NET60`: 60 days after invoice date - `NET90`: 90 days after invoice date - `EOM`: Due end of this month - `MFI`: 1st of the month following the invoice date - `5MFI`: 5th of the month following the invoice date - `10MFI`: 10th of the month following the invoice date - `15MFI`: 15th of the month following the invoice date - `20MFI`: 20th of the month following the invoice date - `2/10NET30`: 2% discount if paid within 10 days, otherwise net 30 days - `UF`: Until further notice - `10UF`: 10 days until further notice - `20UF`: 20 days until further notice - `25UF`: 25 days until further notice - `50UF`: 50 days until further notice title: BillDataPaymentTerms type_:PurchaseOrder: type: string description: Purchase order number. title: PurchaseOrder type_:ShippingFromZip: type: string description: Sender shipping ZIP code. title: ShippingFromZip type_:SummaryCommodityCode: type: string description: Commodity code. title: SummaryCommodityCode type_:Tax: type: number format: double description: Tax rate in percent applied to the invoice. title: Tax type_:TermsConditions: type: string description: Custom terms and conditions included in the invoice. title: TermsConditions type_:BillData: type: object properties: AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' attachments: $ref: '#/components/schemas/type_:Attachments' company: type: string description: Company name of the recipient of the invoice. discount: $ref: '#/components/schemas/type_:Discount' dutyAmount: $ref: '#/components/schemas/type_:DutyAmount' firstName: type: string description: First name of the recipient of the invoice. freightAmount: $ref: '#/components/schemas/type_:FreightAmount' frequency: $ref: '#/components/schemas/type_:Frequency' description: Frequency of scheduled invoice. invoiceAmount: $ref: '#/components/schemas/type_:InvoiceAmount' invoiceDate: type: string format: date description: 'Invoice date in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY.' invoiceDueDate: type: string format: date description: >- Invoice due date in one of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceEndDate: type: string format: date description: >- Indicate the date to finish a scheduled invoice cycle (`invoiceType`` = 1) in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceNumber: $ref: '#/components/schemas/type_:InvoiceNumber' description: Invoice number. Identifies the invoice under a paypoint. invoiceStatus: $ref: '#/components/schemas/type_:Invoicestatus' invoiceType: $ref: '#/components/schemas/type_:InvoiceType' items: type: array items: $ref: '#/components/schemas/type_:BillItem' description: Array of line items included in the invoice. lastName: type: string description: Last name of the recipient of the invoice. notes: type: string description: Notes included in the invoice. paymentTerms: $ref: '#/components/schemas/type_:BillDataPaymentTerms' purchaseOrder: $ref: '#/components/schemas/type_:PurchaseOrder' shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' shippingEmail: $ref: '#/components/schemas/type_:Email' description: Shipping recipient's contact email address. shippingFromZip: $ref: '#/components/schemas/type_:ShippingFromZip' shippingPhone: type: string description: Recipient phone number. shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' summaryCommodityCode: $ref: '#/components/schemas/type_:SummaryCommodityCode' tax: $ref: '#/components/schemas/type_:Tax' termsConditions: $ref: '#/components/schemas/type_:TermsConditions' title: BillData type_:IpAddress: type: string description: >- *Recommended*. The customer's IP address. This field is used to help prevent fraudulent transactions, and Payabli strongly recommends including this data. title: IpAddress type_:Orderdescription: type: string description: Text description of the transaction. title: Orderdescription type_:OrderId: type: string description: Custom identifier for the transaction. title: OrderId type_:PaymentCategories: type: object properties: amount: type: number format: double description: Price/cost per unit of item or category. description: type: string description: Description of item or category label: type: string description: Name of item or category. qty: type: integer default: 1 description: Quantity of item or category required: - amount - label title: PaymentCategories type_:SplitFundingContent: type: object properties: accountId: type: string description: The accountId for the account the split should be sent to. amount: type: number format: double description: Amount from the transaction to sent to this recipient. description: type: string description: A description for the split. recipientEntryPoint: type: string description: The entrypoint the split should be sent to. title: SplitFundingContent type_:SplitFunding: type: array items: $ref: '#/components/schemas/type_:SplitFundingContent' description: >- Split funding instructions for the transaction. The total amount of the splits must match the total amount of the transaction. title: SplitFunding type_:PaymentDetail: type: object properties: categories: type: array items: $ref: '#/components/schemas/type_:PaymentCategories' description: >- Array of payment categories/line items describing the amount to be paid. **Note**: These categories are for information only and aren't validated against the total amount provided. checkImage: type: object additionalProperties: description: Any type description: Object containing image of paper check. checkNumber: type: string description: >- A check number to be used in the ach transaction. **Required** for payment method = 'check'. currency: type: string description: >- The currency for the transaction, `USD` or `CAD`. If your paypoint is configured for CAD, you must send the `CAD` value in this field, otherwise it defaults to USD, which will cause the transaction to fail. serviceFee: type: number format: double description: >- Service fee to be deducted from the total amount. This amount must be a number, percentages aren't accepted. If you are using a percentage-based fee schedule, you must calculate the value manually. splitFunding: $ref: '#/components/schemas/type_:SplitFunding' description: >- Split funding instructions for the transaction. See [Split a Transaction](/developers/developer-guides/money-in-split-funding) for more. checkUniqueId: type: string description: >- Unique identifier for a processed check image. Required for RDC (Remote Deposit Capture) transactions where `achCode` is `BOC`. Use the `id` value from the [check processing](/developers/api-reference/moneyin/check-capture) response. totalAmount: type: number format: double description: >- Total amount to be charged. If a service fee is sent, then this amount should include the service fee." required: - totalAmount description: Details about the payment. title: PaymentDetail type_:Cardcvv: type: string description: >- Card Verification Value (CVV) associated with the card number. We **strongly recommend** that you include this field when using `card` as a method. title: Cardcvv type_:Cardexp: type: string description: >- Card expiration date in format MMYY or MM/YY. Required for card transactions. title: Cardexp type_:Cardholder: type: string description: Cardholder name. title: Cardholder type_:Cardnumber: type: string description: >- The card number. Required when method is `card` and a `storedMethodId` isn't included. title: Cardnumber type_:Cardzip: type: string description: >- ZIP or postal code for the billing address of cardholder. We **strongly recommend** that you include this field when using `card` as a method. title: Cardzip type_:Initiator: type: string description: >- **Strongly recommended** The cardholder-initiated transaction (CIT) or merchant-initiated transaction (MIT) indicator for the transaction. If you don't specify a value, Payabli defaults to `merchant`. Available values: - `payor`: For cardholder-initiated transactions - `merchant`: For merchant-initiated transactions See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Initiator type_:SaveIfSuccess: type: boolean description: >- When `true`, Payabli saves the payment method if the transaction is successful. The payment method ID is returned in the response as `methodReferenceId`. Defaults to `false`. title: SaveIfSuccess type_:PayMethodCredit: type: object properties: cardcvv: $ref: '#/components/schemas/type_:Cardcvv' cardexp: $ref: '#/components/schemas/type_:Cardexp' cardHolder: $ref: '#/components/schemas/type_:Cardholder' cardnumber: $ref: '#/components/schemas/type_:Cardnumber' cardzip: $ref: '#/components/schemas/type_:Cardzip' initiator: $ref: '#/components/schemas/type_:Initiator' method: type: string enum: - card description: >- Method to use for the transaction. For transactions with a credit or debit card, or a tokenized card, use `card`. saveIfSuccess: $ref: '#/components/schemas/type_:SaveIfSuccess' required: - cardexp - cardnumber - method title: PayMethodCredit type_:Achaccount: type: string description: Bank account number. title: Achaccount type_:Achaccounttype: type: string enum: - Checking - Savings description: 'Bank account type: Checking or Savings.' title: Achaccounttype type_:AchSecCode: type: string description: >- Standard Entry Class (SEC) code is a three letter code that describes how an ACH payment was authorized. Supported values are: - PPD (Prearranged Payment and Deposit) - Used for credits or debits where an accountholder authorizes a company to initiate either a single or recurring transaction to their personal bank account. Common examples include direct deposit of payroll, mortgage payments, or utility bills. This is the default value for subscription payments. - WEB (Internet-Initiated/Mobile Entry) - Used for debit entries when authorization is obtained from an accountholder via the internet or a wireless network. Common examples are online bill payments, ecommerce purchases, and mobile app payments where the consumer enters their banking information online. - TEL (Telephone-Initiated Entry) - Used for one-time debit entries where authorization is obtained from a consumer via telephone. Common examples are phone-based purchases or bill payments where the consumer provides their banking information over the phone. - CCD (Corporate Credit or Debit) - Used for fund transfers between business accounts. This code is specifically for business-to-business transactions. Common examples include vendor payments and other business-to-business payments. - BOC (Back Office Conversion) - Used to convert paper checks received in-person at a point-of-sale or staffed payment location into electronic ACH debits. Required for Remote Deposit Capture (RDC) transactions. Only supports consumer checks; business, government, and mailed checks aren't eligible. title: AchSecCode type_:AchHolder: type: string description: >- Bank account holder. This field is **required** when `method` is `ach` or `check`. title: AchHolder type_:AchHolderType: type: string enum: - personal - business default: personal description: 'The bank''s accountholder type: personal or business.' title: AchHolderType type_:Achrouting: type: string description: ABA/routing number of Bank account. title: Achrouting type_:Device: type: string description: Identifier of registered cloud device used in the transaction. title: Device type_:PayMethodACH: type: object properties: achAccount: $ref: '#/components/schemas/type_:Achaccount' description: Bank account number. This field is **required** when method = 'ach'. achAccountType: $ref: '#/components/schemas/type_:Achaccounttype' description: Bank account type. This field is **required** when method = 'ach'. achCode: $ref: '#/components/schemas/type_:AchSecCode' achHolder: $ref: '#/components/schemas/type_:AchHolder' achHolderType: $ref: '#/components/schemas/type_:AchHolderType' achRouting: $ref: '#/components/schemas/type_:Achrouting' description: >- ABA/routing number of bank account. This field is **required** when method = 'ach'. device: $ref: '#/components/schemas/type_:Device' method: type: string enum: - ach required: - achAccount - achHolder - achRouting - method title: PayMethodACH type_:PayMethodStoredMethodMethod: type: string enum: - card - ach description: >- Method to use for the transaction. Use either `card` or `ach`, depending on what kind of method was tokenized to use a saved payment method for this transaction. title: PayMethodStoredMethodMethod type_:Storedmethodid: type: string description: >- Payabli identifier of a tokenized payment method. If this field is used in a request, the `method` field is overridden and the payment is made using the payment token. title: Storedmethodid type_:StoredMethodUsageType: type: string description: >- **Strongly recommended** The usage type for the stored method, used for merchant-initiated transactions (MIT). If you don't specify a value, Payabli defaults to `unscheduled`. Available values: - `unscheduled`: This type is used for transactions that are one-time or otherwise not pre-scheduled. - `subscription`: This type is used for subscription payments. For example, monthly rental fees or ongoing service subscriptions. - `recurring`: This type is used for recurring payments that occur per a set plan. For example, splitting an HOA special assessment over 6 monthly payments. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: StoredMethodUsageType type_:PayMethodStoredMethod: type: object properties: initiator: $ref: '#/components/schemas/type_:Initiator' method: $ref: '#/components/schemas/type_:PayMethodStoredMethodMethod' description: >- Method to use for the transaction. Use either `card` or `ach`, depending on what kind of method was tokenized to use a saved payment method for this transaction. storedMethodId: $ref: '#/components/schemas/type_:Storedmethodid' description: Payabli identifier of a tokenized payment method. storedMethodUsageType: $ref: '#/components/schemas/type_:StoredMethodUsageType' required: - method description: >- The required and recommended fields for a payment made with a stored payment method. title: PayMethodStoredMethod type_:PayMethodCloud: type: object properties: device: $ref: '#/components/schemas/type_:Device' method: type: string enum: - cloud description: >- Method to use for the transaction. For cloud device transactions, the method is `cloud`. saveIfSuccess: $ref: '#/components/schemas/type_:SaveIfSuccess' required: - method title: PayMethodCloud type_:Check: type: object properties: achHolder: $ref: '#/components/schemas/type_:AchHolder' description: The checking accountholder's name. method: type: string enum: - check description: >- Method to use for the transaction. Use `check` for a paper check transaction. When the method is `check`, then `paymentDetails.checkNumber` is required. required: - achHolder - method title: Check type_:Cash: type: object properties: method: type: string enum: - cash description: >- Method to use for the transaction. For cash transactions, use `cash`. required: - method title: Cash type_:Methodall: type: string enum: - card - ach - cloud - check - cash description: Method to use for the transaction. title: Methodall type_:PayMethodBodyAllFields: type: object properties: achAccount: $ref: '#/components/schemas/type_:Achaccount' description: Bank account number. This field is **required** when method = 'ach'. achAccountType: $ref: '#/components/schemas/type_:Achaccounttype' achCode: $ref: '#/components/schemas/type_:AchSecCode' achHolder: $ref: '#/components/schemas/type_:AchHolder' achRouting: $ref: '#/components/schemas/type_:Achrouting' description: >- ABA/routing number of Bank account. This field is **required** when method = 'ach'. cardcvv: $ref: '#/components/schemas/type_:Cardcvv' cardexp: $ref: '#/components/schemas/type_:Cardexp' cardHolder: $ref: '#/components/schemas/type_:Cardholder' cardnumber: $ref: '#/components/schemas/type_:Cardnumber' cardzip: $ref: '#/components/schemas/type_:Cardzip' device: $ref: '#/components/schemas/type_:Device' initator: $ref: '#/components/schemas/type_:Initiator' method: $ref: '#/components/schemas/type_:Methodall' saveIfSuccess: $ref: '#/components/schemas/type_:SaveIfSuccess' storedMethodId: $ref: '#/components/schemas/type_:Storedmethodid' storedMethodUsageType: $ref: '#/components/schemas/type_:StoredMethodUsageType' required: - achAccount - achHolder - achRouting description: 'Model for the PaymentMethod object, includes all method types. ' title: PayMethodBodyAllFields type_:PaymentMethod: oneOf: - $ref: '#/components/schemas/type_:PayMethodCredit' - $ref: '#/components/schemas/type_:PayMethodACH' - $ref: '#/components/schemas/type_:PayMethodStoredMethod' - $ref: '#/components/schemas/type_:PayMethodCloud' - $ref: '#/components/schemas/type_:Check' - $ref: '#/components/schemas/type_:Cash' - $ref: '#/components/schemas/type_:PayMethodBodyAllFields' description: Information about the payment method for the transaction. title: PaymentMethod type_:Source: type: string description: Custom identifier to indicate the transaction or request source. title: Source type_:Subdomain: type: string description: >- Refers to the payment page identifier. If provided, then the transaction is linked to the payment page. title: Subdomain type_:Subscriptionid: type: integer format: int64 description: Payabli identifier of the subscription associated with the transaction. title: Subscriptionid type_moneyIn:TransRequestBody: type: object properties: accountId: $ref: '#/components/schemas/type_:Accountid' customerData: $ref: '#/components/schemas/type_:PayorDataRequest' description: >- Object describing the Customer/Payor. Which fields are required depends on the paypoint's custom identifier settings. entryPoint: $ref: '#/components/schemas/type_:Entrypointfield' invoiceData: $ref: '#/components/schemas/type_:BillData' description: Object describing an Invoice linked to the transaction. ipaddress: $ref: '#/components/schemas/type_:IpAddress' orderDescription: $ref: '#/components/schemas/type_:Orderdescription' orderId: $ref: '#/components/schemas/type_:OrderId' paymentDetails: $ref: '#/components/schemas/type_:PaymentDetail' description: Object describing details of the payment. Required. paymentMethod: $ref: '#/components/schemas/type_:PaymentMethod' description: >- Information about the payment method for the transaction. Required and recommended fields for each payment method type are described in each schema below. source: $ref: '#/components/schemas/type_:Source' subdomain: $ref: '#/components/schemas/type_:Subdomain' subscriptionId: $ref: '#/components/schemas/type_:Subscriptionid' required: - paymentDetails - paymentMethod title: TransRequestBody type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:Authcode: type: string description: Authorization code for the transaction. title: Authcode type_:Referenceidtrans: type: string description: The transaction identifier in Payabli. title: Referenceidtrans type_:ResultCode: type: integer description: >- Result code for the operation. Value 1 indicates a successful operation, values 2 and 3 indicate errors. A value of 10 indicates that an operation has been initiated and is pending. title: ResultCode type_:Resulttext: type: string description: >- Text describing the result. If `ResultCode` = 1, will return 'Approved' or a general success message. If `ResultCode`` = 2 or 3, will contain the cause of the error or decline. title: Resulttext type_:AvsResponseText: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponseText type_:CvvResponseText: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponseText type_:Customeridtrans: type: integer format: int64 description: >- Payabli-generated unique ID of customer owner of transaction. Returns `0` if the transaction wasn't assigned to an existing customer or no customer was created. title: Customeridtrans type_:MethodReferenceId: type: string description: >- The stored method's identifier (sometimes referred to as 'token') in Payabli. When `null`, the method wasn't created, or doesn't exist, depending on the operation performed. title: MethodReferenceId type_moneyIn:AuthResponseResponseData: type: object properties: authCode: $ref: '#/components/schemas/type_:Authcode' referenceId: $ref: '#/components/schemas/type_:Referenceidtrans' resultCode: $ref: '#/components/schemas/type_:ResultCode' resultText: $ref: '#/components/schemas/type_:Resulttext' avsResponseText: $ref: '#/components/schemas/type_:AvsResponseText' cvvResponseText: $ref: '#/components/schemas/type_:CvvResponseText' customerId: $ref: '#/components/schemas/type_:Customeridtrans' methodReferenceId: $ref: '#/components/schemas/type_:MethodReferenceId' required: - authCode - referenceId - resultCode - resultText - avsResponseText - cvvResponseText - customerId title: AuthResponseResponseData type_moneyIn:AuthResponse: type: object properties: responseText: $ref: '#/components/schemas/type_:ResponseText' isSuccess: $ref: '#/components/schemas/type_:IsSuccess' pageIdentifier: $ref: '#/components/schemas/type_:PageIdentifier' responseData: $ref: '#/components/schemas/type_moneyIn:AuthResponseResponseData' required: - responseText - isSuccess - responseData description: Response for MoneyIn/authorize. title: AuthResponse type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript AuthorizeTransaction import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.moneyIn.authorize({ body: { paymentDetails: { totalAmount: 100, serviceFee: 0, }, paymentMethod: { cardcvv: "999", cardexp: "02/27", cardHolder: "John Cassian", cardnumber: "4111111111111111", cardzip: "12345", initiator: "payor", method: "card", }, customerData: { customerId: 4440, }, entryPoint: "f743aed24a", ipaddress: "255.255.255.255", }, }); } main(); ``` ```python AuthorizeTransaction from payabli import payabli, PaymentDetail, PayMethodCredit, PayorDataRequest client = payabli( api_key="YOUR_API_KEY_HERE", ) client.money_in.authorize( payment_details=PaymentDetail( total_amount=100, service_fee=0, ), payment_method=PayMethodCredit( cardcvv="999", cardexp="02/27", card_holder="John Cassian", cardnumber="4111111111111111", cardzip="12345", initiator="payor", method="card", ), customer_data=PayorDataRequest( customer_id=4440, ), entry_point="f743aed24a", ipaddress="255.255.255.255", ) ``` ```csharp AuthorizeTransaction using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.MoneyIn.AuthorizeAsync( new RequestPaymentAuthorize { Body = new TransRequestBody { PaymentDetails = new PaymentDetail { TotalAmount = 100, ServiceFee = 0 }, PaymentMethod = new PayMethodCredit { Cardcvv = "999", Cardexp = "02/27", CardHolder = "John Cassian", Cardnumber = "4111111111111111", Cardzip = "12345", Initiator = "payor", Method = "card" }, CustomerData = new PayorDataRequest { CustomerId = 4440L }, EntryPoint = "f743aed24a", Ipaddress = "255.255.255.255" } } ); } } ``` ```go AuthorizeTransaction package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/MoneyIn/authorize" payload := strings.NewReader("{\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"cardcvv\": \"999\",\n \"cardexp\": \"02/27\",\n \"cardHolder\": \"John Cassian\",\n \"cardnumber\": \"4111111111111111\",\n \"cardzip\": \"12345\",\n \"initiator\": \"payor\",\n \"method\": \"card\"\n },\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"ipaddress\": \"255.255.255.255\"\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby AuthorizeTransaction require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/MoneyIn/authorize") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"cardcvv\": \"999\",\n \"cardexp\": \"02/27\",\n \"cardHolder\": \"John Cassian\",\n \"cardnumber\": \"4111111111111111\",\n \"cardzip\": \"12345\",\n \"initiator\": \"payor\",\n \"method\": \"card\"\n },\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"ipaddress\": \"255.255.255.255\"\n}" response = http.request(request) puts response.read_body ``` ```java AuthorizeTransaction import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/MoneyIn/authorize") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"cardcvv\": \"999\",\n \"cardexp\": \"02/27\",\n \"cardHolder\": \"John Cassian\",\n \"cardnumber\": \"4111111111111111\",\n \"cardzip\": \"12345\",\n \"initiator\": \"payor\",\n \"method\": \"card\"\n },\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"ipaddress\": \"255.255.255.255\"\n}") .asString(); ``` ```php AuthorizeTransaction request('POST', 'https://api-sandbox.payabli.com/api/MoneyIn/authorize', [ 'body' => '{ "paymentDetails": { "totalAmount": 100, "serviceFee": 0 }, "paymentMethod": { "cardcvv": "999", "cardexp": "02/27", "cardHolder": "John Cassian", "cardnumber": "4111111111111111", "cardzip": "12345", "initiator": "payor", "method": "card" }, "customerData": { "customerId": 4440 }, "entryPoint": "f743aed24a", "ipaddress": "255.255.255.255" }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift AuthorizeTransaction import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "paymentDetails": [ "totalAmount": 100, "serviceFee": 0 ], "paymentMethod": [ "cardcvv": "999", "cardexp": "02/27", "cardHolder": "John Cassian", "cardnumber": "4111111111111111", "cardzip": "12345", "initiator": "payor", "method": "card" ], "customerData": ["customerId": 4440], "entryPoint": "f743aed24a", "ipaddress": "255.255.255.255" ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/MoneyIn/authorize")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Capture transaction POST https://api-sandbox.payabli.com/api/MoneyIn/capture/{transId} Content-Type: application/json Capture an [authorized transaction](/developers/api-reference/moneyin/authorize-a-transaction) to complete the transaction and move funds from the customer to merchant account. You can use this endpoint to capture both full and partial amounts of the original authorized transaction. See [Capture an authorized transaction](/developers/developer-guides/pay-in-auth-and-capture) for more information about this endpoint. Consider migrating to the [v2 Capture endpoint](/developers/api-reference/moneyinV2/capture-an-authorized-transaction) to take advantage of unified response codes and improved response consistency. Reference: https://docs.payabli.com/developers/api-reference/moneyin/capture-an-authorized-transaction ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /MoneyIn/capture/{transId}: post: operationId: capture-auth summary: Capture Auth description: >- Capture an [authorized transaction](/developers/api-reference/moneyin/authorize-a-transaction) to complete the transaction and move funds from the customer to merchant account. You can use this endpoint to capture both full and partial amounts of the original authorized transaction. See [Capture an authorized transaction](/developers/developer-guides/pay-in-auth-and-capture) for more information about this endpoint. Consider migrating to the [v2 Capture endpoint](/developers/api-reference/moneyinV2/capture-an-authorized-transaction) to take advantage of unified response codes and improved response consistency. tags: - subpackage_moneyIn parameters: - name: transId in: path description: ReferenceId for the transaction (PaymentId). required: true schema: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/type_moneyIn:CaptureResponse' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/type_moneyIn:CaptureRequest' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_moneyIn:CapturePaymentDetails: type: object properties: totalAmount: type: number format: double description: >- Total amount to be captured, including the `serviceFee` amount. The amount can't be greater the original total amount of the transaction, and can't be more than 15% lower than the original amount. serviceFee: type: number format: double description: Service fee to capture for the transaction. required: - totalAmount title: CapturePaymentDetails type_moneyIn:CaptureRequest: type: object properties: paymentDetails: $ref: '#/components/schemas/type_moneyIn:CapturePaymentDetails' required: - paymentDetails title: CaptureRequest type_:Responsecode: type: integer description: >- Code for the response. Learn more in [API Response Codes](/developers/api-reference/api-responses). title: Responsecode type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:RoomIdNotInUse: type: integer format: int64 description: Field not in use on this endpoint. It always returns `0`. title: RoomIdNotInUse type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:Authcode: type: string description: Authorization code for the transaction. title: Authcode type_:Referenceidtrans: type: string description: The transaction identifier in Payabli. title: Referenceidtrans type_:ResultCode: type: integer description: >- Result code for the operation. Value 1 indicates a successful operation, values 2 and 3 indicate errors. A value of 10 indicates that an operation has been initiated and is pending. title: ResultCode type_:Resulttext: type: string description: >- Text describing the result. If `ResultCode` = 1, will return 'Approved' or a general success message. If `ResultCode`` = 2 or 3, will contain the cause of the error or decline. title: Resulttext type_:AvsResponseText: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponseText type_:CvvResponseText: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponseText type_:Customeridtrans: type: integer format: int64 description: >- Payabli-generated unique ID of customer owner of transaction. Returns `0` if the transaction wasn't assigned to an existing customer or no customer was created. title: Customeridtrans type_:MethodReferenceId: type: string description: >- The stored method's identifier (sometimes referred to as 'token') in Payabli. When `null`, the method wasn't created, or doesn't exist, depending on the operation performed. title: MethodReferenceId type_moneyIn:CaptureResponseData: type: object properties: authCode: $ref: '#/components/schemas/type_:Authcode' referenceId: $ref: '#/components/schemas/type_:Referenceidtrans' resultCode: $ref: '#/components/schemas/type_:ResultCode' resultText: $ref: '#/components/schemas/type_:Resulttext' avsResponseText: oneOf: - $ref: '#/components/schemas/type_:AvsResponseText' - type: 'null' cvvResponseText: oneOf: - $ref: '#/components/schemas/type_:CvvResponseText' - type: 'null' customerId: oneOf: - $ref: '#/components/schemas/type_:Customeridtrans' - type: 'null' methodReferenceId: oneOf: - $ref: '#/components/schemas/type_:MethodReferenceId' - type: 'null' required: - authCode - referenceId - resultCode - resultText - avsResponseText - cvvResponseText - customerId - methodReferenceId description: Response data for capture transactions title: CaptureResponseData type_moneyIn:CaptureResponse: type: object properties: responseCode: $ref: '#/components/schemas/type_:Responsecode' pageIdentifier: oneOf: - $ref: '#/components/schemas/type_:PageIdentifier' - type: 'null' roomId: $ref: '#/components/schemas/type_:RoomIdNotInUse' isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseText: $ref: '#/components/schemas/type_:ResponseText' responseData: $ref: '#/components/schemas/type_moneyIn:CaptureResponseData' required: - responseCode - pageIdentifier - roomId - isSuccess - responseText - responseData description: Response for MoneyIn/capture endpoint title: CaptureResponse type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript CaptureFullAmountwithFee import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.moneyIn.captureAuth("10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13", { paymentDetails: { totalAmount: 105, serviceFee: 5, }, }); } main(); ``` ```python CaptureFullAmountwithFee from payabli import payabli from payabli.money_in import CapturePaymentDetails client = payabli( api_key="YOUR_API_KEY_HERE", ) client.money_in.capture_auth( trans_id="10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13", payment_details=CapturePaymentDetails( total_amount=105, service_fee=5, ), ) ``` ```csharp CaptureFullAmountwithFee using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.MoneyIn.CaptureAuthAsync( "10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13", new CaptureRequest { PaymentDetails = new CapturePaymentDetails { TotalAmount = 105, ServiceFee = 5 } } ); } } ``` ```go CaptureFullAmountwithFee package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/MoneyIn/capture/10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13" payload := strings.NewReader("{\n \"paymentDetails\": {\n \"totalAmount\": 105,\n \"serviceFee\": 5\n }\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby CaptureFullAmountwithFee require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/MoneyIn/capture/10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"paymentDetails\": {\n \"totalAmount\": 105,\n \"serviceFee\": 5\n }\n}" response = http.request(request) puts response.read_body ``` ```java CaptureFullAmountwithFee import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/MoneyIn/capture/10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"paymentDetails\": {\n \"totalAmount\": 105,\n \"serviceFee\": 5\n }\n}") .asString(); ``` ```php CaptureFullAmountwithFee request('POST', 'https://api-sandbox.payabli.com/api/MoneyIn/capture/10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13', [ 'body' => '{ "paymentDetails": { "totalAmount": 105, "serviceFee": 5 } }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift CaptureFullAmountwithFee import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = ["paymentDetails": [ "totalAmount": 105, "serviceFee": 5 ]] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/MoneyIn/capture/10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ```typescript CapturePartialAmountwithFee import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.moneyIn.captureAuth("10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13", { paymentDetails: { totalAmount: 89, serviceFee: 4, }, }); } main(); ``` ```python CapturePartialAmountwithFee from payabli import payabli from payabli.money_in import CapturePaymentDetails client = payabli( api_key="YOUR_API_KEY_HERE", ) client.money_in.capture_auth( trans_id="10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13", payment_details=CapturePaymentDetails( total_amount=89, service_fee=4, ), ) ``` ```csharp CapturePartialAmountwithFee using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.MoneyIn.CaptureAuthAsync( "10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13", new CaptureRequest { PaymentDetails = new CapturePaymentDetails { TotalAmount = 89, ServiceFee = 4 } } ); } } ``` ```go CapturePartialAmountwithFee package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/MoneyIn/capture/10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13" payload := strings.NewReader("{\n \"paymentDetails\": {\n \"totalAmount\": 89,\n \"serviceFee\": 4\n }\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby CapturePartialAmountwithFee require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/MoneyIn/capture/10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"paymentDetails\": {\n \"totalAmount\": 89,\n \"serviceFee\": 4\n }\n}" response = http.request(request) puts response.read_body ``` ```java CapturePartialAmountwithFee import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/MoneyIn/capture/10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"paymentDetails\": {\n \"totalAmount\": 89,\n \"serviceFee\": 4\n }\n}") .asString(); ``` ```php CapturePartialAmountwithFee request('POST', 'https://api-sandbox.payabli.com/api/MoneyIn/capture/10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13', [ 'body' => '{ "paymentDetails": { "totalAmount": 89, "serviceFee": 4 } }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift CapturePartialAmountwithFee import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = ["paymentDetails": [ "totalAmount": 89, "serviceFee": 4 ]] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/MoneyIn/capture/10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ```typescript CaptureNoFee import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.moneyIn.captureAuth("10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13", { paymentDetails: { totalAmount: 100, }, }); } main(); ``` ```python CaptureNoFee from payabli import payabli from payabli.money_in import CapturePaymentDetails client = payabli( api_key="YOUR_API_KEY_HERE", ) client.money_in.capture_auth( trans_id="10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13", payment_details=CapturePaymentDetails( total_amount=100, ), ) ``` ```csharp CaptureNoFee using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.MoneyIn.CaptureAuthAsync( "10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13", new CaptureRequest { PaymentDetails = new CapturePaymentDetails { TotalAmount = 100 } } ); } } ``` ```go CaptureNoFee package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/MoneyIn/capture/10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13" payload := strings.NewReader("{\n \"paymentDetails\": {\n \"totalAmount\": 100\n }\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby CaptureNoFee require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/MoneyIn/capture/10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"paymentDetails\": {\n \"totalAmount\": 100\n }\n}" response = http.request(request) puts response.read_body ``` ```java CaptureNoFee import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/MoneyIn/capture/10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"paymentDetails\": {\n \"totalAmount\": 100\n }\n}") .asString(); ``` ```php CaptureNoFee request('POST', 'https://api-sandbox.payabli.com/api/MoneyIn/capture/10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13', [ 'body' => '{ "paymentDetails": { "totalAmount": 100 } }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift CaptureNoFee import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = ["paymentDetails": ["totalAmount": 100]] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/MoneyIn/capture/10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Capture transaction (deprecated) GET https://api-sandbox.payabli.com/api/MoneyIn/capture/{transId}/{amount} This endpoint is deprecated and will be sunset on November 24, 2025. Migrate to [POST `/capture/{transId}`](/developers/api-reference/moneyin/capture-an-authorized-transaction)`. Capture an [authorized transaction](/developers/api-reference/moneyin/authorize-a-transaction) to complete the transaction and move funds from the customer to merchant account. Reference: https://docs.payabli.com/developers/api-reference/moneyin/capture-an-authorized-transaction-deprecated ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /MoneyIn/capture/{transId}/{amount}: get: operationId: capture summary: Capture an authorized transaction description: >- This endpoint is deprecated and will be sunset on November 24, 2025. Migrate to [POST `/capture/{transId}`](/developers/api-reference/moneyin/capture-an-authorized-transaction)`. Capture an [authorized transaction](/developers/api-reference/moneyin/authorize-a-transaction) to complete the transaction and move funds from the customer to merchant account. tags: - subpackage_moneyIn parameters: - name: transId in: path description: ReferenceId for the transaction (PaymentId). required: true schema: type: string - name: amount in: path description: >- Amount to be captured. The amount can't be greater the original total amount of the transaction. `0` captures the total amount authorized in the transaction. Partial captures aren't supported. required: true schema: type: number format: double - name: requestToken in: header required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/type_moneyIn:CaptureResponse' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:Responsecode: type: integer description: >- Code for the response. Learn more in [API Response Codes](/developers/api-reference/api-responses). title: Responsecode type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:RoomIdNotInUse: type: integer format: int64 description: Field not in use on this endpoint. It always returns `0`. title: RoomIdNotInUse type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:Authcode: type: string description: Authorization code for the transaction. title: Authcode type_:Referenceidtrans: type: string description: The transaction identifier in Payabli. title: Referenceidtrans type_:ResultCode: type: integer description: >- Result code for the operation. Value 1 indicates a successful operation, values 2 and 3 indicate errors. A value of 10 indicates that an operation has been initiated and is pending. title: ResultCode type_:Resulttext: type: string description: >- Text describing the result. If `ResultCode` = 1, will return 'Approved' or a general success message. If `ResultCode`` = 2 or 3, will contain the cause of the error or decline. title: Resulttext type_:AvsResponseText: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponseText type_:CvvResponseText: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponseText type_:Customeridtrans: type: integer format: int64 description: >- Payabli-generated unique ID of customer owner of transaction. Returns `0` if the transaction wasn't assigned to an existing customer or no customer was created. title: Customeridtrans type_:MethodReferenceId: type: string description: >- The stored method's identifier (sometimes referred to as 'token') in Payabli. When `null`, the method wasn't created, or doesn't exist, depending on the operation performed. title: MethodReferenceId type_moneyIn:CaptureResponseData: type: object properties: authCode: $ref: '#/components/schemas/type_:Authcode' referenceId: $ref: '#/components/schemas/type_:Referenceidtrans' resultCode: $ref: '#/components/schemas/type_:ResultCode' resultText: $ref: '#/components/schemas/type_:Resulttext' avsResponseText: oneOf: - $ref: '#/components/schemas/type_:AvsResponseText' - type: 'null' cvvResponseText: oneOf: - $ref: '#/components/schemas/type_:CvvResponseText' - type: 'null' customerId: oneOf: - $ref: '#/components/schemas/type_:Customeridtrans' - type: 'null' methodReferenceId: oneOf: - $ref: '#/components/schemas/type_:MethodReferenceId' - type: 'null' required: - authCode - referenceId - resultCode - resultText - avsResponseText - cvvResponseText - customerId - methodReferenceId description: Response data for capture transactions title: CaptureResponseData type_moneyIn:CaptureResponse: type: object properties: responseCode: $ref: '#/components/schemas/type_:Responsecode' pageIdentifier: oneOf: - $ref: '#/components/schemas/type_:PageIdentifier' - type: 'null' roomId: $ref: '#/components/schemas/type_:RoomIdNotInUse' isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseText: $ref: '#/components/schemas/type_:ResponseText' responseData: $ref: '#/components/schemas/type_moneyIn:CaptureResponseData' required: - responseCode - pageIdentifier - roomId - isSuccess - responseText - responseData description: Response for MoneyIn/capture endpoint title: CaptureResponse type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript FullCapture import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.moneyIn.capture("10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13", 0); } main(); ``` ```python FullCapture from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.money_in.capture( trans_id="10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13", amount=0, ) ``` ```csharp FullCapture using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.MoneyIn.CaptureAsync( "10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13", 0 ); } } ``` ```go FullCapture package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/MoneyIn/capture/10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13/0" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby FullCapture require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/MoneyIn/capture/10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13/0") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java FullCapture import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/MoneyIn/capture/10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13/0") .header("requestToken", "") .asString(); ``` ```php FullCapture request('GET', 'https://api-sandbox.payabli.com/api/MoneyIn/capture/10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13/0', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift FullCapture import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/MoneyIn/capture/10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13/0")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Send receipt GET https://api-sandbox.payabli.com/api/MoneyIn/sendreceipt/{transId} Send a payment receipt for a transaction. Reference: https://docs.payabli.com/developers/api-reference/moneyin/send-receipt-for-transaction ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /MoneyIn/sendreceipt/{transId}: get: operationId: send-receipt-2-trans summary: Send receipt for transaction description: Send a payment receipt for a transaction. tags: - subpackage_moneyIn parameters: - name: transId in: path description: ReferenceId for the transaction (PaymentId). required: true schema: type: string - name: email in: query description: >- Email address where the payment receipt should be sent. If not provided, the email address on file for the user owner of the transaction is used. required: false schema: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_moneyIn:ReceiptResponse' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_moneyIn:ReceiptResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' pageIdentifier: $ref: '#/components/schemas/type_:PageIdentifier' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText description: Response for SendReceipt endpoint. title: ReceiptResponse type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.moneyIn.sendReceipt2Trans("45-as456777hhhhhhhhhh77777777-324", { email: "example@email.com", }); } main(); ``` ```python from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.money_in.send_receipt_2_trans( trans_id="45-as456777hhhhhhhhhh77777777-324", email="example@email.com", ) ``` ```csharp using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.MoneyIn.SendReceipt2TransAsync( "45-as456777hhhhhhhhhh77777777-324", new SendReceipt2TransRequest { Email = "example@email.com" } ); } } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/MoneyIn/sendreceipt/45-as456777hhhhhhhhhh77777777-324?email=example%40email.com" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/MoneyIn/sendreceipt/45-as456777hhhhhhhhhh77777777-324?email=example%40email.com") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/MoneyIn/sendreceipt/45-as456777hhhhhhhhhh77777777-324?email=example%40email.com") .header("requestToken", "") .asString(); ``` ```php request('GET', 'https://api-sandbox.payabli.com/api/MoneyIn/sendreceipt/45-as456777hhhhhhhhhh77777777-324?email=example%40email.com', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/MoneyIn/sendreceipt/45-as456777hhhhhhhhhh77777777-324?email=example%40email.com")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Reverse transaction GET https://api-sandbox.payabli.com/api/MoneyIn/reverse/{transId}/{amount} A reversal either refunds or voids a transaction independent of the transaction's settlement status. Send a reversal request for a transaction, and Payabli automatically determines whether it's a refund or void. You don't need to know whether the transaction is settled or not. Reference: https://docs.payabli.com/developers/api-reference/moneyin/reverse-a-transaction ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /MoneyIn/reverse/{transId}/{amount}: get: operationId: reverse summary: Reverse a transaction description: >- A reversal either refunds or voids a transaction independent of the transaction's settlement status. Send a reversal request for a transaction, and Payabli automatically determines whether it's a refund or void. You don't need to know whether the transaction is settled or not. tags: - subpackage_moneyIn parameters: - name: transId in: path description: ReferenceId for the transaction (PaymentId). required: true schema: type: string - name: amount in: path description: >- Amount to reverse from original transaction, minus any service fees charged on the original transaction. The amount provided can't be greater than the original total amount of the transaction, minus service fees. For example, if a transaction was $90 plus a $10 service fee, you can reverse up to $90. An amount equal to zero will refunds the total amount authorized minus any service fee. required: true schema: type: number format: double - name: requestToken in: header required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/type_moneyIn:ReverseResponse' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:Responsecode: type: integer description: >- Code for the response. Learn more in [API Response Codes](/developers/api-reference/api-responses). title: Responsecode type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:Authcode: type: string description: Authorization code for the transaction. title: Authcode type_:ExpectedProcessingDateTime: type: string format: date-time description: >- The expected time that the refund will be processed. This value only appears when the `resultCode` is `10`, which means that the refund has been initiated and is queued for processing. See [Enhanced Refund Flow](/guides/pay-in-enhanced-refund-flow) for more information about refund processing. title: ExpectedProcessingDateTime type_:AvsResponseText: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponseText type_:CustomerId: type: integer format: int64 description: The Payabli-generated unique ID for the customer. title: CustomerId type_:CvvResponseText: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponseText type_:MethodReferenceId: type: string description: >- The stored method's identifier (sometimes referred to as 'token') in Payabli. When `null`, the method wasn't created, or doesn't exist, depending on the operation performed. title: MethodReferenceId type_:Referenceidtrans: type: string description: The transaction identifier in Payabli. title: Referenceidtrans type_:ResultCode: type: integer description: >- Result code for the operation. Value 1 indicates a successful operation, values 2 and 3 indicate errors. A value of 10 indicates that an operation has been initiated and is pending. title: ResultCode type_moneyIn:ResponseDataRefunds: type: object properties: authCode: $ref: '#/components/schemas/type_:Authcode' expectedProcessingDateTime: oneOf: - $ref: '#/components/schemas/type_:ExpectedProcessingDateTime' - type: 'null' avsResponseText: $ref: '#/components/schemas/type_:AvsResponseText' description: This field isn't applicable to refund operations. customerId: oneOf: - $ref: '#/components/schemas/type_:CustomerId' - type: 'null' cvvResponseText: oneOf: - $ref: '#/components/schemas/type_:CvvResponseText' - type: 'null' description: This field isn't applicable to refund operations. methodReferenceId: oneOf: - $ref: '#/components/schemas/type_:MethodReferenceId' - type: 'null' description: This field isn't applicable to refund operations. referenceId: $ref: '#/components/schemas/type_:Referenceidtrans' resultCode: $ref: '#/components/schemas/type_:ResultCode' resultText: type: string description: Text description of the transaction result required: - authCode - expectedProcessingDateTime - customerId - cvvResponseText - methodReferenceId - referenceId - resultCode - resultText title: ResponseDataRefunds type_moneyIn:ReverseResponse: type: object properties: responseCode: $ref: '#/components/schemas/type_:Responsecode' pageIdentifier: $ref: '#/components/schemas/type_:PageIdentifier' roomId: type: integer isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseText: $ref: '#/components/schemas/type_:ResponseText' responseData: $ref: '#/components/schemas/type_moneyIn:ResponseDataRefunds' required: - responseCode - roomId - isSuccess - responseText - responseData title: ReverseResponse type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript Void import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.moneyIn.reverse(0, "10-3ffa27df-b171-44e0-b251-e95fbfc7a723"); } main(); ``` ```python Void from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.money_in.reverse( amount=0, trans_id="10-3ffa27df-b171-44e0-b251-e95fbfc7a723", ) ``` ```csharp Void using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.MoneyIn.ReverseAsync( "10-3ffa27df-b171-44e0-b251-e95fbfc7a723", 0 ); } } ``` ```go Void package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/MoneyIn/reverse/10-3ffa27df-b171-44e0-b251-e95fbfc7a723/0" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Void require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/MoneyIn/reverse/10-3ffa27df-b171-44e0-b251-e95fbfc7a723/0") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java Void import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/MoneyIn/reverse/10-3ffa27df-b171-44e0-b251-e95fbfc7a723/0") .header("requestToken", "") .asString(); ``` ```php Void request('GET', 'https://api-sandbox.payabli.com/api/MoneyIn/reverse/10-3ffa27df-b171-44e0-b251-e95fbfc7a723/0', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift Void import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/MoneyIn/reverse/10-3ffa27df-b171-44e0-b251-e95fbfc7a723/0")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ```typescript Refund import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.moneyIn.reverse(53.76, "10-3ffa27df-b171-44e0-b251-e95fbfc7a723"); } main(); ``` ```python Refund from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.money_in.reverse( amount=53.76, trans_id="10-3ffa27df-b171-44e0-b251-e95fbfc7a723", ) ``` ```csharp Refund using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.MoneyIn.ReverseAsync( "10-3ffa27df-b171-44e0-b251-e95fbfc7a723", 53.76 ); } } ``` ```go Refund package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/MoneyIn/reverse/10-3ffa27df-b171-44e0-b251-e95fbfc7a723/53.76" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Refund require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/MoneyIn/reverse/10-3ffa27df-b171-44e0-b251-e95fbfc7a723/53.76") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java Refund import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/MoneyIn/reverse/10-3ffa27df-b171-44e0-b251-e95fbfc7a723/53.76") .header("requestToken", "") .asString(); ``` ```php Refund request('GET', 'https://api-sandbox.payabli.com/api/MoneyIn/reverse/10-3ffa27df-b171-44e0-b251-e95fbfc7a723/53.76', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift Refund import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/MoneyIn/reverse/10-3ffa27df-b171-44e0-b251-e95fbfc7a723/53.76")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Void transaction GET https://api-sandbox.payabli.com/api/MoneyIn/void/{transId} Cancel a transaction that hasn't been settled yet. Voiding non-captured authorizations prevents future captures. If a transaction has been settled, refund it instead. Consider migrating to the [v2 Void endpoint](/developers/api-reference/moneyinV2/void-a-transaction) to take advantage of unified response codes and improved response consistency. Reference: https://docs.payabli.com/developers/api-reference/moneyin/void-a-transaction ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /MoneyIn/void/{transId}: get: operationId: void summary: Void a transaction description: >- Cancel a transaction that hasn't been settled yet. Voiding non-captured authorizations prevents future captures. If a transaction has been settled, refund it instead. Consider migrating to the [v2 Void endpoint](/developers/api-reference/moneyinV2/void-a-transaction) to take advantage of unified response codes and improved response consistency. tags: - subpackage_moneyIn parameters: - name: transId in: path description: ReferenceId for the transaction (PaymentId). required: true schema: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/type_moneyIn:VoidResponse' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:Responsecode: type: integer description: >- Code for the response. Learn more in [API Response Codes](/developers/api-reference/api-responses). title: Responsecode type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:RoomIdNotInUse: type: integer format: int64 description: Field not in use on this endpoint. It always returns `0`. title: RoomIdNotInUse type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:Authcode: type: string description: Authorization code for the transaction. title: Authcode type_:Referenceidtrans: type: string description: The transaction identifier in Payabli. title: Referenceidtrans type_:ResultCode: type: integer description: >- Result code for the operation. Value 1 indicates a successful operation, values 2 and 3 indicate errors. A value of 10 indicates that an operation has been initiated and is pending. title: ResultCode type_:Resulttext: type: string description: >- Text describing the result. If `ResultCode` = 1, will return 'Approved' or a general success message. If `ResultCode`` = 2 or 3, will contain the cause of the error or decline. title: Resulttext type_:AvsResponseText: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponseText type_:CvvResponseText: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponseText type_:Customeridtrans: type: integer format: int64 description: >- Payabli-generated unique ID of customer owner of transaction. Returns `0` if the transaction wasn't assigned to an existing customer or no customer was created. title: Customeridtrans type_:MethodReferenceId: type: string description: >- The stored method's identifier (sometimes referred to as 'token') in Payabli. When `null`, the method wasn't created, or doesn't exist, depending on the operation performed. title: MethodReferenceId type_moneyIn:VoidResponseData: type: object properties: authCode: $ref: '#/components/schemas/type_:Authcode' referenceId: $ref: '#/components/schemas/type_:Referenceidtrans' resultCode: $ref: '#/components/schemas/type_:ResultCode' resultText: $ref: '#/components/schemas/type_:Resulttext' avsResponseText: $ref: '#/components/schemas/type_:AvsResponseText' cvvResponseText: $ref: '#/components/schemas/type_:CvvResponseText' customerId: $ref: '#/components/schemas/type_:Customeridtrans' methodReferenceId: $ref: '#/components/schemas/type_:MethodReferenceId' required: - authCode - referenceId - resultCode - resultText description: Response data for void transactions title: VoidResponseData type_moneyIn:VoidResponse: type: object properties: responseCode: $ref: '#/components/schemas/type_:Responsecode' pageIdentifier: $ref: '#/components/schemas/type_:PageIdentifier' roomId: $ref: '#/components/schemas/type_:RoomIdNotInUse' isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseText: $ref: '#/components/schemas/type_:ResponseText' responseData: $ref: '#/components/schemas/type_moneyIn:VoidResponseData' required: - responseCode - roomId - isSuccess - responseText - responseData description: Response for MoneyIn/void endpoint title: VoidResponse type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript Void import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.moneyIn.void("10-3ffa27df-b171-44e0-b251-e95fbfc7a723"); } main(); ``` ```python Void from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.money_in.void( trans_id="10-3ffa27df-b171-44e0-b251-e95fbfc7a723", ) ``` ```csharp Void using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.MoneyIn.VoidAsync( "10-3ffa27df-b171-44e0-b251-e95fbfc7a723" ); } } ``` ```go Void package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/MoneyIn/void/10-3ffa27df-b171-44e0-b251-e95fbfc7a723" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Void require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/MoneyIn/void/10-3ffa27df-b171-44e0-b251-e95fbfc7a723") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java Void import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/MoneyIn/void/10-3ffa27df-b171-44e0-b251-e95fbfc7a723") .header("requestToken", "") .asString(); ``` ```php Void request('GET', 'https://api-sandbox.payabli.com/api/MoneyIn/void/10-3ffa27df-b171-44e0-b251-e95fbfc7a723', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift Void import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/MoneyIn/void/10-3ffa27df-b171-44e0-b251-e95fbfc7a723")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Refund transaction GET https://api-sandbox.payabli.com/api/MoneyIn/refund/{transId}/{amount} Refund a transaction that has settled and send money back to the account holder. If a transaction hasn't been settled, void it instead. Consider migrating to the [v2 Refund endpoint](/developers/api-reference/moneyinV2/refund-a-settled-transaction) to take advantage of unified response codes and improved response consistency. Reference: https://docs.payabli.com/developers/api-reference/moneyin/refund-a-settled-transaction ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /MoneyIn/refund/{transId}/{amount}: get: operationId: refund summary: Refund a settled transaction description: >- Refund a transaction that has settled and send money back to the account holder. If a transaction hasn't been settled, void it instead. Consider migrating to the [v2 Refund endpoint](/developers/api-reference/moneyinV2/refund-a-settled-transaction) to take advantage of unified response codes and improved response consistency. tags: - subpackage_moneyIn parameters: - name: transId in: path description: ReferenceId for the transaction (PaymentId). required: true schema: type: string - name: amount in: path description: >- Amount to refund from original transaction, minus any service fees charged on the original transaction. The amount provided can't be greater than the original total amount of the transaction, minus service fees. For example, if a transaction was \$90 plus a \$10 service fee, you can refund up to \$90. An amount equal to zero will refund the total amount authorized minus any service fee. required: true schema: type: number format: double - name: requestToken in: header required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/type_moneyIn:RefundResponse' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Authcode: type: string description: Authorization code for the transaction. title: Authcode type_:ExpectedProcessingDateTime: type: string format: date-time description: >- The expected time that the refund will be processed. This value only appears when the `resultCode` is `10`, which means that the refund has been initiated and is queued for processing. See [Enhanced Refund Flow](/guides/pay-in-enhanced-refund-flow) for more information about refund processing. title: ExpectedProcessingDateTime type_:AvsResponseText: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponseText type_:CustomerId: type: integer format: int64 description: The Payabli-generated unique ID for the customer. title: CustomerId type_:CvvResponseText: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponseText type_:MethodReferenceId: type: string description: >- The stored method's identifier (sometimes referred to as 'token') in Payabli. When `null`, the method wasn't created, or doesn't exist, depending on the operation performed. title: MethodReferenceId type_:Referenceidtrans: type: string description: The transaction identifier in Payabli. title: Referenceidtrans type_:ResultCode: type: integer description: >- Result code for the operation. Value 1 indicates a successful operation, values 2 and 3 indicate errors. A value of 10 indicates that an operation has been initiated and is pending. title: ResultCode type_moneyIn:ResponseDataRefunds: type: object properties: authCode: $ref: '#/components/schemas/type_:Authcode' expectedProcessingDateTime: oneOf: - $ref: '#/components/schemas/type_:ExpectedProcessingDateTime' - type: 'null' avsResponseText: $ref: '#/components/schemas/type_:AvsResponseText' description: This field isn't applicable to refund operations. customerId: oneOf: - $ref: '#/components/schemas/type_:CustomerId' - type: 'null' cvvResponseText: oneOf: - $ref: '#/components/schemas/type_:CvvResponseText' - type: 'null' description: This field isn't applicable to refund operations. methodReferenceId: oneOf: - $ref: '#/components/schemas/type_:MethodReferenceId' - type: 'null' description: This field isn't applicable to refund operations. referenceId: $ref: '#/components/schemas/type_:Referenceidtrans' resultCode: $ref: '#/components/schemas/type_:ResultCode' resultText: type: string description: Text description of the transaction result required: - authCode - expectedProcessingDateTime - customerId - cvvResponseText - methodReferenceId - referenceId - resultCode - resultText title: ResponseDataRefunds type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_moneyIn:RefundResponse: type: object properties: responseText: $ref: '#/components/schemas/type_:ResponseText' isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_moneyIn:ResponseDataRefunds' pageidentifier: $ref: '#/components/schemas/type_:PageIdentifier' required: - responseText - isSuccess - responseData title: RefundResponse type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript Initiated import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.moneyIn.refund(0, "10-3ffa27df-b171-44e0-b251-e95fbfc7a723"); } main(); ``` ```python Initiated from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.money_in.refund( amount=0, trans_id="10-3ffa27df-b171-44e0-b251-e95fbfc7a723", ) ``` ```csharp Initiated using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.MoneyIn.RefundAsync( "10-3ffa27df-b171-44e0-b251-e95fbfc7a723", 0 ); } } ``` ```go Initiated package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/MoneyIn/refund/10-3ffa27df-b171-44e0-b251-e95fbfc7a723/0" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Initiated require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/MoneyIn/refund/10-3ffa27df-b171-44e0-b251-e95fbfc7a723/0") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java Initiated import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/MoneyIn/refund/10-3ffa27df-b171-44e0-b251-e95fbfc7a723/0") .header("requestToken", "") .asString(); ``` ```php Initiated request('GET', 'https://api-sandbox.payabli.com/api/MoneyIn/refund/10-3ffa27df-b171-44e0-b251-e95fbfc7a723/0', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift Initiated import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/MoneyIn/refund/10-3ffa27df-b171-44e0-b251-e95fbfc7a723/0")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ```typescript Captured import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.moneyIn.refund(100.99, "10-3ffa27df-b171-44e0-b251-e95fbfc7a723"); } main(); ``` ```python Captured from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.money_in.refund( amount=100.99, trans_id="10-3ffa27df-b171-44e0-b251-e95fbfc7a723", ) ``` ```csharp Captured using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.MoneyIn.RefundAsync( "10-3ffa27df-b171-44e0-b251-e95fbfc7a723", 100.99 ); } } ``` ```go Captured package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/MoneyIn/refund/10-3ffa27df-b171-44e0-b251-e95fbfc7a723/100.99" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Captured require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/MoneyIn/refund/10-3ffa27df-b171-44e0-b251-e95fbfc7a723/100.99") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java Captured import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/MoneyIn/refund/10-3ffa27df-b171-44e0-b251-e95fbfc7a723/100.99") .header("requestToken", "") .asString(); ``` ```php Captured request('GET', 'https://api-sandbox.payabli.com/api/MoneyIn/refund/10-3ffa27df-b171-44e0-b251-e95fbfc7a723/100.99', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift Captured import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/MoneyIn/refund/10-3ffa27df-b171-44e0-b251-e95fbfc7a723/100.99")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Refund split transaction POST https://api-sandbox.payabli.com/api/MoneyIn/refund/{transId} Content-Type: application/json Refunds a settled transaction with split instructions. Reference: https://docs.payabli.com/developers/api-reference/moneyin/refund-a-settled-transaction-with-instructions ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /MoneyIn/refund/{transId}: post: operationId: refund-with-instructions summary: Refund a settled transaction with split instructions description: Refunds a settled transaction with split instructions. tags: - subpackage_moneyIn parameters: - name: transId in: path description: ReferenceId for the transaction (PaymentId). required: true schema: type: string - name: requestToken in: header required: true schema: type: string - name: idempotencyKey in: header required: false schema: $ref: '#/components/schemas/type_:IdempotencyKey' responses: '200': description: Success content: application/json: schema: $ref: >- #/components/schemas/type_moneyIn:RefundWithInstructionsResponse '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' requestBody: content: application/json: schema: type: object properties: amount: type: number format: double description: >- Amount to refund from original transaction, minus any service fees charged on the original transaction. The amount provided can't be greater than the original total amount of the transaction, minus service fees. For example, if a transaction was $90 plus a $10 service fee, you can refund up to $90. An amount equal to zero will refund the total amount authorized minus any service fee. ipaddress: $ref: '#/components/schemas/type_:IpAddress' orderDescription: $ref: '#/components/schemas/type_:Orderdescription' orderId: $ref: '#/components/schemas/type_:OrderId' refundDetails: $ref: '#/components/schemas/type_:RefundDetail' source: $ref: '#/components/schemas/type_:Source' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:IdempotencyKey: type: string description: >- _Optional but recommended_ A unique ID that you can include to prevent duplicating objects or transactions in the case that a request is sent more than once. This key isn't generated in Payabli, you must generate it yourself. This key persists for 2 minutes. After 2 minutes, you can reuse the key if needed. title: IdempotencyKey type_:IpAddress: type: string description: >- *Recommended*. The customer's IP address. This field is used to help prevent fraudulent transactions, and Payabli strongly recommends including this data. title: IpAddress type_:Orderdescription: type: string description: Text description of the transaction. title: Orderdescription type_:OrderId: type: string description: Custom identifier for the transaction. title: OrderId type_:PaymentCategories: type: object properties: amount: type: number format: double description: Price/cost per unit of item or category. description: type: string description: Description of item or category label: type: string description: Name of item or category. qty: type: integer default: 1 description: Quantity of item or category required: - amount - label title: PaymentCategories type_:SplitFundingRefundContent: type: object properties: accountId: type: string description: The accountId for the account the transaction was routed to. amount: type: number format: double description: The amount to refund to this account. description: type: string description: Refund description. originationEntryPoint: type: string description: The entrypoint the transaction belongs to. title: SplitFundingRefundContent type_:RefundDetail: type: object properties: categories: type: array items: $ref: '#/components/schemas/type_:PaymentCategories' description: >- Array of payment categories/line items describing the amount to be paid. Note: These categories are for information only and aren't validated against the total amount provided. splitRefunding: type: array items: $ref: '#/components/schemas/type_:SplitFundingRefundContent' description: Array of objects containing split instructions for the refund. description: >- Object containing details about the refund, including line items and optional split instructions. title: RefundDetail type_:Source: type: string description: Custom identifier to indicate the transaction or request source. title: Source type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Authcode: type: string description: Authorization code for the transaction. title: Authcode type_:ExpectedProcessingDateTime: type: string format: date-time description: >- The expected time that the refund will be processed. This value only appears when the `resultCode` is `10`, which means that the refund has been initiated and is queued for processing. See [Enhanced Refund Flow](/guides/pay-in-enhanced-refund-flow) for more information about refund processing. title: ExpectedProcessingDateTime type_:AvsResponseText: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponseText type_:CustomerId: type: integer format: int64 description: The Payabli-generated unique ID for the customer. title: CustomerId type_:CvvResponseText: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponseText type_:MethodReferenceId: type: string description: >- The stored method's identifier (sometimes referred to as 'token') in Payabli. When `null`, the method wasn't created, or doesn't exist, depending on the operation performed. title: MethodReferenceId type_:Referenceidtrans: type: string description: The transaction identifier in Payabli. title: Referenceidtrans type_:ResultCode: type: integer description: >- Result code for the operation. Value 1 indicates a successful operation, values 2 and 3 indicate errors. A value of 10 indicates that an operation has been initiated and is pending. title: ResultCode type_moneyIn:ResponseDataRefunds: type: object properties: authCode: $ref: '#/components/schemas/type_:Authcode' expectedProcessingDateTime: oneOf: - $ref: '#/components/schemas/type_:ExpectedProcessingDateTime' - type: 'null' avsResponseText: $ref: '#/components/schemas/type_:AvsResponseText' description: This field isn't applicable to refund operations. customerId: oneOf: - $ref: '#/components/schemas/type_:CustomerId' - type: 'null' cvvResponseText: oneOf: - $ref: '#/components/schemas/type_:CvvResponseText' - type: 'null' description: This field isn't applicable to refund operations. methodReferenceId: oneOf: - $ref: '#/components/schemas/type_:MethodReferenceId' - type: 'null' description: This field isn't applicable to refund operations. referenceId: $ref: '#/components/schemas/type_:Referenceidtrans' resultCode: $ref: '#/components/schemas/type_:ResultCode' resultText: type: string description: Text description of the transaction result required: - authCode - expectedProcessingDateTime - customerId - cvvResponseText - methodReferenceId - referenceId - resultCode - resultText title: ResponseDataRefunds type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_moneyIn:RefundWithInstructionsResponse: type: object properties: responseText: $ref: '#/components/schemas/type_:ResponseText' isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_moneyIn:ResponseDataRefunds' pageidentifier: $ref: '#/components/schemas/type_:PageIdentifier' required: - responseText - isSuccess - responseData title: RefundWithInstructionsResponse type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript FullSplitRefund import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.moneyIn.refundWithInstructions("10-3ffa27df-b171-44e0-b251-e95fbfc7a723", { idempotencyKey: "8A29FC40-CA47-1067-B31D-00DD010662DB", amount: 100, orderDescription: "Materials deposit", refundDetails: { splitRefunding: [ { accountId: "187-342", amount: 60, description: "Refunding undelivered materials", originationEntryPoint: "7f1a381696", }, { accountId: "187-343", amount: 40, description: "Refunding deposit for undelivered materials", originationEntryPoint: "7f1a381696", }, ], }, source: "api", }); } main(); ``` ```python FullSplitRefund from payabli import payabli, RefundDetail, SplitFundingRefundContent client = payabli( api_key="YOUR_API_KEY_HERE", ) client.money_in.refund_with_instructions( trans_id="10-3ffa27df-b171-44e0-b251-e95fbfc7a723", idempotency_key="8A29FC40-CA47-1067-B31D-00DD010662DB", amount=100, order_description="Materials deposit", refund_details=RefundDetail( split_refunding=[ SplitFundingRefundContent( account_id="187-342", amount=60, description="Refunding undelivered materials", origination_entry_point="7f1a381696", ), SplitFundingRefundContent( account_id="187-343", amount=40, description="Refunding deposit for undelivered materials", origination_entry_point="7f1a381696", ) ], ), source="api", ) ``` ```csharp FullSplitRefund using PayabliPayabliApi; using System.Threading.Tasks; using System.Collections.Generic; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.MoneyIn.RefundWithInstructionsAsync( "10-3ffa27df-b171-44e0-b251-e95fbfc7a723", new RequestRefund { IdempotencyKey = "8A29FC40-CA47-1067-B31D-00DD010662DB", Amount = 100, OrderDescription = "Materials deposit", RefundDetails = new RefundDetail { SplitRefunding = new List(){ new SplitFundingRefundContent { AccountId = "187-342", Amount = 60, Description = "Refunding undelivered materials", OriginationEntryPoint = "7f1a381696" }, new SplitFundingRefundContent { AccountId = "187-343", Amount = 40, Description = "Refunding deposit for undelivered materials", OriginationEntryPoint = "7f1a381696" }, } }, Source = "api" } ); } } ``` ```go FullSplitRefund package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/MoneyIn/refund/10-3ffa27df-b171-44e0-b251-e95fbfc7a723" payload := strings.NewReader("{\n \"amount\": 100,\n \"orderDescription\": \"Materials deposit\",\n \"refundDetails\": {\n \"splitRefunding\": [\n {\n \"accountId\": \"187-342\",\n \"amount\": 60,\n \"description\": \"Refunding undelivered materials\",\n \"originationEntryPoint\": \"7f1a381696\"\n },\n {\n \"accountId\": \"187-343\",\n \"amount\": 40,\n \"description\": \"Refunding deposit for undelivered materials\",\n \"originationEntryPoint\": \"7f1a381696\"\n }\n ]\n },\n \"source\": \"api\"\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("idempotencyKey", "8A29FC40-CA47-1067-B31D-00DD010662DB") req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby FullSplitRefund require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/MoneyIn/refund/10-3ffa27df-b171-44e0-b251-e95fbfc7a723") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["idempotencyKey"] = '8A29FC40-CA47-1067-B31D-00DD010662DB' request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"amount\": 100,\n \"orderDescription\": \"Materials deposit\",\n \"refundDetails\": {\n \"splitRefunding\": [\n {\n \"accountId\": \"187-342\",\n \"amount\": 60,\n \"description\": \"Refunding undelivered materials\",\n \"originationEntryPoint\": \"7f1a381696\"\n },\n {\n \"accountId\": \"187-343\",\n \"amount\": 40,\n \"description\": \"Refunding deposit for undelivered materials\",\n \"originationEntryPoint\": \"7f1a381696\"\n }\n ]\n },\n \"source\": \"api\"\n}" response = http.request(request) puts response.read_body ``` ```java FullSplitRefund import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/MoneyIn/refund/10-3ffa27df-b171-44e0-b251-e95fbfc7a723") .header("idempotencyKey", "8A29FC40-CA47-1067-B31D-00DD010662DB") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"amount\": 100,\n \"orderDescription\": \"Materials deposit\",\n \"refundDetails\": {\n \"splitRefunding\": [\n {\n \"accountId\": \"187-342\",\n \"amount\": 60,\n \"description\": \"Refunding undelivered materials\",\n \"originationEntryPoint\": \"7f1a381696\"\n },\n {\n \"accountId\": \"187-343\",\n \"amount\": 40,\n \"description\": \"Refunding deposit for undelivered materials\",\n \"originationEntryPoint\": \"7f1a381696\"\n }\n ]\n },\n \"source\": \"api\"\n}") .asString(); ``` ```php FullSplitRefund request('POST', 'https://api-sandbox.payabli.com/api/MoneyIn/refund/10-3ffa27df-b171-44e0-b251-e95fbfc7a723', [ 'body' => '{ "amount": 100, "orderDescription": "Materials deposit", "refundDetails": { "splitRefunding": [ { "accountId": "187-342", "amount": 60, "description": "Refunding undelivered materials", "originationEntryPoint": "7f1a381696" }, { "accountId": "187-343", "amount": 40, "description": "Refunding deposit for undelivered materials", "originationEntryPoint": "7f1a381696" } ] }, "source": "api" }', 'headers' => [ 'Content-Type' => 'application/json', 'idempotencyKey' => '8A29FC40-CA47-1067-B31D-00DD010662DB', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift FullSplitRefund import Foundation let headers = [ "idempotencyKey": "8A29FC40-CA47-1067-B31D-00DD010662DB", "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "amount": 100, "orderDescription": "Materials deposit", "refundDetails": ["splitRefunding": [ [ "accountId": "187-342", "amount": 60, "description": "Refunding undelivered materials", "originationEntryPoint": "7f1a381696" ], [ "accountId": "187-343", "amount": 40, "description": "Refunding deposit for undelivered materials", "originationEntryPoint": "7f1a381696" ] ]], "source": "api" ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/MoneyIn/refund/10-3ffa27df-b171-44e0-b251-e95fbfc7a723")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ```typescript PartialSplitRefund import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.moneyIn.refundWithInstructions("10-3ffa27df-b171-44e0-b251-e95fbfc7a723", { idempotencyKey: "8A29FC40-CA47-1067-B31D-00DD010662DB", amount: 70, orderDescription: "Materials deposit", refundDetails: { splitRefunding: [ { accountId: "187-342", amount: 40, description: "Refunding undelivered materials", originationEntryPoint: "7f1a381696", }, { accountId: "187-343", amount: 30, description: "Refunding deposit for undelivered materials", originationEntryPoint: "7f1a381696", }, ], }, source: "api", }); } main(); ``` ```python PartialSplitRefund from payabli import payabli, RefundDetail, SplitFundingRefundContent client = payabli( api_key="YOUR_API_KEY_HERE", ) client.money_in.refund_with_instructions( trans_id="10-3ffa27df-b171-44e0-b251-e95fbfc7a723", idempotency_key="8A29FC40-CA47-1067-B31D-00DD010662DB", amount=70, order_description="Materials deposit", refund_details=RefundDetail( split_refunding=[ SplitFundingRefundContent( account_id="187-342", amount=40, description="Refunding undelivered materials", origination_entry_point="7f1a381696", ), SplitFundingRefundContent( account_id="187-343", amount=30, description="Refunding deposit for undelivered materials", origination_entry_point="7f1a381696", ) ], ), source="api", ) ``` ```csharp PartialSplitRefund using PayabliPayabliApi; using System.Threading.Tasks; using System.Collections.Generic; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.MoneyIn.RefundWithInstructionsAsync( "10-3ffa27df-b171-44e0-b251-e95fbfc7a723", new RequestRefund { IdempotencyKey = "8A29FC40-CA47-1067-B31D-00DD010662DB", Amount = 70, OrderDescription = "Materials deposit", RefundDetails = new RefundDetail { SplitRefunding = new List(){ new SplitFundingRefundContent { AccountId = "187-342", Amount = 40, Description = "Refunding undelivered materials", OriginationEntryPoint = "7f1a381696" }, new SplitFundingRefundContent { AccountId = "187-343", Amount = 30, Description = "Refunding deposit for undelivered materials", OriginationEntryPoint = "7f1a381696" }, } }, Source = "api" } ); } } ``` ```go PartialSplitRefund package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/MoneyIn/refund/10-3ffa27df-b171-44e0-b251-e95fbfc7a723" payload := strings.NewReader("{\n \"amount\": 70,\n \"orderDescription\": \"Materials deposit\",\n \"refundDetails\": {\n \"splitRefunding\": [\n {\n \"accountId\": \"187-342\",\n \"amount\": 40,\n \"description\": \"Refunding undelivered materials\",\n \"originationEntryPoint\": \"7f1a381696\"\n },\n {\n \"accountId\": \"187-343\",\n \"amount\": 30,\n \"description\": \"Refunding deposit for undelivered materials\",\n \"originationEntryPoint\": \"7f1a381696\"\n }\n ]\n },\n \"source\": \"api\"\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("idempotencyKey", "8A29FC40-CA47-1067-B31D-00DD010662DB") req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby PartialSplitRefund require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/MoneyIn/refund/10-3ffa27df-b171-44e0-b251-e95fbfc7a723") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["idempotencyKey"] = '8A29FC40-CA47-1067-B31D-00DD010662DB' request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"amount\": 70,\n \"orderDescription\": \"Materials deposit\",\n \"refundDetails\": {\n \"splitRefunding\": [\n {\n \"accountId\": \"187-342\",\n \"amount\": 40,\n \"description\": \"Refunding undelivered materials\",\n \"originationEntryPoint\": \"7f1a381696\"\n },\n {\n \"accountId\": \"187-343\",\n \"amount\": 30,\n \"description\": \"Refunding deposit for undelivered materials\",\n \"originationEntryPoint\": \"7f1a381696\"\n }\n ]\n },\n \"source\": \"api\"\n}" response = http.request(request) puts response.read_body ``` ```java PartialSplitRefund import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/MoneyIn/refund/10-3ffa27df-b171-44e0-b251-e95fbfc7a723") .header("idempotencyKey", "8A29FC40-CA47-1067-B31D-00DD010662DB") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"amount\": 70,\n \"orderDescription\": \"Materials deposit\",\n \"refundDetails\": {\n \"splitRefunding\": [\n {\n \"accountId\": \"187-342\",\n \"amount\": 40,\n \"description\": \"Refunding undelivered materials\",\n \"originationEntryPoint\": \"7f1a381696\"\n },\n {\n \"accountId\": \"187-343\",\n \"amount\": 30,\n \"description\": \"Refunding deposit for undelivered materials\",\n \"originationEntryPoint\": \"7f1a381696\"\n }\n ]\n },\n \"source\": \"api\"\n}") .asString(); ``` ```php PartialSplitRefund request('POST', 'https://api-sandbox.payabli.com/api/MoneyIn/refund/10-3ffa27df-b171-44e0-b251-e95fbfc7a723', [ 'body' => '{ "amount": 70, "orderDescription": "Materials deposit", "refundDetails": { "splitRefunding": [ { "accountId": "187-342", "amount": 40, "description": "Refunding undelivered materials", "originationEntryPoint": "7f1a381696" }, { "accountId": "187-343", "amount": 30, "description": "Refunding deposit for undelivered materials", "originationEntryPoint": "7f1a381696" } ] }, "source": "api" }', 'headers' => [ 'Content-Type' => 'application/json', 'idempotencyKey' => '8A29FC40-CA47-1067-B31D-00DD010662DB', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift PartialSplitRefund import Foundation let headers = [ "idempotencyKey": "8A29FC40-CA47-1067-B31D-00DD010662DB", "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "amount": 70, "orderDescription": "Materials deposit", "refundDetails": ["splitRefunding": [ [ "accountId": "187-342", "amount": 40, "description": "Refunding undelivered materials", "originationEntryPoint": "7f1a381696" ], [ "accountId": "187-343", "amount": 30, "description": "Refunding deposit for undelivered materials", "originationEntryPoint": "7f1a381696" ] ]], "source": "api" ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/MoneyIn/refund/10-3ffa27df-b171-44e0-b251-e95fbfc7a723")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Get transaction details GET https://api-sandbox.payabli.com/api/MoneyIn/details/{transId} Retrieve a processed transaction's details. Reference: https://docs.payabli.com/developers/api-reference/moneyin/get-details-for-a-processed-transaction ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /MoneyIn/details/{transId}: get: operationId: details summary: Get details for a processed transaction description: Retrieve a processed transaction's details. tags: - subpackage_moneyIn parameters: - name: transId in: path description: ReferenceId for the transaction (PaymentId). required: true schema: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:TransactionQueryRecordsCustomer' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:AchHolderType: type: string enum: - personal - business default: personal description: 'The bank''s accountholder type: personal or business.' title: AchHolderType type_:AchSecCode: type: string description: >- Standard Entry Class (SEC) code is a three letter code that describes how an ACH payment was authorized. Supported values are: - PPD (Prearranged Payment and Deposit) - Used for credits or debits where an accountholder authorizes a company to initiate either a single or recurring transaction to their personal bank account. Common examples include direct deposit of payroll, mortgage payments, or utility bills. This is the default value for subscription payments. - WEB (Internet-Initiated/Mobile Entry) - Used for debit entries when authorization is obtained from an accountholder via the internet or a wireless network. Common examples are online bill payments, ecommerce purchases, and mobile app payments where the consumer enters their banking information online. - TEL (Telephone-Initiated Entry) - Used for one-time debit entries where authorization is obtained from a consumer via telephone. Common examples are phone-based purchases or bill payments where the consumer provides their banking information over the phone. - CCD (Corporate Credit or Debit) - Used for fund transfers between business accounts. This code is specifically for business-to-business transactions. Common examples include vendor payments and other business-to-business payments. - BOC (Back Office Conversion) - Used to convert paper checks received in-person at a point-of-sale or staffed payment location into electronic ACH debits. Required for Remote Deposit Capture (RDC) transactions. Only supports consumer checks; business, government, and mailed checks aren't eligible. title: AchSecCode type_:BatchNumber: type: string description: >- A unique identifier for the batch. This is generated by Payabli when the batch is created, and follows this format: `paypointId + "_" + serviceName + "_" + batchDate:yyyyMMdd + "_" + Guid.NewGuid()`. Payabli generates the GUID to ensure that the batch number is unique. For example, in this batch number: `123_card_20251008_3f2504e0-4f89-11d3-9a0c-0305e82c3301`, the paypointID is "123", the service is "card", the batch date is "2025-10-08", and the GUID is "3f2504e0-4f89-11d3-9a0c-0305e82c3301". title: BatchNumber type_:TransactionTime: type: string format: date-time description: Timestamp when transaction was submitted, in UTC. title: TransactionTime type_:QueryCFeeTransaction: type: object properties: cFeeTransid: type: string feeAmount: type: number format: double operation: type: string refundId: type: integer format: int64 responseData: type: object additionalProperties: description: Any type settlementStatus: type: integer transactionTime: $ref: '#/components/schemas/type_:TransactionTime' transStatus: type: integer title: QueryCFeeTransaction type_:BillingZip: type: string description: Billing address ZIP code. title: BillingZip type_:Email: type: string format: email description: Email address. title: Email type_:CustomerNumberNullable: type: string description: >- User-provided unique identifier for the customer. This is typically the customer ID from your own system. title: CustomerNumberNullable type_:Shippingaddress: type: string description: The shipping address. title: Shippingaddress type_:Shippingaddressadditional: type: string description: Additional line for shipping address. title: Shippingaddressadditional type_:Shippingcity: type: string description: Shipping city. title: Shippingcity type_:Shippingstate: type: string description: Shipping state or province. title: Shippingstate type_:Shippingzip: type: string description: >- Shipping ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". title: Shippingzip type_:Shippingcountry: type: string description: Shipping address country. title: Shippingcountry type_:CustomerId: type: integer format: int64 description: The Payabli-generated unique ID for the customer. title: CustomerId type_:CustomerStatus: type: integer description: |- Customer Status. Possible values: - `-99` Deleted - `0` Inactive - `1` Active - `85` Locked (typically due to multiple failed login attempts) title: CustomerStatus type_:AdditionalDataMap: type: object additionalProperties: type: string description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalDataMap type_:QueryTransactionPayorDataCustomer: type: object properties: Identifiers: type: array items: description: Any type description: Array of field names to be used as identifiers. FirstName: type: string description: Customer/Payor first name. LastName: type: string description: Customer/Payor last name. CompanyName: type: string description: Customer's company name. BillingAddress1: type: string description: Customer's billing address. BillingAddress2: type: string description: Additional line for Customer's billing address. BillingCity: type: string description: Customer's billing city. BillingState: type: string description: >- Customer's billing state. Must be 2-letter state code for address in US. BillingZip: $ref: '#/components/schemas/type_:BillingZip' description: Customer's billing ZIP code. BillingCountry: type: string description: Customer's billing country. BillingPhone: type: string description: Customer's phone number. BillingEmail: $ref: '#/components/schemas/type_:Email' description: Customer's email address. CustomerNumber: $ref: '#/components/schemas/type_:CustomerNumberNullable' ShippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' ShippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' ShippingCity: $ref: '#/components/schemas/type_:Shippingcity' ShippingState: $ref: '#/components/schemas/type_:Shippingstate' ShippingZip: $ref: '#/components/schemas/type_:Shippingzip' ShippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' customerId: $ref: '#/components/schemas/type_:CustomerId' customerStatus: $ref: '#/components/schemas/type_:CustomerStatus' AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' title: QueryTransactionPayorDataCustomer type_:Device: type: string description: Identifier of registered cloud device used in the transaction. title: Device type_:EntrypageId: type: integer format: int64 description: >- If applicable, the internal reference ID to the payment page capturing the payment. title: EntrypageId type_:ExternalProcessorInformation: type: string description: >- Processor information, used for troubleshooting and reporting. This field contains a value when the API key used to make the request has management permissions. title: ExternalProcessorInformation type_:FeeAmount: type: number format: double description: Service fee or sub-charge applied. title: FeeAmount type_:FileContentFtype: type: string enum: - pdf - doc - docx - jpg - jpeg - png - gif - txt description: The MIME type of the file (if content is provided) title: FileContentFtype type_:FileContent: type: object properties: fContent: type: string description: >- Content of file, Base64-encoded. Ignored if furl is specified. Max upload size is 30 MB. filename: type: string description: The name of the attached file. ftype: $ref: '#/components/schemas/type_:FileContentFtype' description: The MIME type of the file (if content is provided) furl: type: string description: Optional URL provided to show or download the file remotely description: Contains details about a file. Max upload size is 30 MB. title: FileContent type_:Attachments: type: array items: $ref: '#/components/schemas/type_:FileContent' description: >- Array of `fileContent` objects with attached documents. Max upload size is 30 MB. title: Attachments type_:Discount: type: number format: double description: Discount applied to the invoice. title: Discount type_:DutyAmount: type: number format: double description: Duty amount. title: DutyAmount type_:FreightAmount: type: number format: double description: Freight/shipping amount. title: FreightAmount type_:Frequency: type: string enum: - onetime - weekly - every2weeks - every6months - monthly - every3months - annually description: Frequency for operation. title: Frequency type_:InvoiceAmount: type: number format: double description: Invoice total amount. title: InvoiceAmount type_:InvoiceNumber: type: string description: >- Custom number identifying the bill or invoice. Must be unique in paypoint. title: InvoiceNumber type_:Invoicestatus: type: integer description: |- Status for invoice. The accepted status values are: - 0 draft - 1 active - 2 partially paid - 4 paid/complete - 99 cancelled title: Invoicestatus type_:InvoiceType: type: integer description: Type of invoice. Only `0` for one-time invoices is currently supported. title: InvoiceType type_:ItemCommodityCode: type: string description: Item or product commodity code. Max length of 250 characters. title: ItemCommodityCode type_:ItemDescription: type: string description: Item or product description. Max length of 250 characters. title: ItemDescription type_:ItemProductCode: type: string description: Item or product code. Max length of 250 characters. title: ItemProductCode type_:ItemProductName: type: string description: Item or product name. Max length of 250 characters. title: ItemProductName type_:ItemUnitofMeasure: type: string description: Unit of measurement. Max length of 100 characters. title: ItemUnitofMeasure type_:BillItem: type: object properties: itemCategories: type: array items: type: string description: Array of tags classifying item or product. itemCommodityCode: $ref: '#/components/schemas/type_:ItemCommodityCode' itemCost: type: number format: double description: Item or product price per unit. itemDescription: $ref: '#/components/schemas/type_:ItemDescription' itemMode: type: integer description: >- Internal class of item or product: value '0' is only for invoices , '1' for bills and, '2' common for both. itemProductCode: $ref: '#/components/schemas/type_:ItemProductCode' itemProductName: $ref: '#/components/schemas/type_:ItemProductName' itemQty: type: integer description: Quantity of item or product. itemTaxAmount: type: number format: double description: Tax amount applied to item or product. itemTaxRate: type: number format: double description: Tax rate applied to item or product. itemTotalAmount: type: number format: double description: Total amount in item or product. itemUnitOfMeasure: $ref: '#/components/schemas/type_:ItemUnitofMeasure' required: - itemCost title: BillItem type_:BillDataPaymentTerms: type: string enum: - PIA - CIA - UR - NET10 - NET20 - NET30 - NET45 - NET60 - NET90 - EOM - MFI - 5MFI - 10MFI - 15MFI - 20MFI - 2/10NET30 - UF - 10UF - 20UF - 25UF - 50UF description: >- Payment terms for invoice. If no terms are defined, then response data for this field defaults to `NET30`. **Available Values:** - `PIA`: Payment in advance - `CIA`: Cash in advance - `UR`: Upon receipt - `NET10`: 10 days after invoice date - `NET20`: 20 days after invoice date - `NET30`: 30 days after invoice date - `NET45`: 45 days after invoice date - `NET60`: 60 days after invoice date - `NET90`: 90 days after invoice date - `EOM`: Due end of this month - `MFI`: 1st of the month following the invoice date - `5MFI`: 5th of the month following the invoice date - `10MFI`: 10th of the month following the invoice date - `15MFI`: 15th of the month following the invoice date - `20MFI`: 20th of the month following the invoice date - `2/10NET30`: 2% discount if paid within 10 days, otherwise net 30 days - `UF`: Until further notice - `10UF`: 10 days until further notice - `20UF`: 20 days until further notice - `25UF`: 25 days until further notice - `50UF`: 50 days until further notice title: BillDataPaymentTerms type_:PurchaseOrder: type: string description: Purchase order number. title: PurchaseOrder type_:ShippingFromZip: type: string description: Sender shipping ZIP code. title: ShippingFromZip type_:SummaryCommodityCode: type: string description: Commodity code. title: SummaryCommodityCode type_:Tax: type: number format: double description: Tax rate in percent applied to the invoice. title: Tax type_:TermsConditions: type: string description: Custom terms and conditions included in the invoice. title: TermsConditions type_:BillData: type: object properties: AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' attachments: $ref: '#/components/schemas/type_:Attachments' company: type: string description: Company name of the recipient of the invoice. discount: $ref: '#/components/schemas/type_:Discount' dutyAmount: $ref: '#/components/schemas/type_:DutyAmount' firstName: type: string description: First name of the recipient of the invoice. freightAmount: $ref: '#/components/schemas/type_:FreightAmount' frequency: $ref: '#/components/schemas/type_:Frequency' description: Frequency of scheduled invoice. invoiceAmount: $ref: '#/components/schemas/type_:InvoiceAmount' invoiceDate: type: string format: date description: 'Invoice date in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY.' invoiceDueDate: type: string format: date description: >- Invoice due date in one of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceEndDate: type: string format: date description: >- Indicate the date to finish a scheduled invoice cycle (`invoiceType`` = 1) in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceNumber: $ref: '#/components/schemas/type_:InvoiceNumber' description: Invoice number. Identifies the invoice under a paypoint. invoiceStatus: $ref: '#/components/schemas/type_:Invoicestatus' invoiceType: $ref: '#/components/schemas/type_:InvoiceType' items: type: array items: $ref: '#/components/schemas/type_:BillItem' description: Array of line items included in the invoice. lastName: type: string description: Last name of the recipient of the invoice. notes: type: string description: Notes included in the invoice. paymentTerms: $ref: '#/components/schemas/type_:BillDataPaymentTerms' purchaseOrder: $ref: '#/components/schemas/type_:PurchaseOrder' shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' shippingEmail: $ref: '#/components/schemas/type_:Email' description: Shipping recipient's contact email address. shippingFromZip: $ref: '#/components/schemas/type_:ShippingFromZip' shippingPhone: type: string description: Recipient phone number. shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' summaryCommodityCode: $ref: '#/components/schemas/type_:SummaryCommodityCode' tax: $ref: '#/components/schemas/type_:Tax' termsConditions: $ref: '#/components/schemas/type_:TermsConditions' title: BillData type_:Netamountnullable: type: number format: double description: Net amount. title: Netamountnullable type_:Operation: type: string description: The transaction's operation. title: Operation type_:OrderId: type: string description: Custom identifier for the transaction. title: OrderId type_:Orgid: type: integer format: int64 description: Organization ID. Unique identifier assigned to an org by Payabli. title: Orgid type_:OrgParentName: type: string description: The name of the parent organization. title: OrgParentName type_:Accountexp: type: string description: Expiration date of card used in transaction. title: Accountexp type_:Accountid: type: string description: Custom identifier for payment connector. title: Accountid type_:Accounttype: type: string description: Bank account type or card brand. title: Accounttype type_:Accountzip: type: string description: ZIP code for card used in transaction. title: Accountzip type_:BinData: type: object properties: binMatchedLength: type: string description: |- The number of characters from the beginning of the card number that were matched against a Bank Identification Number (BIN) or the Card Range table. binCardBrand: type: string description: |- The card brand. For example, Visa, Mastercard, American Express, Discover. binCardType: type: string description: 'The type of card: Credit or Debit.' binCardCategory: type: string description: >- The category of the card, which indicates the card product. For example: Standard, Gold, Platinum, etc. The binCardCategory for prepaid cards is marked `PREPAID`. binCardIssuer: type: string description: The name of the financial institution that issued the card. binCardIssuerCountry: type: string description: The issuing financial institution's country name. binCardIssuerCountryCodeA2: type: string description: >- The issuing financial institution's two-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIssuerCountryNumber: type: string description: >- The issuing financial institution's ISO standard numeric country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIsRegulated: type: string description: Indicates whether the card is regulated. binCardUseCategory: type: string description: The use category classification for the card. binCardIssuerCountryCodeA3: type: string description: >- The issuing financial institution's three-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. description: >- Object containing information related to the card. This object is `null` unless the payment method is card. If the payment method is Apple Pay, the binData will be related to the DPAN (device primary account number), not the card connected to Apple Pay. title: BinData type_:Holdername: type: string description: Account holder name for the method. title: Holdername type_:Initiator: type: string description: >- **Strongly recommended** The cardholder-initiated transaction (CIT) or merchant-initiated transaction (MIT) indicator for the transaction. If you don't specify a value, Payabli defaults to `merchant`. Available values: - `payor`: For cardholder-initiated transactions - `merchant`: For merchant-initiated transactions See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Initiator type_:Maskedaccount: type: string description: >- Masked card or bank account used in transaction. In the case of Apple Pay, this is a masked DPAN (device primary account number). title: Maskedaccount type_:Orderdescription: type: string description: Text description of the transaction. title: Orderdescription type_:PaymentCategories: type: object properties: amount: type: number format: double description: Price/cost per unit of item or category. description: type: string description: Description of item or category label: type: string description: Name of item or category. qty: type: integer default: 1 description: Quantity of item or category required: - amount - label title: PaymentCategories type_:SplitFundingContent: type: object properties: accountId: type: string description: The accountId for the account the split should be sent to. amount: type: number format: double description: Amount from the transaction to sent to this recipient. description: type: string description: A description for the split. recipientEntryPoint: type: string description: The entrypoint the split should be sent to. title: SplitFundingContent type_:SplitFunding: type: array items: $ref: '#/components/schemas/type_:SplitFundingContent' description: >- Split funding instructions for the transaction. The total amount of the splits must match the total amount of the transaction. title: SplitFunding type_:PaymentDetail: type: object properties: categories: type: array items: $ref: '#/components/schemas/type_:PaymentCategories' description: >- Array of payment categories/line items describing the amount to be paid. **Note**: These categories are for information only and aren't validated against the total amount provided. checkImage: type: object additionalProperties: description: Any type description: Object containing image of paper check. checkNumber: type: string description: >- A check number to be used in the ach transaction. **Required** for payment method = 'check'. currency: type: string description: >- The currency for the transaction, `USD` or `CAD`. If your paypoint is configured for CAD, you must send the `CAD` value in this field, otherwise it defaults to USD, which will cause the transaction to fail. serviceFee: type: number format: double description: >- Service fee to be deducted from the total amount. This amount must be a number, percentages aren't accepted. If you are using a percentage-based fee schedule, you must calculate the value manually. splitFunding: $ref: '#/components/schemas/type_:SplitFunding' description: >- Split funding instructions for the transaction. See [Split a Transaction](/developers/developer-guides/money-in-split-funding) for more. checkUniqueId: type: string description: >- Unique identifier for a processed check image. Required for RDC (Remote Deposit Capture) transactions where `achCode` is `BOC`. Use the `id` value from the [check processing](/developers/api-reference/moneyin/check-capture) response. totalAmount: type: number format: double description: >- Total amount to be charged. If a service fee is sent, then this amount should include the service fee." required: - totalAmount description: Details about the payment. title: PaymentDetail type_:Sequence: type: string description: >- The order of the transaction for cardholder-initiated transaction (CIT) and merchant-initiated transaction (MIT) purposes. This field is automatically detected and populated by Payabli. Available values: - `first`: The first use of the payment method. This is almost always a cardholder-initiated transaction. - `subsequent`: For merchant-initiated transactions after the first use of the payment method. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Sequence type_:Signaturedata: type: string title: Signaturedata type_:Storedmethodid: type: string description: >- Payabli identifier of a tokenized payment method. If this field is used in a request, the `method` field is overridden and the payment is made using the payment token. title: Storedmethodid type_:StoredMethodUsageType: type: string description: >- **Strongly recommended** The usage type for the stored method, used for merchant-initiated transactions (MIT). If you don't specify a value, Payabli defaults to `unscheduled`. Available values: - `unscheduled`: This type is used for transactions that are one-time or otherwise not pre-scheduled. - `subscription`: This type is used for subscription payments. For example, monthly rental fees or ongoing service subscriptions. - `recurring`: This type is used for recurring payments that occur per a set plan. For example, splitting an HOA special assessment over 6 monthly payments. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: StoredMethodUsageType type_:QueryPaymentData: type: object properties: AccountExp: $ref: '#/components/schemas/type_:Accountexp' accountId: $ref: '#/components/schemas/type_:Accountid' AccountType: $ref: '#/components/schemas/type_:Accounttype' AccountZip: $ref: '#/components/schemas/type_:Accountzip' binData: $ref: '#/components/schemas/type_:BinData' HolderName: $ref: '#/components/schemas/type_:Holdername' Initiator: $ref: '#/components/schemas/type_:Initiator' MaskedAccount: $ref: '#/components/schemas/type_:Maskedaccount' orderDescription: $ref: '#/components/schemas/type_:Orderdescription' paymentDetails: $ref: '#/components/schemas/type_:PaymentDetail' Sequence: $ref: '#/components/schemas/type_:Sequence' SignatureData: $ref: '#/components/schemas/type_:Signaturedata' StoredId: $ref: '#/components/schemas/type_:Storedmethodid' description: Identifier of stored payment method used in transaction. StoredMethodUsageType: $ref: '#/components/schemas/type_:StoredMethodUsageType' title: QueryPaymentData type_:PayorId: type: integer format: int64 description: >- Unique ID for the customer linked to the transaction. This is the same value as the `customerId` used when creating or referencing a customer. title: PayorId type_:Dbaname: type: string description: >- The alternate or common name that this business is doing business under usually referred to as a DBA name. title: Dbaname type_:Entrypointfield: type: string description: The entrypoint identifier. title: Entrypointfield type_:Legalname: type: string description: Business legal name. title: Legalname type_:PendingFeeAmount: type: number format: double description: >- The difference between the configured pass-through fee and the fee amount sent in the request. When transferring funds, Payabli uses this field to deduct the fee difference and transfer the correct amount to the merchant. When a paypoint is set up to absorb fees, and the pass-through fee sent with the request is less than the configured amount, the difference must be covered by the merchant. See [Fee Configuration](/guides/pay-in-fees-passthrough-overview#fee-configuration) to learn more about pass-through fee settings. title: PendingFeeAmount type_:RefundId: type: integer format: int64 description: Identifier of refund transaction linked to this payment. title: RefundId type_:Authcode: type: string description: Authorization code for the transaction. title: Authcode type_:AvsResponse: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponse type_:AvsResponseText: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponseText type_:CvvResponse: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponse type_:CvvResponseText: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponseText type_:EmvAuthResponseData: type: string description: EMV authorization response data, applicable for card transactions. title: EmvAuthResponseData type_:ResultCodev2: type: string description: >- Unified result code for the transaction. See [Pay In unified response codes](/developers/references/pay-in-unified-response-codes-reference) for more information. title: ResultCodev2 type_:ResultCodeText: type: string description: >- Description of the result code. See [Pay In unified response codes](/developers/references/pay-in-unified-response-codes-reference) for more information. title: ResultCodeText type_:QueryResponseData: type: object properties: authcode: $ref: '#/components/schemas/type_:Authcode' avsresponse: $ref: '#/components/schemas/type_:AvsResponse' avsresponse_text: $ref: '#/components/schemas/type_:AvsResponseText' cvvresponse: $ref: '#/components/schemas/type_:CvvResponse' cvvresponse_text: $ref: '#/components/schemas/type_:CvvResponseText' emv_auth_response_data: $ref: '#/components/schemas/type_:EmvAuthResponseData' orderid: $ref: '#/components/schemas/type_:OrderId' response: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' response_code: type: string description: >- Internal result code processing the transaction. Value 1 indicates successful operation, values 2 and 3 indicate errors. response_code_text: type: string description: >- Text describing the result. If resultCode = 1, will return 'Approved' or a general success message. If resultCode = 2 or 3, will contain the cause of the decline. responsetext: type: string description: >- Text describing the result. If resultCode = 1, will return 'Approved' or a general success message. If resultCode = 2 or 3, will contain the cause of the decline. resultCode: $ref: '#/components/schemas/type_:ResultCodev2' resultCodeText: $ref: '#/components/schemas/type_:ResultCodeText' transactionid: type: string description: The transaction identifier in Payabli. type: type: string description: Type of transaction or operation. description: The transaction's response data. title: QueryResponseData type_:ReturnedId: type: integer format: int64 description: Identifier of return/chargeback transaction linked to this payment. title: ReturnedId type_:Source: type: string description: Custom identifier to indicate the transaction or request source. title: Source type_:QueryTransactionEventsEventData: oneOf: - type: object additionalProperties: description: Any type - type: string description: >- Any data associated to the event received from processor. Contents vary by event type. title: QueryTransactionEventsEventData type_:QueryTransactionEvents: type: object properties: EventData: $ref: '#/components/schemas/type_:QueryTransactionEventsEventData' description: >- Any data associated to the event received from processor. Contents vary by event type. EventTime: type: string format: date-time description: Date and time of event. TransEvent: type: string description: >- Event descriptor. See [TransEvent Reference](/guides/pay-in-transevents-reference) for more details. title: QueryTransactionEvents type_:TransactionQueryRecordsCustomer: type: object properties: AchHolderType: $ref: '#/components/schemas/type_:AchHolderType' AchSecCode: $ref: '#/components/schemas/type_:AchSecCode' BatchAmount: type: number format: double description: Batch amount. BatchNumber: $ref: '#/components/schemas/type_:BatchNumber' CfeeTransactions: type: array items: $ref: '#/components/schemas/type_:QueryCFeeTransaction' description: >- Service Fee or sub-charge transaction associated to the main transaction. ConnectorName: type: string description: Connector used for transaction. Customer: $ref: '#/components/schemas/type_:QueryTransactionPayorDataCustomer' DeviceId: $ref: '#/components/schemas/type_:Device' EntrypageId: $ref: '#/components/schemas/type_:EntrypageId' ExternalProcessorInformation: $ref: '#/components/schemas/type_:ExternalProcessorInformation' FeeAmount: $ref: '#/components/schemas/type_:FeeAmount' GatewayTransId: type: string description: Internal identifier used for processing. invoiceData: $ref: '#/components/schemas/type_:BillData' Method: type: string description: 'Payment method used: card, ach, or wallet.' NetAmount: $ref: '#/components/schemas/type_:Netamountnullable' description: Net amount paid. Operation: $ref: '#/components/schemas/type_:Operation' OrderId: $ref: '#/components/schemas/type_:OrderId' OrgId: $ref: '#/components/schemas/type_:Orgid' description: ID of immediate parent organization. ParentOrgName: $ref: '#/components/schemas/type_:OrgParentName' PaymentData: $ref: '#/components/schemas/type_:QueryPaymentData' PaymentTransId: type: string description: Unique Transaction ID. PayorId: $ref: '#/components/schemas/type_:PayorId' PaypointDbaname: $ref: '#/components/schemas/type_:Dbaname' description: Paypoint's DBA name. PaypointEntryname: $ref: '#/components/schemas/type_:Entrypointfield' description: Paypoint's entryname. PaypointId: type: integer format: int64 description: InternalId for paypoint. PaypointLegalname: $ref: '#/components/schemas/type_:Legalname' description: Paypoint's legal name. PendingFeeAmount: $ref: '#/components/schemas/type_:PendingFeeAmount' RefundId: $ref: '#/components/schemas/type_:RefundId' ResponseData: $ref: '#/components/schemas/type_:QueryResponseData' ReturnedId: $ref: '#/components/schemas/type_:ReturnedId' ScheduleReference: type: integer format: int64 description: Reference to the subscription that originated the transaction. SettlementStatus: type: integer description: >- Settlement status for transaction. See [the docs](/developers/references/money-in-statuses#payment-funding-status) for a full reference. Source: $ref: '#/components/schemas/type_:Source' splitFundingInstructions: $ref: '#/components/schemas/type_:SplitFunding' TotalAmount: type: number format: double description: Transaction total amount (including service fee or sub-charge) TransactionEvents: type: array items: $ref: '#/components/schemas/type_:QueryTransactionEvents' description: Events associated with this transaction. TransactionTime: type: - string - 'null' format: date-time description: Transaction date and time, in UTC. TransAdditionalData: description: Any type TransStatus: type: integer description: >- Status of transaction. See [the docs](/developers/references/money-in-statuses#money-in-transaction-status) for a full reference. required: - TransactionTime title: TransactionQueryRecordsCustomer type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript Example Response import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.moneyIn.details("45-as456777hhhhhhhhhh77777777-324"); } main(); ``` ```python Example Response from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.money_in.details( trans_id="45-as456777hhhhhhhhhh77777777-324", ) ``` ```csharp Example Response using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.MoneyIn.DetailsAsync( "45-as456777hhhhhhhhhh77777777-324" ); } } ``` ```go Example Response package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/MoneyIn/details/45-as456777hhhhhhhhhh77777777-324" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Example Response require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/MoneyIn/details/45-as456777hhhhhhhhhh77777777-324") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java Example Response import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/MoneyIn/details/45-as456777hhhhhhhhhh77777777-324") .header("requestToken", "") .asString(); ``` ```php Example Response request('GET', 'https://api-sandbox.payabli.com/api/MoneyIn/details/45-as456777hhhhhhhhhh77777777-324', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift Example Response import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/MoneyIn/details/45-as456777hhhhhhhhhh77777777-324")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Make microdeposit POST https://api-sandbox.payabli.com/api/MoneyIn/makecredit Content-Type: application/json Make a temporary microdeposit in a customer account to verify the customer's ownership and access to the target account. Reverse the microdeposit with `reverseCredit`. Payabli doesn't automatically make microdeposits when you add a bank account, you must manually make the requests. This feature must be enabled by Payabli on a per-merchant basis. Contact support for help. Reference: https://docs.payabli.com/developers/api-reference/moneyin/make-an-ach-credit-transaction ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /MoneyIn/makecredit: post: operationId: credit summary: Make an ACH credit transaction description: >- Make a temporary microdeposit in a customer account to verify the customer's ownership and access to the target account. Reverse the microdeposit with `reverseCredit`. Payabli doesn't automatically make microdeposits when you add a bank account, you must manually make the requests. This feature must be enabled by Payabli on a per-merchant basis. Contact support for help. tags: - subpackage_moneyIn parameters: - name: forceCustomerCreation in: query required: false schema: $ref: '#/components/schemas/type_:ForceCustomerCreation' - name: requestToken in: header required: true schema: type: string - name: idempotencyKey in: header required: false schema: $ref: '#/components/schemas/type_:IdempotencyKey' responses: '200': description: >- Success. The `referenceId` returned in a successful response is the `transId` value you need to reverse the microdeposit. A "Missing Gateway Data" message can indicate that the entrypoint targeted in the request isn't set up for ACH payments. content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse0' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' requestBody: content: application/json: schema: type: object properties: accountId: $ref: '#/components/schemas/type_:Accountid' customerData: $ref: '#/components/schemas/type_:PayorDataRequest' description: Object describing the customer/payor. entrypoint: $ref: '#/components/schemas/type_:Entrypointfield' orderDescription: $ref: '#/components/schemas/type_:Orderdescription' orderId: $ref: '#/components/schemas/type_:OrderId' paymentDetails: $ref: '#/components/schemas/type_:PaymentDetailCredit' paymentMethod: $ref: '#/components/schemas/type_moneyIn:RequestCreditPaymentMethod' description: >- Object describing the ACH payment method to use for transaction. source: $ref: '#/components/schemas/type_:Source' subdomain: $ref: '#/components/schemas/type_:Subdomain' required: - customerData - paymentDetails - paymentMethod servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:ForceCustomerCreation: type: boolean description: >- When `true`, the request creates a new customer record, regardless of whether customer identifiers match an existing customer. Defaults to `false`. title: ForceCustomerCreation type_:IdempotencyKey: type: string description: >- _Optional but recommended_ A unique ID that you can include to prevent duplicating objects or transactions in the case that a request is sent more than once. This key isn't generated in Payabli, you must generate it yourself. This key persists for 2 minutes. After 2 minutes, you can reuse the key if needed. title: IdempotencyKey type_:Accountid: type: string description: Custom identifier for payment connector. title: Accountid type_:AdditionalData: type: object additionalProperties: type: object additionalProperties: description: Any type description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. If you are using [custom identifiers](/developers/developer-guides/entities-customers), pass those in this object. Max length for a value is 100 characters. Example usage: ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalData type_:BillingAddressNullable: type: string description: Billing address. title: BillingAddressNullable type_:BillingAddressAddtlNullable: type: string description: Additional line for the billing address. title: BillingAddressAddtlNullable type_:BillingCityNullable: type: string description: Billing city. title: BillingCityNullable type_:BillingCountryNullable: type: string description: Billing address country. title: BillingCountryNullable type_:Email: type: string format: email description: Email address. title: Email type_:PhoneNumber: type: string description: Phone number. title: PhoneNumber type_:BillingStateNullable: type: string description: Billing state. Must be 2-letter state code for address in US. title: BillingStateNullable type_:BillingZip: type: string description: Billing address ZIP code. title: BillingZip type_:CustomerId: type: integer format: int64 description: The Payabli-generated unique ID for the customer. title: CustomerId type_:CustomerNumberNullable: type: string description: >- User-provided unique identifier for the customer. This is typically the customer ID from your own system. title: CustomerNumberNullable type_:Identifierfields: type: array items: type: string description: >- List of fields acting as customer identifiers, to be used instead of CustomerNumber. title: Identifierfields type_:Shippingaddress: type: string description: The shipping address. title: Shippingaddress type_:Shippingaddressadditional: type: string description: Additional line for shipping address. title: Shippingaddressadditional type_:Shippingcity: type: string description: Shipping city. title: Shippingcity type_:Shippingcountry: type: string description: Shipping address country. title: Shippingcountry type_:Shippingstate: type: string description: Shipping state or province. title: Shippingstate type_:Shippingzip: type: string description: >- Shipping ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". title: Shippingzip type_:PayorDataRequest: type: object properties: additionalData: $ref: '#/components/schemas/type_:AdditionalData' billingAddress1: $ref: '#/components/schemas/type_:BillingAddressNullable' billingAddress2: $ref: '#/components/schemas/type_:BillingAddressAddtlNullable' billingCity: $ref: '#/components/schemas/type_:BillingCityNullable' billingCountry: $ref: '#/components/schemas/type_:BillingCountryNullable' billingEmail: $ref: '#/components/schemas/type_:Email' billingPhone: $ref: '#/components/schemas/type_:PhoneNumber' billingState: $ref: '#/components/schemas/type_:BillingStateNullable' billingZip: $ref: '#/components/schemas/type_:BillingZip' description: >- Customer's billing ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". company: type: string description: Customer's company name. customerId: $ref: '#/components/schemas/type_:CustomerId' customerNumber: $ref: '#/components/schemas/type_:CustomerNumberNullable' firstName: type: string description: Customer/Payor first name. identifierFields: $ref: '#/components/schemas/type_:Identifierfields' lastName: type: string description: Customer/Payor last name. shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' description: >- Customer information. May be required, depending on the paypoint's settings. Required for subscriptions. title: PayorDataRequest type_:Entrypointfield: type: string description: The entrypoint identifier. title: Entrypointfield type_:Orderdescription: type: string description: Text description of the transaction. title: Orderdescription type_:OrderId: type: string description: Custom identifier for the transaction. title: OrderId type_:PaymentDetailCredit: type: object properties: currency: type: string description: >- Currency code ISO-4217. If not code is provided the currency in the paypoint setting is taken. Default is **USD** serviceFee: type: number format: double description: >- Service fee to be deducted from the total amount. This amount must be a number, percentages aren't accepted. If you are using a percentage-based fee schedule, you must calculate the value manually. totalAmount: type: number format: double description: >- Total amount to be charged. If a service fee is provided, then this amount should include the service fee. required: - totalAmount description: 'The PaymentDetail object for microdeposit (MakeCredit) transactions. ' title: PaymentDetailCredit type_:Achaccount: type: string description: Bank account number. title: Achaccount type_:Achaccounttype: type: string enum: - Checking - Savings description: 'Bank account type: Checking or Savings.' title: Achaccounttype type_:AchSecCode: type: string description: >- Standard Entry Class (SEC) code is a three letter code that describes how an ACH payment was authorized. Supported values are: - PPD (Prearranged Payment and Deposit) - Used for credits or debits where an accountholder authorizes a company to initiate either a single or recurring transaction to their personal bank account. Common examples include direct deposit of payroll, mortgage payments, or utility bills. This is the default value for subscription payments. - WEB (Internet-Initiated/Mobile Entry) - Used for debit entries when authorization is obtained from an accountholder via the internet or a wireless network. Common examples are online bill payments, ecommerce purchases, and mobile app payments where the consumer enters their banking information online. - TEL (Telephone-Initiated Entry) - Used for one-time debit entries where authorization is obtained from a consumer via telephone. Common examples are phone-based purchases or bill payments where the consumer provides their banking information over the phone. - CCD (Corporate Credit or Debit) - Used for fund transfers between business accounts. This code is specifically for business-to-business transactions. Common examples include vendor payments and other business-to-business payments. - BOC (Back Office Conversion) - Used to convert paper checks received in-person at a point-of-sale or staffed payment location into electronic ACH debits. Required for Remote Deposit Capture (RDC) transactions. Only supports consumer checks; business, government, and mailed checks aren't eligible. title: AchSecCode type_:AchHolder: type: string description: >- Bank account holder. This field is **required** when `method` is `ach` or `check`. title: AchHolder type_:Achrouting: type: string description: ABA/routing number of Bank account. title: Achrouting type_moneyIn:RequestCreditPaymentMethod: type: object properties: achAccount: $ref: '#/components/schemas/type_:Achaccount' achAccountType: $ref: '#/components/schemas/type_:Achaccounttype' achCode: $ref: '#/components/schemas/type_:AchSecCode' achHolder: $ref: '#/components/schemas/type_:AchHolder' description: Bank account holder. achRouting: $ref: '#/components/schemas/type_:Achrouting' method: type: string enum: - ach description: Method to use for the transaction. Must be ACH. required: - method description: Object describing the ACH payment method to use for transaction. title: RequestCreditPaymentMethod type_:Source: type: string description: Custom identifier to indicate the transaction or request source. title: Source type_:Subdomain: type: string description: >- Refers to the payment page identifier. If provided, then the transaction is linked to the payment page. title: Subdomain type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:Authcode: type: string description: Authorization code for the transaction. title: Authcode type_:AvsResponseText: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponseText type_:Customeridtrans: type: integer format: int64 description: >- Payabli-generated unique ID of customer owner of transaction. Returns `0` if the transaction wasn't assigned to an existing customer or no customer was created. title: Customeridtrans type_:CvvResponseText: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponseText type_:MethodReferenceId: type: string description: >- The stored method's identifier (sometimes referred to as 'token') in Payabli. When `null`, the method wasn't created, or doesn't exist, depending on the operation performed. title: MethodReferenceId type_:Referenceidtrans: type: string description: The transaction identifier in Payabli. title: Referenceidtrans type_:ResultCode: type: integer description: >- Result code for the operation. Value 1 indicates a successful operation, values 2 and 3 indicate errors. A value of 10 indicates that an operation has been initiated and is pending. title: ResultCode type_:Resulttext: type: string description: >- Text describing the result. If `ResultCode` = 1, will return 'Approved' or a general success message. If `ResultCode`` = 2 or 3, will contain the cause of the error or decline. title: Resulttext type_:PayabliApiResponse0ResponseData: type: object properties: AuthCode: $ref: '#/components/schemas/type_:Authcode' avsResponseText: $ref: '#/components/schemas/type_:AvsResponseText' CustomerId: $ref: '#/components/schemas/type_:Customeridtrans' cvvResponseText: $ref: '#/components/schemas/type_:CvvResponseText' methodReferenceId: $ref: '#/components/schemas/type_:MethodReferenceId' ReferenceId: $ref: '#/components/schemas/type_:Referenceidtrans' ResultCode: $ref: '#/components/schemas/type_:ResultCode' ResultText: $ref: '#/components/schemas/type_:Resulttext' title: PayabliApiResponse0ResponseData type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse0: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' pageIdentifier: $ref: '#/components/schemas/type_:PageIdentifier' responseData: $ref: '#/components/schemas/type_:PayabliApiResponse0ResponseData' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText description: General response for certain `moneyIn` and `moneyOut` endpoints. title: PayabliApiResponse0 type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript MinimumFields import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.moneyIn.credit({ idempotencyKey: "6B29FC40-CA47-1067-B31D-00DD010662DA", customerData: { billingAddress1: "5127 Linkwood ave", customerNumber: "100", }, paymentDetails: { totalAmount: 1, serviceFee: 0, }, paymentMethod: { method: "ach", achAccount: "88354454", achAccountType: "Checking", achHolder: "John Smith", achRouting: "021000021", }, entrypoint: "my-entrypoint", }); } main(); ``` ```python MinimumFields from payabli import payabli, PayorDataRequest, PaymentDetailCredit from payabli.money_in import RequestCreditPaymentMethod client = payabli( api_key="YOUR_API_KEY_HERE", ) client.money_in.credit( idempotency_key="6B29FC40-CA47-1067-B31D-00DD010662DA", customer_data=PayorDataRequest( billing_address_1="5127 Linkwood ave", customer_number="100", ), payment_details=PaymentDetailCredit( total_amount=1, service_fee=0, ), payment_method=RequestCreditPaymentMethod( method="ach", ach_account="88354454", ach_account_type="Checking", ach_holder="John Smith", ach_routing="021000021", ), entrypoint="my-entrypoint", ) ``` ```csharp MinimumFields using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.MoneyIn.CreditAsync( new RequestCredit { IdempotencyKey = "6B29FC40-CA47-1067-B31D-00DD010662DA", CustomerData = new PayorDataRequest { BillingAddress1 = "5127 Linkwood ave", CustomerNumber = "100" }, PaymentDetails = new PaymentDetailCredit { TotalAmount = 1, ServiceFee = 0 }, PaymentMethod = new RequestCreditPaymentMethod { Method = "ach", AchAccount = "88354454", AchAccountType = Achaccounttype.Checking, AchHolder = "John Smith", AchRouting = "021000021" }, Entrypoint = "my-entrypoint" } ); } } ``` ```go MinimumFields package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/MoneyIn/makecredit" payload := strings.NewReader("{\n \"customerData\": {\n \"billingAddress1\": \"5127 Linkwood ave\",\n \"customerNumber\": \"100\"\n },\n \"paymentDetails\": {\n \"totalAmount\": 1,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"method\": \"ach\",\n \"achAccount\": \"88354454\",\n \"achAccountType\": \"Checking\",\n \"achHolder\": \"John Smith\",\n \"achRouting\": \"021000021\"\n },\n \"entrypoint\": \"my-entrypoint\"\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("idempotencyKey", "6B29FC40-CA47-1067-B31D-00DD010662DA") req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby MinimumFields require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/MoneyIn/makecredit") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["idempotencyKey"] = '6B29FC40-CA47-1067-B31D-00DD010662DA' request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"customerData\": {\n \"billingAddress1\": \"5127 Linkwood ave\",\n \"customerNumber\": \"100\"\n },\n \"paymentDetails\": {\n \"totalAmount\": 1,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"method\": \"ach\",\n \"achAccount\": \"88354454\",\n \"achAccountType\": \"Checking\",\n \"achHolder\": \"John Smith\",\n \"achRouting\": \"021000021\"\n },\n \"entrypoint\": \"my-entrypoint\"\n}" response = http.request(request) puts response.read_body ``` ```java MinimumFields import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/MoneyIn/makecredit") .header("idempotencyKey", "6B29FC40-CA47-1067-B31D-00DD010662DA") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"customerData\": {\n \"billingAddress1\": \"5127 Linkwood ave\",\n \"customerNumber\": \"100\"\n },\n \"paymentDetails\": {\n \"totalAmount\": 1,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"method\": \"ach\",\n \"achAccount\": \"88354454\",\n \"achAccountType\": \"Checking\",\n \"achHolder\": \"John Smith\",\n \"achRouting\": \"021000021\"\n },\n \"entrypoint\": \"my-entrypoint\"\n}") .asString(); ``` ```php MinimumFields request('POST', 'https://api-sandbox.payabli.com/api/MoneyIn/makecredit', [ 'body' => '{ "customerData": { "billingAddress1": "5127 Linkwood ave", "customerNumber": "100" }, "paymentDetails": { "totalAmount": 1, "serviceFee": 0 }, "paymentMethod": { "method": "ach", "achAccount": "88354454", "achAccountType": "Checking", "achHolder": "John Smith", "achRouting": "021000021" }, "entrypoint": "my-entrypoint" }', 'headers' => [ 'Content-Type' => 'application/json', 'idempotencyKey' => '6B29FC40-CA47-1067-B31D-00DD010662DA', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift MinimumFields import Foundation let headers = [ "idempotencyKey": "6B29FC40-CA47-1067-B31D-00DD010662DA", "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "customerData": [ "billingAddress1": "5127 Linkwood ave", "customerNumber": "100" ], "paymentDetails": [ "totalAmount": 1, "serviceFee": 0 ], "paymentMethod": [ "method": "ach", "achAccount": "88354454", "achAccountType": "Checking", "achHolder": "John Smith", "achRouting": "021000021" ], "entrypoint": "my-entrypoint" ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/MoneyIn/makecredit")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ```typescript ComplexFields import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.moneyIn.credit({ idempotencyKey: "6B29FC40-CA47-1067-B31D-00DD010662DA", customerData: { billingAddress1: "125 Main Street", billingCity: "Kingsport", billingEmail: "johnnyp@email.com", company: "Acme, Inc", customerNumber: "100", firstName: "Johnny", lastName: "Poulsbo", }, paymentDetails: { totalAmount: 1, serviceFee: 0, }, paymentMethod: { method: "ach", achAccount: "88354554", achAccountType: "Checking", achHolder: "John Poulsbo", achRouting: "029000021", }, entrypoint: "my-entrypoint", }); } main(); ``` ```python ComplexFields from payabli import payabli, PayorDataRequest, PaymentDetailCredit from payabli.money_in import RequestCreditPaymentMethod client = payabli( api_key="YOUR_API_KEY_HERE", ) client.money_in.credit( idempotency_key="6B29FC40-CA47-1067-B31D-00DD010662DA", customer_data=PayorDataRequest( billing_address_1="125 Main Street", billing_city="Kingsport", billing_email="johnnyp@email.com", company="Acme, Inc", customer_number="100", first_name="Johnny", last_name="Poulsbo", ), payment_details=PaymentDetailCredit( total_amount=1, service_fee=0, ), payment_method=RequestCreditPaymentMethod( method="ach", ach_account="88354554", ach_account_type="Checking", ach_holder="John Poulsbo", ach_routing="029000021", ), entrypoint="my-entrypoint", ) ``` ```csharp ComplexFields using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.MoneyIn.CreditAsync( new RequestCredit { IdempotencyKey = "6B29FC40-CA47-1067-B31D-00DD010662DA", CustomerData = new PayorDataRequest { BillingAddress1 = "125 Main Street", BillingCity = "Kingsport", BillingEmail = "johnnyp@email.com", Company = "Acme, Inc", CustomerNumber = "100", FirstName = "Johnny", LastName = "Poulsbo" }, PaymentDetails = new PaymentDetailCredit { TotalAmount = 1, ServiceFee = 0 }, PaymentMethod = new RequestCreditPaymentMethod { Method = "ach", AchAccount = "88354554", AchAccountType = Achaccounttype.Checking, AchHolder = "John Poulsbo", AchRouting = "029000021" }, Entrypoint = "my-entrypoint" } ); } } ``` ```go ComplexFields package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/MoneyIn/makecredit" payload := strings.NewReader("{\n \"customerData\": {\n \"billingAddress1\": \"125 Main Street\",\n \"billingCity\": \"Kingsport\",\n \"billingEmail\": \"johnnyp@email.com\",\n \"company\": \"Acme, Inc\",\n \"customerNumber\": \"100\",\n \"firstName\": \"Johnny\",\n \"lastName\": \"Poulsbo\"\n },\n \"paymentDetails\": {\n \"totalAmount\": 1,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"method\": \"ach\",\n \"achAccount\": \"88354554\",\n \"achAccountType\": \"Checking\",\n \"achHolder\": \"John Poulsbo\",\n \"achRouting\": \"029000021\"\n },\n \"entrypoint\": \"my-entrypoint\"\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("idempotencyKey", "6B29FC40-CA47-1067-B31D-00DD010662DA") req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby ComplexFields require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/MoneyIn/makecredit") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["idempotencyKey"] = '6B29FC40-CA47-1067-B31D-00DD010662DA' request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"customerData\": {\n \"billingAddress1\": \"125 Main Street\",\n \"billingCity\": \"Kingsport\",\n \"billingEmail\": \"johnnyp@email.com\",\n \"company\": \"Acme, Inc\",\n \"customerNumber\": \"100\",\n \"firstName\": \"Johnny\",\n \"lastName\": \"Poulsbo\"\n },\n \"paymentDetails\": {\n \"totalAmount\": 1,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"method\": \"ach\",\n \"achAccount\": \"88354554\",\n \"achAccountType\": \"Checking\",\n \"achHolder\": \"John Poulsbo\",\n \"achRouting\": \"029000021\"\n },\n \"entrypoint\": \"my-entrypoint\"\n}" response = http.request(request) puts response.read_body ``` ```java ComplexFields import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/MoneyIn/makecredit") .header("idempotencyKey", "6B29FC40-CA47-1067-B31D-00DD010662DA") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"customerData\": {\n \"billingAddress1\": \"125 Main Street\",\n \"billingCity\": \"Kingsport\",\n \"billingEmail\": \"johnnyp@email.com\",\n \"company\": \"Acme, Inc\",\n \"customerNumber\": \"100\",\n \"firstName\": \"Johnny\",\n \"lastName\": \"Poulsbo\"\n },\n \"paymentDetails\": {\n \"totalAmount\": 1,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"method\": \"ach\",\n \"achAccount\": \"88354554\",\n \"achAccountType\": \"Checking\",\n \"achHolder\": \"John Poulsbo\",\n \"achRouting\": \"029000021\"\n },\n \"entrypoint\": \"my-entrypoint\"\n}") .asString(); ``` ```php ComplexFields request('POST', 'https://api-sandbox.payabli.com/api/MoneyIn/makecredit', [ 'body' => '{ "customerData": { "billingAddress1": "125 Main Street", "billingCity": "Kingsport", "billingEmail": "johnnyp@email.com", "company": "Acme, Inc", "customerNumber": "100", "firstName": "Johnny", "lastName": "Poulsbo" }, "paymentDetails": { "totalAmount": 1, "serviceFee": 0 }, "paymentMethod": { "method": "ach", "achAccount": "88354554", "achAccountType": "Checking", "achHolder": "John Poulsbo", "achRouting": "029000021" }, "entrypoint": "my-entrypoint" }', 'headers' => [ 'Content-Type' => 'application/json', 'idempotencyKey' => '6B29FC40-CA47-1067-B31D-00DD010662DA', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift ComplexFields import Foundation let headers = [ "idempotencyKey": "6B29FC40-CA47-1067-B31D-00DD010662DA", "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "customerData": [ "billingAddress1": "125 Main Street", "billingCity": "Kingsport", "billingEmail": "johnnyp@email.com", "company": "Acme, Inc", "customerNumber": "100", "firstName": "Johnny", "lastName": "Poulsbo" ], "paymentDetails": [ "totalAmount": 1, "serviceFee": 0 ], "paymentMethod": [ "method": "ach", "achAccount": "88354554", "achAccountType": "Checking", "achHolder": "John Poulsbo", "achRouting": "029000021" ], "entrypoint": "my-entrypoint" ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/MoneyIn/makecredit")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Reverse microdeposit GET https://api-sandbox.payabli.com/api/MoneyIn/reverseCredit/{transId} Reverse microdeposits that are used to verify customer account ownership and access. The `transId` value is returned in the success response for the original credit transaction made with `api/MoneyIn/makecredit`. Reference: https://docs.payabli.com/developers/api-reference/moneyin/reverse-an-ach-credit-transaction ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /MoneyIn/reverseCredit/{transId}: get: operationId: reverse-credit summary: Reverse an ACH credit transaction description: >- Reverse microdeposits that are used to verify customer account ownership and access. The `transId` value is returned in the success response for the original credit transaction made with `api/MoneyIn/makecredit`. tags: - subpackage_moneyIn parameters: - name: transId in: path description: ReferenceId for the transaction (PaymentId). required: true schema: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript Reverse import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.moneyIn.reverseCredit("45-as456777hhhhhhhhhh77777777-324"); } main(); ``` ```python Reverse from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.money_in.reverse_credit( trans_id="45-as456777hhhhhhhhhh77777777-324", ) ``` ```csharp Reverse using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.MoneyIn.ReverseCreditAsync( "45-as456777hhhhhhhhhh77777777-324" ); } } ``` ```go Reverse package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/MoneyIn/reverseCredit/45-as456777hhhhhhhhhh77777777-324" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Reverse require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/MoneyIn/reverseCredit/45-as456777hhhhhhhhhh77777777-324") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java Reverse import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/MoneyIn/reverseCredit/45-as456777hhhhhhhhhh77777777-324") .header("requestToken", "") .asString(); ``` ```php Reverse request('GET', 'https://api-sandbox.payabli.com/api/MoneyIn/reverseCredit/45-as456777hhhhhhhhhh77777777-324', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift Reverse import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/MoneyIn/reverseCredit/45-as456777hhhhhhhhhh77777777-324")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Validate card POST https://api-sandbox.payabli.com/api/MoneyIn/validate Content-Type: application/json Validates a card number without running a transaction or authorizing a charge. Reference: https://docs.payabli.com/developers/api-reference/moneyin/validate-card ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /MoneyIn/validate: post: operationId: validate summary: Validate card description: >- Validates a card number without running a transaction or authorizing a charge. tags: - subpackage_moneyIn parameters: - name: requestToken in: header required: true schema: type: string - name: idempotencyKey in: header required: false schema: $ref: '#/components/schemas/type_:IdempotencyKey' responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/type_moneyIn:ValidateResponse' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' requestBody: content: application/json: schema: type: object properties: accountId: $ref: '#/components/schemas/type_:Accountid' entryPoint: $ref: '#/components/schemas/type_:Entrypointfield' orderDescription: $ref: '#/components/schemas/type_:Orderdescription' orderId: $ref: '#/components/schemas/type_:OrderId' paymentMethod: $ref: >- #/components/schemas/type_moneyIn:RequestPaymentValidatePaymentMethod description: Object describing payment method to use for transaction. required: - entryPoint - paymentMethod servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:IdempotencyKey: type: string description: >- _Optional but recommended_ A unique ID that you can include to prevent duplicating objects or transactions in the case that a request is sent more than once. This key isn't generated in Payabli, you must generate it yourself. This key persists for 2 minutes. After 2 minutes, you can reuse the key if needed. title: IdempotencyKey type_:Accountid: type: string description: Custom identifier for payment connector. title: Accountid type_:Entrypointfield: type: string description: The entrypoint identifier. title: Entrypointfield type_:Orderdescription: type: string description: Text description of the transaction. title: Orderdescription type_:OrderId: type: string description: Custom identifier for the transaction. title: OrderId type_moneyIn:RequestPaymentValidatePaymentMethodMethod: type: string enum: - card - cloud description: The card validation method. title: RequestPaymentValidatePaymentMethodMethod type_:Cardnumber: type: string description: >- The card number. Required when method is `card` and a `storedMethodId` isn't included. title: Cardnumber type_:Cardexp: type: string description: >- Card expiration date in format MMYY or MM/YY. Required for card transactions. title: Cardexp type_:Cardzip: type: string description: >- ZIP or postal code for the billing address of cardholder. We **strongly recommend** that you include this field when using `card` as a method. title: Cardzip type_:Cardholder: type: string description: Cardholder name. title: Cardholder type_moneyIn:RequestPaymentValidatePaymentMethod: type: object properties: method: $ref: >- #/components/schemas/type_moneyIn:RequestPaymentValidatePaymentMethodMethod cardnumber: $ref: '#/components/schemas/type_:Cardnumber' cardexp: $ref: '#/components/schemas/type_:Cardexp' cardzip: $ref: '#/components/schemas/type_:Cardzip' cardHolder: $ref: '#/components/schemas/type_:Cardholder' required: - method - cardnumber - cardexp - cardzip - cardHolder description: Object describing payment method to use for validation. title: RequestPaymentValidatePaymentMethod type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Authcode: type: string description: Authorization code for the transaction. title: Authcode type_:Referenceidtrans: type: string description: The transaction identifier in Payabli. title: Referenceidtrans type_:ResultCode: type: integer description: >- Result code for the operation. Value 1 indicates a successful operation, values 2 and 3 indicate errors. A value of 10 indicates that an operation has been initiated and is pending. title: ResultCode type_:Resulttext: type: string description: >- Text describing the result. If `ResultCode` = 1, will return 'Approved' or a general success message. If `ResultCode`` = 2 or 3, will contain the cause of the error or decline. title: Resulttext type_:AvsResponseText: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponseText type_:CvvResponseText: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponseText type_:Customeridtrans: type: integer format: int64 description: >- Payabli-generated unique ID of customer owner of transaction. Returns `0` if the transaction wasn't assigned to an existing customer or no customer was created. title: Customeridtrans type_:MethodReferenceId: type: string description: >- The stored method's identifier (sometimes referred to as 'token') in Payabli. When `null`, the method wasn't created, or doesn't exist, depending on the operation performed. title: MethodReferenceId type_moneyIn:ValidateResponseData: type: object properties: authCode: $ref: '#/components/schemas/type_:Authcode' referenceId: $ref: '#/components/schemas/type_:Referenceidtrans' resultCode: $ref: '#/components/schemas/type_:ResultCode' resultText: $ref: '#/components/schemas/type_:Resulttext' avsResponseText: $ref: '#/components/schemas/type_:AvsResponseText' cvvResponseText: $ref: '#/components/schemas/type_:CvvResponseText' customerId: $ref: '#/components/schemas/type_:Customeridtrans' methodReferenceId: $ref: '#/components/schemas/type_:MethodReferenceId' required: - authCode - referenceId - resultCode - resultText - avsResponseText - cvvResponseText - customerId description: Response data for card validation title: ValidateResponseData type_moneyIn:ValidateResponse: type: object properties: responseText: $ref: '#/components/schemas/type_:ResponseText' isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_moneyIn:ValidateResponseData' required: - responseText - isSuccess - responseData description: Response for card validation endpoint title: ValidateResponse type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript ValidateCard import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.moneyIn.validate({ idempotencyKey: "6B29FC40-CA47-1067-B31D-00DD010662DA", entryPoint: "entry132", paymentMethod: { method: "card", cardnumber: "4360000001000005", cardexp: "12/29", cardzip: "14602-8328", cardHolder: "Dianne Becker-Smith", }, }); } main(); ``` ```python ValidateCard from payabli import payabli from payabli.money_in import RequestPaymentValidatePaymentMethod client = payabli( api_key="YOUR_API_KEY_HERE", ) client.money_in.validate( idempotency_key="6B29FC40-CA47-1067-B31D-00DD010662DA", entry_point="entry132", payment_method=RequestPaymentValidatePaymentMethod( method="card", cardnumber="4360000001000005", cardexp="12/29", cardzip="14602-8328", card_holder="Dianne Becker-Smith", ), ) ``` ```csharp ValidateCard using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.MoneyIn.ValidateAsync( new RequestPaymentValidate { IdempotencyKey = "6B29FC40-CA47-1067-B31D-00DD010662DA", EntryPoint = "entry132", PaymentMethod = new RequestPaymentValidatePaymentMethod { Method = RequestPaymentValidatePaymentMethodMethod.Card, Cardnumber = "4360000001000005", Cardexp = "12/29", Cardzip = "14602-8328", CardHolder = "Dianne Becker-Smith" } } ); } } ``` ```go ValidateCard package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/MoneyIn/validate" payload := strings.NewReader("{\n \"entryPoint\": \"entry132\",\n \"paymentMethod\": {\n \"method\": \"card\",\n \"cardnumber\": \"4360000001000005\",\n \"cardexp\": \"12/29\",\n \"cardzip\": \"14602-8328\",\n \"cardHolder\": \"Dianne Becker-Smith\"\n }\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("idempotencyKey", "6B29FC40-CA47-1067-B31D-00DD010662DA") req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby ValidateCard require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/MoneyIn/validate") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["idempotencyKey"] = '6B29FC40-CA47-1067-B31D-00DD010662DA' request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"entryPoint\": \"entry132\",\n \"paymentMethod\": {\n \"method\": \"card\",\n \"cardnumber\": \"4360000001000005\",\n \"cardexp\": \"12/29\",\n \"cardzip\": \"14602-8328\",\n \"cardHolder\": \"Dianne Becker-Smith\"\n }\n}" response = http.request(request) puts response.read_body ``` ```java ValidateCard import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/MoneyIn/validate") .header("idempotencyKey", "6B29FC40-CA47-1067-B31D-00DD010662DA") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"entryPoint\": \"entry132\",\n \"paymentMethod\": {\n \"method\": \"card\",\n \"cardnumber\": \"4360000001000005\",\n \"cardexp\": \"12/29\",\n \"cardzip\": \"14602-8328\",\n \"cardHolder\": \"Dianne Becker-Smith\"\n }\n}") .asString(); ``` ```php ValidateCard request('POST', 'https://api-sandbox.payabli.com/api/MoneyIn/validate', [ 'body' => '{ "entryPoint": "entry132", "paymentMethod": { "method": "card", "cardnumber": "4360000001000005", "cardexp": "12/29", "cardzip": "14602-8328", "cardHolder": "Dianne Becker-Smith" } }', 'headers' => [ 'Content-Type' => 'application/json', 'idempotencyKey' => '6B29FC40-CA47-1067-B31D-00DD010662DA', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift ValidateCard import Foundation let headers = [ "idempotencyKey": "6B29FC40-CA47-1067-B31D-00DD010662DA", "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "entryPoint": "entry132", "paymentMethod": [ "method": "card", "cardnumber": "4360000001000005", "cardexp": "12/29", "cardzip": "14602-8328", "cardHolder": "Dianne Becker-Smith" ] ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/MoneyIn/validate")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Capture check (RDC) POST https://api-sandbox.payabli.com/api/CheckCapture/CheckProcessing Content-Type: application/json Captures a check for Remote Deposit Capture (RDC) using the provided check images and details. This endpoint handles the OCR extraction of check data including MICR, routing number, account number, and amount. See the [RDC guide](/developers/developer-guides/pay-in-rdc) for more details. Reference: https://docs.payabli.com/developers/api-reference/moneyin/check-capture ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /CheckCapture/CheckProcessing: post: operationId: check-processing summary: Process Check Capture description: >- Captures a check for Remote Deposit Capture (RDC) using the provided check images and details. This endpoint handles the OCR extraction of check data including MICR, routing number, account number, and amount. See the [RDC guide](/developers/developer-guides/pay-in-rdc) for more details. tags: - subpackage_checkCapture parameters: - name: requestToken in: header required: true schema: type: string responses: '200': description: Success response with check processing results. content: application/json: schema: $ref: '#/components/schemas/type_checkCapture:CheckCaptureResponse' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' requestBody: content: application/json: schema: type: object properties: entryPoint: $ref: '#/components/schemas/type_:Entry' frontImage: type: string description: >- Base64-encoded front check image. Must be JPEG or PNG format and less than 1MB. Image must show the entire check clearly with no partial, blurry, or illegible portions. rearImage: type: string description: >- Base64-encoded rear check image. Must be JPEG or PNG format and less than 1MB. Image must show the entire check clearly with no partial, blurry, or illegible portions. checkAmount: type: integer description: Check amount in cents (maximum 32-bit integer value). required: - entryPoint - frontImage - rearImage - checkAmount servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:Entry: type: string description: >- The entity's entrypoint identifier. [Learn more](/developers/api-reference/api-overview#entrypoint-vs-entry) title: Entry type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_checkCapture:CheckCaptureResponse: type: object properties: id: type: string description: >- Unique ID for the check capture, to be used with the /api/MoneyIn/getpaid endpoint. success: type: boolean description: Indicates whether the check processing was successful. processDate: type: string description: The date and time when the check was processed (ISO 8601 format). ocrMicr: type: string description: >- The OCR-extracted MICR (Magnetic Ink Character Recognition) line from the check. ocrMicrStatus: type: string description: Status of the MICR extraction process. ocrMicrConfidence: type: string description: Confidence score for the MICR extraction (0 to 100). ocrAccountNumber: type: string description: The bank account number extracted from the check. ocrRoutingNumber: type: string description: The bank routing number extracted from the check. ocrCheckNumber: type: string description: The check number extracted from the check. ocrCheckTranCode: type: string description: The transaction code extracted from the check. ocrAmount: type: string description: The amount extracted via OCR from the check. ocrAmountStatus: type: string description: Status of the amount extraction process. ocrAmountConfidence: type: string description: Confidence score for the amount extraction (0 to 100). amountDiscrepancyDetected: type: boolean description: >- Flag indicating whether there's a discrepancy between the provided amount and the OCR-detected amount. endorsementDetected: type: boolean description: Flag indicating whether an endorsement was detected on the check. errors: type: array items: type: string description: List of error messages that occurred during processing. messages: type: array items: type: string description: List of informational messages about the processing. carLarMatchConfidence: type: string description: >- Confidence score for the match between Courtesy Amount Recognition (CAR) and Legal Amount Recognition (LAR). carLarMatchStatus: type: string description: Status of the CAR/LAR match. frontImage: type: string description: Processed front image of the check (Base64-encoded). rearImage: type: string description: Processed rear image of the check (Base64-encoded). checkType: type: number format: double description: |- Identifier for the type of check. Personal = 1 Business = 2 Only personal checks are supported for check capture. referenceNumber: type: string description: Reference number for the transaction. pageIdentifier: $ref: '#/components/schemas/type_:PageIdentifier' required: - success - processDate - amountDiscrepancyDetected - endorsementDetected - checkType description: Response model for check capture processing. title: CheckCaptureResponse type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript Capture import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.checkCapture.checkProcessing({ entryPoint: "47abcfea12", frontImage: "/9j/4AAQSkZJRgABAQEASABIAAD...", rearImage: "/9j/4AAQSkZJRgABAQEASABIAAD...", checkAmount: 12550, }); } main(); ``` ```python Capture from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.check_capture.check_processing( entry_point="47abcfea12", front_image="/9j/4AAQSkZJRgABAQEASABIAAD...", rear_image="/9j/4AAQSkZJRgABAQEASABIAAD...", check_amount=12550, ) ``` ```csharp Capture using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.CheckCapture.CheckProcessingAsync( new CheckCaptureRequestBody { EntryPoint = "47abcfea12", FrontImage = "/9j/4AAQSkZJRgABAQEASABIAAD...", RearImage = "/9j/4AAQSkZJRgABAQEASABIAAD...", CheckAmount = 12550 } ); } } ``` ```go Capture package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/CheckCapture/CheckProcessing" payload := strings.NewReader("{\n \"entryPoint\": \"47abcfea12\",\n \"frontImage\": \"/9j/4AAQSkZJRgABAQEASABIAAD...\",\n \"rearImage\": \"/9j/4AAQSkZJRgABAQEASABIAAD...\",\n \"checkAmount\": 12550\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Capture require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/CheckCapture/CheckProcessing") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"entryPoint\": \"47abcfea12\",\n \"frontImage\": \"/9j/4AAQSkZJRgABAQEASABIAAD...\",\n \"rearImage\": \"/9j/4AAQSkZJRgABAQEASABIAAD...\",\n \"checkAmount\": 12550\n}" response = http.request(request) puts response.read_body ``` ```java Capture import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/CheckCapture/CheckProcessing") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"entryPoint\": \"47abcfea12\",\n \"frontImage\": \"/9j/4AAQSkZJRgABAQEASABIAAD...\",\n \"rearImage\": \"/9j/4AAQSkZJRgABAQEASABIAAD...\",\n \"checkAmount\": 12550\n}") .asString(); ``` ```php Capture request('POST', 'https://api-sandbox.payabli.com/api/CheckCapture/CheckProcessing', [ 'body' => '{ "entryPoint": "47abcfea12", "frontImage": "/9j/4AAQSkZJRgABAQEASABIAAD...", "rearImage": "/9j/4AAQSkZJRgABAQEASABIAAD...", "checkAmount": 12550 }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift Capture import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "entryPoint": "47abcfea12", "frontImage": "/9j/4AAQSkZJRgABAQEASABIAAD...", "rearImage": "/9j/4AAQSkZJRgABAQEASABIAAD...", "checkAmount": 12550 ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/CheckCapture/CheckProcessing")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # List transactions for paypoint GET https://api-sandbox.payabli.com/api/Query/transactions/{entry} Retrieve a list of transactions for a paypoint. Use filters to limit results. Include the `exportFormat` query parameter to return the results as a file instead of a JSON response. By default, this endpoint returns only transactions from the last 60 days. To query transactions outside of this period, include `transactionDate` filters. For example, this request parameters filter for transactions between April 01, 2024 and April 09, 2024. ``` curl --request GET \ --url https://sandbox.payabli.com/api/Query/transactions/org/1?limitRecord=20&fromRecord=0&transactionDate(ge)=2024-04-01T00:00:00&transactionDate(le)=2024-04-09T23:59:59\ --header 'requestToken: ' ``` Reference: https://docs.payabli.com/developers/api-reference/query/get-list-of-transactions-for-an-entrypoint ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Query/transactions/{entry}: get: operationId: list-transactions summary: Get list of transactions for a paypoint description: >- Retrieve a list of transactions for a paypoint. Use filters to limit results. Include the `exportFormat` query parameter to return the results as a file instead of a JSON response. By default, this endpoint returns only transactions from the last 60 days. To query transactions outside of this period, include `transactionDate` filters. For example, this request parameters filter for transactions between April 01, 2024 and April 09, 2024. ``` curl --request GET \ --url https://sandbox.payabli.com/api/Query/transactions/org/1?limitRecord=20&fromRecord=0&transactionDate(ge)=2024-04-01T00:00:00&transactionDate(le)=2024-04-09T23:59:59\ --header 'requestToken: ' ``` tags: - subpackage_query parameters: - name: entry in: path required: true schema: $ref: '#/components/schemas/type_:Entry' - name: exportFormat in: query required: false schema: $ref: '#/components/schemas/type_:ExportFormat' - name: fromRecord in: query description: >- The number of records to skip before starting to collect the result set. required: false schema: type: integer default: 0 - name: limitRecord in: query description: >- Max number of records to return for the query. Use `0` or negative value to return all records. required: false schema: type: integer default: 20 - name: parameters in: query description: >- Collection of field names, conditions, and values used to filter the query. **You must remove `parameters=` from the request before you send it, otherwise Payabli will ignore the filters.** Because of a technical limitation, you can't make a request that includes filters from the API console on this page. The response won't be filtered. Instead, copy the request, remove `parameters=` and run the request in a different client. For example: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?parameters=totalAmount(gt)=1000&limitRecord=20 should become: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?totalAmount(gt)=1000&limitRecord=20 See [Filters and Conditions Reference](/developers/developer-guides/pay-ops-reporting-engine-overview#filters-and-conditions-reference) for more information. **List of field names accepted:** - `transactionDate` (gt, ge, lt, le, eq, ne) - `transId` (ne, eq, ct, nct, in, nin) - `gatewayTransId` (ne, eq, ct, nct) - `orderId` (ne, eq) - `scheduleId` (ne, eq) - `returnId` (ne, eq) - `refundId` (ne, eq) - `idTrans` (ne, eq) - `orgId` (ne, eq) - `paypointId` (ne, eq) - `paypointLegal` (ne, eq, ct, nct) - `paypointDba` (ne, eq, ct, nct) - `orgName` (ne, eq, ct, nct) - `externalPaypointId` (ct, nct, eq, ne) - `method` (in, nin, eq, ne) - `totalAmount` (gt, ge, lt, le, eq, ne) - `netAmount` (gt, ge, lt, le, eq, ne) - `feeAmount` (gt, ge, lt, le, eq, ne) - `operation` (in, nin, eq, ne) - `source` (in, nin, eq, ne, ct, nct) - `status` (in, nin, eq, ne) - `settlementStatus` (in, nin, eq, ne) - `batchNumber` (nct, ct) - `invoiceNumber` (ct, nct) - `ipAddress` (eq, ne) - `authCode` (ct, nct) - `orderDescription` (ct, nct) - `payaccountLastfour` (nct, ct) - `payaccountType` (ne, eq, in, nin) - `payaccountCurrency` (ne, eq, in, nin) - `customerFirstname` (ct, nct, eq, ne) - `customerLastname` (ct, nct, eq, ne) - `customerName` (ct, nct) - `customerId` (eq, ne) - `customerNumber` (ct, nct, eq, ne) - `customerCompanyname` (ct, nct, eq, ne) - `customerAddress` (ct, nct, eq, ne) - `customerCity` (ct, nct, eq, ne) - `customerZip` (ct, nct, eq, ne) - `customerState` (ct, nct, eq, ne) - `customerCountry` (ct, nct, eq, ne) - `customerPhone` (ct, nct, eq, ne) - `customerEmail` (ct, nct, eq, ne) - `customerShippingAddress` (ct, nct, eq, ne) - `customerShippingCity` (ct, nct, eq, ne) - `customerShippingZip` (ct, nct, eq, ne) - `customerShippingState` (ct, nct, eq, ne) - `customerShippingCountry` (ct, nct, eq, ne) - `deviceId` (ct, nct, in, nin, eq, ne) - `AchSecCode` ( ct, nct, in, nin, eq, ne) - `AchHolderType` (ct, nct, in, nin, eq, and ne) - `additional-xxx` (ne, eq, ct, nct) where xxx is the additional field name related to customer data - 'invoiceAdditional-xxx' (ne, eq, ct, nct) where xxx is the additional field name related to invoice data **List of comparison operators accepted:** - `eq` or empty => equal - `gt` => greater than - `ge` => greater or equal - `lt` => less than - `le` => less or equal - `ne` => not equal - `ct` => contains - `nct` => not contains - `in` => inside array - `nin` => not inside array required: false schema: type: object additionalProperties: type: string - name: sortBy in: query description: >- The field name to use for sorting results. Use `desc(field_name)` to sort descending by `field_name`, and use `asc(field_name)` to sort ascending by `field_name`. required: false schema: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:QueryResponseTransactions' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:Entry: type: string description: >- The entity's entrypoint identifier. [Learn more](/developers/api-reference/api-overview#entrypoint-vs-entry) title: Entry type_:ExportFormat: type: string enum: - csv - xlsx description: >- Export format for file downloads. When specified, returns data as a file instead of JSON. title: ExportFormat type_:AchHolderType: type: string enum: - personal - business default: personal description: 'The bank''s accountholder type: personal or business.' title: AchHolderType type_:AchSecCode: type: string description: >- Standard Entry Class (SEC) code is a three letter code that describes how an ACH payment was authorized. Supported values are: - PPD (Prearranged Payment and Deposit) - Used for credits or debits where an accountholder authorizes a company to initiate either a single or recurring transaction to their personal bank account. Common examples include direct deposit of payroll, mortgage payments, or utility bills. This is the default value for subscription payments. - WEB (Internet-Initiated/Mobile Entry) - Used for debit entries when authorization is obtained from an accountholder via the internet or a wireless network. Common examples are online bill payments, ecommerce purchases, and mobile app payments where the consumer enters their banking information online. - TEL (Telephone-Initiated Entry) - Used for one-time debit entries where authorization is obtained from a consumer via telephone. Common examples are phone-based purchases or bill payments where the consumer provides their banking information over the phone. - CCD (Corporate Credit or Debit) - Used for fund transfers between business accounts. This code is specifically for business-to-business transactions. Common examples include vendor payments and other business-to-business payments. - BOC (Back Office Conversion) - Used to convert paper checks received in-person at a point-of-sale or staffed payment location into electronic ACH debits. Required for Remote Deposit Capture (RDC) transactions. Only supports consumer checks; business, government, and mailed checks aren't eligible. title: AchSecCode type_:BatchNumber: type: string description: >- A unique identifier for the batch. This is generated by Payabli when the batch is created, and follows this format: `paypointId + "_" + serviceName + "_" + batchDate:yyyyMMdd + "_" + Guid.NewGuid()`. Payabli generates the GUID to ensure that the batch number is unique. For example, in this batch number: `123_card_20251008_3f2504e0-4f89-11d3-9a0c-0305e82c3301`, the paypointID is "123", the service is "card", the batch date is "2025-10-08", and the GUID is "3f2504e0-4f89-11d3-9a0c-0305e82c3301". title: BatchNumber type_:TransactionTime: type: string format: date-time description: Timestamp when transaction was submitted, in UTC. title: TransactionTime type_:QueryCFeeTransaction: type: object properties: cFeeTransid: type: string feeAmount: type: number format: double operation: type: string refundId: type: integer format: int64 responseData: type: object additionalProperties: description: Any type settlementStatus: type: integer transactionTime: $ref: '#/components/schemas/type_:TransactionTime' transStatus: type: integer title: QueryCFeeTransaction type_:BillingZip: type: string description: Billing address ZIP code. title: BillingZip type_:Email: type: string format: email description: Email address. title: Email type_:CustomerNumberNullable: type: string description: >- User-provided unique identifier for the customer. This is typically the customer ID from your own system. title: CustomerNumberNullable type_:Shippingaddress: type: string description: The shipping address. title: Shippingaddress type_:Shippingaddressadditional: type: string description: Additional line for shipping address. title: Shippingaddressadditional type_:Shippingcity: type: string description: Shipping city. title: Shippingcity type_:Shippingstate: type: string description: Shipping state or province. title: Shippingstate type_:Shippingzip: type: string description: >- Shipping ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". title: Shippingzip type_:Shippingcountry: type: string description: Shipping address country. title: Shippingcountry type_:CustomerId: type: integer format: int64 description: The Payabli-generated unique ID for the customer. title: CustomerId type_:CustomerStatus: type: integer description: |- Customer Status. Possible values: - `-99` Deleted - `0` Inactive - `1` Active - `85` Locked (typically due to multiple failed login attempts) title: CustomerStatus type_:AdditionalDataMap: type: object additionalProperties: type: string description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalDataMap type_:QueryTransactionPayorData: type: object properties: Identifiers: type: array items: description: Any type description: Array of field names to be used as identifiers. FirstName: type: string description: Customer/Payor first name. LastName: type: string description: Customer/Payor last name. CompanyName: type: string description: Customer's company name. BillingAddress1: type: string description: Customer's billing address. BillingAddress2: type: string description: Additional line for Customer's billing address. BillingCity: type: string description: Customer's billing city. BillingState: type: string description: >- Customer's billing state. Must be 2-letter state code for address in US. BillingZip: $ref: '#/components/schemas/type_:BillingZip' description: Customer's billing ZIP code. BillingCountry: type: string description: Customer's billing country. BillingPhone: type: string description: Customer's phone number. BillingEmail: $ref: '#/components/schemas/type_:Email' description: Customer's email address. CustomerNumber: $ref: '#/components/schemas/type_:CustomerNumberNullable' ShippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' ShippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' ShippingCity: $ref: '#/components/schemas/type_:Shippingcity' ShippingState: $ref: '#/components/schemas/type_:Shippingstate' ShippingZip: $ref: '#/components/schemas/type_:Shippingzip' ShippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' customerId: $ref: '#/components/schemas/type_:CustomerId' customerStatus: $ref: '#/components/schemas/type_:CustomerStatus' AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' title: QueryTransactionPayorData type_:Device: type: string description: Identifier of registered cloud device used in the transaction. title: Device type_:EntrypageId: type: integer format: int64 description: >- If applicable, the internal reference ID to the payment page capturing the payment. title: EntrypageId type_:ExternalProcessorInformation: type: string description: >- Processor information, used for troubleshooting and reporting. This field contains a value when the API key used to make the request has management permissions. title: ExternalProcessorInformation type_:FeeAmount: type: number format: double description: Service fee or sub-charge applied. title: FeeAmount type_:FileContentFtype: type: string enum: - pdf - doc - docx - jpg - jpeg - png - gif - txt description: The MIME type of the file (if content is provided) title: FileContentFtype type_:FileContent: type: object properties: fContent: type: string description: >- Content of file, Base64-encoded. Ignored if furl is specified. Max upload size is 30 MB. filename: type: string description: The name of the attached file. ftype: $ref: '#/components/schemas/type_:FileContentFtype' description: The MIME type of the file (if content is provided) furl: type: string description: Optional URL provided to show or download the file remotely description: Contains details about a file. Max upload size is 30 MB. title: FileContent type_:Attachments: type: array items: $ref: '#/components/schemas/type_:FileContent' description: >- Array of `fileContent` objects with attached documents. Max upload size is 30 MB. title: Attachments type_:Discount: type: number format: double description: Discount applied to the invoice. title: Discount type_:DutyAmount: type: number format: double description: Duty amount. title: DutyAmount type_:FreightAmount: type: number format: double description: Freight/shipping amount. title: FreightAmount type_:Frequency: type: string enum: - onetime - weekly - every2weeks - every6months - monthly - every3months - annually description: Frequency for operation. title: Frequency type_:InvoiceAmount: type: number format: double description: Invoice total amount. title: InvoiceAmount type_:InvoiceNumber: type: string description: >- Custom number identifying the bill or invoice. Must be unique in paypoint. title: InvoiceNumber type_:Invoicestatus: type: integer description: |- Status for invoice. The accepted status values are: - 0 draft - 1 active - 2 partially paid - 4 paid/complete - 99 cancelled title: Invoicestatus type_:InvoiceType: type: integer description: Type of invoice. Only `0` for one-time invoices is currently supported. title: InvoiceType type_:ItemCommodityCode: type: string description: Item or product commodity code. Max length of 250 characters. title: ItemCommodityCode type_:ItemDescription: type: string description: Item or product description. Max length of 250 characters. title: ItemDescription type_:ItemProductCode: type: string description: Item or product code. Max length of 250 characters. title: ItemProductCode type_:ItemProductName: type: string description: Item or product name. Max length of 250 characters. title: ItemProductName type_:ItemUnitofMeasure: type: string description: Unit of measurement. Max length of 100 characters. title: ItemUnitofMeasure type_:BillItem: type: object properties: itemCategories: type: array items: type: string description: Array of tags classifying item or product. itemCommodityCode: $ref: '#/components/schemas/type_:ItemCommodityCode' itemCost: type: number format: double description: Item or product price per unit. itemDescription: $ref: '#/components/schemas/type_:ItemDescription' itemMode: type: integer description: >- Internal class of item or product: value '0' is only for invoices , '1' for bills and, '2' common for both. itemProductCode: $ref: '#/components/schemas/type_:ItemProductCode' itemProductName: $ref: '#/components/schemas/type_:ItemProductName' itemQty: type: integer description: Quantity of item or product. itemTaxAmount: type: number format: double description: Tax amount applied to item or product. itemTaxRate: type: number format: double description: Tax rate applied to item or product. itemTotalAmount: type: number format: double description: Total amount in item or product. itemUnitOfMeasure: $ref: '#/components/schemas/type_:ItemUnitofMeasure' required: - itemCost title: BillItem type_:BillDataPaymentTerms: type: string enum: - PIA - CIA - UR - NET10 - NET20 - NET30 - NET45 - NET60 - NET90 - EOM - MFI - 5MFI - 10MFI - 15MFI - 20MFI - 2/10NET30 - UF - 10UF - 20UF - 25UF - 50UF description: >- Payment terms for invoice. If no terms are defined, then response data for this field defaults to `NET30`. **Available Values:** - `PIA`: Payment in advance - `CIA`: Cash in advance - `UR`: Upon receipt - `NET10`: 10 days after invoice date - `NET20`: 20 days after invoice date - `NET30`: 30 days after invoice date - `NET45`: 45 days after invoice date - `NET60`: 60 days after invoice date - `NET90`: 90 days after invoice date - `EOM`: Due end of this month - `MFI`: 1st of the month following the invoice date - `5MFI`: 5th of the month following the invoice date - `10MFI`: 10th of the month following the invoice date - `15MFI`: 15th of the month following the invoice date - `20MFI`: 20th of the month following the invoice date - `2/10NET30`: 2% discount if paid within 10 days, otherwise net 30 days - `UF`: Until further notice - `10UF`: 10 days until further notice - `20UF`: 20 days until further notice - `25UF`: 25 days until further notice - `50UF`: 50 days until further notice title: BillDataPaymentTerms type_:PurchaseOrder: type: string description: Purchase order number. title: PurchaseOrder type_:ShippingFromZip: type: string description: Sender shipping ZIP code. title: ShippingFromZip type_:SummaryCommodityCode: type: string description: Commodity code. title: SummaryCommodityCode type_:Tax: type: number format: double description: Tax rate in percent applied to the invoice. title: Tax type_:TermsConditions: type: string description: Custom terms and conditions included in the invoice. title: TermsConditions type_:BillData: type: object properties: AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' attachments: $ref: '#/components/schemas/type_:Attachments' company: type: string description: Company name of the recipient of the invoice. discount: $ref: '#/components/schemas/type_:Discount' dutyAmount: $ref: '#/components/schemas/type_:DutyAmount' firstName: type: string description: First name of the recipient of the invoice. freightAmount: $ref: '#/components/schemas/type_:FreightAmount' frequency: $ref: '#/components/schemas/type_:Frequency' description: Frequency of scheduled invoice. invoiceAmount: $ref: '#/components/schemas/type_:InvoiceAmount' invoiceDate: type: string format: date description: 'Invoice date in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY.' invoiceDueDate: type: string format: date description: >- Invoice due date in one of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceEndDate: type: string format: date description: >- Indicate the date to finish a scheduled invoice cycle (`invoiceType`` = 1) in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceNumber: $ref: '#/components/schemas/type_:InvoiceNumber' description: Invoice number. Identifies the invoice under a paypoint. invoiceStatus: $ref: '#/components/schemas/type_:Invoicestatus' invoiceType: $ref: '#/components/schemas/type_:InvoiceType' items: type: array items: $ref: '#/components/schemas/type_:BillItem' description: Array of line items included in the invoice. lastName: type: string description: Last name of the recipient of the invoice. notes: type: string description: Notes included in the invoice. paymentTerms: $ref: '#/components/schemas/type_:BillDataPaymentTerms' purchaseOrder: $ref: '#/components/schemas/type_:PurchaseOrder' shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' shippingEmail: $ref: '#/components/schemas/type_:Email' description: Shipping recipient's contact email address. shippingFromZip: $ref: '#/components/schemas/type_:ShippingFromZip' shippingPhone: type: string description: Recipient phone number. shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' summaryCommodityCode: $ref: '#/components/schemas/type_:SummaryCommodityCode' tax: $ref: '#/components/schemas/type_:Tax' termsConditions: $ref: '#/components/schemas/type_:TermsConditions' title: BillData type_:Netamountnullable: type: number format: double description: Net amount. title: Netamountnullable type_:Operation: type: string description: The transaction's operation. title: Operation type_:OrderId: type: string description: Custom identifier for the transaction. title: OrderId type_:Orgid: type: integer format: int64 description: Organization ID. Unique identifier assigned to an org by Payabli. title: Orgid type_:OrgParentName: type: string description: The name of the parent organization. title: OrgParentName type_:Accountexp: type: string description: Expiration date of card used in transaction. title: Accountexp type_:Accountid: type: string description: Custom identifier for payment connector. title: Accountid type_:Accounttype: type: string description: Bank account type or card brand. title: Accounttype type_:Accountzip: type: string description: ZIP code for card used in transaction. title: Accountzip type_:BinData: type: object properties: binMatchedLength: type: string description: |- The number of characters from the beginning of the card number that were matched against a Bank Identification Number (BIN) or the Card Range table. binCardBrand: type: string description: |- The card brand. For example, Visa, Mastercard, American Express, Discover. binCardType: type: string description: 'The type of card: Credit or Debit.' binCardCategory: type: string description: >- The category of the card, which indicates the card product. For example: Standard, Gold, Platinum, etc. The binCardCategory for prepaid cards is marked `PREPAID`. binCardIssuer: type: string description: The name of the financial institution that issued the card. binCardIssuerCountry: type: string description: The issuing financial institution's country name. binCardIssuerCountryCodeA2: type: string description: >- The issuing financial institution's two-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIssuerCountryNumber: type: string description: >- The issuing financial institution's ISO standard numeric country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIsRegulated: type: string description: Indicates whether the card is regulated. binCardUseCategory: type: string description: The use category classification for the card. binCardIssuerCountryCodeA3: type: string description: >- The issuing financial institution's three-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. description: >- Object containing information related to the card. This object is `null` unless the payment method is card. If the payment method is Apple Pay, the binData will be related to the DPAN (device primary account number), not the card connected to Apple Pay. title: BinData type_:Holdername: type: string description: Account holder name for the method. title: Holdername type_:Initiator: type: string description: >- **Strongly recommended** The cardholder-initiated transaction (CIT) or merchant-initiated transaction (MIT) indicator for the transaction. If you don't specify a value, Payabli defaults to `merchant`. Available values: - `payor`: For cardholder-initiated transactions - `merchant`: For merchant-initiated transactions See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Initiator type_:Maskedaccount: type: string description: >- Masked card or bank account used in transaction. In the case of Apple Pay, this is a masked DPAN (device primary account number). title: Maskedaccount type_:Orderdescription: type: string description: Text description of the transaction. title: Orderdescription type_:PaymentCategories: type: object properties: amount: type: number format: double description: Price/cost per unit of item or category. description: type: string description: Description of item or category label: type: string description: Name of item or category. qty: type: integer default: 1 description: Quantity of item or category required: - amount - label title: PaymentCategories type_:SplitFundingContent: type: object properties: accountId: type: string description: The accountId for the account the split should be sent to. amount: type: number format: double description: Amount from the transaction to sent to this recipient. description: type: string description: A description for the split. recipientEntryPoint: type: string description: The entrypoint the split should be sent to. title: SplitFundingContent type_:SplitFunding: type: array items: $ref: '#/components/schemas/type_:SplitFundingContent' description: >- Split funding instructions for the transaction. The total amount of the splits must match the total amount of the transaction. title: SplitFunding type_:PaymentDetail: type: object properties: categories: type: array items: $ref: '#/components/schemas/type_:PaymentCategories' description: >- Array of payment categories/line items describing the amount to be paid. **Note**: These categories are for information only and aren't validated against the total amount provided. checkImage: type: object additionalProperties: description: Any type description: Object containing image of paper check. checkNumber: type: string description: >- A check number to be used in the ach transaction. **Required** for payment method = 'check'. currency: type: string description: >- The currency for the transaction, `USD` or `CAD`. If your paypoint is configured for CAD, you must send the `CAD` value in this field, otherwise it defaults to USD, which will cause the transaction to fail. serviceFee: type: number format: double description: >- Service fee to be deducted from the total amount. This amount must be a number, percentages aren't accepted. If you are using a percentage-based fee schedule, you must calculate the value manually. splitFunding: $ref: '#/components/schemas/type_:SplitFunding' description: >- Split funding instructions for the transaction. See [Split a Transaction](/developers/developer-guides/money-in-split-funding) for more. checkUniqueId: type: string description: >- Unique identifier for a processed check image. Required for RDC (Remote Deposit Capture) transactions where `achCode` is `BOC`. Use the `id` value from the [check processing](/developers/api-reference/moneyin/check-capture) response. totalAmount: type: number format: double description: >- Total amount to be charged. If a service fee is sent, then this amount should include the service fee." required: - totalAmount description: Details about the payment. title: PaymentDetail type_:Sequence: type: string description: >- The order of the transaction for cardholder-initiated transaction (CIT) and merchant-initiated transaction (MIT) purposes. This field is automatically detected and populated by Payabli. Available values: - `first`: The first use of the payment method. This is almost always a cardholder-initiated transaction. - `subsequent`: For merchant-initiated transactions after the first use of the payment method. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Sequence type_:Signaturedata: type: string title: Signaturedata type_:Storedmethodid: type: string description: >- Payabli identifier of a tokenized payment method. If this field is used in a request, the `method` field is overridden and the payment is made using the payment token. title: Storedmethodid type_:StoredMethodUsageType: type: string description: >- **Strongly recommended** The usage type for the stored method, used for merchant-initiated transactions (MIT). If you don't specify a value, Payabli defaults to `unscheduled`. Available values: - `unscheduled`: This type is used for transactions that are one-time or otherwise not pre-scheduled. - `subscription`: This type is used for subscription payments. For example, monthly rental fees or ongoing service subscriptions. - `recurring`: This type is used for recurring payments that occur per a set plan. For example, splitting an HOA special assessment over 6 monthly payments. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: StoredMethodUsageType type_:QueryPaymentData: type: object properties: AccountExp: $ref: '#/components/schemas/type_:Accountexp' accountId: $ref: '#/components/schemas/type_:Accountid' AccountType: $ref: '#/components/schemas/type_:Accounttype' AccountZip: $ref: '#/components/schemas/type_:Accountzip' binData: $ref: '#/components/schemas/type_:BinData' HolderName: $ref: '#/components/schemas/type_:Holdername' Initiator: $ref: '#/components/schemas/type_:Initiator' MaskedAccount: $ref: '#/components/schemas/type_:Maskedaccount' orderDescription: $ref: '#/components/schemas/type_:Orderdescription' paymentDetails: $ref: '#/components/schemas/type_:PaymentDetail' Sequence: $ref: '#/components/schemas/type_:Sequence' SignatureData: $ref: '#/components/schemas/type_:Signaturedata' StoredId: $ref: '#/components/schemas/type_:Storedmethodid' description: Identifier of stored payment method used in transaction. StoredMethodUsageType: $ref: '#/components/schemas/type_:StoredMethodUsageType' title: QueryPaymentData type_:PayorId: type: integer format: int64 description: >- Unique ID for the customer linked to the transaction. This is the same value as the `customerId` used when creating or referencing a customer. title: PayorId type_:Dbaname: type: string description: >- The alternate or common name that this business is doing business under usually referred to as a DBA name. title: Dbaname type_:Entrypointfield: type: string description: The entrypoint identifier. title: Entrypointfield type_:Legalname: type: string description: Business legal name. title: Legalname type_:PendingFeeAmount: type: number format: double description: >- The difference between the configured pass-through fee and the fee amount sent in the request. When transferring funds, Payabli uses this field to deduct the fee difference and transfer the correct amount to the merchant. When a paypoint is set up to absorb fees, and the pass-through fee sent with the request is less than the configured amount, the difference must be covered by the merchant. See [Fee Configuration](/guides/pay-in-fees-passthrough-overview#fee-configuration) to learn more about pass-through fee settings. title: PendingFeeAmount type_:RefundId: type: integer format: int64 description: Identifier of refund transaction linked to this payment. title: RefundId type_:Authcode: type: string description: Authorization code for the transaction. title: Authcode type_:AvsResponse: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponse type_:AvsResponseText: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponseText type_:CvvResponse: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponse type_:CvvResponseText: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponseText type_:EmvAuthResponseData: type: string description: EMV authorization response data, applicable for card transactions. title: EmvAuthResponseData type_:ResultCodev2: type: string description: >- Unified result code for the transaction. See [Pay In unified response codes](/developers/references/pay-in-unified-response-codes-reference) for more information. title: ResultCodev2 type_:ResultCodeText: type: string description: >- Description of the result code. See [Pay In unified response codes](/developers/references/pay-in-unified-response-codes-reference) for more information. title: ResultCodeText type_:QueryResponseData: type: object properties: authcode: $ref: '#/components/schemas/type_:Authcode' avsresponse: $ref: '#/components/schemas/type_:AvsResponse' avsresponse_text: $ref: '#/components/schemas/type_:AvsResponseText' cvvresponse: $ref: '#/components/schemas/type_:CvvResponse' cvvresponse_text: $ref: '#/components/schemas/type_:CvvResponseText' emv_auth_response_data: $ref: '#/components/schemas/type_:EmvAuthResponseData' orderid: $ref: '#/components/schemas/type_:OrderId' response: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' response_code: type: string description: >- Internal result code processing the transaction. Value 1 indicates successful operation, values 2 and 3 indicate errors. response_code_text: type: string description: >- Text describing the result. If resultCode = 1, will return 'Approved' or a general success message. If resultCode = 2 or 3, will contain the cause of the decline. responsetext: type: string description: >- Text describing the result. If resultCode = 1, will return 'Approved' or a general success message. If resultCode = 2 or 3, will contain the cause of the decline. resultCode: $ref: '#/components/schemas/type_:ResultCodev2' resultCodeText: $ref: '#/components/schemas/type_:ResultCodeText' transactionid: type: string description: The transaction identifier in Payabli. type: type: string description: Type of transaction or operation. description: The transaction's response data. title: QueryResponseData type_:ReturnedId: type: integer format: int64 description: Identifier of return/chargeback transaction linked to this payment. title: ReturnedId type_:Source: type: string description: Custom identifier to indicate the transaction or request source. title: Source type_:QueryTransactionEventsEventData: oneOf: - type: object additionalProperties: description: Any type - type: string description: >- Any data associated to the event received from processor. Contents vary by event type. title: QueryTransactionEventsEventData type_:QueryTransactionEvents: type: object properties: EventData: $ref: '#/components/schemas/type_:QueryTransactionEventsEventData' description: >- Any data associated to the event received from processor. Contents vary by event type. EventTime: type: string format: date-time description: Date and time of event. TransEvent: type: string description: >- Event descriptor. See [TransEvent Reference](/guides/pay-in-transevents-reference) for more details. title: QueryTransactionEvents type_:TransactionQueryRecords: type: object properties: AchHolderType: $ref: '#/components/schemas/type_:AchHolderType' AchSecCode: $ref: '#/components/schemas/type_:AchSecCode' BatchAmount: type: number format: double description: Batch amount. BatchNumber: $ref: '#/components/schemas/type_:BatchNumber' CfeeTransactions: type: array items: $ref: '#/components/schemas/type_:QueryCFeeTransaction' description: >- Service Fee or sub-charge transaction associated to the main transaction. ConnectorName: type: string description: Connector used for transaction. Customer: $ref: '#/components/schemas/type_:QueryTransactionPayorData' DeviceId: $ref: '#/components/schemas/type_:Device' EntrypageId: $ref: '#/components/schemas/type_:EntrypageId' ExternalProcessorInformation: $ref: '#/components/schemas/type_:ExternalProcessorInformation' FeeAmount: $ref: '#/components/schemas/type_:FeeAmount' GatewayTransId: type: string description: Internal identifier used for processing. InvoiceData: $ref: '#/components/schemas/type_:BillData' Method: type: string description: 'Payment method used: card, ach, or wallet.' NetAmount: $ref: '#/components/schemas/type_:Netamountnullable' description: Net amount paid. Operation: $ref: '#/components/schemas/type_:Operation' OrderId: $ref: '#/components/schemas/type_:OrderId' OrgId: $ref: '#/components/schemas/type_:Orgid' description: ID of immediate parent organization. ParentOrgName: $ref: '#/components/schemas/type_:OrgParentName' PaymentData: $ref: '#/components/schemas/type_:QueryPaymentData' PaymentTransId: type: string description: Unique Transaction ID. PayorId: $ref: '#/components/schemas/type_:PayorId' PaypointDbaname: $ref: '#/components/schemas/type_:Dbaname' description: Paypoint's DBA name. PaypointEntryname: $ref: '#/components/schemas/type_:Entrypointfield' description: Paypoint's entryname. PaypointId: type: integer format: int64 description: InternalId for paypoint. PaypointLegalname: $ref: '#/components/schemas/type_:Legalname' description: Paypoint's legal name. PendingFeeAmount: $ref: '#/components/schemas/type_:PendingFeeAmount' RefundId: $ref: '#/components/schemas/type_:RefundId' ResponseData: $ref: '#/components/schemas/type_:QueryResponseData' ReturnedId: $ref: '#/components/schemas/type_:ReturnedId' ScheduleReference: type: integer format: int64 description: Reference to the subscription that originated the transaction. SettlementStatus: type: integer description: >- Settlement status for transaction. See [the docs](/developers/references/money-in-statuses#payment-funding-status) for a full reference. Source: $ref: '#/components/schemas/type_:Source' splitFundingInstructions: $ref: '#/components/schemas/type_:SplitFunding' TotalAmount: type: number format: double description: Transaction total amount (including service fee or sub-charge) TransactionEvents: type: array items: $ref: '#/components/schemas/type_:QueryTransactionEvents' description: Events associated with this transaction. TransactionTime: type: - string - 'null' format: date-time description: Transaction date and time, in UTC. TransAdditionalData: description: Any type TransStatus: type: integer description: >- Status of transaction. See [the docs](/developers/references/money-in-statuses#money-in-transaction-status) for a full reference. required: - TransactionTime title: TransactionQueryRecords type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:Pagesize: type: integer description: Number of records on each response page. title: Pagesize type_:Totalrecords: type: integer description: Total number of records in response. title: Totalrecords type_:QuerySummary: type: object properties: pageIdentifier: $ref: '#/components/schemas/type_:PageIdentifier' pageSize: $ref: '#/components/schemas/type_:Pagesize' totalAmount: type: number format: double description: Total amount for the records. totalNetAmount: type: number format: double description: Total net amount for the records. totalPages: $ref: '#/components/schemas/type_:Totalrecords' totalRecords: $ref: '#/components/schemas/type_:Totalrecords' title: QuerySummary type_:QueryResponseTransactions: type: object properties: Records: type: array items: $ref: '#/components/schemas/type_:TransactionQueryRecords' Summary: $ref: '#/components/schemas/type_:QuerySummary' description: Response payload for queries related to transactions title: QueryResponseTransactions type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript Example import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.query.listTransactions("8cfec329267", { fromRecord: 251, limitRecord: 0, sortBy: "desc(field_name)", }); } main(); ``` ```python Example from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.query.list_transactions( entry="8cfec329267", from_record=251, limit_record=0, sort_by="desc(field_name)", ) ``` ```csharp Example using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Query.ListTransactionsAsync( "8cfec329267", new ListTransactionsRequest { FromRecord = 251, LimitRecord = 0, SortBy = "desc(field_name)" } ); } } ``` ```go Example package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Query/transactions/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Example require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Query/transactions/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java Example import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Query/transactions/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29") .header("requestToken", "") .asString(); ``` ```php Example request('GET', 'https://api-sandbox.payabli.com/api/Query/transactions/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift Example import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Query/transactions/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # List transactions for org GET https://api-sandbox.payabli.com/api/Query/transactions/org/{orgId} Retrieve a list of transactions for an organization. Use filters to limit results. Include the `exportFormat` query parameter to return the results as a file instead of a JSON response. By default, this endpoint returns only transactions from the last 60 days. To query transactions outside of this period, include `transactionDate` filters. For example, this request parameters filter for transactions between April 01, 2024 and April 09, 2024. ``` curl --request GET \ --url https://sandbox.payabli.com/api/Query/transactions/org/1?limitRecord=20&fromRecord=0&transactionDate(ge)=2024-04-01T00:00:00&transactionDate(le)=2024-04-09T23:59:59\ --header 'requestToken: ' ``` Reference: https://docs.payabli.com/developers/api-reference/query/get-list-of-transactions-for-an-organization ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Query/transactions/org/{orgId}: get: operationId: list-transactions-org summary: Get list of transactions for an organization description: >- Retrieve a list of transactions for an organization. Use filters to limit results. Include the `exportFormat` query parameter to return the results as a file instead of a JSON response. By default, this endpoint returns only transactions from the last 60 days. To query transactions outside of this period, include `transactionDate` filters. For example, this request parameters filter for transactions between April 01, 2024 and April 09, 2024. ``` curl --request GET \ --url https://sandbox.payabli.com/api/Query/transactions/org/1?limitRecord=20&fromRecord=0&transactionDate(ge)=2024-04-01T00:00:00&transactionDate(le)=2024-04-09T23:59:59\ --header 'requestToken: ' ``` tags: - subpackage_query parameters: - name: orgId in: path description: The numeric identifier for organization, assigned by Payabli. required: true schema: type: integer - name: exportFormat in: query required: false schema: $ref: '#/components/schemas/type_:ExportFormat' - name: fromRecord in: query description: >- The number of records to skip before starting to collect the result set. required: false schema: type: integer default: 0 - name: limitRecord in: query description: >- Max number of records to return for the query. Use `0` or negative value to return all records. required: false schema: type: integer default: 20 - name: parameters in: query description: >- Collection of field names, conditions, and values used to filter the query. **You must remove `parameters=` from the request before you send it, otherwise Payabli will ignore the filters.** Because of a technical limitation, you can't make a request that includes filters from the API console on this page. The response won't be filtered. Instead, copy the request, remove `parameters=` and run the request in a different client. For example: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?parameters=totalAmount(gt)=1000&limitRecord=20 should become: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?totalAmount(gt)=1000&limitRecord=20 See [Filters and Conditions Reference](/developers/developer-guides/pay-ops-reporting-engine-overview#filters-and-conditions-reference) for more information. **List of field names accepted:** - `transactionDate` (gt, ge, lt, le, eq, ne) - `transId` (ne, eq, ct, nct, in, nin) - `gatewayTransId` (ne, eq, ct, nct) - `orderId` (ne, eq) - `scheduleId` (ne, eq) - `returnId` (ne, eq) - `refundId` (ne, eq) - `idTrans` (ne, eq) - `orgId` (ne, eq) - `paypointId` (ne, eq) - `paypointLegal` (ne, eq, ct, nct) - `paypointDba` (ne, eq, ct, nct) - `orgName` (ne, eq, ct, nct) - `externalPaypointId` (ct, nct, eq, ne) - `method` (in, nin, eq, ne) - `totalAmount` (gt, ge, lt, le, eq, ne) - `netAmount` (gt, ge, lt, le, eq, ne) - `feeAmount` (gt, ge, lt, le, eq, ne) - `operation` (in, nin, eq, ne) - `source` (in, nin, eq, ne, ct, nct) - `status` (in, nin, eq, ne) - `settlementStatus` (in, nin, eq, ne) - `batchNumber` (nct, ct) - `invoiceNumber` (ct, nct) - `authCode` (ct, nct) - `orderDescription` (ct, nct) - `payaccountLastfour` (nct, ct) - `payaccountType` (ne, eq, in, nin) - `payaccountCurrency` (ne, eq, in, nin) - `customerFirstname` (ct, nct, eq, ne) - `customerLastname` (ct, nct, eq, ne) - `customerName` (ct, nct) - `customerId` (eq, ne) - `customerNumber` (ct, nct, eq, ne) - `customerCompanyname` (ct, nct, eq, ne) - `customerAddress` (ct, nct, eq, ne) - `customerCity` (ct, nct, eq, ne) - `customerZip` (ct, nct, eq, ne) - `customerState` (ct, nct, eq, ne) - `customerCountry` (ct, nct, eq, ne) - `customerPhone` (ct, nct, eq, ne) - `customerEmail` (ct, nct, eq, ne) - `customerShippingAddress` (ct, nct, eq, ne) - `customerShippingCity` (ct, nct, eq, ne) - `customerShippingZip` (ct, nct, eq, ne) - `customerShippingState` (ct, nct, eq, ne) - `customerShippingCountry` (ct, nct, eq, ne) - `deviceId` (ct, nct, in, nin, eq, ne) - `AchSecCode` ( ct, nct, in, nin, eq, ne) - `AchHolderType`` (ct, nct, in, nin, eq, and ne) - `additional-xxx` (ne, eq, ct, nct) where xxx is the additional field name related to customer data - 'invoiceAdditional-xxx' (ne, eq, ct, nct) where xxx is the additional field name related to invoice data **List of comparison operators accepted:** - `eq` or empty => equal - `gt` => greater than - `ge` => greater or equal - `lt` => less than - `le` => less or equal - `ne` => not equal - `ct` => contains - `nct` => not contains - `in` => inside array - `nin` => not inside array required: false schema: type: object additionalProperties: type: string - name: sortBy in: query description: >- The field name to use for sorting results. Use `desc(field_name)` to sort descending by `field_name`, and use `asc(field_name)` to sort ascending by `field_name`. required: false schema: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:QueryResponseTransactions' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:ExportFormat: type: string enum: - csv - xlsx description: >- Export format for file downloads. When specified, returns data as a file instead of JSON. title: ExportFormat type_:AchHolderType: type: string enum: - personal - business default: personal description: 'The bank''s accountholder type: personal or business.' title: AchHolderType type_:AchSecCode: type: string description: >- Standard Entry Class (SEC) code is a three letter code that describes how an ACH payment was authorized. Supported values are: - PPD (Prearranged Payment and Deposit) - Used for credits or debits where an accountholder authorizes a company to initiate either a single or recurring transaction to their personal bank account. Common examples include direct deposit of payroll, mortgage payments, or utility bills. This is the default value for subscription payments. - WEB (Internet-Initiated/Mobile Entry) - Used for debit entries when authorization is obtained from an accountholder via the internet or a wireless network. Common examples are online bill payments, ecommerce purchases, and mobile app payments where the consumer enters their banking information online. - TEL (Telephone-Initiated Entry) - Used for one-time debit entries where authorization is obtained from a consumer via telephone. Common examples are phone-based purchases or bill payments where the consumer provides their banking information over the phone. - CCD (Corporate Credit or Debit) - Used for fund transfers between business accounts. This code is specifically for business-to-business transactions. Common examples include vendor payments and other business-to-business payments. - BOC (Back Office Conversion) - Used to convert paper checks received in-person at a point-of-sale or staffed payment location into electronic ACH debits. Required for Remote Deposit Capture (RDC) transactions. Only supports consumer checks; business, government, and mailed checks aren't eligible. title: AchSecCode type_:BatchNumber: type: string description: >- A unique identifier for the batch. This is generated by Payabli when the batch is created, and follows this format: `paypointId + "_" + serviceName + "_" + batchDate:yyyyMMdd + "_" + Guid.NewGuid()`. Payabli generates the GUID to ensure that the batch number is unique. For example, in this batch number: `123_card_20251008_3f2504e0-4f89-11d3-9a0c-0305e82c3301`, the paypointID is "123", the service is "card", the batch date is "2025-10-08", and the GUID is "3f2504e0-4f89-11d3-9a0c-0305e82c3301". title: BatchNumber type_:TransactionTime: type: string format: date-time description: Timestamp when transaction was submitted, in UTC. title: TransactionTime type_:QueryCFeeTransaction: type: object properties: cFeeTransid: type: string feeAmount: type: number format: double operation: type: string refundId: type: integer format: int64 responseData: type: object additionalProperties: description: Any type settlementStatus: type: integer transactionTime: $ref: '#/components/schemas/type_:TransactionTime' transStatus: type: integer title: QueryCFeeTransaction type_:BillingZip: type: string description: Billing address ZIP code. title: BillingZip type_:Email: type: string format: email description: Email address. title: Email type_:CustomerNumberNullable: type: string description: >- User-provided unique identifier for the customer. This is typically the customer ID from your own system. title: CustomerNumberNullable type_:Shippingaddress: type: string description: The shipping address. title: Shippingaddress type_:Shippingaddressadditional: type: string description: Additional line for shipping address. title: Shippingaddressadditional type_:Shippingcity: type: string description: Shipping city. title: Shippingcity type_:Shippingstate: type: string description: Shipping state or province. title: Shippingstate type_:Shippingzip: type: string description: >- Shipping ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". title: Shippingzip type_:Shippingcountry: type: string description: Shipping address country. title: Shippingcountry type_:CustomerId: type: integer format: int64 description: The Payabli-generated unique ID for the customer. title: CustomerId type_:CustomerStatus: type: integer description: |- Customer Status. Possible values: - `-99` Deleted - `0` Inactive - `1` Active - `85` Locked (typically due to multiple failed login attempts) title: CustomerStatus type_:AdditionalDataMap: type: object additionalProperties: type: string description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalDataMap type_:QueryTransactionPayorData: type: object properties: Identifiers: type: array items: description: Any type description: Array of field names to be used as identifiers. FirstName: type: string description: Customer/Payor first name. LastName: type: string description: Customer/Payor last name. CompanyName: type: string description: Customer's company name. BillingAddress1: type: string description: Customer's billing address. BillingAddress2: type: string description: Additional line for Customer's billing address. BillingCity: type: string description: Customer's billing city. BillingState: type: string description: >- Customer's billing state. Must be 2-letter state code for address in US. BillingZip: $ref: '#/components/schemas/type_:BillingZip' description: Customer's billing ZIP code. BillingCountry: type: string description: Customer's billing country. BillingPhone: type: string description: Customer's phone number. BillingEmail: $ref: '#/components/schemas/type_:Email' description: Customer's email address. CustomerNumber: $ref: '#/components/schemas/type_:CustomerNumberNullable' ShippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' ShippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' ShippingCity: $ref: '#/components/schemas/type_:Shippingcity' ShippingState: $ref: '#/components/schemas/type_:Shippingstate' ShippingZip: $ref: '#/components/schemas/type_:Shippingzip' ShippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' customerId: $ref: '#/components/schemas/type_:CustomerId' customerStatus: $ref: '#/components/schemas/type_:CustomerStatus' AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' title: QueryTransactionPayorData type_:Device: type: string description: Identifier of registered cloud device used in the transaction. title: Device type_:EntrypageId: type: integer format: int64 description: >- If applicable, the internal reference ID to the payment page capturing the payment. title: EntrypageId type_:ExternalProcessorInformation: type: string description: >- Processor information, used for troubleshooting and reporting. This field contains a value when the API key used to make the request has management permissions. title: ExternalProcessorInformation type_:FeeAmount: type: number format: double description: Service fee or sub-charge applied. title: FeeAmount type_:FileContentFtype: type: string enum: - pdf - doc - docx - jpg - jpeg - png - gif - txt description: The MIME type of the file (if content is provided) title: FileContentFtype type_:FileContent: type: object properties: fContent: type: string description: >- Content of file, Base64-encoded. Ignored if furl is specified. Max upload size is 30 MB. filename: type: string description: The name of the attached file. ftype: $ref: '#/components/schemas/type_:FileContentFtype' description: The MIME type of the file (if content is provided) furl: type: string description: Optional URL provided to show or download the file remotely description: Contains details about a file. Max upload size is 30 MB. title: FileContent type_:Attachments: type: array items: $ref: '#/components/schemas/type_:FileContent' description: >- Array of `fileContent` objects with attached documents. Max upload size is 30 MB. title: Attachments type_:Discount: type: number format: double description: Discount applied to the invoice. title: Discount type_:DutyAmount: type: number format: double description: Duty amount. title: DutyAmount type_:FreightAmount: type: number format: double description: Freight/shipping amount. title: FreightAmount type_:Frequency: type: string enum: - onetime - weekly - every2weeks - every6months - monthly - every3months - annually description: Frequency for operation. title: Frequency type_:InvoiceAmount: type: number format: double description: Invoice total amount. title: InvoiceAmount type_:InvoiceNumber: type: string description: >- Custom number identifying the bill or invoice. Must be unique in paypoint. title: InvoiceNumber type_:Invoicestatus: type: integer description: |- Status for invoice. The accepted status values are: - 0 draft - 1 active - 2 partially paid - 4 paid/complete - 99 cancelled title: Invoicestatus type_:InvoiceType: type: integer description: Type of invoice. Only `0` for one-time invoices is currently supported. title: InvoiceType type_:ItemCommodityCode: type: string description: Item or product commodity code. Max length of 250 characters. title: ItemCommodityCode type_:ItemDescription: type: string description: Item or product description. Max length of 250 characters. title: ItemDescription type_:ItemProductCode: type: string description: Item or product code. Max length of 250 characters. title: ItemProductCode type_:ItemProductName: type: string description: Item or product name. Max length of 250 characters. title: ItemProductName type_:ItemUnitofMeasure: type: string description: Unit of measurement. Max length of 100 characters. title: ItemUnitofMeasure type_:BillItem: type: object properties: itemCategories: type: array items: type: string description: Array of tags classifying item or product. itemCommodityCode: $ref: '#/components/schemas/type_:ItemCommodityCode' itemCost: type: number format: double description: Item or product price per unit. itemDescription: $ref: '#/components/schemas/type_:ItemDescription' itemMode: type: integer description: >- Internal class of item or product: value '0' is only for invoices , '1' for bills and, '2' common for both. itemProductCode: $ref: '#/components/schemas/type_:ItemProductCode' itemProductName: $ref: '#/components/schemas/type_:ItemProductName' itemQty: type: integer description: Quantity of item or product. itemTaxAmount: type: number format: double description: Tax amount applied to item or product. itemTaxRate: type: number format: double description: Tax rate applied to item or product. itemTotalAmount: type: number format: double description: Total amount in item or product. itemUnitOfMeasure: $ref: '#/components/schemas/type_:ItemUnitofMeasure' required: - itemCost title: BillItem type_:BillDataPaymentTerms: type: string enum: - PIA - CIA - UR - NET10 - NET20 - NET30 - NET45 - NET60 - NET90 - EOM - MFI - 5MFI - 10MFI - 15MFI - 20MFI - 2/10NET30 - UF - 10UF - 20UF - 25UF - 50UF description: >- Payment terms for invoice. If no terms are defined, then response data for this field defaults to `NET30`. **Available Values:** - `PIA`: Payment in advance - `CIA`: Cash in advance - `UR`: Upon receipt - `NET10`: 10 days after invoice date - `NET20`: 20 days after invoice date - `NET30`: 30 days after invoice date - `NET45`: 45 days after invoice date - `NET60`: 60 days after invoice date - `NET90`: 90 days after invoice date - `EOM`: Due end of this month - `MFI`: 1st of the month following the invoice date - `5MFI`: 5th of the month following the invoice date - `10MFI`: 10th of the month following the invoice date - `15MFI`: 15th of the month following the invoice date - `20MFI`: 20th of the month following the invoice date - `2/10NET30`: 2% discount if paid within 10 days, otherwise net 30 days - `UF`: Until further notice - `10UF`: 10 days until further notice - `20UF`: 20 days until further notice - `25UF`: 25 days until further notice - `50UF`: 50 days until further notice title: BillDataPaymentTerms type_:PurchaseOrder: type: string description: Purchase order number. title: PurchaseOrder type_:ShippingFromZip: type: string description: Sender shipping ZIP code. title: ShippingFromZip type_:SummaryCommodityCode: type: string description: Commodity code. title: SummaryCommodityCode type_:Tax: type: number format: double description: Tax rate in percent applied to the invoice. title: Tax type_:TermsConditions: type: string description: Custom terms and conditions included in the invoice. title: TermsConditions type_:BillData: type: object properties: AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' attachments: $ref: '#/components/schemas/type_:Attachments' company: type: string description: Company name of the recipient of the invoice. discount: $ref: '#/components/schemas/type_:Discount' dutyAmount: $ref: '#/components/schemas/type_:DutyAmount' firstName: type: string description: First name of the recipient of the invoice. freightAmount: $ref: '#/components/schemas/type_:FreightAmount' frequency: $ref: '#/components/schemas/type_:Frequency' description: Frequency of scheduled invoice. invoiceAmount: $ref: '#/components/schemas/type_:InvoiceAmount' invoiceDate: type: string format: date description: 'Invoice date in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY.' invoiceDueDate: type: string format: date description: >- Invoice due date in one of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceEndDate: type: string format: date description: >- Indicate the date to finish a scheduled invoice cycle (`invoiceType`` = 1) in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceNumber: $ref: '#/components/schemas/type_:InvoiceNumber' description: Invoice number. Identifies the invoice under a paypoint. invoiceStatus: $ref: '#/components/schemas/type_:Invoicestatus' invoiceType: $ref: '#/components/schemas/type_:InvoiceType' items: type: array items: $ref: '#/components/schemas/type_:BillItem' description: Array of line items included in the invoice. lastName: type: string description: Last name of the recipient of the invoice. notes: type: string description: Notes included in the invoice. paymentTerms: $ref: '#/components/schemas/type_:BillDataPaymentTerms' purchaseOrder: $ref: '#/components/schemas/type_:PurchaseOrder' shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' shippingEmail: $ref: '#/components/schemas/type_:Email' description: Shipping recipient's contact email address. shippingFromZip: $ref: '#/components/schemas/type_:ShippingFromZip' shippingPhone: type: string description: Recipient phone number. shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' summaryCommodityCode: $ref: '#/components/schemas/type_:SummaryCommodityCode' tax: $ref: '#/components/schemas/type_:Tax' termsConditions: $ref: '#/components/schemas/type_:TermsConditions' title: BillData type_:Netamountnullable: type: number format: double description: Net amount. title: Netamountnullable type_:Operation: type: string description: The transaction's operation. title: Operation type_:OrderId: type: string description: Custom identifier for the transaction. title: OrderId type_:Orgid: type: integer format: int64 description: Organization ID. Unique identifier assigned to an org by Payabli. title: Orgid type_:OrgParentName: type: string description: The name of the parent organization. title: OrgParentName type_:Accountexp: type: string description: Expiration date of card used in transaction. title: Accountexp type_:Accountid: type: string description: Custom identifier for payment connector. title: Accountid type_:Accounttype: type: string description: Bank account type or card brand. title: Accounttype type_:Accountzip: type: string description: ZIP code for card used in transaction. title: Accountzip type_:BinData: type: object properties: binMatchedLength: type: string description: |- The number of characters from the beginning of the card number that were matched against a Bank Identification Number (BIN) or the Card Range table. binCardBrand: type: string description: |- The card brand. For example, Visa, Mastercard, American Express, Discover. binCardType: type: string description: 'The type of card: Credit or Debit.' binCardCategory: type: string description: >- The category of the card, which indicates the card product. For example: Standard, Gold, Platinum, etc. The binCardCategory for prepaid cards is marked `PREPAID`. binCardIssuer: type: string description: The name of the financial institution that issued the card. binCardIssuerCountry: type: string description: The issuing financial institution's country name. binCardIssuerCountryCodeA2: type: string description: >- The issuing financial institution's two-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIssuerCountryNumber: type: string description: >- The issuing financial institution's ISO standard numeric country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIsRegulated: type: string description: Indicates whether the card is regulated. binCardUseCategory: type: string description: The use category classification for the card. binCardIssuerCountryCodeA3: type: string description: >- The issuing financial institution's three-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. description: >- Object containing information related to the card. This object is `null` unless the payment method is card. If the payment method is Apple Pay, the binData will be related to the DPAN (device primary account number), not the card connected to Apple Pay. title: BinData type_:Holdername: type: string description: Account holder name for the method. title: Holdername type_:Initiator: type: string description: >- **Strongly recommended** The cardholder-initiated transaction (CIT) or merchant-initiated transaction (MIT) indicator for the transaction. If you don't specify a value, Payabli defaults to `merchant`. Available values: - `payor`: For cardholder-initiated transactions - `merchant`: For merchant-initiated transactions See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Initiator type_:Maskedaccount: type: string description: >- Masked card or bank account used in transaction. In the case of Apple Pay, this is a masked DPAN (device primary account number). title: Maskedaccount type_:Orderdescription: type: string description: Text description of the transaction. title: Orderdescription type_:PaymentCategories: type: object properties: amount: type: number format: double description: Price/cost per unit of item or category. description: type: string description: Description of item or category label: type: string description: Name of item or category. qty: type: integer default: 1 description: Quantity of item or category required: - amount - label title: PaymentCategories type_:SplitFundingContent: type: object properties: accountId: type: string description: The accountId for the account the split should be sent to. amount: type: number format: double description: Amount from the transaction to sent to this recipient. description: type: string description: A description for the split. recipientEntryPoint: type: string description: The entrypoint the split should be sent to. title: SplitFundingContent type_:SplitFunding: type: array items: $ref: '#/components/schemas/type_:SplitFundingContent' description: >- Split funding instructions for the transaction. The total amount of the splits must match the total amount of the transaction. title: SplitFunding type_:PaymentDetail: type: object properties: categories: type: array items: $ref: '#/components/schemas/type_:PaymentCategories' description: >- Array of payment categories/line items describing the amount to be paid. **Note**: These categories are for information only and aren't validated against the total amount provided. checkImage: type: object additionalProperties: description: Any type description: Object containing image of paper check. checkNumber: type: string description: >- A check number to be used in the ach transaction. **Required** for payment method = 'check'. currency: type: string description: >- The currency for the transaction, `USD` or `CAD`. If your paypoint is configured for CAD, you must send the `CAD` value in this field, otherwise it defaults to USD, which will cause the transaction to fail. serviceFee: type: number format: double description: >- Service fee to be deducted from the total amount. This amount must be a number, percentages aren't accepted. If you are using a percentage-based fee schedule, you must calculate the value manually. splitFunding: $ref: '#/components/schemas/type_:SplitFunding' description: >- Split funding instructions for the transaction. See [Split a Transaction](/developers/developer-guides/money-in-split-funding) for more. checkUniqueId: type: string description: >- Unique identifier for a processed check image. Required for RDC (Remote Deposit Capture) transactions where `achCode` is `BOC`. Use the `id` value from the [check processing](/developers/api-reference/moneyin/check-capture) response. totalAmount: type: number format: double description: >- Total amount to be charged. If a service fee is sent, then this amount should include the service fee." required: - totalAmount description: Details about the payment. title: PaymentDetail type_:Sequence: type: string description: >- The order of the transaction for cardholder-initiated transaction (CIT) and merchant-initiated transaction (MIT) purposes. This field is automatically detected and populated by Payabli. Available values: - `first`: The first use of the payment method. This is almost always a cardholder-initiated transaction. - `subsequent`: For merchant-initiated transactions after the first use of the payment method. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Sequence type_:Signaturedata: type: string title: Signaturedata type_:Storedmethodid: type: string description: >- Payabli identifier of a tokenized payment method. If this field is used in a request, the `method` field is overridden and the payment is made using the payment token. title: Storedmethodid type_:StoredMethodUsageType: type: string description: >- **Strongly recommended** The usage type for the stored method, used for merchant-initiated transactions (MIT). If you don't specify a value, Payabli defaults to `unscheduled`. Available values: - `unscheduled`: This type is used for transactions that are one-time or otherwise not pre-scheduled. - `subscription`: This type is used for subscription payments. For example, monthly rental fees or ongoing service subscriptions. - `recurring`: This type is used for recurring payments that occur per a set plan. For example, splitting an HOA special assessment over 6 monthly payments. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: StoredMethodUsageType type_:QueryPaymentData: type: object properties: AccountExp: $ref: '#/components/schemas/type_:Accountexp' accountId: $ref: '#/components/schemas/type_:Accountid' AccountType: $ref: '#/components/schemas/type_:Accounttype' AccountZip: $ref: '#/components/schemas/type_:Accountzip' binData: $ref: '#/components/schemas/type_:BinData' HolderName: $ref: '#/components/schemas/type_:Holdername' Initiator: $ref: '#/components/schemas/type_:Initiator' MaskedAccount: $ref: '#/components/schemas/type_:Maskedaccount' orderDescription: $ref: '#/components/schemas/type_:Orderdescription' paymentDetails: $ref: '#/components/schemas/type_:PaymentDetail' Sequence: $ref: '#/components/schemas/type_:Sequence' SignatureData: $ref: '#/components/schemas/type_:Signaturedata' StoredId: $ref: '#/components/schemas/type_:Storedmethodid' description: Identifier of stored payment method used in transaction. StoredMethodUsageType: $ref: '#/components/schemas/type_:StoredMethodUsageType' title: QueryPaymentData type_:PayorId: type: integer format: int64 description: >- Unique ID for the customer linked to the transaction. This is the same value as the `customerId` used when creating or referencing a customer. title: PayorId type_:Dbaname: type: string description: >- The alternate or common name that this business is doing business under usually referred to as a DBA name. title: Dbaname type_:Entrypointfield: type: string description: The entrypoint identifier. title: Entrypointfield type_:Legalname: type: string description: Business legal name. title: Legalname type_:PendingFeeAmount: type: number format: double description: >- The difference between the configured pass-through fee and the fee amount sent in the request. When transferring funds, Payabli uses this field to deduct the fee difference and transfer the correct amount to the merchant. When a paypoint is set up to absorb fees, and the pass-through fee sent with the request is less than the configured amount, the difference must be covered by the merchant. See [Fee Configuration](/guides/pay-in-fees-passthrough-overview#fee-configuration) to learn more about pass-through fee settings. title: PendingFeeAmount type_:RefundId: type: integer format: int64 description: Identifier of refund transaction linked to this payment. title: RefundId type_:Authcode: type: string description: Authorization code for the transaction. title: Authcode type_:AvsResponse: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponse type_:AvsResponseText: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponseText type_:CvvResponse: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponse type_:CvvResponseText: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponseText type_:EmvAuthResponseData: type: string description: EMV authorization response data, applicable for card transactions. title: EmvAuthResponseData type_:ResultCodev2: type: string description: >- Unified result code for the transaction. See [Pay In unified response codes](/developers/references/pay-in-unified-response-codes-reference) for more information. title: ResultCodev2 type_:ResultCodeText: type: string description: >- Description of the result code. See [Pay In unified response codes](/developers/references/pay-in-unified-response-codes-reference) for more information. title: ResultCodeText type_:QueryResponseData: type: object properties: authcode: $ref: '#/components/schemas/type_:Authcode' avsresponse: $ref: '#/components/schemas/type_:AvsResponse' avsresponse_text: $ref: '#/components/schemas/type_:AvsResponseText' cvvresponse: $ref: '#/components/schemas/type_:CvvResponse' cvvresponse_text: $ref: '#/components/schemas/type_:CvvResponseText' emv_auth_response_data: $ref: '#/components/schemas/type_:EmvAuthResponseData' orderid: $ref: '#/components/schemas/type_:OrderId' response: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' response_code: type: string description: >- Internal result code processing the transaction. Value 1 indicates successful operation, values 2 and 3 indicate errors. response_code_text: type: string description: >- Text describing the result. If resultCode = 1, will return 'Approved' or a general success message. If resultCode = 2 or 3, will contain the cause of the decline. responsetext: type: string description: >- Text describing the result. If resultCode = 1, will return 'Approved' or a general success message. If resultCode = 2 or 3, will contain the cause of the decline. resultCode: $ref: '#/components/schemas/type_:ResultCodev2' resultCodeText: $ref: '#/components/schemas/type_:ResultCodeText' transactionid: type: string description: The transaction identifier in Payabli. type: type: string description: Type of transaction or operation. description: The transaction's response data. title: QueryResponseData type_:ReturnedId: type: integer format: int64 description: Identifier of return/chargeback transaction linked to this payment. title: ReturnedId type_:Source: type: string description: Custom identifier to indicate the transaction or request source. title: Source type_:QueryTransactionEventsEventData: oneOf: - type: object additionalProperties: description: Any type - type: string description: >- Any data associated to the event received from processor. Contents vary by event type. title: QueryTransactionEventsEventData type_:QueryTransactionEvents: type: object properties: EventData: $ref: '#/components/schemas/type_:QueryTransactionEventsEventData' description: >- Any data associated to the event received from processor. Contents vary by event type. EventTime: type: string format: date-time description: Date and time of event. TransEvent: type: string description: >- Event descriptor. See [TransEvent Reference](/guides/pay-in-transevents-reference) for more details. title: QueryTransactionEvents type_:TransactionQueryRecords: type: object properties: AchHolderType: $ref: '#/components/schemas/type_:AchHolderType' AchSecCode: $ref: '#/components/schemas/type_:AchSecCode' BatchAmount: type: number format: double description: Batch amount. BatchNumber: $ref: '#/components/schemas/type_:BatchNumber' CfeeTransactions: type: array items: $ref: '#/components/schemas/type_:QueryCFeeTransaction' description: >- Service Fee or sub-charge transaction associated to the main transaction. ConnectorName: type: string description: Connector used for transaction. Customer: $ref: '#/components/schemas/type_:QueryTransactionPayorData' DeviceId: $ref: '#/components/schemas/type_:Device' EntrypageId: $ref: '#/components/schemas/type_:EntrypageId' ExternalProcessorInformation: $ref: '#/components/schemas/type_:ExternalProcessorInformation' FeeAmount: $ref: '#/components/schemas/type_:FeeAmount' GatewayTransId: type: string description: Internal identifier used for processing. InvoiceData: $ref: '#/components/schemas/type_:BillData' Method: type: string description: 'Payment method used: card, ach, or wallet.' NetAmount: $ref: '#/components/schemas/type_:Netamountnullable' description: Net amount paid. Operation: $ref: '#/components/schemas/type_:Operation' OrderId: $ref: '#/components/schemas/type_:OrderId' OrgId: $ref: '#/components/schemas/type_:Orgid' description: ID of immediate parent organization. ParentOrgName: $ref: '#/components/schemas/type_:OrgParentName' PaymentData: $ref: '#/components/schemas/type_:QueryPaymentData' PaymentTransId: type: string description: Unique Transaction ID. PayorId: $ref: '#/components/schemas/type_:PayorId' PaypointDbaname: $ref: '#/components/schemas/type_:Dbaname' description: Paypoint's DBA name. PaypointEntryname: $ref: '#/components/schemas/type_:Entrypointfield' description: Paypoint's entryname. PaypointId: type: integer format: int64 description: InternalId for paypoint. PaypointLegalname: $ref: '#/components/schemas/type_:Legalname' description: Paypoint's legal name. PendingFeeAmount: $ref: '#/components/schemas/type_:PendingFeeAmount' RefundId: $ref: '#/components/schemas/type_:RefundId' ResponseData: $ref: '#/components/schemas/type_:QueryResponseData' ReturnedId: $ref: '#/components/schemas/type_:ReturnedId' ScheduleReference: type: integer format: int64 description: Reference to the subscription that originated the transaction. SettlementStatus: type: integer description: >- Settlement status for transaction. See [the docs](/developers/references/money-in-statuses#payment-funding-status) for a full reference. Source: $ref: '#/components/schemas/type_:Source' splitFundingInstructions: $ref: '#/components/schemas/type_:SplitFunding' TotalAmount: type: number format: double description: Transaction total amount (including service fee or sub-charge) TransactionEvents: type: array items: $ref: '#/components/schemas/type_:QueryTransactionEvents' description: Events associated with this transaction. TransactionTime: type: - string - 'null' format: date-time description: Transaction date and time, in UTC. TransAdditionalData: description: Any type TransStatus: type: integer description: >- Status of transaction. See [the docs](/developers/references/money-in-statuses#money-in-transaction-status) for a full reference. required: - TransactionTime title: TransactionQueryRecords type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:Pagesize: type: integer description: Number of records on each response page. title: Pagesize type_:Totalrecords: type: integer description: Total number of records in response. title: Totalrecords type_:QuerySummary: type: object properties: pageIdentifier: $ref: '#/components/schemas/type_:PageIdentifier' pageSize: $ref: '#/components/schemas/type_:Pagesize' totalAmount: type: number format: double description: Total amount for the records. totalNetAmount: type: number format: double description: Total net amount for the records. totalPages: $ref: '#/components/schemas/type_:Totalrecords' totalRecords: $ref: '#/components/schemas/type_:Totalrecords' title: QuerySummary type_:QueryResponseTransactions: type: object properties: Records: type: array items: $ref: '#/components/schemas/type_:TransactionQueryRecords' Summary: $ref: '#/components/schemas/type_:QuerySummary' description: Response payload for queries related to transactions title: QueryResponseTransactions type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.query.listTransactionsOrg(123, { fromRecord: 251, limitRecord: 0, sortBy: "desc(field_name)", }); } main(); ``` ```python from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.query.list_transactions_org( org_id=123, from_record=251, limit_record=0, sort_by="desc(field_name)", ) ``` ```csharp using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Query.ListTransactionsOrgAsync( 123, new ListTransactionsOrgRequest { FromRecord = 251, LimitRecord = 0, SortBy = "desc(field_name)" } ); } } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Query/transactions/org/123?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Query/transactions/org/123?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Query/transactions/org/123?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29") .header("requestToken", "") .asString(); ``` ```php request('GET', 'https://api-sandbox.payabli.com/api/Query/transactions/org/123?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Query/transactions/org/123?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # List settled transactions for paypoint GET https://api-sandbox.payabli.com/api/Query/settlements/{entry} Retrieve a list of settled transactions for a paypoint. Use filters to limit results. Include the `exportFormat` query parameter to return the results as a file instead of a JSON response. Reference: https://docs.payabli.com/developers/api-reference/query/get-list-of-settled-transactions-for-an-entrypoint ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Query/settlements/{entry}: get: operationId: list-settlements summary: Get list of settled transactions for a paypoint description: >- Retrieve a list of settled transactions for a paypoint. Use filters to limit results. Include the `exportFormat` query parameter to return the results as a file instead of a JSON response. tags: - subpackage_query parameters: - name: entry in: path required: true schema: $ref: '#/components/schemas/type_:Entry' - name: exportFormat in: query required: false schema: $ref: '#/components/schemas/type_:ExportFormat' - name: fromRecord in: query description: >- The number of records to skip before starting to collect the result set. required: false schema: type: integer default: 0 - name: limitRecord in: query description: >- Max number of records to return for the query. Use `0` or negative value to return all records. required: false schema: type: integer default: 20 - name: parameters in: query description: >- Collection of field names, conditions, and values used to filter the query. **You must remove `parameters=` from the request before you send it, otherwise Payabli will ignore the filters.** Because of a technical limitation, you can't make a request that includes filters from the API console on this page. The response won't be filtered. Instead, copy the request, remove `parameters=` and run the request in a different client. For example: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?parameters=totalAmount(gt)=1000&limitRecord=20 should become: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?totalAmount(gt)=1000&limitRecord=20 See [Filters and Conditions Reference](/developers/developer-guides/pay-ops-reporting-engine-overview#filters-and-conditions-reference) for more information. **List of field names accepted:** - `settlementDate` (gt, ge, lt, le, eq, ne) - `depositDate` (gt, ge, lt, le, eq, ne) - `transId` (ne, eq, ct, nct) - `gatewayTransId` (ne, eq, ct, nct) - `method` (in, nin, eq, ne) - `settledAmount` (gt, ge, lt, le, eq, ne) - `operation` (in, nin, eq, ne) - `source` (in, nin, eq, ne) - `batchNumber` (ct, nct, eq, ne) - `payaccountLastfour` (nct, ct) - `payaccountType` (ne, eq, in, nin) - `customerFirstname` (ct, nct, eq, ne) - `customerLastname` (ct, nct, eq, ne) - `customerName` (ct, nct) - `customerId` (eq, ne) - `customerNumber` (ct, nct, eq, ne) - `customerCompanyname` (ct, nct, eq, ne) - `customerAddress` (ct, nct, eq, ne) - `customerCity` (ct, nct, eq, ne) - `customerZip` (ct, nct, eq, ne) - `customerState` (ct, nct, eq, ne) - `customerCountry` (ct, nct, eq, ne) - `customerPhone` (ct, nct, eq, ne) - `customerEmail` (ct, nct, eq, ne) - `customerShippingAddress` (ct, nct, eq, ne) - `customerShippingCity` (ct, nct, eq, ne) - `customerShippingZip` (ct, nct, eq, ne) - `customerShippingState` (ct, nct, eq, ne) - `customerShippingCountry` (ct, nct, eq, ne) - `orgId` (eq) *mandatory when entry=org* - `isHold` (eq, ne) - `paypointId` (ne, eq) - `paypointLegal` (ne, eq, ct, nct) - `paypointDba` (ne, eq, ct, nct) - `orgName` (ne, eq, ct, nct) - `batchId` (ct, nct, eq, neq) - `additional-xxx` (ne, eq, ct, nct) where xxx is the additional field name **List of comparison accepted:** - `eq` or empty => equal - `gt` => greater than - `ge` => greater or equal - `lt` => less than - `le` => less or equal - `ne` => not equal - `ct` => contains - `nct` => not contains - `in` => inside array separated by "|" - `nin` => not inside array separated by "|" **List of parameters accepted:** - `limitRecord`: max number of records for query (default="20", "0" or negative value for all) - `fromRecord`: initial record in query Example: `settledAmount(gt)=20` returns all records with a `settledAmount` greater than 20.00. required: false schema: type: object additionalProperties: type: string - name: sortBy in: query description: >- The field name to use for sorting results. Use `desc(field_name)` to sort descending by `field_name`, and use `asc(field_name)` to sort ascending by `field_name`. required: false schema: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:QueryResponseSettlements' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:Entry: type: string description: >- The entity's entrypoint identifier. [Learn more](/developers/api-reference/api-overview#entrypoint-vs-entry) title: Entry type_:ExportFormat: type: string enum: - csv - xlsx description: >- Export format for file downloads. When specified, returns data as a file instead of JSON. title: ExportFormat type_:BatchNumber: type: string description: >- A unique identifier for the batch. This is generated by Payabli when the batch is created, and follows this format: `paypointId + "_" + serviceName + "_" + batchDate:yyyyMMdd + "_" + Guid.NewGuid()`. Payabli generates the GUID to ensure that the batch number is unique. For example, in this batch number: `123_card_20251008_3f2504e0-4f89-11d3-9a0c-0305e82c3301`, the paypointID is "123", the service is "card", the batch date is "2025-10-08", and the GUID is "3f2504e0-4f89-11d3-9a0c-0305e82c3301". title: BatchNumber type_:Category: type: string description: >- A field used internally by Payabli to categorize the transaction details. Values are: - `auth`: Any payment - `refund`: ACH return or Refund - `adj`: Adjustments - `cb`: Chargeback - `split`: Split amount title: Category type_:CreatedAt: type: string format: date-time description: Timestamp of when record was created, in UTC. title: CreatedAt type_:BillingZip: type: string description: Billing address ZIP code. title: BillingZip type_:Email: type: string format: email description: Email address. title: Email type_:CustomerNumberNullable: type: string description: >- User-provided unique identifier for the customer. This is typically the customer ID from your own system. title: CustomerNumberNullable type_:Shippingaddress: type: string description: The shipping address. title: Shippingaddress type_:Shippingaddressadditional: type: string description: Additional line for shipping address. title: Shippingaddressadditional type_:Shippingcity: type: string description: Shipping city. title: Shippingcity type_:Shippingstate: type: string description: Shipping state or province. title: Shippingstate type_:Shippingzip: type: string description: >- Shipping ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". title: Shippingzip type_:Shippingcountry: type: string description: Shipping address country. title: Shippingcountry type_:CustomerId: type: integer format: int64 description: The Payabli-generated unique ID for the customer. title: CustomerId type_:CustomerStatus: type: integer description: |- Customer Status. Possible values: - `-99` Deleted - `0` Inactive - `1` Active - `85` Locked (typically due to multiple failed login attempts) title: CustomerStatus type_:AdditionalDataMap: type: object additionalProperties: type: string description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalDataMap type_:QueryTransactionPayorData: type: object properties: Identifiers: type: array items: description: Any type description: Array of field names to be used as identifiers. FirstName: type: string description: Customer/Payor first name. LastName: type: string description: Customer/Payor last name. CompanyName: type: string description: Customer's company name. BillingAddress1: type: string description: Customer's billing address. BillingAddress2: type: string description: Additional line for Customer's billing address. BillingCity: type: string description: Customer's billing city. BillingState: type: string description: >- Customer's billing state. Must be 2-letter state code for address in US. BillingZip: $ref: '#/components/schemas/type_:BillingZip' description: Customer's billing ZIP code. BillingCountry: type: string description: Customer's billing country. BillingPhone: type: string description: Customer's phone number. BillingEmail: $ref: '#/components/schemas/type_:Email' description: Customer's email address. CustomerNumber: $ref: '#/components/schemas/type_:CustomerNumberNullable' ShippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' ShippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' ShippingCity: $ref: '#/components/schemas/type_:Shippingcity' ShippingState: $ref: '#/components/schemas/type_:Shippingstate' ShippingZip: $ref: '#/components/schemas/type_:Shippingzip' ShippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' customerId: $ref: '#/components/schemas/type_:CustomerId' customerStatus: $ref: '#/components/schemas/type_:CustomerStatus' AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' title: QueryTransactionPayorData type_:DepositDate: type: string format: date-time description: The date the funds were deposited. title: DepositDate type_:ExpectedDepositDate: type: string format: date-time description: The date the funds are expected to be deposited. title: ExpectedDepositDate type_:ExternalPaypointId: type: string description: >- A custom identifier for the paypoint, if applicable. Like `entrypoint` is the Payabli identifier for the merchant, `externalPaypointId` is a custom field you can use to include the merchant's ID from your own systems. title: ExternalPaypointId type_:FileContentFtype: type: string enum: - pdf - doc - docx - jpg - jpeg - png - gif - txt description: The MIME type of the file (if content is provided) title: FileContentFtype type_:FileContent: type: object properties: fContent: type: string description: >- Content of file, Base64-encoded. Ignored if furl is specified. Max upload size is 30 MB. filename: type: string description: The name of the attached file. ftype: $ref: '#/components/schemas/type_:FileContentFtype' description: The MIME type of the file (if content is provided) furl: type: string description: Optional URL provided to show or download the file remotely description: Contains details about a file. Max upload size is 30 MB. title: FileContent type_:Attachments: type: array items: $ref: '#/components/schemas/type_:FileContent' description: >- Array of `fileContent` objects with attached documents. Max upload size is 30 MB. title: Attachments type_:Discount: type: number format: double description: Discount applied to the invoice. title: Discount type_:DutyAmount: type: number format: double description: Duty amount. title: DutyAmount type_:FreightAmount: type: number format: double description: Freight/shipping amount. title: FreightAmount type_:Frequency: type: string enum: - onetime - weekly - every2weeks - every6months - monthly - every3months - annually description: Frequency for operation. title: Frequency type_:InvoiceAmount: type: number format: double description: Invoice total amount. title: InvoiceAmount type_:InvoiceNumber: type: string description: >- Custom number identifying the bill or invoice. Must be unique in paypoint. title: InvoiceNumber type_:Invoicestatus: type: integer description: |- Status for invoice. The accepted status values are: - 0 draft - 1 active - 2 partially paid - 4 paid/complete - 99 cancelled title: Invoicestatus type_:InvoiceType: type: integer description: Type of invoice. Only `0` for one-time invoices is currently supported. title: InvoiceType type_:ItemCommodityCode: type: string description: Item or product commodity code. Max length of 250 characters. title: ItemCommodityCode type_:ItemDescription: type: string description: Item or product description. Max length of 250 characters. title: ItemDescription type_:ItemProductCode: type: string description: Item or product code. Max length of 250 characters. title: ItemProductCode type_:ItemProductName: type: string description: Item or product name. Max length of 250 characters. title: ItemProductName type_:ItemUnitofMeasure: type: string description: Unit of measurement. Max length of 100 characters. title: ItemUnitofMeasure type_:BillItem: type: object properties: itemCategories: type: array items: type: string description: Array of tags classifying item or product. itemCommodityCode: $ref: '#/components/schemas/type_:ItemCommodityCode' itemCost: type: number format: double description: Item or product price per unit. itemDescription: $ref: '#/components/schemas/type_:ItemDescription' itemMode: type: integer description: >- Internal class of item or product: value '0' is only for invoices , '1' for bills and, '2' common for both. itemProductCode: $ref: '#/components/schemas/type_:ItemProductCode' itemProductName: $ref: '#/components/schemas/type_:ItemProductName' itemQty: type: integer description: Quantity of item or product. itemTaxAmount: type: number format: double description: Tax amount applied to item or product. itemTaxRate: type: number format: double description: Tax rate applied to item or product. itemTotalAmount: type: number format: double description: Total amount in item or product. itemUnitOfMeasure: $ref: '#/components/schemas/type_:ItemUnitofMeasure' required: - itemCost title: BillItem type_:BillDataPaymentTerms: type: string enum: - PIA - CIA - UR - NET10 - NET20 - NET30 - NET45 - NET60 - NET90 - EOM - MFI - 5MFI - 10MFI - 15MFI - 20MFI - 2/10NET30 - UF - 10UF - 20UF - 25UF - 50UF description: >- Payment terms for invoice. If no terms are defined, then response data for this field defaults to `NET30`. **Available Values:** - `PIA`: Payment in advance - `CIA`: Cash in advance - `UR`: Upon receipt - `NET10`: 10 days after invoice date - `NET20`: 20 days after invoice date - `NET30`: 30 days after invoice date - `NET45`: 45 days after invoice date - `NET60`: 60 days after invoice date - `NET90`: 90 days after invoice date - `EOM`: Due end of this month - `MFI`: 1st of the month following the invoice date - `5MFI`: 5th of the month following the invoice date - `10MFI`: 10th of the month following the invoice date - `15MFI`: 15th of the month following the invoice date - `20MFI`: 20th of the month following the invoice date - `2/10NET30`: 2% discount if paid within 10 days, otherwise net 30 days - `UF`: Until further notice - `10UF`: 10 days until further notice - `20UF`: 20 days until further notice - `25UF`: 25 days until further notice - `50UF`: 50 days until further notice title: BillDataPaymentTerms type_:PurchaseOrder: type: string description: Purchase order number. title: PurchaseOrder type_:ShippingFromZip: type: string description: Sender shipping ZIP code. title: ShippingFromZip type_:SummaryCommodityCode: type: string description: Commodity code. title: SummaryCommodityCode type_:Tax: type: number format: double description: Tax rate in percent applied to the invoice. title: Tax type_:TermsConditions: type: string description: Custom terms and conditions included in the invoice. title: TermsConditions type_:BillData: type: object properties: AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' attachments: $ref: '#/components/schemas/type_:Attachments' company: type: string description: Company name of the recipient of the invoice. discount: $ref: '#/components/schemas/type_:Discount' dutyAmount: $ref: '#/components/schemas/type_:DutyAmount' firstName: type: string description: First name of the recipient of the invoice. freightAmount: $ref: '#/components/schemas/type_:FreightAmount' frequency: $ref: '#/components/schemas/type_:Frequency' description: Frequency of scheduled invoice. invoiceAmount: $ref: '#/components/schemas/type_:InvoiceAmount' invoiceDate: type: string format: date description: 'Invoice date in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY.' invoiceDueDate: type: string format: date description: >- Invoice due date in one of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceEndDate: type: string format: date description: >- Indicate the date to finish a scheduled invoice cycle (`invoiceType`` = 1) in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceNumber: $ref: '#/components/schemas/type_:InvoiceNumber' description: Invoice number. Identifies the invoice under a paypoint. invoiceStatus: $ref: '#/components/schemas/type_:Invoicestatus' invoiceType: $ref: '#/components/schemas/type_:InvoiceType' items: type: array items: $ref: '#/components/schemas/type_:BillItem' description: Array of line items included in the invoice. lastName: type: string description: Last name of the recipient of the invoice. notes: type: string description: Notes included in the invoice. paymentTerms: $ref: '#/components/schemas/type_:BillDataPaymentTerms' purchaseOrder: $ref: '#/components/schemas/type_:PurchaseOrder' shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' shippingEmail: $ref: '#/components/schemas/type_:Email' description: Shipping recipient's contact email address. shippingFromZip: $ref: '#/components/schemas/type_:ShippingFromZip' shippingPhone: type: string description: Recipient phone number. shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' summaryCommodityCode: $ref: '#/components/schemas/type_:SummaryCommodityCode' tax: $ref: '#/components/schemas/type_:Tax' termsConditions: $ref: '#/components/schemas/type_:TermsConditions' title: BillData type_:Maskedaccount: type: string description: >- Masked card or bank account used in transaction. In the case of Apple Pay, this is a masked DPAN (device primary account number). title: Maskedaccount type_:Netamountnullable: type: number format: double description: Net amount. title: Netamountnullable type_:OrderId: type: string description: Custom identifier for the transaction. title: OrderId type_:OrgParentName: type: string description: The name of the parent organization. title: OrgParentName type_:Accountexp: type: string description: Expiration date of card used in transaction. title: Accountexp type_:Accountid: type: string description: Custom identifier for payment connector. title: Accountid type_:Accounttype: type: string description: Bank account type or card brand. title: Accounttype type_:Accountzip: type: string description: ZIP code for card used in transaction. title: Accountzip type_:BinData: type: object properties: binMatchedLength: type: string description: |- The number of characters from the beginning of the card number that were matched against a Bank Identification Number (BIN) or the Card Range table. binCardBrand: type: string description: |- The card brand. For example, Visa, Mastercard, American Express, Discover. binCardType: type: string description: 'The type of card: Credit or Debit.' binCardCategory: type: string description: >- The category of the card, which indicates the card product. For example: Standard, Gold, Platinum, etc. The binCardCategory for prepaid cards is marked `PREPAID`. binCardIssuer: type: string description: The name of the financial institution that issued the card. binCardIssuerCountry: type: string description: The issuing financial institution's country name. binCardIssuerCountryCodeA2: type: string description: >- The issuing financial institution's two-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIssuerCountryNumber: type: string description: >- The issuing financial institution's ISO standard numeric country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIsRegulated: type: string description: Indicates whether the card is regulated. binCardUseCategory: type: string description: The use category classification for the card. binCardIssuerCountryCodeA3: type: string description: >- The issuing financial institution's three-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. description: >- Object containing information related to the card. This object is `null` unless the payment method is card. If the payment method is Apple Pay, the binData will be related to the DPAN (device primary account number), not the card connected to Apple Pay. title: BinData type_:Holdername: type: string description: Account holder name for the method. title: Holdername type_:Initiator: type: string description: >- **Strongly recommended** The cardholder-initiated transaction (CIT) or merchant-initiated transaction (MIT) indicator for the transaction. If you don't specify a value, Payabli defaults to `merchant`. Available values: - `payor`: For cardholder-initiated transactions - `merchant`: For merchant-initiated transactions See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Initiator type_:Orderdescription: type: string description: Text description of the transaction. title: Orderdescription type_:PaymentCategories: type: object properties: amount: type: number format: double description: Price/cost per unit of item or category. description: type: string description: Description of item or category label: type: string description: Name of item or category. qty: type: integer default: 1 description: Quantity of item or category required: - amount - label title: PaymentCategories type_:SplitFundingContent: type: object properties: accountId: type: string description: The accountId for the account the split should be sent to. amount: type: number format: double description: Amount from the transaction to sent to this recipient. description: type: string description: A description for the split. recipientEntryPoint: type: string description: The entrypoint the split should be sent to. title: SplitFundingContent type_:SplitFunding: type: array items: $ref: '#/components/schemas/type_:SplitFundingContent' description: >- Split funding instructions for the transaction. The total amount of the splits must match the total amount of the transaction. title: SplitFunding type_:PaymentDetail: type: object properties: categories: type: array items: $ref: '#/components/schemas/type_:PaymentCategories' description: >- Array of payment categories/line items describing the amount to be paid. **Note**: These categories are for information only and aren't validated against the total amount provided. checkImage: type: object additionalProperties: description: Any type description: Object containing image of paper check. checkNumber: type: string description: >- A check number to be used in the ach transaction. **Required** for payment method = 'check'. currency: type: string description: >- The currency for the transaction, `USD` or `CAD`. If your paypoint is configured for CAD, you must send the `CAD` value in this field, otherwise it defaults to USD, which will cause the transaction to fail. serviceFee: type: number format: double description: >- Service fee to be deducted from the total amount. This amount must be a number, percentages aren't accepted. If you are using a percentage-based fee schedule, you must calculate the value manually. splitFunding: $ref: '#/components/schemas/type_:SplitFunding' description: >- Split funding instructions for the transaction. See [Split a Transaction](/developers/developer-guides/money-in-split-funding) for more. checkUniqueId: type: string description: >- Unique identifier for a processed check image. Required for RDC (Remote Deposit Capture) transactions where `achCode` is `BOC`. Use the `id` value from the [check processing](/developers/api-reference/moneyin/check-capture) response. totalAmount: type: number format: double description: >- Total amount to be charged. If a service fee is sent, then this amount should include the service fee." required: - totalAmount description: Details about the payment. title: PaymentDetail type_:Sequence: type: string description: >- The order of the transaction for cardholder-initiated transaction (CIT) and merchant-initiated transaction (MIT) purposes. This field is automatically detected and populated by Payabli. Available values: - `first`: The first use of the payment method. This is almost always a cardholder-initiated transaction. - `subsequent`: For merchant-initiated transactions after the first use of the payment method. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Sequence type_:Signaturedata: type: string title: Signaturedata type_:Storedmethodid: type: string description: >- Payabli identifier of a tokenized payment method. If this field is used in a request, the `method` field is overridden and the payment is made using the payment token. title: Storedmethodid type_:StoredMethodUsageType: type: string description: >- **Strongly recommended** The usage type for the stored method, used for merchant-initiated transactions (MIT). If you don't specify a value, Payabli defaults to `unscheduled`. Available values: - `unscheduled`: This type is used for transactions that are one-time or otherwise not pre-scheduled. - `subscription`: This type is used for subscription payments. For example, monthly rental fees or ongoing service subscriptions. - `recurring`: This type is used for recurring payments that occur per a set plan. For example, splitting an HOA special assessment over 6 monthly payments. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: StoredMethodUsageType type_:QueryPaymentData: type: object properties: AccountExp: $ref: '#/components/schemas/type_:Accountexp' accountId: $ref: '#/components/schemas/type_:Accountid' AccountType: $ref: '#/components/schemas/type_:Accounttype' AccountZip: $ref: '#/components/schemas/type_:Accountzip' binData: $ref: '#/components/schemas/type_:BinData' HolderName: $ref: '#/components/schemas/type_:Holdername' Initiator: $ref: '#/components/schemas/type_:Initiator' MaskedAccount: $ref: '#/components/schemas/type_:Maskedaccount' orderDescription: $ref: '#/components/schemas/type_:Orderdescription' paymentDetails: $ref: '#/components/schemas/type_:PaymentDetail' Sequence: $ref: '#/components/schemas/type_:Sequence' SignatureData: $ref: '#/components/schemas/type_:Signaturedata' StoredId: $ref: '#/components/schemas/type_:Storedmethodid' description: Identifier of stored payment method used in transaction. StoredMethodUsageType: $ref: '#/components/schemas/type_:StoredMethodUsageType' title: QueryPaymentData type_:TransStatus: type: integer description: >- Status of transaction. See [the docs](/developers/references/money-in-statuses#money-in-transaction-status) for a full reference. title: TransStatus type_:Authcode: type: string description: Authorization code for the transaction. title: Authcode type_:AvsResponse: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponse type_:AvsResponseText: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponseText type_:CvvResponse: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponse type_:CvvResponseText: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponseText type_:EmvAuthResponseData: type: string description: EMV authorization response data, applicable for card transactions. title: EmvAuthResponseData type_:ResultCodev2: type: string description: >- Unified result code for the transaction. See [Pay In unified response codes](/developers/references/pay-in-unified-response-codes-reference) for more information. title: ResultCodev2 type_:ResultCodeText: type: string description: >- Description of the result code. See [Pay In unified response codes](/developers/references/pay-in-unified-response-codes-reference) for more information. title: ResultCodeText type_:QueryResponseData: type: object properties: authcode: $ref: '#/components/schemas/type_:Authcode' avsresponse: $ref: '#/components/schemas/type_:AvsResponse' avsresponse_text: $ref: '#/components/schemas/type_:AvsResponseText' cvvresponse: $ref: '#/components/schemas/type_:CvvResponse' cvvresponse_text: $ref: '#/components/schemas/type_:CvvResponseText' emv_auth_response_data: $ref: '#/components/schemas/type_:EmvAuthResponseData' orderid: $ref: '#/components/schemas/type_:OrderId' response: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' response_code: type: string description: >- Internal result code processing the transaction. Value 1 indicates successful operation, values 2 and 3 indicate errors. response_code_text: type: string description: >- Text describing the result. If resultCode = 1, will return 'Approved' or a general success message. If resultCode = 2 or 3, will contain the cause of the decline. responsetext: type: string description: >- Text describing the result. If resultCode = 1, will return 'Approved' or a general success message. If resultCode = 2 or 3, will contain the cause of the decline. resultCode: $ref: '#/components/schemas/type_:ResultCodev2' resultCodeText: $ref: '#/components/schemas/type_:ResultCodeText' transactionid: type: string description: The transaction identifier in Payabli. type: type: string description: Type of transaction or operation. description: The transaction's response data. title: QueryResponseData type_:Source: type: string description: Custom identifier to indicate the transaction or request source. title: Source type_:SettlementStatus: type: integer description: >- Settlement status for transaction. See [the docs](/developers/references/money-in-statuses#payment-funding-status) for a full reference. title: SettlementStatus type_:QueryTransactionEventsEventData: oneOf: - type: object additionalProperties: description: Any type - type: string description: >- Any data associated to the event received from processor. Contents vary by event type. title: QueryTransactionEventsEventData type_:QueryTransactionEvents: type: object properties: EventData: $ref: '#/components/schemas/type_:QueryTransactionEventsEventData' description: >- Any data associated to the event received from processor. Contents vary by event type. EventTime: type: string format: date-time description: Date and time of event. TransEvent: type: string description: >- Event descriptor. See [TransEvent Reference](/guides/pay-in-transevents-reference) for more details. title: QueryTransactionEvents type_:TransactionTime: type: string format: date-time description: Timestamp when transaction was submitted, in UTC. title: TransactionTime type_:QueryResponseSettlementsRecordsItem: type: object properties: BatchAmount: type: number format: double description: The batch amount. BatchNumber: $ref: '#/components/schemas/type_:BatchNumber' Category: $ref: '#/components/schemas/type_:Category' CreatedAt: $ref: '#/components/schemas/type_:CreatedAt' Customer: $ref: '#/components/schemas/type_:QueryTransactionPayorData' DepositDate: $ref: '#/components/schemas/type_:DepositDate' ExpectedDepositDate: $ref: '#/components/schemas/type_:ExpectedDepositDate' externalPaypointID: $ref: '#/components/schemas/type_:ExternalPaypointId' GatewayTransId: type: string description: Internal identifier used for processing. Id: type: integer invoiceData: $ref: '#/components/schemas/type_:BillData' isHold: type: integer description: |- Describes whether the transaction is being held or not. 1 - Transaction is held 0 - Transaction isn't being held MaskedAccount: $ref: '#/components/schemas/type_:Maskedaccount' Method: type: string description: The payment method. NetAmount: $ref: '#/components/schemas/type_:Netamountnullable' description: Net amount paid. Operation: type: string description: The operation performed. OrderId: $ref: '#/components/schemas/type_:OrderId' ParentOrgName: $ref: '#/components/schemas/type_:OrgParentName' PaymentData: $ref: '#/components/schemas/type_:QueryPaymentData' PaymentTransId: type: string description: The transaction ID for the payment. PaymentTransStatus: $ref: '#/components/schemas/type_:TransStatus' PaypointDbaname: type: string description: Paypoint DBA name. PaypointEntryname: type: string description: Paypoint entryname. PaypointLegalname: type: string description: Paypoint legal name. ResponseData: $ref: '#/components/schemas/type_:QueryResponseData' ScheduleReference: type: integer description: Reference to the subscription originating the transaction. SettledAmount: type: number format: double description: The transaction amount. SettlementDate: type: string format: date-time description: >- The date and time when the transaction was settled. This field is null when the transaction's `SettlementStatus` is -1, -5, or -6 (Exception, Held, or Released). Source: $ref: '#/components/schemas/type_:Source' Status: $ref: '#/components/schemas/type_:SettlementStatus' TransactionEvents: type: array items: $ref: '#/components/schemas/type_:QueryTransactionEvents' description: Events associated with this transaction. TransactionTime: $ref: '#/components/schemas/type_:TransactionTime' TransMethod: type: string description: 'Payment method used: card or ach.' Type: type: string description: 'The transaction type: credit or debit.' title: QueryResponseSettlementsRecordsItem type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:QueryResponseSettlementsSummary: type: object properties: heldAmount: type: number format: double description: Funds being held for fraud or risk concerns. pageidentifier: $ref: '#/components/schemas/type_:PageIdentifier' pageSize: type: integer description: Number of records per page. refunds: type: number format: double description: Total refunds deducted from the transfer. serviceFees: type: number format: double description: >- Service fees are any pass-through fees charged to the customer at the time of payment. These aren't transferred to the merchant when the batch is transferred and funded. totalAmount: type: number format: double description: The total sum of the settlements in the response. totalNetAmount: type: number format: double description: The total sum of the settlements in the response. totalPages: type: integer description: Number of pages in the response. totalRecords: type: integer description: Number of records in the response. transferAmount: type: number format: double description: >- The transfer amount is the net batch amount plus or minus any returns, refunds, billing and fees items, chargebacks, adjustments, and third party payments. This is the amount from the batch that's transferred to the merchant bank account. title: QueryResponseSettlementsSummary type_:QueryResponseSettlements: type: object properties: Records: type: array items: $ref: '#/components/schemas/type_:QueryResponseSettlementsRecordsItem' Summary: $ref: '#/components/schemas/type_:QueryResponseSettlementsSummary' description: Describes the response for settlement queries. title: QueryResponseSettlements type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript Example query response import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.query.listSettlements("8cfec329267", { fromRecord: 251, limitRecord: 0, sortBy: "desc(field_name)", }); } main(); ``` ```python Example query response from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.query.list_settlements( entry="8cfec329267", from_record=251, limit_record=0, sort_by="desc(field_name)", ) ``` ```csharp Example query response using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Query.ListSettlementsAsync( "8cfec329267", new ListSettlementsRequest { FromRecord = 251, LimitRecord = 0, SortBy = "desc(field_name)" } ); } } ``` ```go Example query response package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Query/settlements/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Example query response require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Query/settlements/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java Example query response import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Query/settlements/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29") .header("requestToken", "") .asString(); ``` ```php Example query response request('GET', 'https://api-sandbox.payabli.com/api/Query/settlements/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift Example query response import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Query/settlements/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # List settled transactions for org GET https://api-sandbox.payabli.com/api/Query/settlements/org/{orgId} Retrieve a list of settled transactions for an organization. Include the `exportFormat` query parameter to return the results as a file instead of a JSON response. Reference: https://docs.payabli.com/developers/api-reference/query/get-list-of-settled-transactions-for-an-org ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Query/settlements/org/{orgId}: get: operationId: list-settlements-org summary: Get list of settled transactions for an org description: >- Retrieve a list of settled transactions for an organization. Include the `exportFormat` query parameter to return the results as a file instead of a JSON response. tags: - subpackage_query parameters: - name: orgId in: path description: The numeric identifier for organization, assigned by Payabli. required: true schema: type: integer - name: exportFormat in: query required: false schema: $ref: '#/components/schemas/type_:ExportFormat' - name: fromRecord in: query description: >- The number of records to skip before starting to collect the result set. required: false schema: type: integer default: 0 - name: limitRecord in: query description: >- Max number of records to return for the query. Use `0` or negative value to return all records. required: false schema: type: integer default: 20 - name: parameters in: query description: >- Collection of field names, conditions, and values used to filter the query. **You must remove `parameters=` from the request before you send it, otherwise Payabli will ignore the filters.** Because of a technical limitation, you can't make a request that includes filters from the API console on this page. The response won't be filtered. Instead, copy the request, remove `parameters=` and run the request in a different client. For example: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?parameters=totalAmount(gt)=1000&limitRecord=20 should become: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?totalAmount(gt)=1000&limitRecord=20 See [Filters and Conditions Reference](/developers/developer-guides/pay-ops-reporting-engine-overview#filters-and-conditions-reference) for more information. **List of field names accepted:** - `settlementDate` (gt, ge, lt, le, eq, ne) - `depositDate` (gt, ge, lt, le, eq, ne) - `transId` (ne, eq, ct, nct) - `gatewayTransId` (ne, eq, ct, nct) - `method` (in, nin, eq, ne) - `settledAmount` (gt, ge, lt, le, eq, ne) - `operation` (in, nin, eq, ne) - `source` (in, nin, eq, ne) - `batchNumber` (ct, nct, eq, ne) - `payaccountLastfour` (nct, ct) - `payaccountType` (ne, eq, in, nin) - `customerFirstname` (ct, nct, eq, ne) - `customerLastname` (ct, nct, eq, ne) - `customerName` (ct, nct) - `customerId` (eq, ne) - `customerNumber` (ct, nct, eq, ne) - `customerCompanyname` (ct, nct, eq, ne) - `customerAddress` (ct, nct, eq, ne) - `customerCity` (ct, nct, eq, ne) - `customerZip` (ct, nct, eq, ne) - `customerState` (ct, nct, eq, ne) - `customerCountry` (ct, nct, eq, ne) - `customerPhone` (ct, nct, eq, ne) - `customerEmail` (ct, nct, eq, ne) - `customerShippingAddress` (ct, nct, eq, ne) - `customerShippingCity` (ct, nct, eq, ne) - `customerShippingZip` (ct, nct, eq, ne) - `customerShippingState` (ct, nct, eq, ne) - `customerShippingCountry` (ct, nct, eq, ne) - `orgId` (eq) *mandatory when entry=org* - `isHold` (eq, ne) - `paypointId` (ne, eq) - `paypointLegal` (ne, eq, ct, nct) - `paypointDba` (ne, eq, ct, nct) - `orgName` (ne, eq, ct, nct) - `batchId` (ct, nct, eq, neq) - `additional-xxx` (ne, eq, ct, nct) where xxx is the additional field name **List of comparison accepted:** - `eq` or empty => equal - `gt` => greater than - `ge` => greater or equal - `lt` => less than - `le` => less or equal - `ne` => not equal - `ct` => contains - `nct` => not contains - `in` => inside array separated by "|" - `nin` => not inside array separated by "|" **List of parameters accepted:** - `limitRecord`: max number of records for query (default="20", "0" or negative value for all) - `fromRecord`: initial record in query Example: `settledAmount(gt)=20` returns all records with a `settledAmount` greater than 20.00. required: false schema: type: object additionalProperties: type: string - name: sortBy in: query description: >- The field name to use for sorting results. Use `desc(field_name)` to sort descending by `field_name`, and use `asc(field_name)` to sort ascending by `field_name`. required: false schema: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:QueryResponseSettlements' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:ExportFormat: type: string enum: - csv - xlsx description: >- Export format for file downloads. When specified, returns data as a file instead of JSON. title: ExportFormat type_:BatchNumber: type: string description: >- A unique identifier for the batch. This is generated by Payabli when the batch is created, and follows this format: `paypointId + "_" + serviceName + "_" + batchDate:yyyyMMdd + "_" + Guid.NewGuid()`. Payabli generates the GUID to ensure that the batch number is unique. For example, in this batch number: `123_card_20251008_3f2504e0-4f89-11d3-9a0c-0305e82c3301`, the paypointID is "123", the service is "card", the batch date is "2025-10-08", and the GUID is "3f2504e0-4f89-11d3-9a0c-0305e82c3301". title: BatchNumber type_:Category: type: string description: >- A field used internally by Payabli to categorize the transaction details. Values are: - `auth`: Any payment - `refund`: ACH return or Refund - `adj`: Adjustments - `cb`: Chargeback - `split`: Split amount title: Category type_:CreatedAt: type: string format: date-time description: Timestamp of when record was created, in UTC. title: CreatedAt type_:BillingZip: type: string description: Billing address ZIP code. title: BillingZip type_:Email: type: string format: email description: Email address. title: Email type_:CustomerNumberNullable: type: string description: >- User-provided unique identifier for the customer. This is typically the customer ID from your own system. title: CustomerNumberNullable type_:Shippingaddress: type: string description: The shipping address. title: Shippingaddress type_:Shippingaddressadditional: type: string description: Additional line for shipping address. title: Shippingaddressadditional type_:Shippingcity: type: string description: Shipping city. title: Shippingcity type_:Shippingstate: type: string description: Shipping state or province. title: Shippingstate type_:Shippingzip: type: string description: >- Shipping ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". title: Shippingzip type_:Shippingcountry: type: string description: Shipping address country. title: Shippingcountry type_:CustomerId: type: integer format: int64 description: The Payabli-generated unique ID for the customer. title: CustomerId type_:CustomerStatus: type: integer description: |- Customer Status. Possible values: - `-99` Deleted - `0` Inactive - `1` Active - `85` Locked (typically due to multiple failed login attempts) title: CustomerStatus type_:AdditionalDataMap: type: object additionalProperties: type: string description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalDataMap type_:QueryTransactionPayorData: type: object properties: Identifiers: type: array items: description: Any type description: Array of field names to be used as identifiers. FirstName: type: string description: Customer/Payor first name. LastName: type: string description: Customer/Payor last name. CompanyName: type: string description: Customer's company name. BillingAddress1: type: string description: Customer's billing address. BillingAddress2: type: string description: Additional line for Customer's billing address. BillingCity: type: string description: Customer's billing city. BillingState: type: string description: >- Customer's billing state. Must be 2-letter state code for address in US. BillingZip: $ref: '#/components/schemas/type_:BillingZip' description: Customer's billing ZIP code. BillingCountry: type: string description: Customer's billing country. BillingPhone: type: string description: Customer's phone number. BillingEmail: $ref: '#/components/schemas/type_:Email' description: Customer's email address. CustomerNumber: $ref: '#/components/schemas/type_:CustomerNumberNullable' ShippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' ShippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' ShippingCity: $ref: '#/components/schemas/type_:Shippingcity' ShippingState: $ref: '#/components/schemas/type_:Shippingstate' ShippingZip: $ref: '#/components/schemas/type_:Shippingzip' ShippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' customerId: $ref: '#/components/schemas/type_:CustomerId' customerStatus: $ref: '#/components/schemas/type_:CustomerStatus' AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' title: QueryTransactionPayorData type_:DepositDate: type: string format: date-time description: The date the funds were deposited. title: DepositDate type_:ExpectedDepositDate: type: string format: date-time description: The date the funds are expected to be deposited. title: ExpectedDepositDate type_:ExternalPaypointId: type: string description: >- A custom identifier for the paypoint, if applicable. Like `entrypoint` is the Payabli identifier for the merchant, `externalPaypointId` is a custom field you can use to include the merchant's ID from your own systems. title: ExternalPaypointId type_:FileContentFtype: type: string enum: - pdf - doc - docx - jpg - jpeg - png - gif - txt description: The MIME type of the file (if content is provided) title: FileContentFtype type_:FileContent: type: object properties: fContent: type: string description: >- Content of file, Base64-encoded. Ignored if furl is specified. Max upload size is 30 MB. filename: type: string description: The name of the attached file. ftype: $ref: '#/components/schemas/type_:FileContentFtype' description: The MIME type of the file (if content is provided) furl: type: string description: Optional URL provided to show or download the file remotely description: Contains details about a file. Max upload size is 30 MB. title: FileContent type_:Attachments: type: array items: $ref: '#/components/schemas/type_:FileContent' description: >- Array of `fileContent` objects with attached documents. Max upload size is 30 MB. title: Attachments type_:Discount: type: number format: double description: Discount applied to the invoice. title: Discount type_:DutyAmount: type: number format: double description: Duty amount. title: DutyAmount type_:FreightAmount: type: number format: double description: Freight/shipping amount. title: FreightAmount type_:Frequency: type: string enum: - onetime - weekly - every2weeks - every6months - monthly - every3months - annually description: Frequency for operation. title: Frequency type_:InvoiceAmount: type: number format: double description: Invoice total amount. title: InvoiceAmount type_:InvoiceNumber: type: string description: >- Custom number identifying the bill or invoice. Must be unique in paypoint. title: InvoiceNumber type_:Invoicestatus: type: integer description: |- Status for invoice. The accepted status values are: - 0 draft - 1 active - 2 partially paid - 4 paid/complete - 99 cancelled title: Invoicestatus type_:InvoiceType: type: integer description: Type of invoice. Only `0` for one-time invoices is currently supported. title: InvoiceType type_:ItemCommodityCode: type: string description: Item or product commodity code. Max length of 250 characters. title: ItemCommodityCode type_:ItemDescription: type: string description: Item or product description. Max length of 250 characters. title: ItemDescription type_:ItemProductCode: type: string description: Item or product code. Max length of 250 characters. title: ItemProductCode type_:ItemProductName: type: string description: Item or product name. Max length of 250 characters. title: ItemProductName type_:ItemUnitofMeasure: type: string description: Unit of measurement. Max length of 100 characters. title: ItemUnitofMeasure type_:BillItem: type: object properties: itemCategories: type: array items: type: string description: Array of tags classifying item or product. itemCommodityCode: $ref: '#/components/schemas/type_:ItemCommodityCode' itemCost: type: number format: double description: Item or product price per unit. itemDescription: $ref: '#/components/schemas/type_:ItemDescription' itemMode: type: integer description: >- Internal class of item or product: value '0' is only for invoices , '1' for bills and, '2' common for both. itemProductCode: $ref: '#/components/schemas/type_:ItemProductCode' itemProductName: $ref: '#/components/schemas/type_:ItemProductName' itemQty: type: integer description: Quantity of item or product. itemTaxAmount: type: number format: double description: Tax amount applied to item or product. itemTaxRate: type: number format: double description: Tax rate applied to item or product. itemTotalAmount: type: number format: double description: Total amount in item or product. itemUnitOfMeasure: $ref: '#/components/schemas/type_:ItemUnitofMeasure' required: - itemCost title: BillItem type_:BillDataPaymentTerms: type: string enum: - PIA - CIA - UR - NET10 - NET20 - NET30 - NET45 - NET60 - NET90 - EOM - MFI - 5MFI - 10MFI - 15MFI - 20MFI - 2/10NET30 - UF - 10UF - 20UF - 25UF - 50UF description: >- Payment terms for invoice. If no terms are defined, then response data for this field defaults to `NET30`. **Available Values:** - `PIA`: Payment in advance - `CIA`: Cash in advance - `UR`: Upon receipt - `NET10`: 10 days after invoice date - `NET20`: 20 days after invoice date - `NET30`: 30 days after invoice date - `NET45`: 45 days after invoice date - `NET60`: 60 days after invoice date - `NET90`: 90 days after invoice date - `EOM`: Due end of this month - `MFI`: 1st of the month following the invoice date - `5MFI`: 5th of the month following the invoice date - `10MFI`: 10th of the month following the invoice date - `15MFI`: 15th of the month following the invoice date - `20MFI`: 20th of the month following the invoice date - `2/10NET30`: 2% discount if paid within 10 days, otherwise net 30 days - `UF`: Until further notice - `10UF`: 10 days until further notice - `20UF`: 20 days until further notice - `25UF`: 25 days until further notice - `50UF`: 50 days until further notice title: BillDataPaymentTerms type_:PurchaseOrder: type: string description: Purchase order number. title: PurchaseOrder type_:ShippingFromZip: type: string description: Sender shipping ZIP code. title: ShippingFromZip type_:SummaryCommodityCode: type: string description: Commodity code. title: SummaryCommodityCode type_:Tax: type: number format: double description: Tax rate in percent applied to the invoice. title: Tax type_:TermsConditions: type: string description: Custom terms and conditions included in the invoice. title: TermsConditions type_:BillData: type: object properties: AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' attachments: $ref: '#/components/schemas/type_:Attachments' company: type: string description: Company name of the recipient of the invoice. discount: $ref: '#/components/schemas/type_:Discount' dutyAmount: $ref: '#/components/schemas/type_:DutyAmount' firstName: type: string description: First name of the recipient of the invoice. freightAmount: $ref: '#/components/schemas/type_:FreightAmount' frequency: $ref: '#/components/schemas/type_:Frequency' description: Frequency of scheduled invoice. invoiceAmount: $ref: '#/components/schemas/type_:InvoiceAmount' invoiceDate: type: string format: date description: 'Invoice date in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY.' invoiceDueDate: type: string format: date description: >- Invoice due date in one of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceEndDate: type: string format: date description: >- Indicate the date to finish a scheduled invoice cycle (`invoiceType`` = 1) in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceNumber: $ref: '#/components/schemas/type_:InvoiceNumber' description: Invoice number. Identifies the invoice under a paypoint. invoiceStatus: $ref: '#/components/schemas/type_:Invoicestatus' invoiceType: $ref: '#/components/schemas/type_:InvoiceType' items: type: array items: $ref: '#/components/schemas/type_:BillItem' description: Array of line items included in the invoice. lastName: type: string description: Last name of the recipient of the invoice. notes: type: string description: Notes included in the invoice. paymentTerms: $ref: '#/components/schemas/type_:BillDataPaymentTerms' purchaseOrder: $ref: '#/components/schemas/type_:PurchaseOrder' shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' shippingEmail: $ref: '#/components/schemas/type_:Email' description: Shipping recipient's contact email address. shippingFromZip: $ref: '#/components/schemas/type_:ShippingFromZip' shippingPhone: type: string description: Recipient phone number. shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' summaryCommodityCode: $ref: '#/components/schemas/type_:SummaryCommodityCode' tax: $ref: '#/components/schemas/type_:Tax' termsConditions: $ref: '#/components/schemas/type_:TermsConditions' title: BillData type_:Maskedaccount: type: string description: >- Masked card or bank account used in transaction. In the case of Apple Pay, this is a masked DPAN (device primary account number). title: Maskedaccount type_:Netamountnullable: type: number format: double description: Net amount. title: Netamountnullable type_:OrderId: type: string description: Custom identifier for the transaction. title: OrderId type_:OrgParentName: type: string description: The name of the parent organization. title: OrgParentName type_:Accountexp: type: string description: Expiration date of card used in transaction. title: Accountexp type_:Accountid: type: string description: Custom identifier for payment connector. title: Accountid type_:Accounttype: type: string description: Bank account type or card brand. title: Accounttype type_:Accountzip: type: string description: ZIP code for card used in transaction. title: Accountzip type_:BinData: type: object properties: binMatchedLength: type: string description: |- The number of characters from the beginning of the card number that were matched against a Bank Identification Number (BIN) or the Card Range table. binCardBrand: type: string description: |- The card brand. For example, Visa, Mastercard, American Express, Discover. binCardType: type: string description: 'The type of card: Credit or Debit.' binCardCategory: type: string description: >- The category of the card, which indicates the card product. For example: Standard, Gold, Platinum, etc. The binCardCategory for prepaid cards is marked `PREPAID`. binCardIssuer: type: string description: The name of the financial institution that issued the card. binCardIssuerCountry: type: string description: The issuing financial institution's country name. binCardIssuerCountryCodeA2: type: string description: >- The issuing financial institution's two-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIssuerCountryNumber: type: string description: >- The issuing financial institution's ISO standard numeric country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIsRegulated: type: string description: Indicates whether the card is regulated. binCardUseCategory: type: string description: The use category classification for the card. binCardIssuerCountryCodeA3: type: string description: >- The issuing financial institution's three-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. description: >- Object containing information related to the card. This object is `null` unless the payment method is card. If the payment method is Apple Pay, the binData will be related to the DPAN (device primary account number), not the card connected to Apple Pay. title: BinData type_:Holdername: type: string description: Account holder name for the method. title: Holdername type_:Initiator: type: string description: >- **Strongly recommended** The cardholder-initiated transaction (CIT) or merchant-initiated transaction (MIT) indicator for the transaction. If you don't specify a value, Payabli defaults to `merchant`. Available values: - `payor`: For cardholder-initiated transactions - `merchant`: For merchant-initiated transactions See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Initiator type_:Orderdescription: type: string description: Text description of the transaction. title: Orderdescription type_:PaymentCategories: type: object properties: amount: type: number format: double description: Price/cost per unit of item or category. description: type: string description: Description of item or category label: type: string description: Name of item or category. qty: type: integer default: 1 description: Quantity of item or category required: - amount - label title: PaymentCategories type_:SplitFundingContent: type: object properties: accountId: type: string description: The accountId for the account the split should be sent to. amount: type: number format: double description: Amount from the transaction to sent to this recipient. description: type: string description: A description for the split. recipientEntryPoint: type: string description: The entrypoint the split should be sent to. title: SplitFundingContent type_:SplitFunding: type: array items: $ref: '#/components/schemas/type_:SplitFundingContent' description: >- Split funding instructions for the transaction. The total amount of the splits must match the total amount of the transaction. title: SplitFunding type_:PaymentDetail: type: object properties: categories: type: array items: $ref: '#/components/schemas/type_:PaymentCategories' description: >- Array of payment categories/line items describing the amount to be paid. **Note**: These categories are for information only and aren't validated against the total amount provided. checkImage: type: object additionalProperties: description: Any type description: Object containing image of paper check. checkNumber: type: string description: >- A check number to be used in the ach transaction. **Required** for payment method = 'check'. currency: type: string description: >- The currency for the transaction, `USD` or `CAD`. If your paypoint is configured for CAD, you must send the `CAD` value in this field, otherwise it defaults to USD, which will cause the transaction to fail. serviceFee: type: number format: double description: >- Service fee to be deducted from the total amount. This amount must be a number, percentages aren't accepted. If you are using a percentage-based fee schedule, you must calculate the value manually. splitFunding: $ref: '#/components/schemas/type_:SplitFunding' description: >- Split funding instructions for the transaction. See [Split a Transaction](/developers/developer-guides/money-in-split-funding) for more. checkUniqueId: type: string description: >- Unique identifier for a processed check image. Required for RDC (Remote Deposit Capture) transactions where `achCode` is `BOC`. Use the `id` value from the [check processing](/developers/api-reference/moneyin/check-capture) response. totalAmount: type: number format: double description: >- Total amount to be charged. If a service fee is sent, then this amount should include the service fee." required: - totalAmount description: Details about the payment. title: PaymentDetail type_:Sequence: type: string description: >- The order of the transaction for cardholder-initiated transaction (CIT) and merchant-initiated transaction (MIT) purposes. This field is automatically detected and populated by Payabli. Available values: - `first`: The first use of the payment method. This is almost always a cardholder-initiated transaction. - `subsequent`: For merchant-initiated transactions after the first use of the payment method. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Sequence type_:Signaturedata: type: string title: Signaturedata type_:Storedmethodid: type: string description: >- Payabli identifier of a tokenized payment method. If this field is used in a request, the `method` field is overridden and the payment is made using the payment token. title: Storedmethodid type_:StoredMethodUsageType: type: string description: >- **Strongly recommended** The usage type for the stored method, used for merchant-initiated transactions (MIT). If you don't specify a value, Payabli defaults to `unscheduled`. Available values: - `unscheduled`: This type is used for transactions that are one-time or otherwise not pre-scheduled. - `subscription`: This type is used for subscription payments. For example, monthly rental fees or ongoing service subscriptions. - `recurring`: This type is used for recurring payments that occur per a set plan. For example, splitting an HOA special assessment over 6 monthly payments. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: StoredMethodUsageType type_:QueryPaymentData: type: object properties: AccountExp: $ref: '#/components/schemas/type_:Accountexp' accountId: $ref: '#/components/schemas/type_:Accountid' AccountType: $ref: '#/components/schemas/type_:Accounttype' AccountZip: $ref: '#/components/schemas/type_:Accountzip' binData: $ref: '#/components/schemas/type_:BinData' HolderName: $ref: '#/components/schemas/type_:Holdername' Initiator: $ref: '#/components/schemas/type_:Initiator' MaskedAccount: $ref: '#/components/schemas/type_:Maskedaccount' orderDescription: $ref: '#/components/schemas/type_:Orderdescription' paymentDetails: $ref: '#/components/schemas/type_:PaymentDetail' Sequence: $ref: '#/components/schemas/type_:Sequence' SignatureData: $ref: '#/components/schemas/type_:Signaturedata' StoredId: $ref: '#/components/schemas/type_:Storedmethodid' description: Identifier of stored payment method used in transaction. StoredMethodUsageType: $ref: '#/components/schemas/type_:StoredMethodUsageType' title: QueryPaymentData type_:TransStatus: type: integer description: >- Status of transaction. See [the docs](/developers/references/money-in-statuses#money-in-transaction-status) for a full reference. title: TransStatus type_:Authcode: type: string description: Authorization code for the transaction. title: Authcode type_:AvsResponse: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponse type_:AvsResponseText: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponseText type_:CvvResponse: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponse type_:CvvResponseText: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponseText type_:EmvAuthResponseData: type: string description: EMV authorization response data, applicable for card transactions. title: EmvAuthResponseData type_:ResultCodev2: type: string description: >- Unified result code for the transaction. See [Pay In unified response codes](/developers/references/pay-in-unified-response-codes-reference) for more information. title: ResultCodev2 type_:ResultCodeText: type: string description: >- Description of the result code. See [Pay In unified response codes](/developers/references/pay-in-unified-response-codes-reference) for more information. title: ResultCodeText type_:QueryResponseData: type: object properties: authcode: $ref: '#/components/schemas/type_:Authcode' avsresponse: $ref: '#/components/schemas/type_:AvsResponse' avsresponse_text: $ref: '#/components/schemas/type_:AvsResponseText' cvvresponse: $ref: '#/components/schemas/type_:CvvResponse' cvvresponse_text: $ref: '#/components/schemas/type_:CvvResponseText' emv_auth_response_data: $ref: '#/components/schemas/type_:EmvAuthResponseData' orderid: $ref: '#/components/schemas/type_:OrderId' response: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' response_code: type: string description: >- Internal result code processing the transaction. Value 1 indicates successful operation, values 2 and 3 indicate errors. response_code_text: type: string description: >- Text describing the result. If resultCode = 1, will return 'Approved' or a general success message. If resultCode = 2 or 3, will contain the cause of the decline. responsetext: type: string description: >- Text describing the result. If resultCode = 1, will return 'Approved' or a general success message. If resultCode = 2 or 3, will contain the cause of the decline. resultCode: $ref: '#/components/schemas/type_:ResultCodev2' resultCodeText: $ref: '#/components/schemas/type_:ResultCodeText' transactionid: type: string description: The transaction identifier in Payabli. type: type: string description: Type of transaction or operation. description: The transaction's response data. title: QueryResponseData type_:Source: type: string description: Custom identifier to indicate the transaction or request source. title: Source type_:SettlementStatus: type: integer description: >- Settlement status for transaction. See [the docs](/developers/references/money-in-statuses#payment-funding-status) for a full reference. title: SettlementStatus type_:QueryTransactionEventsEventData: oneOf: - type: object additionalProperties: description: Any type - type: string description: >- Any data associated to the event received from processor. Contents vary by event type. title: QueryTransactionEventsEventData type_:QueryTransactionEvents: type: object properties: EventData: $ref: '#/components/schemas/type_:QueryTransactionEventsEventData' description: >- Any data associated to the event received from processor. Contents vary by event type. EventTime: type: string format: date-time description: Date and time of event. TransEvent: type: string description: >- Event descriptor. See [TransEvent Reference](/guides/pay-in-transevents-reference) for more details. title: QueryTransactionEvents type_:TransactionTime: type: string format: date-time description: Timestamp when transaction was submitted, in UTC. title: TransactionTime type_:QueryResponseSettlementsRecordsItem: type: object properties: BatchAmount: type: number format: double description: The batch amount. BatchNumber: $ref: '#/components/schemas/type_:BatchNumber' Category: $ref: '#/components/schemas/type_:Category' CreatedAt: $ref: '#/components/schemas/type_:CreatedAt' Customer: $ref: '#/components/schemas/type_:QueryTransactionPayorData' DepositDate: $ref: '#/components/schemas/type_:DepositDate' ExpectedDepositDate: $ref: '#/components/schemas/type_:ExpectedDepositDate' externalPaypointID: $ref: '#/components/schemas/type_:ExternalPaypointId' GatewayTransId: type: string description: Internal identifier used for processing. Id: type: integer invoiceData: $ref: '#/components/schemas/type_:BillData' isHold: type: integer description: |- Describes whether the transaction is being held or not. 1 - Transaction is held 0 - Transaction isn't being held MaskedAccount: $ref: '#/components/schemas/type_:Maskedaccount' Method: type: string description: The payment method. NetAmount: $ref: '#/components/schemas/type_:Netamountnullable' description: Net amount paid. Operation: type: string description: The operation performed. OrderId: $ref: '#/components/schemas/type_:OrderId' ParentOrgName: $ref: '#/components/schemas/type_:OrgParentName' PaymentData: $ref: '#/components/schemas/type_:QueryPaymentData' PaymentTransId: type: string description: The transaction ID for the payment. PaymentTransStatus: $ref: '#/components/schemas/type_:TransStatus' PaypointDbaname: type: string description: Paypoint DBA name. PaypointEntryname: type: string description: Paypoint entryname. PaypointLegalname: type: string description: Paypoint legal name. ResponseData: $ref: '#/components/schemas/type_:QueryResponseData' ScheduleReference: type: integer description: Reference to the subscription originating the transaction. SettledAmount: type: number format: double description: The transaction amount. SettlementDate: type: string format: date-time description: >- The date and time when the transaction was settled. This field is null when the transaction's `SettlementStatus` is -1, -5, or -6 (Exception, Held, or Released). Source: $ref: '#/components/schemas/type_:Source' Status: $ref: '#/components/schemas/type_:SettlementStatus' TransactionEvents: type: array items: $ref: '#/components/schemas/type_:QueryTransactionEvents' description: Events associated with this transaction. TransactionTime: $ref: '#/components/schemas/type_:TransactionTime' TransMethod: type: string description: 'Payment method used: card or ach.' Type: type: string description: 'The transaction type: credit or debit.' title: QueryResponseSettlementsRecordsItem type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:QueryResponseSettlementsSummary: type: object properties: heldAmount: type: number format: double description: Funds being held for fraud or risk concerns. pageidentifier: $ref: '#/components/schemas/type_:PageIdentifier' pageSize: type: integer description: Number of records per page. refunds: type: number format: double description: Total refunds deducted from the transfer. serviceFees: type: number format: double description: >- Service fees are any pass-through fees charged to the customer at the time of payment. These aren't transferred to the merchant when the batch is transferred and funded. totalAmount: type: number format: double description: The total sum of the settlements in the response. totalNetAmount: type: number format: double description: The total sum of the settlements in the response. totalPages: type: integer description: Number of pages in the response. totalRecords: type: integer description: Number of records in the response. transferAmount: type: number format: double description: >- The transfer amount is the net batch amount plus or minus any returns, refunds, billing and fees items, chargebacks, adjustments, and third party payments. This is the amount from the batch that's transferred to the merchant bank account. title: QueryResponseSettlementsSummary type_:QueryResponseSettlements: type: object properties: Records: type: array items: $ref: '#/components/schemas/type_:QueryResponseSettlementsRecordsItem' Summary: $ref: '#/components/schemas/type_:QueryResponseSettlementsSummary' description: Describes the response for settlement queries. title: QueryResponseSettlements type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript Example query response import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.query.listSettlementsOrg(123, { fromRecord: 251, limitRecord: 0, sortBy: "desc(field_name)", }); } main(); ``` ```python Example query response from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.query.list_settlements_org( org_id=123, from_record=251, limit_record=0, sort_by="desc(field_name)", ) ``` ```csharp Example query response using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Query.ListSettlementsOrgAsync( 123, new ListSettlementsOrgRequest { FromRecord = 251, LimitRecord = 0, SortBy = "desc(field_name)" } ); } } ``` ```go Example query response package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Query/settlements/org/123?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Example query response require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Query/settlements/org/123?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java Example query response import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Query/settlements/org/123?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29") .header("requestToken", "") .asString(); ``` ```php Example query response request('GET', 'https://api-sandbox.payabli.com/api/Query/settlements/org/123?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift Example query response import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Query/settlements/org/123?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # List batches for paypoint GET https://api-sandbox.payabli.com/api/Query/batches/{entry} Retrieve a list of batches for a paypoint. Use filters to limit results. Include the `exportFormat` query parameter to return the results as a file instead of a JSON response. Reference: https://docs.payabli.com/developers/api-reference/query/get-list-of-batches-for-an-entrypoint ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Query/batches/{entry}: get: operationId: list-batches summary: Get list of batches for a paypoint description: >- Retrieve a list of batches for a paypoint. Use filters to limit results. Include the `exportFormat` query parameter to return the results as a file instead of a JSON response. tags: - subpackage_query parameters: - name: entry in: path required: true schema: $ref: '#/components/schemas/type_:Entry' - name: exportFormat in: query required: false schema: $ref: '#/components/schemas/type_:ExportFormat' - name: fromRecord in: query description: >- The number of records to skip before starting to collect the result set. required: false schema: type: integer default: 0 - name: limitRecord in: query description: >- Max number of records to return for the query. Use `0` or negative value to return all records. required: false schema: type: integer default: 20 - name: parameters in: query description: >- Collection of field names, conditions, and values used to filter the query. **You must remove `parameters=` from the request before you send it, otherwise Payabli will ignore the filters.** Because of a technical limitation, you can't make a request that includes filters from the API console on this page. The response won't be filtered. Instead, copy the request, remove `parameters=` and run the request in a different client. For example: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?parameters=totalAmount(gt)=1000&limitRecord=20 should become: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?totalAmount(gt)=1000&limitRecord=20 See [Filters and Conditions Reference](/developers/developer-guides/pay-ops-reporting-engine-overview#filters-and-conditions-reference) for more information. **List of field names accepted:** - `batchDate` (gt, ge, lt, le, eq, ne) - `batchNumber` (ne, eq) - `method` (in, nin, eq, ne) - `connectorName` (ne, eq, ct, nct) - `batchAmount` (gt, ge, lt, le, eq, ne) - `feeBatchAmount` (gt, ge, lt, le, eq, ne) - `netBatchAmount` (gt, ge, lt, le, eq, ne) - `releaseAmount` (gt, ge, lt, le, eq, ne) - `heldAmount` (gt, ge, lt, le, eq, ne) - `status` (in, nin, eq, ne) - `paypointLegal` (ne, eq, ct, nct) - `paypointDba` (ne, eq, ct, nct) - `orgName` (ne, eq, ct, nct) - `paypointId` (ne, eq) - `externalPaypointID` (ct, nct, eq, ne) - `expectedDepositDate` (gt, ge, lt, le, eq, ne) - `depositDate` (gt, ge, lt, le, eq, ne) - `batchRecords` (gt, ge, lt, le, eq, ne) - `transferId` (ne, eq) - `transferDate` (gt, ge, lt, le, eq, ne) - `grossAmount` (gt, ge, lt, le, eq, ne) - `chargeBackAmount` (gt, ge, lt, le, eq, ne) - `returnedAmount` (gt, ge, lt, le, eq, ne) - `billingFeeAmount` (gt, ge, lt, le, eq, ne) - `thirdPartyPaidAmount` (gt, ge, lt, le, eq, ne) - `netFundedAmount` (gt, ge, lt, le, eq, ne) - `adjustmentAmount` (gt, ge, lt, le, eq, ne) - `processor` (ne, eq, ct, nct) - `transferStatus` (ne, eq, in, nin) **List of parameters accepted:** - `limitRecord`: max number of records for query (default="20", "0" or negative value for all) - `fromRecord`: initial record in query Example: `batchAmount(gt)=20` returns all records with a `batchAmount` greater than 20.00 required: false schema: type: object additionalProperties: type: string - name: sortBy in: query description: >- The field name to use for sorting results. Use `desc(field_name)` to sort descending by `field_name`, and use `asc(field_name)` to sort ascending by `field_name`. required: false schema: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type___queryTypes__:QueryBatchesResponse' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:Entry: type: string description: >- The entity's entrypoint identifier. [Learn more](/developers/api-reference/api-overview#entrypoint-vs-entry) title: Entry type_:ExportFormat: type: string enum: - csv - xlsx description: >- Export format for file downloads. When specified, returns data as a file instead of JSON. title: ExportFormat type_:BatchNumber: type: string description: >- A unique identifier for the batch. This is generated by Payabli when the batch is created, and follows this format: `paypointId + "_" + serviceName + "_" + batchDate:yyyyMMdd + "_" + Guid.NewGuid()`. Payabli generates the GUID to ensure that the batch number is unique. For example, in this batch number: `123_card_20251008_3f2504e0-4f89-11d3-9a0c-0305e82c3301`, the paypointID is "123", the service is "card", the batch date is "2025-10-08", and the GUID is "3f2504e0-4f89-11d3-9a0c-0305e82c3301". title: BatchNumber type_:TransferIdentifier: type: string description: Unique identifier for the transfer. title: TransferIdentifier type_:Source: type: string description: Custom identifier to indicate the transaction or request source. title: Source type_:GeneralEvents: type: object properties: description: type: string description: Event description. eventTime: type: string format: date-time description: Event timestamp, in UTC. extraData: type: object additionalProperties: description: Any type description: Extra data. refData: type: string description: Reference data. source: $ref: '#/components/schemas/type_:Source' description: The event source. title: GeneralEvents type_:PaypointId: type: integer format: int64 description: The paypoint's ID. Note that this is different than the entryname. title: PaypointId type_:PaypointName: type: string description: The paypoint name. title: PaypointName type_:Dbaname: type: string description: >- The alternate or common name that this business is doing business under usually referred to as a DBA name. title: Dbaname type_:OrgParentName: type: string description: The name of the parent organization. title: OrgParentName type_:ExternalPaypointId: type: string description: >- A custom identifier for the paypoint, if applicable. Like `entrypoint` is the Payabli identifier for the merchant, `externalPaypointId` is a custom field you can use to include the merchant's ID from your own systems. title: ExternalPaypointId type_:Entrypointfield: type: string description: The entrypoint identifier. title: Entrypointfield type_:ExpectedDepositDate: type: string format: date-time description: The date the funds are expected to be deposited. title: ExpectedDepositDate type_:DepositDate: type: string format: date-time description: The date the funds were deposited. title: DepositDate type___queryTypes__:QueryBatchesTransfer: type: object properties: TransferId: type: - integer - 'null' description: The transfer ID. TransferDate: type: - string - 'null' format: date-time description: The transfer date. Processor: type: - string - 'null' description: The processor used for the transfer. TransferStatus: type: - integer - 'null' description: The transfer status. GrossAmount: type: - number - 'null' format: double description: The gross amount of the transfer. ChargeBackAmount: type: - number - 'null' format: double description: The chargeback amount. ReturnedAmount: type: - number - 'null' format: double description: The returned amount. RefundAmount: type: - number - 'null' format: double description: The refund amount. HoldAmount: type: - number - 'null' format: double description: The amount being held. ReleasedAmount: type: - number - 'null' format: double description: The amount that has been released. BillingFeesAmount: type: - number - 'null' format: double description: The billing fees amount. ThirdPartyPaidAmount: type: - number - 'null' format: double description: The third party paid amount. AdjustmentsAmount: type: - number - 'null' format: double description: The adjustments amount. NetFundedAmount: type: - number - 'null' format: double description: The net funded amount. required: - TransferId - TransferDate - Processor - TransferStatus - GrossAmount - ChargeBackAmount - ReturnedAmount - RefundAmount - HoldAmount - ReleasedAmount - BillingFeesAmount - ThirdPartyPaidAmount - AdjustmentsAmount - NetFundedAmount description: Transfer details within a batch response. title: QueryBatchesTransfer type___queryTypes__:QueryBatchesResponseRecordsItem: type: object properties: IdBatch: type: - integer - 'null' description: The batch ID. BatchNumber: oneOf: - $ref: '#/components/schemas/type_:BatchNumber' - type: 'null' TransferIdentifier: oneOf: - $ref: '#/components/schemas/type_:TransferIdentifier' - type: 'null' EventsData: type: - array - 'null' items: $ref: '#/components/schemas/type_:GeneralEvents' description: Events associated with the batch. ConnectorName: type: - string - 'null' BatchDate: type: - string - 'null' format: date-time description: The batch date. BatchAmount: type: - number - 'null' format: double description: The amount of the batch. BatchFeesAmount: type: - number - 'null' format: double description: The total of fees in the batch. BatchAuthAmount: type: - number - 'null' format: double BatchReleasedAmount: type: - number - 'null' format: double description: Previously held funds that have been released after a risk review. BatchHoldAmount: type: - number - 'null' format: double description: >- The total amount of the batch that's being held for fraud or risk concerns. BatchReturnedAmount: type: - number - 'null' format: double description: Total amount of ACH returns deducted from batch. BatchRefundAmount: type: - number - 'null' format: double description: The total amount of refunds deducted from batch. BatchSplitAmount: type: - number - 'null' format: double description: >- Total of split transactions that included split funding instructions at the time of authorization. BatchStatus: type: integer description: >- The batch status. See [Batch Status](/developers/references/money-in-statuses#batch-status) for more. BatchRecords: type: integer description: The number of records in the batch. PaypointId: oneOf: - $ref: '#/components/schemas/type_:PaypointId' - type: 'null' PaypointName: oneOf: - $ref: '#/components/schemas/type_:PaypointName' - type: 'null' PaypointDba: oneOf: - $ref: '#/components/schemas/type_:Dbaname' - type: 'null' ParentOrgName: $ref: '#/components/schemas/type_:OrgParentName' description: The entrypoint's parent org. ParentOrgId: type: integer description: The parent organization ID. externalPaypointID: oneOf: - $ref: '#/components/schemas/type_:ExternalPaypointId' - type: 'null' EntryName: $ref: '#/components/schemas/type_:Entrypointfield' BankName: type: - string - 'null' description: The bank name. BatchType: type: - integer - 'null' description: The batch type. Method: type: - string - 'null' description: The payment method used. ExpectedDepositDate: oneOf: - $ref: '#/components/schemas/type_:ExpectedDepositDate' - type: 'null' DepositDate: oneOf: - $ref: '#/components/schemas/type_:DepositDate' - type: 'null' TransferDate: type: - string - 'null' format: date-time description: The batch transfer date. Transfer: oneOf: - $ref: '#/components/schemas/type___queryTypes__:QueryBatchesTransfer' - type: 'null' description: Transfer details for the batch. required: - IdBatch - BatchNumber - TransferIdentifier - EventsData - ConnectorName - BatchDate - BatchAmount - BatchFeesAmount - BatchAuthAmount - BatchReleasedAmount - BatchHoldAmount - BatchReturnedAmount - BatchRefundAmount - BatchSplitAmount - BatchStatus - BatchRecords - PaypointId - PaypointName - PaypointDba - ParentOrgName - ParentOrgId - externalPaypointID - EntryName - BankName - BatchType - Method - ExpectedDepositDate - DepositDate - TransferDate - Transfer title: QueryBatchesResponseRecordsItem type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:BatchSummary: type: object properties: pageidentifier: $ref: '#/components/schemas/type_:PageIdentifier' pageSize: type: integer description: Number of records on each response page. totalAmount: type: number format: double description: Total amount for the records. totalNetAmount: type: number format: double description: Total net amount for the records. totalPages: type: integer description: Total number of pages in response. totalRecords: type: integer description: Total number of records in response. title: BatchSummary type___queryTypes__:QueryBatchesResponse: type: object properties: Records: type: array items: $ref: >- #/components/schemas/type___queryTypes__:QueryBatchesResponseRecordsItem Summary: $ref: '#/components/schemas/type_:BatchSummary' required: - Records - Summary description: Response body for queries about batches. title: QueryBatchesResponse type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript GetBatches import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.query.listBatches("8cfec329267", { fromRecord: 251, limitRecord: 0, sortBy: "desc(field_name)", }); } main(); ``` ```python GetBatches from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.query.list_batches( entry="8cfec329267", from_record=251, limit_record=0, sort_by="desc(field_name)", ) ``` ```csharp GetBatches using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Query.ListBatchesAsync( "8cfec329267", new ListBatchesRequest { FromRecord = 251, LimitRecord = 0, SortBy = "desc(field_name)" } ); } } ``` ```go GetBatches package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Query/batches/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby GetBatches require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Query/batches/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java GetBatches import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Query/batches/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29") .header("requestToken", "") .asString(); ``` ```php GetBatches request('GET', 'https://api-sandbox.payabli.com/api/Query/batches/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift GetBatches import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Query/batches/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # List batches for org GET https://api-sandbox.payabli.com/api/Query/batches/org/{orgId} Retrieve a list of batches for an org. Use filters to limit results. Include the `exportFormat` query parameter to return the results as a file instead of a JSON response. Reference: https://docs.payabli.com/developers/api-reference/query/get-list-of-batches-for-an-organization ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Query/batches/org/{orgId}: get: operationId: list-batches-org summary: Get list of batches for an organization description: >- Retrieve a list of batches for an org. Use filters to limit results. Include the `exportFormat` query parameter to return the results as a file instead of a JSON response. tags: - subpackage_query parameters: - name: orgId in: path description: The numeric identifier for organization, assigned by Payabli. required: true schema: type: integer - name: exportFormat in: query required: false schema: $ref: '#/components/schemas/type_:ExportFormat' - name: fromRecord in: query description: >- The number of records to skip before starting to collect the result set. required: false schema: type: integer default: 0 - name: limitRecord in: query description: >- Max number of records to return for the query. Use `0` or negative value to return all records. required: false schema: type: integer default: 20 - name: parameters in: query description: >- Collection of field names, conditions, and values used to filter the query. **You must remove `parameters=` from the request before you send it, otherwise Payabli will ignore the filters.** Because of a technical limitation, you can't make a request that includes filters from the API console on this page. The response won't be filtered. Instead, copy the request, remove `parameters=` and run the request in a different client. For example: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?parameters=totalAmount(gt)=1000&limitRecord=20 should become: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?totalAmount(gt)=1000&limitRecord=20 See [Filters and Conditions Reference](/developers/developer-guides/pay-ops-reporting-engine-overview#filters-and-conditions-reference) for more information. **List of field names accepted:** - `batchDate` (gt, ge, lt, le, eq, ne) - `batchNumber` (ne, eq) - `method` (in, nin, eq, ne) - `connectorName` (ne, eq, ct, nct) - `batchAmount` (gt, ge, lt, le, eq, ne) - `feeBatchAmount` (gt, ge, lt, le, eq, ne) - `netBatchAmount` (gt, ge, lt, le, eq, ne) - `releaseAmount` (gt, ge, lt, le, eq, ne) - `heldAmount` (gt, ge, lt, le, eq, ne) - `status` (in, nin, eq, ne) - `paypointLegal` (ne, eq, ct, nct) - `paypointDba` (ne, eq, ct, nct) - `orgName` (ne, eq, ct, nct) - `paypointId` (ne, eq) - `externalPaypointID` (ct, nct, eq, ne) - `expectedDepositDate` (gt, ge, lt, le, eq, ne) - `depositDate` (gt, ge, lt, le, eq, ne) - `batchRecords` (gt, ge, lt, le, eq, ne) - `transferId` (ne, eq) - `transferDate` (gt, ge, lt, le, eq, ne) - `grossAmount` (gt, ge, lt, le, eq, ne) - `chargeBackAmount` (gt, ge, lt, le, eq, ne) - `returnedAmount` (gt, ge, lt, le, eq, ne) - `billingFeeAmount` (gt, ge, lt, le, eq, ne) - `thirdPartyPaidAmount` (gt, ge, lt, le, eq, ne) - `netFundedAmount` (gt, ge, lt, le, eq, ne) - `adjustmentAmount` (gt, ge, lt, le, eq, ne) - `processor` (ne, eq, ct, nct) - `transferStatus` (ne, eq, in, nin) **List of parameters accepted:** - `limitRecord`: max number of records for query (default="20", "0" or negative value for all) - `fromRecord`: initial record in query Example: `batchAmount(gt)=20` returns all records with a `batchAmount` greater than 20.00 required: false schema: type: object additionalProperties: type: string - name: sortBy in: query description: >- The field name to use for sorting results. Use `desc(field_name)` to sort descending by `field_name`, and use `asc(field_name)` to sort ascending by `field_name`. required: false schema: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type___queryTypes__:QueryBatchesResponse' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:ExportFormat: type: string enum: - csv - xlsx description: >- Export format for file downloads. When specified, returns data as a file instead of JSON. title: ExportFormat type_:BatchNumber: type: string description: >- A unique identifier for the batch. This is generated by Payabli when the batch is created, and follows this format: `paypointId + "_" + serviceName + "_" + batchDate:yyyyMMdd + "_" + Guid.NewGuid()`. Payabli generates the GUID to ensure that the batch number is unique. For example, in this batch number: `123_card_20251008_3f2504e0-4f89-11d3-9a0c-0305e82c3301`, the paypointID is "123", the service is "card", the batch date is "2025-10-08", and the GUID is "3f2504e0-4f89-11d3-9a0c-0305e82c3301". title: BatchNumber type_:TransferIdentifier: type: string description: Unique identifier for the transfer. title: TransferIdentifier type_:Source: type: string description: Custom identifier to indicate the transaction or request source. title: Source type_:GeneralEvents: type: object properties: description: type: string description: Event description. eventTime: type: string format: date-time description: Event timestamp, in UTC. extraData: type: object additionalProperties: description: Any type description: Extra data. refData: type: string description: Reference data. source: $ref: '#/components/schemas/type_:Source' description: The event source. title: GeneralEvents type_:PaypointId: type: integer format: int64 description: The paypoint's ID. Note that this is different than the entryname. title: PaypointId type_:PaypointName: type: string description: The paypoint name. title: PaypointName type_:Dbaname: type: string description: >- The alternate or common name that this business is doing business under usually referred to as a DBA name. title: Dbaname type_:OrgParentName: type: string description: The name of the parent organization. title: OrgParentName type_:ExternalPaypointId: type: string description: >- A custom identifier for the paypoint, if applicable. Like `entrypoint` is the Payabli identifier for the merchant, `externalPaypointId` is a custom field you can use to include the merchant's ID from your own systems. title: ExternalPaypointId type_:Entrypointfield: type: string description: The entrypoint identifier. title: Entrypointfield type_:ExpectedDepositDate: type: string format: date-time description: The date the funds are expected to be deposited. title: ExpectedDepositDate type_:DepositDate: type: string format: date-time description: The date the funds were deposited. title: DepositDate type___queryTypes__:QueryBatchesTransfer: type: object properties: TransferId: type: - integer - 'null' description: The transfer ID. TransferDate: type: - string - 'null' format: date-time description: The transfer date. Processor: type: - string - 'null' description: The processor used for the transfer. TransferStatus: type: - integer - 'null' description: The transfer status. GrossAmount: type: - number - 'null' format: double description: The gross amount of the transfer. ChargeBackAmount: type: - number - 'null' format: double description: The chargeback amount. ReturnedAmount: type: - number - 'null' format: double description: The returned amount. RefundAmount: type: - number - 'null' format: double description: The refund amount. HoldAmount: type: - number - 'null' format: double description: The amount being held. ReleasedAmount: type: - number - 'null' format: double description: The amount that has been released. BillingFeesAmount: type: - number - 'null' format: double description: The billing fees amount. ThirdPartyPaidAmount: type: - number - 'null' format: double description: The third party paid amount. AdjustmentsAmount: type: - number - 'null' format: double description: The adjustments amount. NetFundedAmount: type: - number - 'null' format: double description: The net funded amount. required: - TransferId - TransferDate - Processor - TransferStatus - GrossAmount - ChargeBackAmount - ReturnedAmount - RefundAmount - HoldAmount - ReleasedAmount - BillingFeesAmount - ThirdPartyPaidAmount - AdjustmentsAmount - NetFundedAmount description: Transfer details within a batch response. title: QueryBatchesTransfer type___queryTypes__:QueryBatchesResponseRecordsItem: type: object properties: IdBatch: type: - integer - 'null' description: The batch ID. BatchNumber: oneOf: - $ref: '#/components/schemas/type_:BatchNumber' - type: 'null' TransferIdentifier: oneOf: - $ref: '#/components/schemas/type_:TransferIdentifier' - type: 'null' EventsData: type: - array - 'null' items: $ref: '#/components/schemas/type_:GeneralEvents' description: Events associated with the batch. ConnectorName: type: - string - 'null' BatchDate: type: - string - 'null' format: date-time description: The batch date. BatchAmount: type: - number - 'null' format: double description: The amount of the batch. BatchFeesAmount: type: - number - 'null' format: double description: The total of fees in the batch. BatchAuthAmount: type: - number - 'null' format: double BatchReleasedAmount: type: - number - 'null' format: double description: Previously held funds that have been released after a risk review. BatchHoldAmount: type: - number - 'null' format: double description: >- The total amount of the batch that's being held for fraud or risk concerns. BatchReturnedAmount: type: - number - 'null' format: double description: Total amount of ACH returns deducted from batch. BatchRefundAmount: type: - number - 'null' format: double description: The total amount of refunds deducted from batch. BatchSplitAmount: type: - number - 'null' format: double description: >- Total of split transactions that included split funding instructions at the time of authorization. BatchStatus: type: integer description: >- The batch status. See [Batch Status](/developers/references/money-in-statuses#batch-status) for more. BatchRecords: type: integer description: The number of records in the batch. PaypointId: oneOf: - $ref: '#/components/schemas/type_:PaypointId' - type: 'null' PaypointName: oneOf: - $ref: '#/components/schemas/type_:PaypointName' - type: 'null' PaypointDba: oneOf: - $ref: '#/components/schemas/type_:Dbaname' - type: 'null' ParentOrgName: $ref: '#/components/schemas/type_:OrgParentName' description: The entrypoint's parent org. ParentOrgId: type: integer description: The parent organization ID. externalPaypointID: oneOf: - $ref: '#/components/schemas/type_:ExternalPaypointId' - type: 'null' EntryName: $ref: '#/components/schemas/type_:Entrypointfield' BankName: type: - string - 'null' description: The bank name. BatchType: type: - integer - 'null' description: The batch type. Method: type: - string - 'null' description: The payment method used. ExpectedDepositDate: oneOf: - $ref: '#/components/schemas/type_:ExpectedDepositDate' - type: 'null' DepositDate: oneOf: - $ref: '#/components/schemas/type_:DepositDate' - type: 'null' TransferDate: type: - string - 'null' format: date-time description: The batch transfer date. Transfer: oneOf: - $ref: '#/components/schemas/type___queryTypes__:QueryBatchesTransfer' - type: 'null' description: Transfer details for the batch. required: - IdBatch - BatchNumber - TransferIdentifier - EventsData - ConnectorName - BatchDate - BatchAmount - BatchFeesAmount - BatchAuthAmount - BatchReleasedAmount - BatchHoldAmount - BatchReturnedAmount - BatchRefundAmount - BatchSplitAmount - BatchStatus - BatchRecords - PaypointId - PaypointName - PaypointDba - ParentOrgName - ParentOrgId - externalPaypointID - EntryName - BankName - BatchType - Method - ExpectedDepositDate - DepositDate - TransferDate - Transfer title: QueryBatchesResponseRecordsItem type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:BatchSummary: type: object properties: pageidentifier: $ref: '#/components/schemas/type_:PageIdentifier' pageSize: type: integer description: Number of records on each response page. totalAmount: type: number format: double description: Total amount for the records. totalNetAmount: type: number format: double description: Total net amount for the records. totalPages: type: integer description: Total number of pages in response. totalRecords: type: integer description: Total number of records in response. title: BatchSummary type___queryTypes__:QueryBatchesResponse: type: object properties: Records: type: array items: $ref: >- #/components/schemas/type___queryTypes__:QueryBatchesResponseRecordsItem Summary: $ref: '#/components/schemas/type_:BatchSummary' required: - Records - Summary description: Response body for queries about batches. title: QueryBatchesResponse type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript Example Response import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.query.listBatchesOrg(123, { fromRecord: 251, limitRecord: 0, sortBy: "desc(field_name)", }); } main(); ``` ```python Example Response from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.query.list_batches_org( org_id=123, from_record=251, limit_record=0, sort_by="desc(field_name)", ) ``` ```csharp Example Response using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Query.ListBatchesOrgAsync( 123, new ListBatchesOrgRequest { FromRecord = 251, LimitRecord = 0, SortBy = "desc(field_name)" } ); } } ``` ```go Example Response package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Query/batches/org/123?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Example Response require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Query/batches/org/123?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java Example Response import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Query/batches/org/123?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29") .header("requestToken", "") .asString(); ``` ```php Example Response request('GET', 'https://api-sandbox.payabli.com/api/Query/batches/org/123?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift Example Response import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Query/batches/org/123?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # List batch details GET https://api-sandbox.payabli.com/api/Query/batchDetails/{entry} Retrieve a list of batches and their details, including settled and unsettled transactions for a paypoint. Use filters to limit results. Include the `exportFormat` query parameter to return the results as a file instead of a JSON response. Reference: https://docs.payabli.com/developers/api-reference/query/get-list-of-batchdetails-for-an-entrypoint ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Query/batchDetails/{entry}: get: operationId: list-batch-details summary: >- Get a list of settled and unsettled transactions in batches for a paypoint description: >- Retrieve a list of batches and their details, including settled and unsettled transactions for a paypoint. Use filters to limit results. Include the `exportFormat` query parameter to return the results as a file instead of a JSON response. tags: - subpackage_query parameters: - name: entry in: path required: true schema: $ref: '#/components/schemas/type_:Entry' - name: exportFormat in: query required: false schema: $ref: '#/components/schemas/type_:ExportFormat' - name: fromRecord in: query description: >- The number of records to skip before starting to collect the result set. required: false schema: type: integer default: 0 - name: limitRecord in: query description: >- Max number of records to return for the query. Use `0` or negative value to return all records. required: false schema: type: integer default: 20 - name: parameters in: query description: >- Collection of field names, conditions, and values used to filter the query. **You must remove `parameters=` from the request before you send it, otherwise Payabli will ignore the filters.** Because of a technical limitation, you can't make a request that includes filters from the API console on this page. The response won't be filtered. Instead, copy the request, remove `parameters=` and run the request in a different client. For example: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?parameters=totalAmount(gt)=1000&limitRecord=20 should become: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?totalAmount(gt)=1000&limitRecord=20 See [Filters and Conditions Reference](/developers/developer-guides/pay-ops-reporting-engine-overview#filters-and-conditions-reference) for more information. **List of field names accepted:** - `settlementDate` (gt, ge, lt, le, eq, ne) - `depositDate` (gt, ge, lt, le, eq, ne) - `transId` (ne, eq, ct, nct) - `gatewayTransId` (ne, eq, ct, nct) - `method` (in, nin, eq, ne) - `settledAmount` (gt, ge, lt, le, eq, ne) - `operation` (in, nin, eq, ne) - `source` (in, nin, eq, ne) - `batchNumber` (ct, nct, eq, ne) - `payaccountLastfour` (nct, ct) - `payaccountType` (ne, eq, in, nin) - `customerFirstname` (ct, nct, eq, ne) - `customerLastname` (ct, nct, eq, ne) - `customerName` (ct, nct) - `customerId` (eq, ne) - `customerNumber` (ct, nct, eq, ne) - `customerCompanyname` (ct, nct, eq, ne) - `customerAddress` (ct, nct, eq, ne) - `customerCity` (ct, nct, eq, ne) - `customerZip` (ct, nct, eq, ne) - `customerState` (ct, nct, eq, ne) - `customerCountry` (ct, nct, eq, ne) - `customerPhone` (ct, nct, eq, ne) - `customerEmail` (ct, nct, eq, ne) - `customerShippingAddress` (ct, nct, eq, ne) - `customerShippingCity` (ct, nct, eq, ne) - `customerShippingZip` (ct, nct, eq, ne) - `customerShippingState` (ct, nct, eq, ne) - `customerShippingCountry` (ct, nct, eq, ne) - `orgId` (eq) *mandatory when entry=org* - `isHold` (eq, ne) - `paypointId` (ne, eq) - `paypointLegal` (ne, eq, ct, nct) - `paypointDba` (ne, eq, ct, nct) - `orgName` (ne, eq, ct, nct) - `batchId` (ct, nct, eq, neq) - `additional-xxx` (ne, eq, ct, nct) where xxx is the additional field name **List of comparison accepted:** - `eq` or empty => equal - `gt` => greater than - `ge` => greater or equal - `lt` => less than - `le` => less or equal - `ne` => not equal - `ct` => contains - `nct` => not contains - `in` => inside array separated by "|" - `nin` => not inside array separated by "|" **List of parameters accepted:** - `limitRecord`: max number of records for query (default="20", "0" or negative value for all) - `fromRecord`: initial record in query Example: `settledAmount(gt)=20` returns all records with a `settledAmount` greater than 20.00. required: false schema: type: object additionalProperties: type: string - name: sortBy in: query description: >- The field name to use for sorting results. Use `desc(field_name)` to sort descending by `field_name`, and use `asc(field_name)` to sort ascending by `field_name`. required: false schema: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: >- #/components/schemas/type___queryTypes__:QueryBatchesDetailResponse '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:Entry: type: string description: >- The entity's entrypoint identifier. [Learn more](/developers/api-reference/api-overview#entrypoint-vs-entry) title: Entry type_:ExportFormat: type: string enum: - csv - xlsx description: >- Export format for file downloads. When specified, returns data as a file instead of JSON. title: ExportFormat type_:BatchNumber: type: string description: >- A unique identifier for the batch. This is generated by Payabli when the batch is created, and follows this format: `paypointId + "_" + serviceName + "_" + batchDate:yyyyMMdd + "_" + Guid.NewGuid()`. Payabli generates the GUID to ensure that the batch number is unique. For example, in this batch number: `123_card_20251008_3f2504e0-4f89-11d3-9a0c-0305e82c3301`, the paypointID is "123", the service is "card", the batch date is "2025-10-08", and the GUID is "3f2504e0-4f89-11d3-9a0c-0305e82c3301". title: BatchNumber type_:OrderId: type: string description: Custom identifier for the transaction. title: OrderId type_:Accountexp: type: string description: Expiration date of card used in transaction. title: Accountexp type_:Accountid: type: string description: Custom identifier for payment connector. title: Accountid type_:Accounttype: type: string description: Bank account type or card brand. title: Accounttype type_:Accountzip: type: string description: ZIP code for card used in transaction. title: Accountzip type_:BinData: type: object properties: binMatchedLength: type: string description: |- The number of characters from the beginning of the card number that were matched against a Bank Identification Number (BIN) or the Card Range table. binCardBrand: type: string description: |- The card brand. For example, Visa, Mastercard, American Express, Discover. binCardType: type: string description: 'The type of card: Credit or Debit.' binCardCategory: type: string description: >- The category of the card, which indicates the card product. For example: Standard, Gold, Platinum, etc. The binCardCategory for prepaid cards is marked `PREPAID`. binCardIssuer: type: string description: The name of the financial institution that issued the card. binCardIssuerCountry: type: string description: The issuing financial institution's country name. binCardIssuerCountryCodeA2: type: string description: >- The issuing financial institution's two-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIssuerCountryNumber: type: string description: >- The issuing financial institution's ISO standard numeric country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIsRegulated: type: string description: Indicates whether the card is regulated. binCardUseCategory: type: string description: The use category classification for the card. binCardIssuerCountryCodeA3: type: string description: >- The issuing financial institution's three-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. description: >- Object containing information related to the card. This object is `null` unless the payment method is card. If the payment method is Apple Pay, the binData will be related to the DPAN (device primary account number), not the card connected to Apple Pay. title: BinData type_:Holdername: type: string description: Account holder name for the method. title: Holdername type_:Initiator: type: string description: >- **Strongly recommended** The cardholder-initiated transaction (CIT) or merchant-initiated transaction (MIT) indicator for the transaction. If you don't specify a value, Payabli defaults to `merchant`. Available values: - `payor`: For cardholder-initiated transactions - `merchant`: For merchant-initiated transactions See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Initiator type_:Maskedaccount: type: string description: >- Masked card or bank account used in transaction. In the case of Apple Pay, this is a masked DPAN (device primary account number). title: Maskedaccount type_:Orderdescription: type: string description: Text description of the transaction. title: Orderdescription type_:PaymentCategories: type: object properties: amount: type: number format: double description: Price/cost per unit of item or category. description: type: string description: Description of item or category label: type: string description: Name of item or category. qty: type: integer default: 1 description: Quantity of item or category required: - amount - label title: PaymentCategories type_:SplitFundingContent: type: object properties: accountId: type: string description: The accountId for the account the split should be sent to. amount: type: number format: double description: Amount from the transaction to sent to this recipient. description: type: string description: A description for the split. recipientEntryPoint: type: string description: The entrypoint the split should be sent to. title: SplitFundingContent type_:SplitFunding: type: array items: $ref: '#/components/schemas/type_:SplitFundingContent' description: >- Split funding instructions for the transaction. The total amount of the splits must match the total amount of the transaction. title: SplitFunding type_:PaymentDetail: type: object properties: categories: type: array items: $ref: '#/components/schemas/type_:PaymentCategories' description: >- Array of payment categories/line items describing the amount to be paid. **Note**: These categories are for information only and aren't validated against the total amount provided. checkImage: type: object additionalProperties: description: Any type description: Object containing image of paper check. checkNumber: type: string description: >- A check number to be used in the ach transaction. **Required** for payment method = 'check'. currency: type: string description: >- The currency for the transaction, `USD` or `CAD`. If your paypoint is configured for CAD, you must send the `CAD` value in this field, otherwise it defaults to USD, which will cause the transaction to fail. serviceFee: type: number format: double description: >- Service fee to be deducted from the total amount. This amount must be a number, percentages aren't accepted. If you are using a percentage-based fee schedule, you must calculate the value manually. splitFunding: $ref: '#/components/schemas/type_:SplitFunding' description: >- Split funding instructions for the transaction. See [Split a Transaction](/developers/developer-guides/money-in-split-funding) for more. checkUniqueId: type: string description: >- Unique identifier for a processed check image. Required for RDC (Remote Deposit Capture) transactions where `achCode` is `BOC`. Use the `id` value from the [check processing](/developers/api-reference/moneyin/check-capture) response. totalAmount: type: number format: double description: >- Total amount to be charged. If a service fee is sent, then this amount should include the service fee." required: - totalAmount description: Details about the payment. title: PaymentDetail type_:Sequence: type: string description: >- The order of the transaction for cardholder-initiated transaction (CIT) and merchant-initiated transaction (MIT) purposes. This field is automatically detected and populated by Payabli. Available values: - `first`: The first use of the payment method. This is almost always a cardholder-initiated transaction. - `subsequent`: For merchant-initiated transactions after the first use of the payment method. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Sequence type_:Signaturedata: type: string title: Signaturedata type_:Storedmethodid: type: string description: >- Payabli identifier of a tokenized payment method. If this field is used in a request, the `method` field is overridden and the payment is made using the payment token. title: Storedmethodid type_:StoredMethodUsageType: type: string description: >- **Strongly recommended** The usage type for the stored method, used for merchant-initiated transactions (MIT). If you don't specify a value, Payabli defaults to `unscheduled`. Available values: - `unscheduled`: This type is used for transactions that are one-time or otherwise not pre-scheduled. - `subscription`: This type is used for subscription payments. For example, monthly rental fees or ongoing service subscriptions. - `recurring`: This type is used for recurring payments that occur per a set plan. For example, splitting an HOA special assessment over 6 monthly payments. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: StoredMethodUsageType type_:QueryPaymentData: type: object properties: AccountExp: $ref: '#/components/schemas/type_:Accountexp' accountId: $ref: '#/components/schemas/type_:Accountid' AccountType: $ref: '#/components/schemas/type_:Accounttype' AccountZip: $ref: '#/components/schemas/type_:Accountzip' binData: $ref: '#/components/schemas/type_:BinData' HolderName: $ref: '#/components/schemas/type_:Holdername' Initiator: $ref: '#/components/schemas/type_:Initiator' MaskedAccount: $ref: '#/components/schemas/type_:Maskedaccount' orderDescription: $ref: '#/components/schemas/type_:Orderdescription' paymentDetails: $ref: '#/components/schemas/type_:PaymentDetail' Sequence: $ref: '#/components/schemas/type_:Sequence' SignatureData: $ref: '#/components/schemas/type_:Signaturedata' StoredId: $ref: '#/components/schemas/type_:Storedmethodid' description: Identifier of stored payment method used in transaction. StoredMethodUsageType: $ref: '#/components/schemas/type_:StoredMethodUsageType' title: QueryPaymentData type_:Netamountnullable: type: number format: double description: Net amount. title: Netamountnullable type_:Operation: type: string description: The transaction's operation. title: Operation type_:Category: type: string description: >- A field used internally by Payabli to categorize the transaction details. Values are: - `auth`: Any payment - `refund`: ACH return or Refund - `adj`: Adjustments - `cb`: Chargeback - `split`: Split amount title: Category type_:Source: type: string description: Custom identifier to indicate the transaction or request source. title: Source type_:TransactionTime: type: string format: date-time description: Timestamp when transaction was submitted, in UTC. title: TransactionTime type_:BillingZip: type: string description: Billing address ZIP code. title: BillingZip type_:Email: type: string format: email description: Email address. title: Email type_:CustomerNumberNullable: type: string description: >- User-provided unique identifier for the customer. This is typically the customer ID from your own system. title: CustomerNumberNullable type_:Shippingaddress: type: string description: The shipping address. title: Shippingaddress type_:Shippingaddressadditional: type: string description: Additional line for shipping address. title: Shippingaddressadditional type_:Shippingcity: type: string description: Shipping city. title: Shippingcity type_:Shippingstate: type: string description: Shipping state or province. title: Shippingstate type_:Shippingzip: type: string description: >- Shipping ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". title: Shippingzip type_:Shippingcountry: type: string description: Shipping address country. title: Shippingcountry type_:CustomerId: type: integer format: int64 description: The Payabli-generated unique ID for the customer. title: CustomerId type_:CustomerStatus: type: integer description: |- Customer Status. Possible values: - `-99` Deleted - `0` Inactive - `1` Active - `85` Locked (typically due to multiple failed login attempts) title: CustomerStatus type_:AdditionalDataMap: type: object additionalProperties: type: string description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalDataMap type_:QueryTransactionPayorData: type: object properties: Identifiers: type: array items: description: Any type description: Array of field names to be used as identifiers. FirstName: type: string description: Customer/Payor first name. LastName: type: string description: Customer/Payor last name. CompanyName: type: string description: Customer's company name. BillingAddress1: type: string description: Customer's billing address. BillingAddress2: type: string description: Additional line for Customer's billing address. BillingCity: type: string description: Customer's billing city. BillingState: type: string description: >- Customer's billing state. Must be 2-letter state code for address in US. BillingZip: $ref: '#/components/schemas/type_:BillingZip' description: Customer's billing ZIP code. BillingCountry: type: string description: Customer's billing country. BillingPhone: type: string description: Customer's phone number. BillingEmail: $ref: '#/components/schemas/type_:Email' description: Customer's email address. CustomerNumber: $ref: '#/components/schemas/type_:CustomerNumberNullable' ShippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' ShippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' ShippingCity: $ref: '#/components/schemas/type_:Shippingcity' ShippingState: $ref: '#/components/schemas/type_:Shippingstate' ShippingZip: $ref: '#/components/schemas/type_:Shippingzip' ShippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' customerId: $ref: '#/components/schemas/type_:CustomerId' customerStatus: $ref: '#/components/schemas/type_:CustomerStatus' AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' title: QueryTransactionPayorData type_:DepositDate: type: string format: date-time description: The date the funds were deposited. title: DepositDate type_:ExpectedDepositDate: type: string format: date-time description: The date the funds are expected to be deposited. title: ExpectedDepositDate type_:CreatedAt: type: string format: date-time description: Timestamp of when record was created, in UTC. title: CreatedAt type_:Legalname: type: string description: Business legal name. title: Legalname type_:Authcode: type: string description: Authorization code for the transaction. title: Authcode type_:AvsResponse: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponse type_:AvsResponseText: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponseText type_:CvvResponse: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponse type_:CvvResponseText: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponseText type_:EmvAuthResponseData: type: string description: EMV authorization response data, applicable for card transactions. title: EmvAuthResponseData type_:ResultCodev2: type: string description: >- Unified result code for the transaction. See [Pay In unified response codes](/developers/references/pay-in-unified-response-codes-reference) for more information. title: ResultCodev2 type_:ResultCodeText: type: string description: >- Description of the result code. See [Pay In unified response codes](/developers/references/pay-in-unified-response-codes-reference) for more information. title: ResultCodeText type_:QueryResponseData: type: object properties: authcode: $ref: '#/components/schemas/type_:Authcode' avsresponse: $ref: '#/components/schemas/type_:AvsResponse' avsresponse_text: $ref: '#/components/schemas/type_:AvsResponseText' cvvresponse: $ref: '#/components/schemas/type_:CvvResponse' cvvresponse_text: $ref: '#/components/schemas/type_:CvvResponseText' emv_auth_response_data: $ref: '#/components/schemas/type_:EmvAuthResponseData' orderid: $ref: '#/components/schemas/type_:OrderId' response: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' response_code: type: string description: >- Internal result code processing the transaction. Value 1 indicates successful operation, values 2 and 3 indicate errors. response_code_text: type: string description: >- Text describing the result. If resultCode = 1, will return 'Approved' or a general success message. If resultCode = 2 or 3, will contain the cause of the decline. responsetext: type: string description: >- Text describing the result. If resultCode = 1, will return 'Approved' or a general success message. If resultCode = 2 or 3, will contain the cause of the decline. resultCode: $ref: '#/components/schemas/type_:ResultCodev2' resultCodeText: $ref: '#/components/schemas/type_:ResultCodeText' transactionid: type: string description: The transaction identifier in Payabli. type: type: string description: Type of transaction or operation. description: The transaction's response data. title: QueryResponseData type_:Dbaname: type: string description: >- The alternate or common name that this business is doing business under usually referred to as a DBA name. title: Dbaname type_:OrgParentName: type: string description: The name of the parent organization. title: OrgParentName type_:Entrypointfield: type: string description: The entrypoint identifier. title: Entrypointfield type_:Device: type: string description: Identifier of registered cloud device used in the transaction. title: Device type_:RetrievalId: type: integer format: int64 description: Identifier of retrieval request title: RetrievalId type_:ChargebackId: type: integer format: int64 description: Identifier of chargeback transaction title: ChargebackId type_:AchHolderType: type: string enum: - personal - business default: personal description: 'The bank''s accountholder type: personal or business.' title: AchHolderType type_:AchSecCode: type: string description: >- Standard Entry Class (SEC) code is a three letter code that describes how an ACH payment was authorized. Supported values are: - PPD (Prearranged Payment and Deposit) - Used for credits or debits where an accountholder authorizes a company to initiate either a single or recurring transaction to their personal bank account. Common examples include direct deposit of payroll, mortgage payments, or utility bills. This is the default value for subscription payments. - WEB (Internet-Initiated/Mobile Entry) - Used for debit entries when authorization is obtained from an accountholder via the internet or a wireless network. Common examples are online bill payments, ecommerce purchases, and mobile app payments where the consumer enters their banking information online. - TEL (Telephone-Initiated Entry) - Used for one-time debit entries where authorization is obtained from a consumer via telephone. Common examples are phone-based purchases or bill payments where the consumer provides their banking information over the phone. - CCD (Corporate Credit or Debit) - Used for fund transfers between business accounts. This code is specifically for business-to-business transactions. Common examples include vendor payments and other business-to-business payments. - BOC (Back Office Conversion) - Used to convert paper checks received in-person at a point-of-sale or staffed payment location into electronic ACH debits. Required for Remote Deposit Capture (RDC) transactions. Only supports consumer checks; business, government, and mailed checks aren't eligible. title: AchSecCode type_:EntrypageId: type: integer format: int64 description: >- If applicable, the internal reference ID to the payment page capturing the payment. title: EntrypageId type_:FeeAmount: type: number format: double description: Service fee or sub-charge applied. title: FeeAmount type_:Orgid: type: integer format: int64 description: Organization ID. Unique identifier assigned to an org by Payabli. title: Orgid type_:PayorId: type: integer format: int64 description: >- Unique ID for the customer linked to the transaction. This is the same value as the `customerId` used when creating or referencing a customer. title: PayorId type_:PaypointId: type: integer format: int64 description: The paypoint's ID. Note that this is different than the entryname. title: PaypointId type_:PendingFeeAmount: type: number format: double description: >- The difference between the configured pass-through fee and the fee amount sent in the request. When transferring funds, Payabli uses this field to deduct the fee difference and transfer the correct amount to the merchant. When a paypoint is set up to absorb fees, and the pass-through fee sent with the request is less than the configured amount, the difference must be covered by the merchant. See [Fee Configuration](/guides/pay-in-fees-passthrough-overview#fee-configuration) to learn more about pass-through fee settings. title: PendingFeeAmount type_:RefundId: type: integer format: int64 description: Identifier of refund transaction linked to this payment. title: RefundId type_:ReturnedId: type: integer format: int64 description: Identifier of return/chargeback transaction linked to this payment. title: ReturnedId type_:QueryCFeeTransaction: type: object properties: cFeeTransid: type: string feeAmount: type: number format: double operation: type: string refundId: type: integer format: int64 responseData: type: object additionalProperties: description: Any type settlementStatus: type: integer transactionTime: $ref: '#/components/schemas/type_:TransactionTime' transStatus: type: integer title: QueryCFeeTransaction type_:FileContentFtype: type: string enum: - pdf - doc - docx - jpg - jpeg - png - gif - txt description: The MIME type of the file (if content is provided) title: FileContentFtype type_:FileContent: type: object properties: fContent: type: string description: >- Content of file, Base64-encoded. Ignored if furl is specified. Max upload size is 30 MB. filename: type: string description: The name of the attached file. ftype: $ref: '#/components/schemas/type_:FileContentFtype' description: The MIME type of the file (if content is provided) furl: type: string description: Optional URL provided to show or download the file remotely description: Contains details about a file. Max upload size is 30 MB. title: FileContent type_:Attachments: type: array items: $ref: '#/components/schemas/type_:FileContent' description: >- Array of `fileContent` objects with attached documents. Max upload size is 30 MB. title: Attachments type_:Discount: type: number format: double description: Discount applied to the invoice. title: Discount type_:DutyAmount: type: number format: double description: Duty amount. title: DutyAmount type_:FreightAmount: type: number format: double description: Freight/shipping amount. title: FreightAmount type_:Frequency: type: string enum: - onetime - weekly - every2weeks - every6months - monthly - every3months - annually description: Frequency for operation. title: Frequency type_:InvoiceAmount: type: number format: double description: Invoice total amount. title: InvoiceAmount type_:InvoiceNumber: type: string description: >- Custom number identifying the bill or invoice. Must be unique in paypoint. title: InvoiceNumber type_:Invoicestatus: type: integer description: |- Status for invoice. The accepted status values are: - 0 draft - 1 active - 2 partially paid - 4 paid/complete - 99 cancelled title: Invoicestatus type_:InvoiceType: type: integer description: Type of invoice. Only `0` for one-time invoices is currently supported. title: InvoiceType type_:ItemCommodityCode: type: string description: Item or product commodity code. Max length of 250 characters. title: ItemCommodityCode type_:ItemDescription: type: string description: Item or product description. Max length of 250 characters. title: ItemDescription type_:ItemProductCode: type: string description: Item or product code. Max length of 250 characters. title: ItemProductCode type_:ItemProductName: type: string description: Item or product name. Max length of 250 characters. title: ItemProductName type_:ItemUnitofMeasure: type: string description: Unit of measurement. Max length of 100 characters. title: ItemUnitofMeasure type_:BillItem: type: object properties: itemCategories: type: array items: type: string description: Array of tags classifying item or product. itemCommodityCode: $ref: '#/components/schemas/type_:ItemCommodityCode' itemCost: type: number format: double description: Item or product price per unit. itemDescription: $ref: '#/components/schemas/type_:ItemDescription' itemMode: type: integer description: >- Internal class of item or product: value '0' is only for invoices , '1' for bills and, '2' common for both. itemProductCode: $ref: '#/components/schemas/type_:ItemProductCode' itemProductName: $ref: '#/components/schemas/type_:ItemProductName' itemQty: type: integer description: Quantity of item or product. itemTaxAmount: type: number format: double description: Tax amount applied to item or product. itemTaxRate: type: number format: double description: Tax rate applied to item or product. itemTotalAmount: type: number format: double description: Total amount in item or product. itemUnitOfMeasure: $ref: '#/components/schemas/type_:ItemUnitofMeasure' required: - itemCost title: BillItem type_:BillDataPaymentTerms: type: string enum: - PIA - CIA - UR - NET10 - NET20 - NET30 - NET45 - NET60 - NET90 - EOM - MFI - 5MFI - 10MFI - 15MFI - 20MFI - 2/10NET30 - UF - 10UF - 20UF - 25UF - 50UF description: >- Payment terms for invoice. If no terms are defined, then response data for this field defaults to `NET30`. **Available Values:** - `PIA`: Payment in advance - `CIA`: Cash in advance - `UR`: Upon receipt - `NET10`: 10 days after invoice date - `NET20`: 20 days after invoice date - `NET30`: 30 days after invoice date - `NET45`: 45 days after invoice date - `NET60`: 60 days after invoice date - `NET90`: 90 days after invoice date - `EOM`: Due end of this month - `MFI`: 1st of the month following the invoice date - `5MFI`: 5th of the month following the invoice date - `10MFI`: 10th of the month following the invoice date - `15MFI`: 15th of the month following the invoice date - `20MFI`: 20th of the month following the invoice date - `2/10NET30`: 2% discount if paid within 10 days, otherwise net 30 days - `UF`: Until further notice - `10UF`: 10 days until further notice - `20UF`: 20 days until further notice - `25UF`: 25 days until further notice - `50UF`: 50 days until further notice title: BillDataPaymentTerms type_:PurchaseOrder: type: string description: Purchase order number. title: PurchaseOrder type_:ShippingFromZip: type: string description: Sender shipping ZIP code. title: ShippingFromZip type_:SummaryCommodityCode: type: string description: Commodity code. title: SummaryCommodityCode type_:Tax: type: number format: double description: Tax rate in percent applied to the invoice. title: Tax type_:TermsConditions: type: string description: Custom terms and conditions included in the invoice. title: TermsConditions type_:BillData: type: object properties: AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' attachments: $ref: '#/components/schemas/type_:Attachments' company: type: string description: Company name of the recipient of the invoice. discount: $ref: '#/components/schemas/type_:Discount' dutyAmount: $ref: '#/components/schemas/type_:DutyAmount' firstName: type: string description: First name of the recipient of the invoice. freightAmount: $ref: '#/components/schemas/type_:FreightAmount' frequency: $ref: '#/components/schemas/type_:Frequency' description: Frequency of scheduled invoice. invoiceAmount: $ref: '#/components/schemas/type_:InvoiceAmount' invoiceDate: type: string format: date description: 'Invoice date in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY.' invoiceDueDate: type: string format: date description: >- Invoice due date in one of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceEndDate: type: string format: date description: >- Indicate the date to finish a scheduled invoice cycle (`invoiceType`` = 1) in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceNumber: $ref: '#/components/schemas/type_:InvoiceNumber' description: Invoice number. Identifies the invoice under a paypoint. invoiceStatus: $ref: '#/components/schemas/type_:Invoicestatus' invoiceType: $ref: '#/components/schemas/type_:InvoiceType' items: type: array items: $ref: '#/components/schemas/type_:BillItem' description: Array of line items included in the invoice. lastName: type: string description: Last name of the recipient of the invoice. notes: type: string description: Notes included in the invoice. paymentTerms: $ref: '#/components/schemas/type_:BillDataPaymentTerms' purchaseOrder: $ref: '#/components/schemas/type_:PurchaseOrder' shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' shippingEmail: $ref: '#/components/schemas/type_:Email' description: Shipping recipient's contact email address. shippingFromZip: $ref: '#/components/schemas/type_:ShippingFromZip' shippingPhone: type: string description: Recipient phone number. shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' summaryCommodityCode: $ref: '#/components/schemas/type_:SummaryCommodityCode' tax: $ref: '#/components/schemas/type_:Tax' termsConditions: $ref: '#/components/schemas/type_:TermsConditions' title: BillData type_:QueryTransactionEventsEventData: oneOf: - type: object additionalProperties: description: Any type - type: string description: >- Any data associated to the event received from processor. Contents vary by event type. title: QueryTransactionEventsEventData type_:QueryTransactionEvents: type: object properties: EventData: $ref: '#/components/schemas/type_:QueryTransactionEventsEventData' description: >- Any data associated to the event received from processor. Contents vary by event type. EventTime: type: string format: date-time description: Date and time of event. TransEvent: type: string description: >- Event descriptor. See [TransEvent Reference](/guides/pay-in-transevents-reference) for more details. title: QueryTransactionEvents type_:ExternalPaypointId: type: string description: >- A custom identifier for the paypoint, if applicable. Like `entrypoint` is the Payabli identifier for the merchant, `externalPaypointId` is a custom field you can use to include the merchant's ID from your own systems. title: ExternalPaypointId type___queryTypes__:BatchDetailResponseRecord: type: object properties: Id: type: integer Method: type: string WalletType: type: - string - 'null' SettledAmount: type: number format: double Type: type: string BatchNumber: $ref: '#/components/schemas/type_:BatchNumber' BatchAmount: type: number format: double PaymentTransId: type: string PaymentTransStatus: type: integer ScheduleReference: type: integer GatewayTransId: type: string OrderId: $ref: '#/components/schemas/type_:OrderId' TransMethod: type: string PaymentData: oneOf: - $ref: '#/components/schemas/type_:QueryPaymentData' - type: 'null' NetAmount: $ref: '#/components/schemas/type_:Netamountnullable' Operation: $ref: '#/components/schemas/type_:Operation' Category: $ref: '#/components/schemas/type_:Category' Source: oneOf: - $ref: '#/components/schemas/type_:Source' - type: 'null' Status: type: integer TransactionTime: $ref: '#/components/schemas/type_:TransactionTime' Customer: oneOf: - $ref: '#/components/schemas/type_:QueryTransactionPayorData' - type: 'null' SettlementDate: type: string format: date-time PaymentSettlementStatus: type: integer BatchStatus: type: integer DepositDate: $ref: '#/components/schemas/type_:DepositDate' ExpectedDepositDate: $ref: '#/components/schemas/type_:ExpectedDepositDate' MaskedAccount: $ref: '#/components/schemas/type_:Maskedaccount' CreatedAt: $ref: '#/components/schemas/type_:CreatedAt' PaypointLegalname: $ref: '#/components/schemas/type_:Legalname' ResponseData: oneOf: - $ref: '#/components/schemas/type_:QueryResponseData' - type: 'null' PaypointDbaname: $ref: '#/components/schemas/type_:Dbaname' ParentOrgName: $ref: '#/components/schemas/type_:OrgParentName' ParentOrgId: type: integer PaypointEntryname: $ref: '#/components/schemas/type_:Entrypointfield' DeviceId: oneOf: - $ref: '#/components/schemas/type_:Device' - type: 'null' RetrievalId: $ref: '#/components/schemas/type_:RetrievalId' ChargebackId: $ref: '#/components/schemas/type_:ChargebackId' AchHolderType: $ref: '#/components/schemas/type_:AchHolderType' AchSecCode: $ref: '#/components/schemas/type_:AchSecCode' ConnectorName: type: string EntrypageId: $ref: '#/components/schemas/type_:EntrypageId' FeeAmount: $ref: '#/components/schemas/type_:FeeAmount' OrgId: $ref: '#/components/schemas/type_:Orgid' PayorId: $ref: '#/components/schemas/type_:PayorId' PaypointId: $ref: '#/components/schemas/type_:PaypointId' PendingFeeAmount: $ref: '#/components/schemas/type_:PendingFeeAmount' RefundId: $ref: '#/components/schemas/type_:RefundId' ReturnedId: $ref: '#/components/schemas/type_:ReturnedId' splitFundingInstructions: $ref: '#/components/schemas/type_:SplitFunding' TotalAmount: type: number format: double CfeeTransactions: type: array items: $ref: '#/components/schemas/type_:QueryCFeeTransaction' invoiceData: oneOf: - $ref: '#/components/schemas/type_:BillData' - type: 'null' TransactionEvents: type: array items: $ref: '#/components/schemas/type_:QueryTransactionEvents' externalPaypointID: $ref: '#/components/schemas/type_:ExternalPaypointId' isHold: type: integer required: - Id - Method - WalletType - SettledAmount - Type - BatchNumber - BatchAmount - PaymentTransId - PaymentTransStatus - ScheduleReference - GatewayTransId - OrderId - TransMethod - PaymentData - Operation - Category - Source - Status - TransactionTime - Customer - SettlementDate - PaymentSettlementStatus - BatchStatus - DepositDate - ExpectedDepositDate - MaskedAccount - CreatedAt - PaypointLegalname - ResponseData - PaypointDbaname - ParentOrgName - ParentOrgId - PaypointEntryname - DeviceId - RetrievalId - ChargebackId - AchHolderType - AchSecCode - ConnectorName - EntrypageId - FeeAmount - OrgId - PayorId - PaypointId - RefundId - ReturnedId - TotalAmount - CfeeTransactions - invoiceData - TransactionEvents - externalPaypointID - isHold title: BatchDetailResponseRecord type_:Totalrecords: type: integer description: Total number of records in response. title: Totalrecords type_:Totalpages: type: integer description: Total number of pages in response. title: Totalpages type_:Pagesize: type: integer description: Number of records on each response page. title: Pagesize type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type___queryTypes__:BatchDetailResponseSummary: type: object properties: serviceFees: type: number format: double transferAmount: type: number format: double refunds: type: number format: double heldAmount: type: number format: double totalRecords: $ref: '#/components/schemas/type_:Totalrecords' totalAmount: type: number format: double totalNetAmount: type: number format: double totalPages: $ref: '#/components/schemas/type_:Totalpages' pageSize: $ref: '#/components/schemas/type_:Pagesize' pageidentifier: oneOf: - $ref: '#/components/schemas/type_:PageIdentifier' - type: 'null' required: - serviceFees - transferAmount - refunds - heldAmount - totalRecords - totalAmount - totalNetAmount - totalPages - pageSize - pageidentifier title: BatchDetailResponseSummary type___queryTypes__:QueryBatchesDetailResponse: type: object properties: Records: type: array items: $ref: '#/components/schemas/type___queryTypes__:BatchDetailResponseRecord' Summary: $ref: '#/components/schemas/type___queryTypes__:BatchDetailResponseSummary' required: - Records - Summary description: Response body for queries about batch details. title: QueryBatchesDetailResponse type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript ListBatchExampleRecord import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.query.listBatchDetails("8cfec329267", { fromRecord: 251, limitRecord: 0, sortBy: "desc(field_name)", }); } main(); ``` ```python ListBatchExampleRecord from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.query.list_batch_details( entry="8cfec329267", from_record=251, limit_record=0, sort_by="desc(field_name)", ) ``` ```csharp ListBatchExampleRecord using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Query.ListBatchDetailsAsync( "8cfec329267", new ListBatchDetailsRequest { FromRecord = 251, LimitRecord = 0, SortBy = "desc(field_name)" } ); } } ``` ```go ListBatchExampleRecord package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Query/batchDetails/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby ListBatchExampleRecord require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Query/batchDetails/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java ListBatchExampleRecord import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Query/batchDetails/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29") .header("requestToken", "") .asString(); ``` ```php ListBatchExampleRecord request('GET', 'https://api-sandbox.payabli.com/api/Query/batchDetails/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift ListBatchExampleRecord import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Query/batchDetails/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # List batch details for org GET https://api-sandbox.payabli.com/api/Query/batchDetails/org/{orgId} Retrieve a list of batches and their details, including settled and unsettled transactions for an organization. Use filters to limit results. Include the `exportFormat` query parameter to return the results as a file instead of a JSON response. Reference: https://docs.payabli.com/developers/api-reference/query/get-list-of-batchdetails-for-an-organization ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Query/batchDetails/org/{orgId}: get: operationId: list-batch-details-org summary: Get list of settled and unsettled transactions in batches for an org description: >- Retrieve a list of batches and their details, including settled and unsettled transactions for an organization. Use filters to limit results. Include the `exportFormat` query parameter to return the results as a file instead of a JSON response. tags: - subpackage_query parameters: - name: orgId in: path description: The numeric identifier for organization, assigned by Payabli. required: true schema: type: integer - name: exportFormat in: query required: false schema: $ref: '#/components/schemas/type_:ExportFormat' - name: fromRecord in: query description: >- The number of records to skip before starting to collect the result set. required: false schema: type: integer default: 0 - name: limitRecord in: query description: >- Max number of records to return for the query. Use `0` or negative value to return all records. required: false schema: type: integer default: 20 - name: parameters in: query description: >- Collection of field names, conditions, and values used to filter the query. **You must remove `parameters=` from the request before you send it, otherwise Payabli will ignore the filters.** Because of a technical limitation, you can't make a request that includes filters from the API console on this page. The response won't be filtered. Instead, copy the request, remove `parameters=` and run the request in a different client. For example: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?parameters=totalAmount(gt)=1000&limitRecord=20 should become: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?totalAmount(gt)=1000&limitRecord=20 See [Filters and Conditions Reference](/developers/developer-guides/pay-ops-reporting-engine-overview#filters-and-conditions-reference) for more information. **List of field names accepted:** - `settlementDate` (gt, ge, lt, le, eq, ne) - `depositDate` (gt, ge, lt, le, eq, ne) - `transId` (ne, eq, ct, nct) - `gatewayTransId` (ne, eq, ct, nct) - `method` (in, nin, eq, ne) - `settledAmount` (gt, ge, lt, le, eq, ne) - `operation` (in, nin, eq, ne) - `source` (in, nin, eq, ne) - `batchNumber` (ct, nct, eq, ne) - `payaccountLastfour` (nct, ct) - `payaccountType` (ne, eq, in, nin) - `customerFirstname` (ct, nct, eq, ne) - `customerLastname` (ct, nct, eq, ne) - `customerName` (ct, nct) - `customerId` (eq, ne) - `customerNumber` (ct, nct, eq, ne) - `customerCompanyname` (ct, nct, eq, ne) - `customerAddress` (ct, nct, eq, ne) - `customerCity` (ct, nct, eq, ne) - `customerZip` (ct, nct, eq, ne) - `customerState` (ct, nct, eq, ne) - `customerCountry` (ct, nct, eq, ne) - `customerPhone` (ct, nct, eq, ne) - `customerEmail` (ct, nct, eq, ne) - `customerShippingAddress` (ct, nct, eq, ne) - `customerShippingCity` (ct, nct, eq, ne) - `customerShippingZip` (ct, nct, eq, ne) - `customerShippingState` (ct, nct, eq, ne) - `customerShippingCountry` (ct, nct, eq, ne) - `orgId` (eq) *mandatory when entry=org* - `isHold` (eq, ne) - `paypointId` (ne, eq) - `paypointLegal` (ne, eq, ct, nct) - `paypointDba` (ne, eq, ct, nct) - `orgName` (ne, eq, ct, nct) - `batchId` (ct, nct, eq, neq) - `additional-xxx` (ne, eq, ct, nct) where xxx is the additional field name **List of comparison accepted:** - `eq` or empty => equal - `gt` => greater than - `ge` => greater or equal - `lt` => less than - `le` => less or equal - `ne` => not equal - `ct` => contains - `nct` => not contains - `in` => inside array separated by "|" - `nin` => not inside array separated by "|" **List of parameters accepted:** - `limitRecord`: max number of records for query (default="20", "0" or negative value for all) - `fromRecord`: initial record in query Example: `settledAmount(gt)=20` returns all records with a `settledAmount` greater than 20.00. required: false schema: type: object additionalProperties: type: string - name: sortBy in: query description: >- The field name to use for sorting results. Use `desc(field_name)` to sort descending by `field_name`, and use `asc(field_name)` to sort ascending by `field_name`. required: false schema: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:QueryResponseSettlements' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:ExportFormat: type: string enum: - csv - xlsx description: >- Export format for file downloads. When specified, returns data as a file instead of JSON. title: ExportFormat type_:BatchNumber: type: string description: >- A unique identifier for the batch. This is generated by Payabli when the batch is created, and follows this format: `paypointId + "_" + serviceName + "_" + batchDate:yyyyMMdd + "_" + Guid.NewGuid()`. Payabli generates the GUID to ensure that the batch number is unique. For example, in this batch number: `123_card_20251008_3f2504e0-4f89-11d3-9a0c-0305e82c3301`, the paypointID is "123", the service is "card", the batch date is "2025-10-08", and the GUID is "3f2504e0-4f89-11d3-9a0c-0305e82c3301". title: BatchNumber type_:Category: type: string description: >- A field used internally by Payabli to categorize the transaction details. Values are: - `auth`: Any payment - `refund`: ACH return or Refund - `adj`: Adjustments - `cb`: Chargeback - `split`: Split amount title: Category type_:CreatedAt: type: string format: date-time description: Timestamp of when record was created, in UTC. title: CreatedAt type_:BillingZip: type: string description: Billing address ZIP code. title: BillingZip type_:Email: type: string format: email description: Email address. title: Email type_:CustomerNumberNullable: type: string description: >- User-provided unique identifier for the customer. This is typically the customer ID from your own system. title: CustomerNumberNullable type_:Shippingaddress: type: string description: The shipping address. title: Shippingaddress type_:Shippingaddressadditional: type: string description: Additional line for shipping address. title: Shippingaddressadditional type_:Shippingcity: type: string description: Shipping city. title: Shippingcity type_:Shippingstate: type: string description: Shipping state or province. title: Shippingstate type_:Shippingzip: type: string description: >- Shipping ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". title: Shippingzip type_:Shippingcountry: type: string description: Shipping address country. title: Shippingcountry type_:CustomerId: type: integer format: int64 description: The Payabli-generated unique ID for the customer. title: CustomerId type_:CustomerStatus: type: integer description: |- Customer Status. Possible values: - `-99` Deleted - `0` Inactive - `1` Active - `85` Locked (typically due to multiple failed login attempts) title: CustomerStatus type_:AdditionalDataMap: type: object additionalProperties: type: string description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalDataMap type_:QueryTransactionPayorData: type: object properties: Identifiers: type: array items: description: Any type description: Array of field names to be used as identifiers. FirstName: type: string description: Customer/Payor first name. LastName: type: string description: Customer/Payor last name. CompanyName: type: string description: Customer's company name. BillingAddress1: type: string description: Customer's billing address. BillingAddress2: type: string description: Additional line for Customer's billing address. BillingCity: type: string description: Customer's billing city. BillingState: type: string description: >- Customer's billing state. Must be 2-letter state code for address in US. BillingZip: $ref: '#/components/schemas/type_:BillingZip' description: Customer's billing ZIP code. BillingCountry: type: string description: Customer's billing country. BillingPhone: type: string description: Customer's phone number. BillingEmail: $ref: '#/components/schemas/type_:Email' description: Customer's email address. CustomerNumber: $ref: '#/components/schemas/type_:CustomerNumberNullable' ShippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' ShippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' ShippingCity: $ref: '#/components/schemas/type_:Shippingcity' ShippingState: $ref: '#/components/schemas/type_:Shippingstate' ShippingZip: $ref: '#/components/schemas/type_:Shippingzip' ShippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' customerId: $ref: '#/components/schemas/type_:CustomerId' customerStatus: $ref: '#/components/schemas/type_:CustomerStatus' AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' title: QueryTransactionPayorData type_:DepositDate: type: string format: date-time description: The date the funds were deposited. title: DepositDate type_:ExpectedDepositDate: type: string format: date-time description: The date the funds are expected to be deposited. title: ExpectedDepositDate type_:ExternalPaypointId: type: string description: >- A custom identifier for the paypoint, if applicable. Like `entrypoint` is the Payabli identifier for the merchant, `externalPaypointId` is a custom field you can use to include the merchant's ID from your own systems. title: ExternalPaypointId type_:FileContentFtype: type: string enum: - pdf - doc - docx - jpg - jpeg - png - gif - txt description: The MIME type of the file (if content is provided) title: FileContentFtype type_:FileContent: type: object properties: fContent: type: string description: >- Content of file, Base64-encoded. Ignored if furl is specified. Max upload size is 30 MB. filename: type: string description: The name of the attached file. ftype: $ref: '#/components/schemas/type_:FileContentFtype' description: The MIME type of the file (if content is provided) furl: type: string description: Optional URL provided to show or download the file remotely description: Contains details about a file. Max upload size is 30 MB. title: FileContent type_:Attachments: type: array items: $ref: '#/components/schemas/type_:FileContent' description: >- Array of `fileContent` objects with attached documents. Max upload size is 30 MB. title: Attachments type_:Discount: type: number format: double description: Discount applied to the invoice. title: Discount type_:DutyAmount: type: number format: double description: Duty amount. title: DutyAmount type_:FreightAmount: type: number format: double description: Freight/shipping amount. title: FreightAmount type_:Frequency: type: string enum: - onetime - weekly - every2weeks - every6months - monthly - every3months - annually description: Frequency for operation. title: Frequency type_:InvoiceAmount: type: number format: double description: Invoice total amount. title: InvoiceAmount type_:InvoiceNumber: type: string description: >- Custom number identifying the bill or invoice. Must be unique in paypoint. title: InvoiceNumber type_:Invoicestatus: type: integer description: |- Status for invoice. The accepted status values are: - 0 draft - 1 active - 2 partially paid - 4 paid/complete - 99 cancelled title: Invoicestatus type_:InvoiceType: type: integer description: Type of invoice. Only `0` for one-time invoices is currently supported. title: InvoiceType type_:ItemCommodityCode: type: string description: Item or product commodity code. Max length of 250 characters. title: ItemCommodityCode type_:ItemDescription: type: string description: Item or product description. Max length of 250 characters. title: ItemDescription type_:ItemProductCode: type: string description: Item or product code. Max length of 250 characters. title: ItemProductCode type_:ItemProductName: type: string description: Item or product name. Max length of 250 characters. title: ItemProductName type_:ItemUnitofMeasure: type: string description: Unit of measurement. Max length of 100 characters. title: ItemUnitofMeasure type_:BillItem: type: object properties: itemCategories: type: array items: type: string description: Array of tags classifying item or product. itemCommodityCode: $ref: '#/components/schemas/type_:ItemCommodityCode' itemCost: type: number format: double description: Item or product price per unit. itemDescription: $ref: '#/components/schemas/type_:ItemDescription' itemMode: type: integer description: >- Internal class of item or product: value '0' is only for invoices , '1' for bills and, '2' common for both. itemProductCode: $ref: '#/components/schemas/type_:ItemProductCode' itemProductName: $ref: '#/components/schemas/type_:ItemProductName' itemQty: type: integer description: Quantity of item or product. itemTaxAmount: type: number format: double description: Tax amount applied to item or product. itemTaxRate: type: number format: double description: Tax rate applied to item or product. itemTotalAmount: type: number format: double description: Total amount in item or product. itemUnitOfMeasure: $ref: '#/components/schemas/type_:ItemUnitofMeasure' required: - itemCost title: BillItem type_:BillDataPaymentTerms: type: string enum: - PIA - CIA - UR - NET10 - NET20 - NET30 - NET45 - NET60 - NET90 - EOM - MFI - 5MFI - 10MFI - 15MFI - 20MFI - 2/10NET30 - UF - 10UF - 20UF - 25UF - 50UF description: >- Payment terms for invoice. If no terms are defined, then response data for this field defaults to `NET30`. **Available Values:** - `PIA`: Payment in advance - `CIA`: Cash in advance - `UR`: Upon receipt - `NET10`: 10 days after invoice date - `NET20`: 20 days after invoice date - `NET30`: 30 days after invoice date - `NET45`: 45 days after invoice date - `NET60`: 60 days after invoice date - `NET90`: 90 days after invoice date - `EOM`: Due end of this month - `MFI`: 1st of the month following the invoice date - `5MFI`: 5th of the month following the invoice date - `10MFI`: 10th of the month following the invoice date - `15MFI`: 15th of the month following the invoice date - `20MFI`: 20th of the month following the invoice date - `2/10NET30`: 2% discount if paid within 10 days, otherwise net 30 days - `UF`: Until further notice - `10UF`: 10 days until further notice - `20UF`: 20 days until further notice - `25UF`: 25 days until further notice - `50UF`: 50 days until further notice title: BillDataPaymentTerms type_:PurchaseOrder: type: string description: Purchase order number. title: PurchaseOrder type_:ShippingFromZip: type: string description: Sender shipping ZIP code. title: ShippingFromZip type_:SummaryCommodityCode: type: string description: Commodity code. title: SummaryCommodityCode type_:Tax: type: number format: double description: Tax rate in percent applied to the invoice. title: Tax type_:TermsConditions: type: string description: Custom terms and conditions included in the invoice. title: TermsConditions type_:BillData: type: object properties: AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' attachments: $ref: '#/components/schemas/type_:Attachments' company: type: string description: Company name of the recipient of the invoice. discount: $ref: '#/components/schemas/type_:Discount' dutyAmount: $ref: '#/components/schemas/type_:DutyAmount' firstName: type: string description: First name of the recipient of the invoice. freightAmount: $ref: '#/components/schemas/type_:FreightAmount' frequency: $ref: '#/components/schemas/type_:Frequency' description: Frequency of scheduled invoice. invoiceAmount: $ref: '#/components/schemas/type_:InvoiceAmount' invoiceDate: type: string format: date description: 'Invoice date in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY.' invoiceDueDate: type: string format: date description: >- Invoice due date in one of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceEndDate: type: string format: date description: >- Indicate the date to finish a scheduled invoice cycle (`invoiceType`` = 1) in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceNumber: $ref: '#/components/schemas/type_:InvoiceNumber' description: Invoice number. Identifies the invoice under a paypoint. invoiceStatus: $ref: '#/components/schemas/type_:Invoicestatus' invoiceType: $ref: '#/components/schemas/type_:InvoiceType' items: type: array items: $ref: '#/components/schemas/type_:BillItem' description: Array of line items included in the invoice. lastName: type: string description: Last name of the recipient of the invoice. notes: type: string description: Notes included in the invoice. paymentTerms: $ref: '#/components/schemas/type_:BillDataPaymentTerms' purchaseOrder: $ref: '#/components/schemas/type_:PurchaseOrder' shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' shippingEmail: $ref: '#/components/schemas/type_:Email' description: Shipping recipient's contact email address. shippingFromZip: $ref: '#/components/schemas/type_:ShippingFromZip' shippingPhone: type: string description: Recipient phone number. shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' summaryCommodityCode: $ref: '#/components/schemas/type_:SummaryCommodityCode' tax: $ref: '#/components/schemas/type_:Tax' termsConditions: $ref: '#/components/schemas/type_:TermsConditions' title: BillData type_:Maskedaccount: type: string description: >- Masked card or bank account used in transaction. In the case of Apple Pay, this is a masked DPAN (device primary account number). title: Maskedaccount type_:Netamountnullable: type: number format: double description: Net amount. title: Netamountnullable type_:OrderId: type: string description: Custom identifier for the transaction. title: OrderId type_:OrgParentName: type: string description: The name of the parent organization. title: OrgParentName type_:Accountexp: type: string description: Expiration date of card used in transaction. title: Accountexp type_:Accountid: type: string description: Custom identifier for payment connector. title: Accountid type_:Accounttype: type: string description: Bank account type or card brand. title: Accounttype type_:Accountzip: type: string description: ZIP code for card used in transaction. title: Accountzip type_:BinData: type: object properties: binMatchedLength: type: string description: |- The number of characters from the beginning of the card number that were matched against a Bank Identification Number (BIN) or the Card Range table. binCardBrand: type: string description: |- The card brand. For example, Visa, Mastercard, American Express, Discover. binCardType: type: string description: 'The type of card: Credit or Debit.' binCardCategory: type: string description: >- The category of the card, which indicates the card product. For example: Standard, Gold, Platinum, etc. The binCardCategory for prepaid cards is marked `PREPAID`. binCardIssuer: type: string description: The name of the financial institution that issued the card. binCardIssuerCountry: type: string description: The issuing financial institution's country name. binCardIssuerCountryCodeA2: type: string description: >- The issuing financial institution's two-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIssuerCountryNumber: type: string description: >- The issuing financial institution's ISO standard numeric country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIsRegulated: type: string description: Indicates whether the card is regulated. binCardUseCategory: type: string description: The use category classification for the card. binCardIssuerCountryCodeA3: type: string description: >- The issuing financial institution's three-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. description: >- Object containing information related to the card. This object is `null` unless the payment method is card. If the payment method is Apple Pay, the binData will be related to the DPAN (device primary account number), not the card connected to Apple Pay. title: BinData type_:Holdername: type: string description: Account holder name for the method. title: Holdername type_:Initiator: type: string description: >- **Strongly recommended** The cardholder-initiated transaction (CIT) or merchant-initiated transaction (MIT) indicator for the transaction. If you don't specify a value, Payabli defaults to `merchant`. Available values: - `payor`: For cardholder-initiated transactions - `merchant`: For merchant-initiated transactions See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Initiator type_:Orderdescription: type: string description: Text description of the transaction. title: Orderdescription type_:PaymentCategories: type: object properties: amount: type: number format: double description: Price/cost per unit of item or category. description: type: string description: Description of item or category label: type: string description: Name of item or category. qty: type: integer default: 1 description: Quantity of item or category required: - amount - label title: PaymentCategories type_:SplitFundingContent: type: object properties: accountId: type: string description: The accountId for the account the split should be sent to. amount: type: number format: double description: Amount from the transaction to sent to this recipient. description: type: string description: A description for the split. recipientEntryPoint: type: string description: The entrypoint the split should be sent to. title: SplitFundingContent type_:SplitFunding: type: array items: $ref: '#/components/schemas/type_:SplitFundingContent' description: >- Split funding instructions for the transaction. The total amount of the splits must match the total amount of the transaction. title: SplitFunding type_:PaymentDetail: type: object properties: categories: type: array items: $ref: '#/components/schemas/type_:PaymentCategories' description: >- Array of payment categories/line items describing the amount to be paid. **Note**: These categories are for information only and aren't validated against the total amount provided. checkImage: type: object additionalProperties: description: Any type description: Object containing image of paper check. checkNumber: type: string description: >- A check number to be used in the ach transaction. **Required** for payment method = 'check'. currency: type: string description: >- The currency for the transaction, `USD` or `CAD`. If your paypoint is configured for CAD, you must send the `CAD` value in this field, otherwise it defaults to USD, which will cause the transaction to fail. serviceFee: type: number format: double description: >- Service fee to be deducted from the total amount. This amount must be a number, percentages aren't accepted. If you are using a percentage-based fee schedule, you must calculate the value manually. splitFunding: $ref: '#/components/schemas/type_:SplitFunding' description: >- Split funding instructions for the transaction. See [Split a Transaction](/developers/developer-guides/money-in-split-funding) for more. checkUniqueId: type: string description: >- Unique identifier for a processed check image. Required for RDC (Remote Deposit Capture) transactions where `achCode` is `BOC`. Use the `id` value from the [check processing](/developers/api-reference/moneyin/check-capture) response. totalAmount: type: number format: double description: >- Total amount to be charged. If a service fee is sent, then this amount should include the service fee." required: - totalAmount description: Details about the payment. title: PaymentDetail type_:Sequence: type: string description: >- The order of the transaction for cardholder-initiated transaction (CIT) and merchant-initiated transaction (MIT) purposes. This field is automatically detected and populated by Payabli. Available values: - `first`: The first use of the payment method. This is almost always a cardholder-initiated transaction. - `subsequent`: For merchant-initiated transactions after the first use of the payment method. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Sequence type_:Signaturedata: type: string title: Signaturedata type_:Storedmethodid: type: string description: >- Payabli identifier of a tokenized payment method. If this field is used in a request, the `method` field is overridden and the payment is made using the payment token. title: Storedmethodid type_:StoredMethodUsageType: type: string description: >- **Strongly recommended** The usage type for the stored method, used for merchant-initiated transactions (MIT). If you don't specify a value, Payabli defaults to `unscheduled`. Available values: - `unscheduled`: This type is used for transactions that are one-time or otherwise not pre-scheduled. - `subscription`: This type is used for subscription payments. For example, monthly rental fees or ongoing service subscriptions. - `recurring`: This type is used for recurring payments that occur per a set plan. For example, splitting an HOA special assessment over 6 monthly payments. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: StoredMethodUsageType type_:QueryPaymentData: type: object properties: AccountExp: $ref: '#/components/schemas/type_:Accountexp' accountId: $ref: '#/components/schemas/type_:Accountid' AccountType: $ref: '#/components/schemas/type_:Accounttype' AccountZip: $ref: '#/components/schemas/type_:Accountzip' binData: $ref: '#/components/schemas/type_:BinData' HolderName: $ref: '#/components/schemas/type_:Holdername' Initiator: $ref: '#/components/schemas/type_:Initiator' MaskedAccount: $ref: '#/components/schemas/type_:Maskedaccount' orderDescription: $ref: '#/components/schemas/type_:Orderdescription' paymentDetails: $ref: '#/components/schemas/type_:PaymentDetail' Sequence: $ref: '#/components/schemas/type_:Sequence' SignatureData: $ref: '#/components/schemas/type_:Signaturedata' StoredId: $ref: '#/components/schemas/type_:Storedmethodid' description: Identifier of stored payment method used in transaction. StoredMethodUsageType: $ref: '#/components/schemas/type_:StoredMethodUsageType' title: QueryPaymentData type_:TransStatus: type: integer description: >- Status of transaction. See [the docs](/developers/references/money-in-statuses#money-in-transaction-status) for a full reference. title: TransStatus type_:Authcode: type: string description: Authorization code for the transaction. title: Authcode type_:AvsResponse: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponse type_:AvsResponseText: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponseText type_:CvvResponse: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponse type_:CvvResponseText: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponseText type_:EmvAuthResponseData: type: string description: EMV authorization response data, applicable for card transactions. title: EmvAuthResponseData type_:ResultCodev2: type: string description: >- Unified result code for the transaction. See [Pay In unified response codes](/developers/references/pay-in-unified-response-codes-reference) for more information. title: ResultCodev2 type_:ResultCodeText: type: string description: >- Description of the result code. See [Pay In unified response codes](/developers/references/pay-in-unified-response-codes-reference) for more information. title: ResultCodeText type_:QueryResponseData: type: object properties: authcode: $ref: '#/components/schemas/type_:Authcode' avsresponse: $ref: '#/components/schemas/type_:AvsResponse' avsresponse_text: $ref: '#/components/schemas/type_:AvsResponseText' cvvresponse: $ref: '#/components/schemas/type_:CvvResponse' cvvresponse_text: $ref: '#/components/schemas/type_:CvvResponseText' emv_auth_response_data: $ref: '#/components/schemas/type_:EmvAuthResponseData' orderid: $ref: '#/components/schemas/type_:OrderId' response: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' response_code: type: string description: >- Internal result code processing the transaction. Value 1 indicates successful operation, values 2 and 3 indicate errors. response_code_text: type: string description: >- Text describing the result. If resultCode = 1, will return 'Approved' or a general success message. If resultCode = 2 or 3, will contain the cause of the decline. responsetext: type: string description: >- Text describing the result. If resultCode = 1, will return 'Approved' or a general success message. If resultCode = 2 or 3, will contain the cause of the decline. resultCode: $ref: '#/components/schemas/type_:ResultCodev2' resultCodeText: $ref: '#/components/schemas/type_:ResultCodeText' transactionid: type: string description: The transaction identifier in Payabli. type: type: string description: Type of transaction or operation. description: The transaction's response data. title: QueryResponseData type_:Source: type: string description: Custom identifier to indicate the transaction or request source. title: Source type_:SettlementStatus: type: integer description: >- Settlement status for transaction. See [the docs](/developers/references/money-in-statuses#payment-funding-status) for a full reference. title: SettlementStatus type_:QueryTransactionEventsEventData: oneOf: - type: object additionalProperties: description: Any type - type: string description: >- Any data associated to the event received from processor. Contents vary by event type. title: QueryTransactionEventsEventData type_:QueryTransactionEvents: type: object properties: EventData: $ref: '#/components/schemas/type_:QueryTransactionEventsEventData' description: >- Any data associated to the event received from processor. Contents vary by event type. EventTime: type: string format: date-time description: Date and time of event. TransEvent: type: string description: >- Event descriptor. See [TransEvent Reference](/guides/pay-in-transevents-reference) for more details. title: QueryTransactionEvents type_:TransactionTime: type: string format: date-time description: Timestamp when transaction was submitted, in UTC. title: TransactionTime type_:QueryResponseSettlementsRecordsItem: type: object properties: BatchAmount: type: number format: double description: The batch amount. BatchNumber: $ref: '#/components/schemas/type_:BatchNumber' Category: $ref: '#/components/schemas/type_:Category' CreatedAt: $ref: '#/components/schemas/type_:CreatedAt' Customer: $ref: '#/components/schemas/type_:QueryTransactionPayorData' DepositDate: $ref: '#/components/schemas/type_:DepositDate' ExpectedDepositDate: $ref: '#/components/schemas/type_:ExpectedDepositDate' externalPaypointID: $ref: '#/components/schemas/type_:ExternalPaypointId' GatewayTransId: type: string description: Internal identifier used for processing. Id: type: integer invoiceData: $ref: '#/components/schemas/type_:BillData' isHold: type: integer description: |- Describes whether the transaction is being held or not. 1 - Transaction is held 0 - Transaction isn't being held MaskedAccount: $ref: '#/components/schemas/type_:Maskedaccount' Method: type: string description: The payment method. NetAmount: $ref: '#/components/schemas/type_:Netamountnullable' description: Net amount paid. Operation: type: string description: The operation performed. OrderId: $ref: '#/components/schemas/type_:OrderId' ParentOrgName: $ref: '#/components/schemas/type_:OrgParentName' PaymentData: $ref: '#/components/schemas/type_:QueryPaymentData' PaymentTransId: type: string description: The transaction ID for the payment. PaymentTransStatus: $ref: '#/components/schemas/type_:TransStatus' PaypointDbaname: type: string description: Paypoint DBA name. PaypointEntryname: type: string description: Paypoint entryname. PaypointLegalname: type: string description: Paypoint legal name. ResponseData: $ref: '#/components/schemas/type_:QueryResponseData' ScheduleReference: type: integer description: Reference to the subscription originating the transaction. SettledAmount: type: number format: double description: The transaction amount. SettlementDate: type: string format: date-time description: >- The date and time when the transaction was settled. This field is null when the transaction's `SettlementStatus` is -1, -5, or -6 (Exception, Held, or Released). Source: $ref: '#/components/schemas/type_:Source' Status: $ref: '#/components/schemas/type_:SettlementStatus' TransactionEvents: type: array items: $ref: '#/components/schemas/type_:QueryTransactionEvents' description: Events associated with this transaction. TransactionTime: $ref: '#/components/schemas/type_:TransactionTime' TransMethod: type: string description: 'Payment method used: card or ach.' Type: type: string description: 'The transaction type: credit or debit.' title: QueryResponseSettlementsRecordsItem type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:QueryResponseSettlementsSummary: type: object properties: heldAmount: type: number format: double description: Funds being held for fraud or risk concerns. pageidentifier: $ref: '#/components/schemas/type_:PageIdentifier' pageSize: type: integer description: Number of records per page. refunds: type: number format: double description: Total refunds deducted from the transfer. serviceFees: type: number format: double description: >- Service fees are any pass-through fees charged to the customer at the time of payment. These aren't transferred to the merchant when the batch is transferred and funded. totalAmount: type: number format: double description: The total sum of the settlements in the response. totalNetAmount: type: number format: double description: The total sum of the settlements in the response. totalPages: type: integer description: Number of pages in the response. totalRecords: type: integer description: Number of records in the response. transferAmount: type: number format: double description: >- The transfer amount is the net batch amount plus or minus any returns, refunds, billing and fees items, chargebacks, adjustments, and third party payments. This is the amount from the batch that's transferred to the merchant bank account. title: QueryResponseSettlementsSummary type_:QueryResponseSettlements: type: object properties: Records: type: array items: $ref: '#/components/schemas/type_:QueryResponseSettlementsRecordsItem' Summary: $ref: '#/components/schemas/type_:QueryResponseSettlementsSummary' description: Describes the response for settlement queries. title: QueryResponseSettlements type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript Example query response import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.query.listBatchDetailsOrg(123, { fromRecord: 251, limitRecord: 0, sortBy: "desc(field_name)", }); } main(); ``` ```python Example query response from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.query.list_batch_details_org( org_id=123, from_record=251, limit_record=0, sort_by="desc(field_name)", ) ``` ```csharp Example query response using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Query.ListBatchDetailsOrgAsync( 123, new ListBatchDetailsOrgRequest { FromRecord = 251, LimitRecord = 0, SortBy = "desc(field_name)" } ); } } ``` ```go Example query response package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Query/batchDetails/org/123?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Example query response require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Query/batchDetails/org/123?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java Example query response import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Query/batchDetails/org/123?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29") .header("requestToken", "") .asString(); ``` ```php Example query response request('GET', 'https://api-sandbox.payabli.com/api/Query/batchDetails/org/123?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift Example query response import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Query/batchDetails/org/123?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # List transfers GET https://api-sandbox.payabli.com/api/Query/transfers/{entry} Retrieve a list of transfers for a paypoint. Use filters to limit results. Include the `exportFormat` query parameter to return the results as a file instead of a JSON response. Reference: https://docs.payabli.com/developers/api-reference/query/get-list-of-transfers ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Query/transfers/{entry}: get: operationId: list-transfers summary: Get list of transfers for a paypoint description: >- Retrieve a list of transfers for a paypoint. Use filters to limit results. Include the `exportFormat` query parameter to return the results as a file instead of a JSON response. tags: - subpackage_query parameters: - name: entry in: path required: true schema: $ref: '#/components/schemas/type_:Entry' - name: exportFormat in: query required: false schema: $ref: '#/components/schemas/type_:ExportFormat' - name: fromRecord in: query description: >- The number of records to skip before starting to collect the result set. required: false schema: type: integer default: 0 - name: limitRecord in: query description: >- Max number of records to return for the query. Use `0` or negative value to return all records. required: false schema: type: integer default: 20 - name: parameters in: query description: >- Collection of field names, conditions, and values used to filter the query. See [Filters and Conditions Reference](/developers/developer-guides/pay-ops-reporting-engine-overview#filters-and-conditions-reference) for more information. **You must remove `parameters=` from the request before you send it, otherwise Payabli will ignore the filters.** Because of a technical limitation, you can't make a request that includes filters from the API console on this page. The response won't be filtered. Instead, copy the request, remove `parameters=` and run the request in a different client. For example: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?parameters=totalAmount(gt)=1000&limitRecord=20 should become: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?totalAmount(gt)=1000&limitRecord=20 List of field names accepted: - `transferDate` (gt, ge, lt, le, eq, ne) - `grossAmount` (gt, ge, lt, le, eq, ne) - `chargeBackAmount` (gt, ge, lt, le, eq, ne) - `returnedAmount` (gt, ge, lt, le, eq, ne) - `billingFeeAmount` (gt, ge, lt, le, eq, ne) - `thirdPartyPaidAmount` (gt, ge, lt, le, eq, ne) - `netFundedAmount` (gt, ge, lt, le, eq, ne) - `adjustmentAmount` (gt, ge, lt, le, eq, ne) - `processor` (ne, eq, ct, nct) - `transferStatus` (ne, eq, in, nin) - `batchNumber` (ne, eq, ct, nct) - `batchId` (ne, eq, in, nin) - `transferId` (in, nin, eq, ne) - `bankAccountNumber` (ct, nct, ne, eq) - `bankRoutingNumber` (ct, nct, ne, eq) - `batchCurrency` (in, nin, ne, eq) - `parentOrgName` (ct, nct, ne, eq) - `parentOrgId` (ct, nct, ne, eq) - `externalPaypointID` (ct, nct) required: false schema: type: object additionalProperties: type: string - name: sortBy in: query description: >- The field name to use for sorting results. Use `desc(field_name)` to sort descending by `field_name`, and use `asc(field_name)` to sort ascending by `field_name`. required: false schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:TransferQueryResponse' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:Entry: type: string description: >- The entity's entrypoint identifier. [Learn more](/developers/api-reference/api-overview#entrypoint-vs-entry) title: Entry type_:ExportFormat: type: string enum: - csv - xlsx description: >- Export format for file downloads. When specified, returns data as a file instead of JSON. title: ExportFormat type_:PaypointId: type: integer format: int64 description: The paypoint's ID. Note that this is different than the entryname. title: PaypointId type_:BatchNumber: type: string description: >- A unique identifier for the batch. This is generated by Payabli when the batch is created, and follows this format: `paypointId + "_" + serviceName + "_" + batchDate:yyyyMMdd + "_" + Guid.NewGuid()`. Payabli generates the GUID to ensure that the batch number is unique. For example, in this batch number: `123_card_20251008_3f2504e0-4f89-11d3-9a0c-0305e82c3301`, the paypointID is "123", the service is "card", the batch date is "2025-10-08", and the GUID is "3f2504e0-4f89-11d3-9a0c-0305e82c3301". title: BatchNumber type_:TransferIdentifier: type: string description: Unique identifier for the transfer. title: TransferIdentifier type_:Legalname: type: string description: Business legal name. title: Legalname type_:Dbaname: type: string description: >- The alternate or common name that this business is doing business under usually referred to as a DBA name. title: Dbaname type_:AccountNumber: type: string description: >- Account number for bank account. This value is returned masked in responses. title: AccountNumber type_:RoutingAccount: type: string description: Routing number of bank account. title: RoutingAccount type_:BankName: type: string description: Name of bank for account. title: BankName type_:TransferBankAccount: type: object properties: accountNumber: $ref: '#/components/schemas/type_:AccountNumber' routingNumber: $ref: '#/components/schemas/type_:RoutingAccount' bankName: $ref: '#/components/schemas/type_:BankName' required: - accountNumber - routingNumber - bankName title: TransferBankAccount type_:Source: type: string description: Custom identifier to indicate the transaction or request source. title: Source type_:GeneralEvents: type: object properties: description: type: string description: Event description. eventTime: type: string format: date-time description: Event timestamp, in UTC. extraData: type: object additionalProperties: description: Any type description: Extra data. refData: type: string description: Reference data. source: $ref: '#/components/schemas/type_:Source' description: The event source. title: GeneralEvents type_:TransferMessageProperties: type: object properties: originalTransferStatus: type: - string - 'null' currentTransferStatus: type: - string - 'null' required: - originalTransferStatus - currentTransferStatus title: TransferMessageProperties type_:TransferMessage: type: object properties: Id: type: - integer - 'null' RoomId: type: - integer - 'null' UserId: type: - integer - 'null' UserName: type: - string - 'null' Content: type: - string - 'null' CreatedAt: type: - string - 'null' MessageType: type: - integer - 'null' MessageProperties: oneOf: - $ref: '#/components/schemas/type_:TransferMessageProperties' - type: 'null' required: - Id - RoomId - UserId - UserName - Content - CreatedAt - MessageType - MessageProperties title: TransferMessage type_:Transfer: type: object properties: transferId: type: integer description: The transfer ID. paypointId: $ref: '#/components/schemas/type_:PaypointId' batchNumber: $ref: '#/components/schemas/type_:BatchNumber' batchCurrency: type: - string - 'null' description: The currency of the batch, either USD or CAD. batchRecords: type: - integer - 'null' description: Number of records in the batch. transferIdentifier: $ref: '#/components/schemas/type_:TransferIdentifier' batchId: type: integer description: The ID of the batch the transfer belongs to. paypointEntryName: type: - string - 'null' description: The paypoint entryname. paypointLegalName: oneOf: - $ref: '#/components/schemas/type_:Legalname' - type: 'null' description: The paypoint legal name. paypointDbaName: oneOf: - $ref: '#/components/schemas/type_:Dbaname' - type: 'null' description: The paypoint DBA name. paypointLogo: type: - string - 'null' description: The paypoint logo URL. parentOrgName: type: - string - 'null' description: The parent organization name. parentOrgId: type: - integer - 'null' description: The parent organization ID. parentOrgEntryName: type: - string - 'null' description: The parent organization entryname. parentOrgLogo: type: - string - 'null' description: The parent organization logo URL. externalPaypointID: type: - string - 'null' description: The external paypoint ID. bankAccount: oneOf: - $ref: '#/components/schemas/type_:TransferBankAccount' - type: 'null' description: Bank account information for the transfer. transferDate: type: string description: Date when the transfer occurred. processor: type: string description: The payment processor used for the transfer. transferStatus: type: integer description: The current status of the transfer. grossAmount: type: number format: double description: >- Gross batch is the total amount of the payments grouped in the batch. This amount includes service fees. chargeBackAmount: type: number format: double description: Amount of chargebacks to be deducted from batch. returnedAmount: type: number format: double description: Amount of ACH returns to be deducted from batch. holdAmount: type: number format: double description: Amount being held for fraud or risk concerns. releasedAmount: type: number format: double description: >- Amount of previously held funds that have been released after a risk review. billingFeesAmount: type: number format: double description: Amount of charges and fees applied for services and transactions. thirdPartyPaidAmount: type: number format: double description: >- Amount of payments captured in the batch cycle that are deposited separately. For example, checks or cash payments recorded in the batch but not deposited via Payabli, or card brands making a direct transfer in certain situations. adjustmentsAmount: type: number format: double description: Amount of corrections applied to Billing & Fees charges. netTransferAmount: type: number format: double description: The net transfer amount after all deductions and additions. splitAmount: type: - number - 'null' format: double description: The sum of each splitFundingAmount of each record in the transfer. eventsData: type: - array - 'null' items: $ref: '#/components/schemas/type_:GeneralEvents' description: List of events associated with the transfer. messages: type: - array - 'null' items: $ref: '#/components/schemas/type_:TransferMessage' description: List of messages related to the transfer. required: - transferId - paypointId - batchNumber - batchCurrency - batchRecords - transferIdentifier - batchId - paypointEntryName - paypointLegalName - paypointDbaName - paypointLogo - parentOrgName - parentOrgId - parentOrgEntryName - parentOrgLogo - externalPaypointID - bankAccount - transferDate - processor - transferStatus - grossAmount - chargeBackAmount - returnedAmount - holdAmount - releasedAmount - billingFeesAmount - thirdPartyPaidAmount - adjustmentsAmount - netTransferAmount - splitAmount - eventsData - messages title: Transfer type_:Totalpages: type: integer description: Total number of pages in response. title: Totalpages type_:Totalrecords: type: integer description: Total number of records in response. title: Totalrecords type_:Pagesize: type: integer description: Number of records on each response page. title: Pagesize type_:TransferSummary: type: object properties: totalPages: $ref: '#/components/schemas/type_:Totalpages' totalRecords: $ref: '#/components/schemas/type_:Totalrecords' pageSize: $ref: '#/components/schemas/type_:Pagesize' required: - totalPages - totalRecords - pageSize title: TransferSummary type_:TransferQueryResponse: type: object properties: Records: type: array items: $ref: '#/components/schemas/type_:Transfer' Summary: $ref: '#/components/schemas/type_:TransferSummary' required: - Records - Summary title: TransferQueryResponse type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse ``` ## SDK Code Examples ```typescript ListTransfer import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient(); await client.query.listTransfers("47862acd", { fromRecord: 0, limitRecord: 20, }); } main(); ``` ```python ListTransfer from payabli import payabli client = payabli() client.query.list_transfers( entry="47862acd", from_record=0, limit_record=20, ) ``` ```csharp ListTransfer using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient(); await client.Query.ListTransfersAsync( "47862acd", new ListTransfersRequest { FromRecord = 0, LimitRecord = 20 } ); } } ``` ```go ListTransfer package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Query/transfers/47862acd?fromRecord=0&limitRecord=20" req, _ := http.NewRequest("GET", url, nil) res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby ListTransfer require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Query/transfers/47862acd?fromRecord=0&limitRecord=20") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) response = http.request(request) puts response.read_body ``` ```java ListTransfer import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Query/transfers/47862acd?fromRecord=0&limitRecord=20") .asString(); ``` ```php ListTransfer request('GET', 'https://api-sandbox.payabli.com/api/Query/transfers/47862acd?fromRecord=0&limitRecord=20'); echo $response->getBody(); ``` ```swift ListTransfer import Foundation let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Query/transfers/47862acd?fromRecord=0&limitRecord=20")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # List transfers for org GET https://api-sandbox.payabli.com/api/Query/transfers/org/{orgId} Retrieve a list of transfers for an org. Use filters to limit results. Include the `exportFormat` query parameter to return the results as a file instead of a JSON response. Reference: https://docs.payabli.com/developers/api-reference/query/get-list-of-transfers-for-an-organization ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Query/transfers/org/{orgId}: get: operationId: list-transfers-org summary: Get list of transfers for an organization description: >- Retrieve a list of transfers for an org. Use filters to limit results. Include the `exportFormat` query parameter to return the results as a file instead of a JSON response. tags: - subpackage_query parameters: - name: orgId in: path required: true schema: $ref: '#/components/schemas/type_:Orgid' - name: exportFormat in: query required: false schema: $ref: '#/components/schemas/type_:ExportFormat' - name: fromRecord in: query description: >- The number of records to skip before starting to collect the result set. required: false schema: type: integer default: 0 - name: limitRecord in: query description: >- Max number of records to return for the query. Use `0` or negative value to return all records. required: false schema: type: integer default: 20 - name: parameters in: query description: >- Collection of field names, conditions, and values used to filter the query. See [Filters and Conditions Reference](/developers/developer-guides/pay-ops-reporting-engine-overview#filters-and-conditions-reference) for more information. **You must remove `parameters=` from the request before you send it, otherwise Payabli will ignore the filters.** Because of a technical limitation, you can't make a request that includes filters from the API console on this page. The response won't be filtered. Instead, copy the request, remove `parameters=` and run the request in a different client. For example: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?parameters=totalAmount(gt)=1000&limitRecord=20 should become: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?totalAmount(gt)=1000&limitRecord=20 List of field names accepted: - `transferDate` (gt, ge, lt, le, eq, ne) - `grossAmount` (gt, ge, lt, le, eq, ne) - `chargeBackAmount` (gt, ge, lt, le, eq, ne) - `returnedAmount` (gt, ge, lt, le, eq, ne) - `billingFeeAmount` (gt, ge, lt, le, eq, ne) - `thirdPartyPaidAmount` (gt, ge, lt, le, eq, ne) - `netFundedAmount` (gt, ge, lt, le, eq, ne) - `adjustmentAmount` (gt, ge, lt, le, eq, ne) - `processor` (ne, eq, ct, nct) - `transferStatus` (ne, eq, in, nin) - `batchNumber` (ne, eq, ct, nct) - `batchId` (ne, eq, in, nin) - `transferId` (in, nin, eq, ne) - `bankAccountNumber` (ct, nct, ne, eq) - `bankRoutingNumber` (ct, nct, ne, eq) - `batchCurrency` (in, nin, ne, eq) required: false schema: type: object additionalProperties: type: string - name: sortBy in: query description: >- The field name to use for sorting results. Use `desc(field_name)` to sort descending by `field_name`, and use `asc(field_name)` to sort ascending by `field_name`. required: false schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:TransferQueryResponse' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:Orgid: type: integer format: int64 description: Organization ID. Unique identifier assigned to an org by Payabli. title: Orgid type_:ExportFormat: type: string enum: - csv - xlsx description: >- Export format for file downloads. When specified, returns data as a file instead of JSON. title: ExportFormat type_:PaypointId: type: integer format: int64 description: The paypoint's ID. Note that this is different than the entryname. title: PaypointId type_:BatchNumber: type: string description: >- A unique identifier for the batch. This is generated by Payabli when the batch is created, and follows this format: `paypointId + "_" + serviceName + "_" + batchDate:yyyyMMdd + "_" + Guid.NewGuid()`. Payabli generates the GUID to ensure that the batch number is unique. For example, in this batch number: `123_card_20251008_3f2504e0-4f89-11d3-9a0c-0305e82c3301`, the paypointID is "123", the service is "card", the batch date is "2025-10-08", and the GUID is "3f2504e0-4f89-11d3-9a0c-0305e82c3301". title: BatchNumber type_:TransferIdentifier: type: string description: Unique identifier for the transfer. title: TransferIdentifier type_:Legalname: type: string description: Business legal name. title: Legalname type_:Dbaname: type: string description: >- The alternate or common name that this business is doing business under usually referred to as a DBA name. title: Dbaname type_:AccountNumber: type: string description: >- Account number for bank account. This value is returned masked in responses. title: AccountNumber type_:RoutingAccount: type: string description: Routing number of bank account. title: RoutingAccount type_:BankName: type: string description: Name of bank for account. title: BankName type_:TransferBankAccount: type: object properties: accountNumber: $ref: '#/components/schemas/type_:AccountNumber' routingNumber: $ref: '#/components/schemas/type_:RoutingAccount' bankName: $ref: '#/components/schemas/type_:BankName' required: - accountNumber - routingNumber - bankName title: TransferBankAccount type_:Source: type: string description: Custom identifier to indicate the transaction or request source. title: Source type_:GeneralEvents: type: object properties: description: type: string description: Event description. eventTime: type: string format: date-time description: Event timestamp, in UTC. extraData: type: object additionalProperties: description: Any type description: Extra data. refData: type: string description: Reference data. source: $ref: '#/components/schemas/type_:Source' description: The event source. title: GeneralEvents type_:TransferMessageProperties: type: object properties: originalTransferStatus: type: - string - 'null' currentTransferStatus: type: - string - 'null' required: - originalTransferStatus - currentTransferStatus title: TransferMessageProperties type_:TransferMessage: type: object properties: Id: type: - integer - 'null' RoomId: type: - integer - 'null' UserId: type: - integer - 'null' UserName: type: - string - 'null' Content: type: - string - 'null' CreatedAt: type: - string - 'null' MessageType: type: - integer - 'null' MessageProperties: oneOf: - $ref: '#/components/schemas/type_:TransferMessageProperties' - type: 'null' required: - Id - RoomId - UserId - UserName - Content - CreatedAt - MessageType - MessageProperties title: TransferMessage type_:Transfer: type: object properties: transferId: type: integer description: The transfer ID. paypointId: $ref: '#/components/schemas/type_:PaypointId' batchNumber: $ref: '#/components/schemas/type_:BatchNumber' batchCurrency: type: - string - 'null' description: The currency of the batch, either USD or CAD. batchRecords: type: - integer - 'null' description: Number of records in the batch. transferIdentifier: $ref: '#/components/schemas/type_:TransferIdentifier' batchId: type: integer description: The ID of the batch the transfer belongs to. paypointEntryName: type: - string - 'null' description: The paypoint entryname. paypointLegalName: oneOf: - $ref: '#/components/schemas/type_:Legalname' - type: 'null' description: The paypoint legal name. paypointDbaName: oneOf: - $ref: '#/components/schemas/type_:Dbaname' - type: 'null' description: The paypoint DBA name. paypointLogo: type: - string - 'null' description: The paypoint logo URL. parentOrgName: type: - string - 'null' description: The parent organization name. parentOrgId: type: - integer - 'null' description: The parent organization ID. parentOrgEntryName: type: - string - 'null' description: The parent organization entryname. parentOrgLogo: type: - string - 'null' description: The parent organization logo URL. externalPaypointID: type: - string - 'null' description: The external paypoint ID. bankAccount: oneOf: - $ref: '#/components/schemas/type_:TransferBankAccount' - type: 'null' description: Bank account information for the transfer. transferDate: type: string description: Date when the transfer occurred. processor: type: string description: The payment processor used for the transfer. transferStatus: type: integer description: The current status of the transfer. grossAmount: type: number format: double description: >- Gross batch is the total amount of the payments grouped in the batch. This amount includes service fees. chargeBackAmount: type: number format: double description: Amount of chargebacks to be deducted from batch. returnedAmount: type: number format: double description: Amount of ACH returns to be deducted from batch. holdAmount: type: number format: double description: Amount being held for fraud or risk concerns. releasedAmount: type: number format: double description: >- Amount of previously held funds that have been released after a risk review. billingFeesAmount: type: number format: double description: Amount of charges and fees applied for services and transactions. thirdPartyPaidAmount: type: number format: double description: >- Amount of payments captured in the batch cycle that are deposited separately. For example, checks or cash payments recorded in the batch but not deposited via Payabli, or card brands making a direct transfer in certain situations. adjustmentsAmount: type: number format: double description: Amount of corrections applied to Billing & Fees charges. netTransferAmount: type: number format: double description: The net transfer amount after all deductions and additions. splitAmount: type: - number - 'null' format: double description: The sum of each splitFundingAmount of each record in the transfer. eventsData: type: - array - 'null' items: $ref: '#/components/schemas/type_:GeneralEvents' description: List of events associated with the transfer. messages: type: - array - 'null' items: $ref: '#/components/schemas/type_:TransferMessage' description: List of messages related to the transfer. required: - transferId - paypointId - batchNumber - batchCurrency - batchRecords - transferIdentifier - batchId - paypointEntryName - paypointLegalName - paypointDbaName - paypointLogo - parentOrgName - parentOrgId - parentOrgEntryName - parentOrgLogo - externalPaypointID - bankAccount - transferDate - processor - transferStatus - grossAmount - chargeBackAmount - returnedAmount - holdAmount - releasedAmount - billingFeesAmount - thirdPartyPaidAmount - adjustmentsAmount - netTransferAmount - splitAmount - eventsData - messages title: Transfer type_:Totalpages: type: integer description: Total number of pages in response. title: Totalpages type_:Totalrecords: type: integer description: Total number of records in response. title: Totalrecords type_:Pagesize: type: integer description: Number of records on each response page. title: Pagesize type_:TransferSummary: type: object properties: totalPages: $ref: '#/components/schemas/type_:Totalpages' totalRecords: $ref: '#/components/schemas/type_:Totalrecords' pageSize: $ref: '#/components/schemas/type_:Pagesize' required: - totalPages - totalRecords - pageSize title: TransferSummary type_:TransferQueryResponse: type: object properties: Records: type: array items: $ref: '#/components/schemas/type_:Transfer' Summary: $ref: '#/components/schemas/type_:TransferSummary' required: - Records - Summary title: TransferQueryResponse type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse ``` ## SDK Code Examples ```typescript ListTransferOrg import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient(); await client.query.listTransfersOrg(123, { fromRecord: 0, limitRecord: 20, }); } main(); ``` ```python ListTransferOrg from payabli import payabli client = payabli() client.query.list_transfers_org( org_id=123, from_record=0, limit_record=20, ) ``` ```csharp ListTransferOrg using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient(); await client.Query.ListTransfersOrgAsync( new ListTransfersRequestOrg { OrgId = 123L, FromRecord = 0, LimitRecord = 20 } ); } } ``` ```go ListTransferOrg package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Query/transfers/org/123?fromRecord=0&limitRecord=20" req, _ := http.NewRequest("GET", url, nil) res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby ListTransferOrg require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Query/transfers/org/123?fromRecord=0&limitRecord=20") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) response = http.request(request) puts response.read_body ``` ```java ListTransferOrg import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Query/transfers/org/123?fromRecord=0&limitRecord=20") .asString(); ``` ```php ListTransferOrg request('GET', 'https://api-sandbox.payabli.com/api/Query/transfers/org/123?fromRecord=0&limitRecord=20'); echo $response->getBody(); ``` ```swift ListTransferOrg import Foundation let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Query/transfers/org/123?fromRecord=0&limitRecord=20")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Get transfer details GET https://api-sandbox.payabli.com/api/Query/transferDetails/{entry}/{transferId} Retrieve a list of transfer details records for a paypoint. Use filters to limit results. Include the `exportFormat` query parameter to return the results as a file instead of a JSON response. Reference: https://docs.payabli.com/developers/api-reference/query/get-list-of-transfer-details ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Query/transferDetails/{entry}/{transferId}: get: operationId: list-transfer-details summary: Get transfer details for a paypoint description: >- Retrieve a list of transfer details records for a paypoint. Use filters to limit results. Include the `exportFormat` query parameter to return the results as a file instead of a JSON response. tags: - subpackage_query parameters: - name: entry in: path required: true schema: $ref: '#/components/schemas/type_:Entry' - name: transferId in: path description: The numeric identifier for the transfer, assigned by Payabli. required: true schema: type: integer - name: exportFormat in: query required: false schema: $ref: '#/components/schemas/type_:ExportFormat' - name: fromRecord in: query description: >- The number of records to skip before starting to collect the result set. required: false schema: type: integer default: 0 - name: limitRecord in: query required: false schema: $ref: '#/components/schemas/type___queryTypes__:limitRecord' - name: parameters in: query description: >- Collection of field names, conditions, and values used to filter the query. **You must remove `parameters=` from the request before you send it, otherwise Payabli will ignore the filters.** Because of a technical limitation, you can't make a request that includes filters from the API console on this page. The response won't be filtered. Instead, copy the request, remove `parameters=` and run the request in a different client. For example: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?parameters=totalAmount(gt)=1000&limitRecord=20 should become: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?totalAmount(gt)=1000&limitRecord=20 See [Filters and Conditions Reference](/developers/developer-guides/pay-ops-reporting-engine-overview#filters-and-conditions-reference) for more information. **List of field names accepted:** - `grossAmount` (gt, ge, lt, le, eq, ne) - `chargeBackAmount` (gt, ge, lt, le, eq, ne) - `returnedAmount` (gt, ge, lt, le, eq, ne) - `billingFeeAmount` (gt, ge, lt, le, eq, ne) - `thirdPartyPaidAmount` (gt, ge, lt, le, eq, ne) - `netFundedAmount` (gt, ge, lt, le, eq, ne) - `adjustmentAmount` (gt, ge, lt, le, eq, ne) - `splitFundingAmount` (gt, ge, lt, le, eq, ne) - `operation` (in, nin, eq, ne) - `transactionId` (eq, ne, in, nin) - `category` (eq, ne, ct, nct) - `type` (eq, ne, in, nin) - `method` (eq, ne, in, nin) required: false schema: type: object additionalProperties: type: string - name: sortBy in: query description: >- The field name to use for sorting results. Use `desc(field_name)` to sort descending by `field_name`, and use `asc(field_name)` to sort ascending by `field_name`. required: false schema: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: >- #/components/schemas/type___queryTypes__:QueryTransferDetailResponse '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:Entry: type: string description: >- The entity's entrypoint identifier. [Learn more](/developers/api-reference/api-overview#entrypoint-vs-entry) title: Entry type_:ExportFormat: type: string enum: - csv - xlsx description: >- Export format for file downloads. When specified, returns data as a file instead of JSON. title: ExportFormat type___queryTypes__:limitRecord: type: integer description: >- Max number of records to return for the query. Use `0` or negative value to return all records. Defaults to 20. title: limitRecord type_:BillingFeeDetail: type: object properties: billableEvent: type: string service: type: string eventId: type: string description: type: string description: Description of the billing fee category: type: string description: Category of the billing fee fixPrice: type: number format: double description: Fixed price component of the fee floatPrice: type: number format: double description: Percentage component of the fee billableAmount: type: number format: double description: Amount eligible for the fee billAmount: type: number format: double description: Total fee amount charged frequency: type: string serviceGroup: type: string title: BillingFeeDetail type_:OrgParentName: type: string description: The name of the parent organization. title: OrgParentName type_:Dbaname: type: string description: >- The alternate or common name that this business is doing business under usually referred to as a DBA name. title: Dbaname type_:Legalname: type: string description: Business legal name. title: Legalname type_:ExternalProcessorInformation: type: string description: >- Processor information, used for troubleshooting and reporting. This field contains a value when the API key used to make the request has management permissions. title: ExternalProcessorInformation type_:OrderId: type: string description: Custom identifier for the transaction. title: OrderId type_:BatchNumber: type: string description: >- A unique identifier for the batch. This is generated by Payabli when the batch is created, and follows this format: `paypointId + "_" + serviceName + "_" + batchDate:yyyyMMdd + "_" + Guid.NewGuid()`. Payabli generates the GUID to ensure that the batch number is unique. For example, in this batch number: `123_card_20251008_3f2504e0-4f89-11d3-9a0c-0305e82c3301`, the paypointID is "123", the service is "card", the batch date is "2025-10-08", and the GUID is "3f2504e0-4f89-11d3-9a0c-0305e82c3301". title: BatchNumber type_:PayorId: type: integer format: int64 description: >- Unique ID for the customer linked to the transaction. This is the same value as the `customerId` used when creating or referencing a customer. title: PayorId type_:Accountexp: type: string description: Expiration date of card used in transaction. title: Accountexp type_:Accountid: type: string description: Custom identifier for payment connector. title: Accountid type_:Accounttype: type: string description: Bank account type or card brand. title: Accounttype type_:Accountzip: type: string description: ZIP code for card used in transaction. title: Accountzip type_:BinData: type: object properties: binMatchedLength: type: string description: |- The number of characters from the beginning of the card number that were matched against a Bank Identification Number (BIN) or the Card Range table. binCardBrand: type: string description: |- The card brand. For example, Visa, Mastercard, American Express, Discover. binCardType: type: string description: 'The type of card: Credit or Debit.' binCardCategory: type: string description: >- The category of the card, which indicates the card product. For example: Standard, Gold, Platinum, etc. The binCardCategory for prepaid cards is marked `PREPAID`. binCardIssuer: type: string description: The name of the financial institution that issued the card. binCardIssuerCountry: type: string description: The issuing financial institution's country name. binCardIssuerCountryCodeA2: type: string description: >- The issuing financial institution's two-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIssuerCountryNumber: type: string description: >- The issuing financial institution's ISO standard numeric country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIsRegulated: type: string description: Indicates whether the card is regulated. binCardUseCategory: type: string description: The use category classification for the card. binCardIssuerCountryCodeA3: type: string description: >- The issuing financial institution's three-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. description: >- Object containing information related to the card. This object is `null` unless the payment method is card. If the payment method is Apple Pay, the binData will be related to the DPAN (device primary account number), not the card connected to Apple Pay. title: BinData type_:Holdername: type: string description: Account holder name for the method. title: Holdername type_:Initiator: type: string description: >- **Strongly recommended** The cardholder-initiated transaction (CIT) or merchant-initiated transaction (MIT) indicator for the transaction. If you don't specify a value, Payabli defaults to `merchant`. Available values: - `payor`: For cardholder-initiated transactions - `merchant`: For merchant-initiated transactions See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Initiator type_:Maskedaccount: type: string description: >- Masked card or bank account used in transaction. In the case of Apple Pay, this is a masked DPAN (device primary account number). title: Maskedaccount type_:Orderdescription: type: string description: Text description of the transaction. title: Orderdescription type_:PaymentCategories: type: object properties: amount: type: number format: double description: Price/cost per unit of item or category. description: type: string description: Description of item or category label: type: string description: Name of item or category. qty: type: integer default: 1 description: Quantity of item or category required: - amount - label title: PaymentCategories type_:SplitFundingContent: type: object properties: accountId: type: string description: The accountId for the account the split should be sent to. amount: type: number format: double description: Amount from the transaction to sent to this recipient. description: type: string description: A description for the split. recipientEntryPoint: type: string description: The entrypoint the split should be sent to. title: SplitFundingContent type_:SplitFunding: type: array items: $ref: '#/components/schemas/type_:SplitFundingContent' description: >- Split funding instructions for the transaction. The total amount of the splits must match the total amount of the transaction. title: SplitFunding type_:PaymentDetail: type: object properties: categories: type: array items: $ref: '#/components/schemas/type_:PaymentCategories' description: >- Array of payment categories/line items describing the amount to be paid. **Note**: These categories are for information only and aren't validated against the total amount provided. checkImage: type: object additionalProperties: description: Any type description: Object containing image of paper check. checkNumber: type: string description: >- A check number to be used in the ach transaction. **Required** for payment method = 'check'. currency: type: string description: >- The currency for the transaction, `USD` or `CAD`. If your paypoint is configured for CAD, you must send the `CAD` value in this field, otherwise it defaults to USD, which will cause the transaction to fail. serviceFee: type: number format: double description: >- Service fee to be deducted from the total amount. This amount must be a number, percentages aren't accepted. If you are using a percentage-based fee schedule, you must calculate the value manually. splitFunding: $ref: '#/components/schemas/type_:SplitFunding' description: >- Split funding instructions for the transaction. See [Split a Transaction](/developers/developer-guides/money-in-split-funding) for more. checkUniqueId: type: string description: >- Unique identifier for a processed check image. Required for RDC (Remote Deposit Capture) transactions where `achCode` is `BOC`. Use the `id` value from the [check processing](/developers/api-reference/moneyin/check-capture) response. totalAmount: type: number format: double description: >- Total amount to be charged. If a service fee is sent, then this amount should include the service fee." required: - totalAmount description: Details about the payment. title: PaymentDetail type_:Sequence: type: string description: >- The order of the transaction for cardholder-initiated transaction (CIT) and merchant-initiated transaction (MIT) purposes. This field is automatically detected and populated by Payabli. Available values: - `first`: The first use of the payment method. This is almost always a cardholder-initiated transaction. - `subsequent`: For merchant-initiated transactions after the first use of the payment method. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Sequence type_:Signaturedata: type: string title: Signaturedata type_:Storedmethodid: type: string description: >- Payabli identifier of a tokenized payment method. If this field is used in a request, the `method` field is overridden and the payment is made using the payment token. title: Storedmethodid type_:StoredMethodUsageType: type: string description: >- **Strongly recommended** The usage type for the stored method, used for merchant-initiated transactions (MIT). If you don't specify a value, Payabli defaults to `unscheduled`. Available values: - `unscheduled`: This type is used for transactions that are one-time or otherwise not pre-scheduled. - `subscription`: This type is used for subscription payments. For example, monthly rental fees or ongoing service subscriptions. - `recurring`: This type is used for recurring payments that occur per a set plan. For example, splitting an HOA special assessment over 6 monthly payments. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: StoredMethodUsageType type_:QueryPaymentData: type: object properties: AccountExp: $ref: '#/components/schemas/type_:Accountexp' accountId: $ref: '#/components/schemas/type_:Accountid' AccountType: $ref: '#/components/schemas/type_:Accounttype' AccountZip: $ref: '#/components/schemas/type_:Accountzip' binData: $ref: '#/components/schemas/type_:BinData' HolderName: $ref: '#/components/schemas/type_:Holdername' Initiator: $ref: '#/components/schemas/type_:Initiator' MaskedAccount: $ref: '#/components/schemas/type_:Maskedaccount' orderDescription: $ref: '#/components/schemas/type_:Orderdescription' paymentDetails: $ref: '#/components/schemas/type_:PaymentDetail' Sequence: $ref: '#/components/schemas/type_:Sequence' SignatureData: $ref: '#/components/schemas/type_:Signaturedata' StoredId: $ref: '#/components/schemas/type_:Storedmethodid' description: Identifier of stored payment method used in transaction. StoredMethodUsageType: $ref: '#/components/schemas/type_:StoredMethodUsageType' title: QueryPaymentData type_:PaypointId: type: integer format: int64 description: The paypoint's ID. Note that this is different than the entryname. title: PaypointId type_:Netamountnullable: type: number format: double description: Net amount. title: Netamountnullable type_:FeeAmount: type: number format: double description: Service fee or sub-charge applied. title: FeeAmount type_:Operation: type: string description: The transaction's operation. title: Operation type_:Authcode: type: string description: Authorization code for the transaction. title: Authcode type_:AvsResponse: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponse type_:AvsResponseText: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponseText type_:CvvResponse: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponse type_:CvvResponseText: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponseText type_:EmvAuthResponseData: type: string description: EMV authorization response data, applicable for card transactions. title: EmvAuthResponseData type_:ResultCodev2: type: string description: >- Unified result code for the transaction. See [Pay In unified response codes](/developers/references/pay-in-unified-response-codes-reference) for more information. title: ResultCodev2 type_:ResultCodeText: type: string description: >- Description of the result code. See [Pay In unified response codes](/developers/references/pay-in-unified-response-codes-reference) for more information. title: ResultCodeText type_:QueryResponseData: type: object properties: authcode: $ref: '#/components/schemas/type_:Authcode' avsresponse: $ref: '#/components/schemas/type_:AvsResponse' avsresponse_text: $ref: '#/components/schemas/type_:AvsResponseText' cvvresponse: $ref: '#/components/schemas/type_:CvvResponse' cvvresponse_text: $ref: '#/components/schemas/type_:CvvResponseText' emv_auth_response_data: $ref: '#/components/schemas/type_:EmvAuthResponseData' orderid: $ref: '#/components/schemas/type_:OrderId' response: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' response_code: type: string description: >- Internal result code processing the transaction. Value 1 indicates successful operation, values 2 and 3 indicate errors. response_code_text: type: string description: >- Text describing the result. If resultCode = 1, will return 'Approved' or a general success message. If resultCode = 2 or 3, will contain the cause of the decline. responsetext: type: string description: >- Text describing the result. If resultCode = 1, will return 'Approved' or a general success message. If resultCode = 2 or 3, will contain the cause of the decline. resultCode: $ref: '#/components/schemas/type_:ResultCodev2' resultCodeText: $ref: '#/components/schemas/type_:ResultCodeText' transactionid: type: string description: The transaction identifier in Payabli. type: type: string description: Type of transaction or operation. description: The transaction's response data. title: QueryResponseData type_:Source: type: string description: Custom identifier to indicate the transaction or request source. title: Source type_:Orgid: type: integer format: int64 description: Organization ID. Unique identifier assigned to an org by Payabli. title: Orgid type_:RefundId: type: integer format: int64 description: Identifier of refund transaction linked to this payment. title: RefundId type_:ReturnedId: type: integer format: int64 description: Identifier of return/chargeback transaction linked to this payment. title: ReturnedId type_:ChargebackId: type: integer format: int64 description: Identifier of chargeback transaction title: ChargebackId type_:RetrievalId: type: integer format: int64 description: Identifier of retrieval request title: RetrievalId type_:AdditionalDataMap: type: object additionalProperties: type: string description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalDataMap type_:FileContentFtype: type: string enum: - pdf - doc - docx - jpg - jpeg - png - gif - txt description: The MIME type of the file (if content is provided) title: FileContentFtype type_:FileContent: type: object properties: fContent: type: string description: >- Content of file, Base64-encoded. Ignored if furl is specified. Max upload size is 30 MB. filename: type: string description: The name of the attached file. ftype: $ref: '#/components/schemas/type_:FileContentFtype' description: The MIME type of the file (if content is provided) furl: type: string description: Optional URL provided to show or download the file remotely description: Contains details about a file. Max upload size is 30 MB. title: FileContent type_:Attachments: type: array items: $ref: '#/components/schemas/type_:FileContent' description: >- Array of `fileContent` objects with attached documents. Max upload size is 30 MB. title: Attachments type_:Discount: type: number format: double description: Discount applied to the invoice. title: Discount type_:DutyAmount: type: number format: double description: Duty amount. title: DutyAmount type_:FreightAmount: type: number format: double description: Freight/shipping amount. title: FreightAmount type_:Frequency: type: string enum: - onetime - weekly - every2weeks - every6months - monthly - every3months - annually description: Frequency for operation. title: Frequency type_:InvoiceAmount: type: number format: double description: Invoice total amount. title: InvoiceAmount type_:InvoiceNumber: type: string description: >- Custom number identifying the bill or invoice. Must be unique in paypoint. title: InvoiceNumber type_:Invoicestatus: type: integer description: |- Status for invoice. The accepted status values are: - 0 draft - 1 active - 2 partially paid - 4 paid/complete - 99 cancelled title: Invoicestatus type_:InvoiceType: type: integer description: Type of invoice. Only `0` for one-time invoices is currently supported. title: InvoiceType type_:ItemCommodityCode: type: string description: Item or product commodity code. Max length of 250 characters. title: ItemCommodityCode type_:ItemDescription: type: string description: Item or product description. Max length of 250 characters. title: ItemDescription type_:ItemProductCode: type: string description: Item or product code. Max length of 250 characters. title: ItemProductCode type_:ItemProductName: type: string description: Item or product name. Max length of 250 characters. title: ItemProductName type_:ItemUnitofMeasure: type: string description: Unit of measurement. Max length of 100 characters. title: ItemUnitofMeasure type_:BillItem: type: object properties: itemCategories: type: array items: type: string description: Array of tags classifying item or product. itemCommodityCode: $ref: '#/components/schemas/type_:ItemCommodityCode' itemCost: type: number format: double description: Item or product price per unit. itemDescription: $ref: '#/components/schemas/type_:ItemDescription' itemMode: type: integer description: >- Internal class of item or product: value '0' is only for invoices , '1' for bills and, '2' common for both. itemProductCode: $ref: '#/components/schemas/type_:ItemProductCode' itemProductName: $ref: '#/components/schemas/type_:ItemProductName' itemQty: type: integer description: Quantity of item or product. itemTaxAmount: type: number format: double description: Tax amount applied to item or product. itemTaxRate: type: number format: double description: Tax rate applied to item or product. itemTotalAmount: type: number format: double description: Total amount in item or product. itemUnitOfMeasure: $ref: '#/components/schemas/type_:ItemUnitofMeasure' required: - itemCost title: BillItem type_:BillDataPaymentTerms: type: string enum: - PIA - CIA - UR - NET10 - NET20 - NET30 - NET45 - NET60 - NET90 - EOM - MFI - 5MFI - 10MFI - 15MFI - 20MFI - 2/10NET30 - UF - 10UF - 20UF - 25UF - 50UF description: >- Payment terms for invoice. If no terms are defined, then response data for this field defaults to `NET30`. **Available Values:** - `PIA`: Payment in advance - `CIA`: Cash in advance - `UR`: Upon receipt - `NET10`: 10 days after invoice date - `NET20`: 20 days after invoice date - `NET30`: 30 days after invoice date - `NET45`: 45 days after invoice date - `NET60`: 60 days after invoice date - `NET90`: 90 days after invoice date - `EOM`: Due end of this month - `MFI`: 1st of the month following the invoice date - `5MFI`: 5th of the month following the invoice date - `10MFI`: 10th of the month following the invoice date - `15MFI`: 15th of the month following the invoice date - `20MFI`: 20th of the month following the invoice date - `2/10NET30`: 2% discount if paid within 10 days, otherwise net 30 days - `UF`: Until further notice - `10UF`: 10 days until further notice - `20UF`: 20 days until further notice - `25UF`: 25 days until further notice - `50UF`: 50 days until further notice title: BillDataPaymentTerms type_:PurchaseOrder: type: string description: Purchase order number. title: PurchaseOrder type_:Shippingaddress: type: string description: The shipping address. title: Shippingaddress type_:Shippingaddressadditional: type: string description: Additional line for shipping address. title: Shippingaddressadditional type_:Shippingcity: type: string description: Shipping city. title: Shippingcity type_:Shippingcountry: type: string description: Shipping address country. title: Shippingcountry type_:Email: type: string format: email description: Email address. title: Email type_:ShippingFromZip: type: string description: Sender shipping ZIP code. title: ShippingFromZip type_:Shippingstate: type: string description: Shipping state or province. title: Shippingstate type_:Shippingzip: type: string description: >- Shipping ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". title: Shippingzip type_:SummaryCommodityCode: type: string description: Commodity code. title: SummaryCommodityCode type_:Tax: type: number format: double description: Tax rate in percent applied to the invoice. title: Tax type_:TermsConditions: type: string description: Custom terms and conditions included in the invoice. title: TermsConditions type_:BillData: type: object properties: AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' attachments: $ref: '#/components/schemas/type_:Attachments' company: type: string description: Company name of the recipient of the invoice. discount: $ref: '#/components/schemas/type_:Discount' dutyAmount: $ref: '#/components/schemas/type_:DutyAmount' firstName: type: string description: First name of the recipient of the invoice. freightAmount: $ref: '#/components/schemas/type_:FreightAmount' frequency: $ref: '#/components/schemas/type_:Frequency' description: Frequency of scheduled invoice. invoiceAmount: $ref: '#/components/schemas/type_:InvoiceAmount' invoiceDate: type: string format: date description: 'Invoice date in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY.' invoiceDueDate: type: string format: date description: >- Invoice due date in one of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceEndDate: type: string format: date description: >- Indicate the date to finish a scheduled invoice cycle (`invoiceType`` = 1) in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceNumber: $ref: '#/components/schemas/type_:InvoiceNumber' description: Invoice number. Identifies the invoice under a paypoint. invoiceStatus: $ref: '#/components/schemas/type_:Invoicestatus' invoiceType: $ref: '#/components/schemas/type_:InvoiceType' items: type: array items: $ref: '#/components/schemas/type_:BillItem' description: Array of line items included in the invoice. lastName: type: string description: Last name of the recipient of the invoice. notes: type: string description: Notes included in the invoice. paymentTerms: $ref: '#/components/schemas/type_:BillDataPaymentTerms' purchaseOrder: $ref: '#/components/schemas/type_:PurchaseOrder' shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' shippingEmail: $ref: '#/components/schemas/type_:Email' description: Shipping recipient's contact email address. shippingFromZip: $ref: '#/components/schemas/type_:ShippingFromZip' shippingPhone: type: string description: Recipient phone number. shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' summaryCommodityCode: $ref: '#/components/schemas/type_:SummaryCommodityCode' tax: $ref: '#/components/schemas/type_:Tax' termsConditions: $ref: '#/components/schemas/type_:TermsConditions' title: BillData type_:EntrypageId: type: integer format: int64 description: >- If applicable, the internal reference ID to the payment page capturing the payment. title: EntrypageId type_:ExternalPaypointId: type: string description: >- A custom identifier for the paypoint, if applicable. Like `entrypoint` is the Payabli identifier for the merchant, `externalPaypointId` is a custom field you can use to include the merchant's ID from your own systems. title: ExternalPaypointId type_:BillingZip: type: string description: Billing address ZIP code. title: BillingZip type_:CustomerNumberNullable: type: string description: >- User-provided unique identifier for the customer. This is typically the customer ID from your own system. title: CustomerNumberNullable type_:CustomerId: type: integer format: int64 description: The Payabli-generated unique ID for the customer. title: CustomerId type_:CustomerStatus: type: integer description: |- Customer Status. Possible values: - `-99` Deleted - `0` Inactive - `1` Active - `85` Locked (typically due to multiple failed login attempts) title: CustomerStatus type_:QueryTransactionPayorData: type: object properties: Identifiers: type: array items: description: Any type description: Array of field names to be used as identifiers. FirstName: type: string description: Customer/Payor first name. LastName: type: string description: Customer/Payor last name. CompanyName: type: string description: Customer's company name. BillingAddress1: type: string description: Customer's billing address. BillingAddress2: type: string description: Additional line for Customer's billing address. BillingCity: type: string description: Customer's billing city. BillingState: type: string description: >- Customer's billing state. Must be 2-letter state code for address in US. BillingZip: $ref: '#/components/schemas/type_:BillingZip' description: Customer's billing ZIP code. BillingCountry: type: string description: Customer's billing country. BillingPhone: type: string description: Customer's phone number. BillingEmail: $ref: '#/components/schemas/type_:Email' description: Customer's email address. CustomerNumber: $ref: '#/components/schemas/type_:CustomerNumberNullable' ShippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' ShippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' ShippingCity: $ref: '#/components/schemas/type_:Shippingcity' ShippingState: $ref: '#/components/schemas/type_:Shippingstate' ShippingZip: $ref: '#/components/schemas/type_:Shippingzip' ShippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' customerId: $ref: '#/components/schemas/type_:CustomerId' customerStatus: $ref: '#/components/schemas/type_:CustomerStatus' AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' title: QueryTransactionPayorData type_:TransactionTime: type: string format: date-time description: Timestamp when transaction was submitted, in UTC. title: TransactionTime type_:QueryCFeeTransaction: type: object properties: cFeeTransid: type: string feeAmount: type: number format: double operation: type: string refundId: type: integer format: int64 responseData: type: object additionalProperties: description: Any type settlementStatus: type: integer transactionTime: $ref: '#/components/schemas/type_:TransactionTime' transStatus: type: integer title: QueryCFeeTransaction type_:QueryTransactionEventsEventData: oneOf: - type: object additionalProperties: description: Any type - type: string description: >- Any data associated to the event received from processor. Contents vary by event type. title: QueryTransactionEventsEventData type_:QueryTransactionEvents: type: object properties: EventData: $ref: '#/components/schemas/type_:QueryTransactionEventsEventData' description: >- Any data associated to the event received from processor. Contents vary by event type. EventTime: type: string format: date-time description: Date and time of event. TransEvent: type: string description: >- Event descriptor. See [TransEvent Reference](/guides/pay-in-transevents-reference) for more details. title: QueryTransactionEvents type_:PendingFeeAmount: type: number format: double description: >- The difference between the configured pass-through fee and the fee amount sent in the request. When transferring funds, Payabli uses this field to deduct the fee difference and transfer the correct amount to the merchant. When a paypoint is set up to absorb fees, and the pass-through fee sent with the request is less than the configured amount, the difference must be covered by the merchant. See [Fee Configuration](/guides/pay-in-fees-passthrough-overview#fee-configuration) to learn more about pass-through fee settings. title: PendingFeeAmount type_:RiskFlagged: type: boolean description: Indicates if the transaction was flagged for risk title: RiskFlagged type_:RiskFlaggedOn: type: string format: date-time description: Timestamp when the transaction was flagged for risk title: RiskFlaggedOn type_:RiskStatus: type: string description: Current risk status of the transaction title: RiskStatus type_:RiskReason: type: string description: Reason for risk flagging title: RiskReason type_:RiskAction: type: string description: Action taken due to risk assessment title: RiskAction type_:RiskActionCode: type: integer description: Numeric code representing the risk action title: RiskActionCode type_:Device: type: string description: Identifier of registered cloud device used in the transaction. title: Device type_:DeviceId: $ref: '#/components/schemas/type_:Device' description: Identifier of registered cloud device used in the transaction title: DeviceId type_:AchSecCode: type: string description: >- Standard Entry Class (SEC) code is a three letter code that describes how an ACH payment was authorized. Supported values are: - PPD (Prearranged Payment and Deposit) - Used for credits or debits where an accountholder authorizes a company to initiate either a single or recurring transaction to their personal bank account. Common examples include direct deposit of payroll, mortgage payments, or utility bills. This is the default value for subscription payments. - WEB (Internet-Initiated/Mobile Entry) - Used for debit entries when authorization is obtained from an accountholder via the internet or a wireless network. Common examples are online bill payments, ecommerce purchases, and mobile app payments where the consumer enters their banking information online. - TEL (Telephone-Initiated Entry) - Used for one-time debit entries where authorization is obtained from a consumer via telephone. Common examples are phone-based purchases or bill payments where the consumer provides their banking information over the phone. - CCD (Corporate Credit or Debit) - Used for fund transfers between business accounts. This code is specifically for business-to-business transactions. Common examples include vendor payments and other business-to-business payments. - BOC (Back Office Conversion) - Used to convert paper checks received in-person at a point-of-sale or staffed payment location into electronic ACH debits. Required for Remote Deposit Capture (RDC) transactions. Only supports consumer checks; business, government, and mailed checks aren't eligible. title: AchSecCode type_:AchHolderType: type: string enum: - personal - business default: personal description: 'The bank''s accountholder type: personal or business.' title: AchHolderType type_:IpAddress: type: string description: >- *Recommended*. The customer's IP address. This field is used to help prevent fraudulent transactions, and Payabli strongly recommends including this data. title: IpAddress type___queryTypes__:TransferDetailRecord: type: object properties: transferDetailId: type: - integer - 'null' description: Unique identifier for the transfer detail record transferId: type: - integer - 'null' description: The ID of the transfer this detail belongs to transactionId: type: - string - 'null' description: The transaction ID in Payabli's system transactionNumber: type: - string - 'null' description: External transaction reference number type: type: - string - 'null' description: The transaction type (credit or debit) category: type: - string - 'null' description: >- A field used to categorize the transaction details. Values include: auth, decline, refund, adj, cb, split grossAmount: type: - number - 'null' format: double description: The gross amount of the transaction chargeBackAmount: type: - number - 'null' format: double description: Chargeback amount deducted from transaction returnedAmount: type: - number - 'null' format: double description: ACH return amount deducted from transaction refundAmount: type: - number - 'null' format: double description: Refund amount deducted from transaction holdAmount: type: - number - 'null' format: double description: Amount being held for fraud or risk concerns releasedAmount: type: - number - 'null' format: double description: Previously held funds that have been released after a risk review billingFeesAmount: type: - number - 'null' format: double description: Charges applied for transactions and services thirdPartyPaidAmount: type: - number - 'null' format: double description: >- Payments captured in the batch cycle that are deposited separately. For example, checks or cash payments recorded in the batch but not deposited via Payabli, or card brands making a direct transfer in certain situations. adjustmentsAmount: type: - number - 'null' format: double description: Corrections applied to Billing & Fees charges netTransferAmount: type: - number - 'null' format: double description: The net amount after all deductions splitFundingAmount: type: - number - 'null' format: double description: Total amount directed to split funding destinations billingFeesDetails: type: - array - 'null' items: $ref: '#/components/schemas/type_:BillingFeeDetail' ParentOrgName: oneOf: - $ref: '#/components/schemas/type_:OrgParentName' - type: 'null' PaypointDbaname: oneOf: - $ref: '#/components/schemas/type_:Dbaname' - type: 'null' PaypointLegalname: oneOf: - $ref: '#/components/schemas/type_:Legalname' - type: 'null' PaypointEntryname: type: - string - 'null' description: The paypoint's entryname PaymentTransId: type: - string - 'null' description: The transaction ID for the payment ConnectorName: type: - string - 'null' description: The payment connector used to process the transaction ExternalProcessorInformation: oneOf: - $ref: '#/components/schemas/type_:ExternalProcessorInformation' - type: 'null' GatewayTransId: type: - string - 'null' description: Internal identifier used for processing OrderId: oneOf: - $ref: '#/components/schemas/type_:OrderId' - type: 'null' Method: type: - string - 'null' description: 'Payment method used: card, ach, or wallet' BatchNumber: oneOf: - $ref: '#/components/schemas/type_:BatchNumber' - type: 'null' BatchAmount: type: - number - 'null' format: double description: The amount of the batch PayorId: oneOf: - $ref: '#/components/schemas/type_:PayorId' - type: 'null' description: Unique ID for customer linked to the transaction PaymentData: oneOf: - $ref: '#/components/schemas/type_:QueryPaymentData' - type: 'null' TransStatus: type: - integer - 'null' description: >- Status of transaction. See [the docs](/developers/references/money-in-statuses#money-in-transaction-status) for a full reference. PaypointId: oneOf: - $ref: '#/components/schemas/type_:PaypointId' - type: 'null' TotalAmount: type: - number - 'null' format: double description: Transaction total amount (including service fee or sub-charge) NetAmount: oneOf: - $ref: '#/components/schemas/type_:Netamountnullable' - type: 'null' description: Net amount paid FeeAmount: oneOf: - $ref: '#/components/schemas/type_:FeeAmount' - type: 'null' SettlementStatus: type: - integer - 'null' description: >- Settlement status for transaction. See [the docs](/developers/references/money-in-statuses#payment-funding-status) for a full reference. Operation: oneOf: - $ref: '#/components/schemas/type_:Operation' - type: 'null' ResponseData: oneOf: - $ref: '#/components/schemas/type_:QueryResponseData' - type: 'null' Source: oneOf: - $ref: '#/components/schemas/type_:Source' - type: 'null' ScheduleReference: type: - integer - 'null' description: >- Reference to the subscription or schedule that originated the transaction OrgId: oneOf: - $ref: '#/components/schemas/type_:Orgid' - type: 'null' RefundId: oneOf: - $ref: '#/components/schemas/type_:RefundId' - type: 'null' ReturnedId: oneOf: - $ref: '#/components/schemas/type_:ReturnedId' - type: 'null' ChargebackId: oneOf: - $ref: '#/components/schemas/type_:ChargebackId' - type: 'null' RetrievalId: oneOf: - $ref: '#/components/schemas/type_:RetrievalId' - type: 'null' TransAdditionalData: oneOf: - description: Any type - type: 'null' description: Additional transaction data invoiceData: oneOf: - $ref: '#/components/schemas/type_:BillData' - type: 'null' description: Associated invoice data EntrypageId: oneOf: - $ref: '#/components/schemas/type_:EntrypageId' - type: 'null' externalPaypointID: oneOf: - $ref: '#/components/schemas/type_:ExternalPaypointId' - type: 'null' IsValidatedACH: type: - boolean - 'null' description: Indicates whether the ACH account has been validated TransactionTime: type: - string - 'null' format: date-time description: Transaction date and time, in UTC Customer: oneOf: - $ref: '#/components/schemas/type_:QueryTransactionPayorData' - type: 'null' splitFundingInstructions: oneOf: - $ref: '#/components/schemas/type_:SplitFunding' - type: 'null' CfeeTransactions: type: - array - 'null' items: $ref: '#/components/schemas/type_:QueryCFeeTransaction' TransactionEvents: type: - array - 'null' items: $ref: '#/components/schemas/type_:QueryTransactionEvents' PendingFeeAmount: oneOf: - $ref: '#/components/schemas/type_:PendingFeeAmount' - type: 'null' RiskFlagged: oneOf: - $ref: '#/components/schemas/type_:RiskFlagged' - type: 'null' RiskFlaggedOn: oneOf: - $ref: '#/components/schemas/type_:RiskFlaggedOn' - type: 'null' RiskStatus: oneOf: - $ref: '#/components/schemas/type_:RiskStatus' - type: 'null' RiskReason: oneOf: - $ref: '#/components/schemas/type_:RiskReason' - type: 'null' RiskAction: oneOf: - $ref: '#/components/schemas/type_:RiskAction' - type: 'null' RiskActionCode: oneOf: - $ref: '#/components/schemas/type_:RiskActionCode' - type: 'null' DeviceId: oneOf: - $ref: '#/components/schemas/type_:DeviceId' - type: 'null' AchSecCode: oneOf: - $ref: '#/components/schemas/type_:AchSecCode' - type: 'null' AchHolderType: oneOf: - $ref: '#/components/schemas/type_:AchHolderType' - type: 'null' IpAddress: oneOf: - $ref: '#/components/schemas/type_:IpAddress' - type: 'null' IsSameDayACH: type: - boolean - 'null' description: Indicates if this was a same-day ACH transaction. WalletType: type: - string - 'null' description: Type of wallet used for the transaction (if applicable) required: - transferDetailId - transferId - transactionId - transactionNumber - type - category - grossAmount - chargeBackAmount - returnedAmount - refundAmount - holdAmount - releasedAmount - billingFeesAmount - thirdPartyPaidAmount - adjustmentsAmount - netTransferAmount - splitFundingAmount - billingFeesDetails - ParentOrgName - PaypointDbaname - PaypointLegalname - PaypointEntryname - PaymentTransId - ConnectorName - ExternalProcessorInformation - GatewayTransId - OrderId - Method - BatchNumber - BatchAmount - PayorId - PaymentData - TransStatus - PaypointId - TotalAmount - NetAmount - FeeAmount - SettlementStatus - Operation - ResponseData - Source - ScheduleReference - OrgId - RefundId - ReturnedId - ChargebackId - RetrievalId - TransAdditionalData - invoiceData - EntrypageId - externalPaypointID - IsValidatedACH - TransactionTime - Customer - splitFundingInstructions - CfeeTransactions - TransactionEvents - PendingFeeAmount - RiskFlagged - RiskFlaggedOn - RiskStatus - RiskReason - RiskAction - RiskActionCode - DeviceId - AchSecCode - AchHolderType - IpAddress - IsSameDayACH - WalletType title: TransferDetailRecord type_:Totalrecords: type: integer description: Total number of records in response. title: Totalrecords type_:Totalpages: type: integer description: Total number of pages in response. title: Totalpages type_:Pagesize: type: integer description: Number of records on each response page. title: Pagesize type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type___queryTypes__:QueryTransferSummary: type: object properties: achReturns: type: - number - 'null' format: double description: ACH returns deducted from the batch. adjustments: type: - number - 'null' format: double description: Corrections applied to Billing & Fees charges. billingFees: type: - number - 'null' format: double description: Charges applied for transactions and services. chargebacks: type: - number - 'null' format: double description: Chargebacks deducted from batch. grossTransferAmount: type: - number - 'null' format: double description: The gross batch amount before deductions. releaseAmount: type: - number - 'null' format: double description: Previously held funds that have been released after a risk review. thirdPartyPaid: type: - number - 'null' format: double description: >- Payments captured in the batch cycle that are deposited separately. For example, checks or cash payments recorded in the batch but not deposited via Payabli, or card brands making a direct transfer in certain situations. totalNetAmountTransfer: type: - number - 'null' format: double description: The gross batch amount minus service fees. splitAmount: type: - number - 'null' format: double description: The sum of each splitFundingAmount of each record in the transfer. serviceFees: type: - number - 'null' format: double description: >- Service fees are any pass-through fees charged to the customer at the time of payment. These aren't transferred to the merchant when the batch is transferred and funded. netBatchAmount: type: - number - 'null' format: double description: >- The net batch amount is the gross batch amount minus any returns, refunds, billing and fees items, chargebacks, adjustments, and third party payments. transferAmount: type: - number - 'null' format: double description: >- The transfer amount is the net batch amount plus or minus any returns, refunds, billing and fees items, chargebacks, adjustments, and third party payments. This is the amount from the batch that is transferred to the merchant bank account. refunds: type: - number - 'null' format: double description: Refunds deducted from batch. heldAmount: type: - number - 'null' format: double description: Funds being held for fraud or risk concerns. totalRecords: oneOf: - $ref: '#/components/schemas/type_:Totalrecords' - type: 'null' description: Number of records in the response. totalAmount: type: - number - 'null' format: double description: The total sum of the transfers in the response. totalNetAmount: type: - number - 'null' format: double description: The total sum of the transfers in the response. totalPages: oneOf: - $ref: '#/components/schemas/type_:Totalpages' - type: 'null' description: Number of pages in the response. pageSize: oneOf: - $ref: '#/components/schemas/type_:Pagesize' - type: 'null' description: Number of records per page. pageidentifier: oneOf: - $ref: '#/components/schemas/type_:PageIdentifier' - type: 'null' description: >- Auxiliary validation used internally by payment pages and components. required: - achReturns - adjustments - billingFees - chargebacks - grossTransferAmount - releaseAmount - thirdPartyPaid - totalNetAmountTransfer - splitAmount - serviceFees - netBatchAmount - transferAmount - refunds - heldAmount - totalRecords - totalAmount - totalNetAmount - totalPages - pageSize - pageidentifier title: QueryTransferSummary type___queryTypes__:QueryTransferDetailResponse: type: object properties: Records: type: array items: $ref: '#/components/schemas/type___queryTypes__:TransferDetailRecord' description: List of transfer detail records Summary: $ref: '#/components/schemas/type___queryTypes__:QueryTransferSummary' description: Summary of the transfer details query required: - Records - Summary title: QueryTransferDetailResponse type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript ListTransferDetailsPaypoint import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.query.listTransferDetails("47862acd", 123456, {}); } main(); ``` ```python ListTransferDetailsPaypoint from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.query.list_transfer_details( entry="47862acd", transfer_id=123456, ) ``` ```csharp ListTransferDetailsPaypoint using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Query.ListTransferDetailsAsync( "47862acd", 123456, new ListTransfersPaypointRequest() ); } } ``` ```go ListTransferDetailsPaypoint package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Query/transferDetails/47862acd/123456" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby ListTransferDetailsPaypoint require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Query/transferDetails/47862acd/123456") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java ListTransferDetailsPaypoint import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Query/transferDetails/47862acd/123456") .header("requestToken", "") .asString(); ``` ```php ListTransferDetailsPaypoint request('GET', 'https://api-sandbox.payabli.com/api/Query/transferDetails/47862acd/123456', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift ListTransferDetailsPaypoint import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Query/transferDetails/47862acd/123456")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Export batches for paypoint GET https://api-sandbox.payabli.com/api/Export/batches/{format}/{entry} Export a list of batches for an entrypoint. Use filters to limit results. Reference: https://docs.payabli.com/developers/api-reference/export/export-list-of-batches-for-entrypoint ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Export/batches/{format}/{entry}: get: operationId: export-batches summary: Export list of batches for entrypoint description: >- Export a list of batches for an entrypoint. Use filters to limit results. tags: - subpackage_export parameters: - name: format in: path description: 'Format for the export, either XLSX or CSV. ' required: true schema: $ref: '#/components/schemas/type_export:ExportFormat1' - name: entry in: path description: >- The paypoint's entrypoint identifier. [Learn more](/developers/api-reference/api-overview#entrypoint-vs-entry) required: true schema: type: string - name: columnsExport in: query required: false schema: type: string - name: fromRecord in: query description: >- The number of records to skip before starting to collect the result set. required: false schema: type: integer default: 0 - name: limitRecord in: query description: >- The number of records to return for the query. The maximum is 30,000 records. When this parameter isn't sent, the API returns up to 25,000 records. required: false schema: type: integer default: 25000 - name: parameters in: query description: >- Collection of field names, conditions, and values used to filter the query **You must remove `parameters=` from the request before you send it, otherwise Payabli will ignore the filters.** Because of a technical limitation, you can't make a request that includes filters from the API console on this page. The response won't be filtered. Instead, copy the request, remove `parameters=` and run the request in a different client. For example: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?parameters=totalAmount(gt)=1000&limitRecord=20 should become: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?totalAmount(gt)=1000&limitRecord=20 See [Filters and Conditions Reference](/developers/developer-guides/pay-ops-reporting-engine-overview#filters-and-conditions-reference) for help. List of field names accepted: - `batchDate` (gt, ge, lt, le, eq, ne) - `batchNumber` (ne, eq) - `connectorName` (ne, eq, ct, nct) - `method` (in, nin, eq, ne) - `batchAmount` (gt, ge, lt, le, eq, ne) - `feeBatchAmount` (gt, ge, lt, le, eq, ne) - `netBatchAmount` (gt, ge, lt, le, eq, ne) - `releaseAmount` (gt, ge, lt, le, eq, ne) - `heldAmount` (gt, ge, lt, le, eq, ne) - `status` (in, nin, eq, ne) - `paypointLegal` (ne, eq, ct, nct) - `paypointDba` (ne, eq, ct, nct) - `orgName` (ne, eq, ct, nct) - `paypointId` (ne, eq) - `externalPaypointID` (ct, nct, eq, ne) - `expectedDepositDate` (gt, ge, lt, le, eq, ne) - `batchRecords` (gt, ge, lt, le, eq, ne) - `transferId` (ne, eq) - `transferDate` (gt, ge, lt, le, eq, ne) - `grossAmount` (gt, ge, lt, le, eq, ne) - `chargeBackAmount` (gt, ge, lt, le, eq, ne) - `returnedAmount` (gt, ge, lt, le, eq, ne) - `billingFeeAmount` (gt, ge, lt, le, eq, ne) - `thirdPartyPaidAmount` (gt, ge, lt, le, eq, ne) - `netFundedAmount` (gt, ge, lt, le, eq, ne) - `adjustmentAmount` (gt, ge, lt, le, eq, ne) - `processor` (ne, eq, ct, nct) - `transferStatus` (ne, eq, in, nin) List of parameters accepted: - limitRecord: max number of records for query (default="20", "0" or negative value for all) - fromRecord: initial record in query Example: `batchAmount(gt)=20` returns all records with a `batchAmount` greater than 20.00 required: false schema: type: object additionalProperties: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:File' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_export:ExportFormat1: type: string enum: - csv - xlsx title: ExportFormat1 type_:File: type: object additionalProperties: description: Any type description: >- A file containing the response data, in the format specified in the request. title: File type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.export.exportBatches("8cfec329267", "csv", { columnsExport: "BatchDate:Batch_Date,PaypointName:Legal_name", fromRecord: 251, limitRecord: 1000, }); } main(); ``` ```python from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.export.export_batches( entry="8cfec329267", format="csv", columns_export="BatchDate:Batch_Date,PaypointName:Legal_name", from_record=251, limit_record=1000, ) ``` ```csharp using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Export.ExportBatchesAsync( ExportFormat1.Csv, "8cfec329267", new ExportBatchesRequest { ColumnsExport = "BatchDate:Batch_Date,PaypointName:Legal_name", FromRecord = 251, LimitRecord = 1000 } ); } } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Export/batches/csv/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Export/batches/csv/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Export/batches/csv/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000") .header("requestToken", "") .asString(); ``` ```php request('GET', 'https://api-sandbox.payabli.com/api/Export/batches/csv/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Export/batches/csv/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Export batches for org GET https://api-sandbox.payabli.com/api/Export/batches/{format}/org/{orgId} Export a list of batches for an organization. Use filters to limit results. Reference: https://docs.payabli.com/developers/api-reference/export/export-list-of-batches-for-organization ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Export/batches/{format}/org/{orgId}: get: operationId: export-batches-org summary: Export list of batches for organization description: >- Export a list of batches for an organization. Use filters to limit results. tags: - subpackage_export parameters: - name: format in: path description: 'Format for the export, either XLSX or CSV. ' required: true schema: $ref: '#/components/schemas/type_export:ExportFormat1' - name: orgId in: path description: The numeric identifier for organization, assigned by Payabli. required: true schema: type: integer - name: columnsExport in: query required: false schema: type: string - name: fromRecord in: query description: >- The number of records to skip before starting to collect the result set. required: false schema: type: integer default: 0 - name: limitRecord in: query description: >- The number of records to return for the query. The maximum is 30,000 records. When this parameter isn't sent, the API returns up to 25,000 records. required: false schema: type: integer default: 25000 - name: parameters in: query description: >- Collection of field names, conditions, and values used to filter the query **You must remove `parameters=` from the request before you send it, otherwise Payabli will ignore the filters.** Because of a technical limitation, you can't make a request that includes filters from the API console on this page. The response won't be filtered. Instead, copy the request, remove `parameters=` and run the request in a different client. For example: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?parameters=totalAmount(gt)=1000&limitRecord=20 should become: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?totalAmount(gt)=1000&limitRecord=20 See [Filters and Conditions Reference](/developers/developer-guides/pay-ops-reporting-engine-overview#filters-and-conditions-reference) for help. List of field names accepted: - `batchDate` (gt, ge, lt, le, eq, ne) - `batchNumber` (ne, eq) - `connectorName` (ne, eq, ct, nct) - `method` (in, nin, eq, ne) - `batchAmount` (gt, ge, lt, le, eq, ne) - `feeBatchAmount` (gt, ge, lt, le, eq, ne) - `netBatchAmount` (gt, ge, lt, le, eq, ne) - `releaseAmount` (gt, ge, lt, le, eq, ne) - `heldAmount` (gt, ge, lt, le, eq, ne) - `status` (in, nin, eq, ne) - `paypointLegal` (ne, eq, ct, nct) - `paypointDba` (ne, eq, ct, nct) - `orgName` (ne, eq, ct, nct) - `paypointId` (ne, eq) - `externalPaypointID` (ct, nct, eq, ne) - `expectedDepositDate` (gt, ge, lt, le, eq, ne) - `batchRecords` (gt, ge, lt, le, eq, ne) - `transferId` (ne, eq) - `transferDate` (gt, ge, lt, le, eq, ne) - `grossAmount` (gt, ge, lt, le, eq, ne) - `chargeBackAmount` (gt, ge, lt, le, eq, ne) - `returnedAmount` (gt, ge, lt, le, eq, ne) - `billingFeeAmount` (gt, ge, lt, le, eq, ne) - `thirdPartyPaidAmount` (gt, ge, lt, le, eq, ne) - `netFundedAmount` (gt, ge, lt, le, eq, ne) - `adjustmentAmount` (gt, ge, lt, le, eq, ne) - `processor` (ne, eq, ct, nct) - `transferStatus` (ne, eq, in, nin) List of parameters accepted: - `limitRecord`: max number of records for query (default="20", "0" or negative value for all) - `fromRecord`: initial record in query Example: `batchAmount(gt)=20` returns all records with a `batchAmount` greater than 20.00 required: false schema: type: object additionalProperties: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:File' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_export:ExportFormat1: type: string enum: - csv - xlsx title: ExportFormat1 type_:File: type: object additionalProperties: description: Any type description: >- A file containing the response data, in the format specified in the request. title: File type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.export.exportBatchesOrg("csv", 123, { columnsExport: "BatchDate:Batch_Date,PaypointName:Legal_name", fromRecord: 251, limitRecord: 1000, }); } main(); ``` ```python from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.export.export_batches_org( format="csv", org_id=123, columns_export="BatchDate:Batch_Date,PaypointName:Legal_name", from_record=251, limit_record=1000, ) ``` ```csharp using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Export.ExportBatchesOrgAsync( ExportFormat1.Csv, 123, new ExportBatchesOrgRequest { ColumnsExport = "BatchDate:Batch_Date,PaypointName:Legal_name", FromRecord = 251, LimitRecord = 1000 } ); } } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Export/batches/csv/org/123?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Export/batches/csv/org/123?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Export/batches/csv/org/123?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000") .header("requestToken", "") .asString(); ``` ```php request('GET', 'https://api-sandbox.payabli.com/api/Export/batches/csv/org/123?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Export/batches/csv/org/123?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Export batch details for paypoint GET https://api-sandbox.payabli.com/api/Export/batchDetails/{format}/{entry} This endpoint is deprecated. Export batch details for a paypoint. Use filters to limit results. Reference: https://docs.payabli.com/developers/api-reference/export/export-batch-details-for-entrypoint ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Export/batchDetails/{format}/{entry}: get: operationId: export-batch-details summary: Export batch details for a paypoint description: >- This endpoint is deprecated. Export batch details for a paypoint. Use filters to limit results. tags: - subpackage_export parameters: - name: format in: path description: 'Format for the export, either XLSX or CSV. ' required: true schema: $ref: '#/components/schemas/type_export:ExportFormat1' - name: entry in: path description: >- The paypoint's entrypoint identifier. [Learn more](/developers/api-reference/api-overview#entrypoint-vs-entry) required: true schema: type: string - name: columnsExport in: query required: false schema: type: string - name: fromRecord in: query description: >- The number of records to skip before starting to collect the result set. required: false schema: type: integer default: 0 - name: limitRecord in: query description: >- The number of records to return for the query. The maximum is 30,000 records. When this parameter isn't sent, the API returns up to 25,000 records. required: false schema: type: integer default: 25000 - name: parameters in: query description: >- Collection of field names, conditions, and values used to filter the query **You must remove `parameters=` from the request before you send it, otherwise Payabli will ignore the filters.** Because of a technical limitation, you can't make a request that includes filters from the API console on this page. The response won't be filtered. Instead, copy the request, remove `parameters=` and run the request in a different client. For example: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?parameters=totalAmount(gt)=1000&limitRecord=20 should become: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?totalAmount(gt)=1000&limitRecord=20 See [Filters and Conditions Reference](/developers/developer-guides/pay-ops-reporting-engine-overview#filters-and-conditions-reference) for help. **List of field names accepted:** - `settlementDate` (gt, ge, lt, le, eq, ne) - `depositDate` (gt, ge, lt, le, eq, ne) - `transId` (ne, eq, ct, nct) - `gatewayTransId` (ne, eq, ct, nct) - `method` (in, nin, eq, ne) - `settledAmount` (gt, ge, lt, le, eq, ne) - `operation` (in, nin, eq, ne) - `source` (in, nin, eq, ne) - `batchNumber` (ct, nct, eq, ne) - `payaccountLastfour` (nct, ct) - `payaccountType` (ne, eq, in, nin) - `customerFirstname` (ct, nct, eq, ne) - `customerLastname` (ct, nct, eq, ne) - `customerName` (ct, nct) - `customerId` (eq, ne) - `customerNumber` (ct, nct, eq, ne) - `customerCompanyname` (ct, nct, eq, ne) - `customerAddress` (ct, nct, eq, ne) - `customerCity` (ct, nct, eq, ne) - `customerZip` (ct, nct, eq, ne) - `customerState` (ct, nct, eq, ne) - `customerCountry` (ct, nct, eq, ne) - `customerPhone` (ct, nct, eq, ne) - `customerEmail` (ct, nct, eq, ne) - `customerShippingAddress` (ct, nct, eq, ne) - `customerShippingCity` (ct, nct, eq, ne) - `customerShippingZip` (ct, nct, eq, ne) - `customerShippingState` (ct, nct, eq, ne) - `customerShippingCountry` (ct, nct, eq, ne) - `orgId` (eq) *mandatory when entry=org* - `isHold` (eq, ne) - `paypointId` (ne, eq) - `paypointLegal` (ne, eq, ct, nct) - `paypointDba` (ne, eq, ct, nct) - `orgName` (ne, eq, ct, nct) - `batchId` (ct, nct, eq, neq) - `additional-xxx` (ne, eq, ct, nct) where xxx is the additional field name List of parameters accepted: - limitRecord: max number of records for query (default="20", "0" or negative value for all) - fromRecord: initial record in query Example: `amount(gt)=20` return all records with amount greater than 20.00 required: false schema: type: object additionalProperties: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:File' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_export:ExportFormat1: type: string enum: - csv - xlsx title: ExportFormat1 type_:File: type: object additionalProperties: description: Any type description: >- A file containing the response data, in the format specified in the request. title: File type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.export.exportBatchDetails("8cfec329267", "csv", { columnsExport: "BatchDate:Batch_Date,PaypointName:Legal_name", fromRecord: 251, limitRecord: 1000, }); } main(); ``` ```python from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.export.export_batch_details( entry="8cfec329267", format="csv", columns_export="BatchDate:Batch_Date,PaypointName:Legal_name", from_record=251, limit_record=1000, ) ``` ```csharp using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Export.ExportBatchDetailsAsync( ExportFormat1.Csv, "8cfec329267", new ExportBatchDetailsRequest { ColumnsExport = "BatchDate:Batch_Date,PaypointName:Legal_name", FromRecord = 251, LimitRecord = 1000 } ); } } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Export/batchDetails/csv/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Export/batchDetails/csv/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Export/batchDetails/csv/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000") .header("requestToken", "") .asString(); ``` ```php request('GET', 'https://api-sandbox.payabli.com/api/Export/batchDetails/csv/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Export/batchDetails/csv/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Export batch details for org GET https://api-sandbox.payabli.com/api/Export/batchDetails/{format}/org/{orgId} This endpoint is deprecated. Export batch details for an organization. Use filters to limit results. Reference: https://docs.payabli.com/developers/api-reference/export/export-batch-details-for-organization ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Export/batchDetails/{format}/org/{orgId}: get: operationId: export-batch-details-org summary: Export batch details for an org description: >- This endpoint is deprecated. Export batch details for an organization. Use filters to limit results. tags: - subpackage_export parameters: - name: format in: path description: 'Format for the export, either XLSX or CSV. ' required: true schema: $ref: '#/components/schemas/type_export:ExportFormat1' - name: orgId in: path description: The numeric identifier for organization, assigned by Payabli. required: true schema: type: integer - name: columnsExport in: query required: false schema: type: string - name: fromRecord in: query description: >- The number of records to skip before starting to collect the result set. required: false schema: type: integer default: 0 - name: limitRecord in: query description: >- The number of records to return for the query. The maximum is 30,000 records. When this parameter isn't sent, the API returns up to 25,000 records. required: false schema: type: integer default: 25000 - name: parameters in: query description: >- Collection of field names, conditions, and values used to filter the query **You must remove `parameters=` from the request before you send it, otherwise Payabli will ignore the filters.** Because of a technical limitation, you can't make a request that includes filters from the API console on this page. The response won't be filtered. Instead, copy the request, remove `parameters=` and run the request in a different client. For example: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?parameters=totalAmount(gt)=1000&limitRecord=20 should become: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?totalAmount(gt)=1000&limitRecord=20 See [Filters and Conditions Reference](/developers/developer-guides/pay-ops-reporting-engine-overview#filters-and-conditions-reference) for help. **List of field names accepted:** - `settlementDate` (gt, ge, lt, le, eq, ne) - `depositDate` (gt, ge, lt, le, eq, ne) - `transId` (ne, eq, ct, nct) - `gatewayTransId` (ne, eq, ct, nct) - `method` (in, nin, eq, ne) - `settledAmount` (gt, ge, lt, le, eq, ne) - `operation` (in, nin, eq, ne) - `source` (in, nin, eq, ne) - `batchNumber` (ct, nct, eq, ne) - `payaccountLastfour` (nct, ct) - `payaccountType` (ne, eq, in, nin) - `customerFirstname` (ct, nct, eq, ne) - `customerLastname` (ct, nct, eq, ne) - `customerName` (ct, nct) - `customerId` (eq, ne) - `customerNumber` (ct, nct, eq, ne) - `customerCompanyname` (ct, nct, eq, ne) - `customerAddress` (ct, nct, eq, ne) - `customerCity` (ct, nct, eq, ne) - `customerZip` (ct, nct, eq, ne) - `customerState` (ct, nct, eq, ne) - `customerCountry` (ct, nct, eq, ne) - `customerPhone` (ct, nct, eq, ne) - `customerEmail` (ct, nct, eq, ne) - `customerShippingAddress` (ct, nct, eq, ne) - `customerShippingCity` (ct, nct, eq, ne) - `customerShippingZip` (ct, nct, eq, ne) - `customerShippingState` (ct, nct, eq, ne) - `customerShippingCountry` (ct, nct, eq, ne) - `orgId` (eq) *mandatory when entry=org* - `isHold` (eq, ne) - `paypointId` (ne, eq) - `paypointLegal` (ne, eq, ct, nct) - `paypointDba` (ne, eq, ct, nct) - `orgName` (ne, eq, ct, nct) - `batchId` (ct, nct, eq, neq) - `additional-xxx` (ne, eq, ct, nct) where xxx is the additional field name List of parameters accepted: - limitRecord: max number of records for query (default="20", "0" or negative value for all) - fromRecord: initial record in query Example: `amount(gt)=20` return all records with amount greater than 20.00 required: false schema: type: object additionalProperties: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:File' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_export:ExportFormat1: type: string enum: - csv - xlsx title: ExportFormat1 type_:File: type: object additionalProperties: description: Any type description: >- A file containing the response data, in the format specified in the request. title: File type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.export.exportBatchDetailsOrg("csv", 123, { columnsExport: "BatchDate:Batch_Date,PaypointName:Legal_name", fromRecord: 251, limitRecord: 1000, }); } main(); ``` ```python from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.export.export_batch_details_org( format="csv", org_id=123, columns_export="BatchDate:Batch_Date,PaypointName:Legal_name", from_record=251, limit_record=1000, ) ``` ```csharp using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Export.ExportBatchDetailsOrgAsync( ExportFormat1.Csv, 123, new ExportBatchDetailsOrgRequest { ColumnsExport = "BatchDate:Batch_Date,PaypointName:Legal_name", FromRecord = 251, LimitRecord = 1000 } ); } } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Export/batchDetails/csv/org/123?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Export/batchDetails/csv/org/123?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Export/batchDetails/csv/org/123?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000") .header("requestToken", "") .asString(); ``` ```php request('GET', 'https://api-sandbox.payabli.com/api/Export/batchDetails/csv/org/123?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Export/batchDetails/csv/org/123?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Export settled transactions for paypoint GET https://api-sandbox.payabli.com/api/Export/settlements/{format}/{entry} Export a list of settled transactions for an entrypoint. Use filters to limit results. Reference: https://docs.payabli.com/developers/api-reference/export/export-list-of-settled-transactions-for-entrypoint ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Export/settlements/{format}/{entry}: get: operationId: export-settlements summary: Export list of settled transactions for entrypoint description: >- Export a list of settled transactions for an entrypoint. Use filters to limit results. tags: - subpackage_export parameters: - name: format in: path description: 'Format for the export, either XLSX or CSV. ' required: true schema: $ref: '#/components/schemas/type_export:ExportFormat1' - name: entry in: path description: >- The paypoint's entrypoint identifier. [Learn more](/developers/api-reference/api-overview#entrypoint-vs-entry) required: true schema: type: string - name: columnsExport in: query required: false schema: type: string - name: fromRecord in: query description: >- The number of records to skip before starting to collect the result set. required: false schema: type: integer default: 0 - name: limitRecord in: query description: >- The number of records to return for the query. The maximum is 30,000 records. When this parameter isn't sent, the API returns up to 25,000 records. required: false schema: type: integer default: 25000 - name: parameters in: query description: >- Collection of field names, conditions, and values used to filter the query **You must remove `parameters=` from the request before you send it, otherwise Payabli will ignore the filters.** Because of a technical limitation, you can't make a request that includes filters from the API console on this page. The response won't be filtered. Instead, copy the request, remove `parameters=` and run the request in a different client. For example: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?parameters=totalAmount(gt)=1000&limitRecord=20 should become: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?totalAmount(gt)=1000&limitRecord=20 See [Filters and Conditions Reference](/developers/developer-guides/pay-ops-reporting-engine-overview#filters-and-conditions-reference) for help. List of field names accepted: - `settlementDate` (gt, ge, lt, le, eq, ne) - `transId` (ne, eq, ct, nct) - `gatewayTransId` (ne, eq, ct, nct) - `method` (in, nin, eq, ne) - `settledAmount` (gt, ge, lt, le, eq, ne) - `operation` (in, nin, eq, ne) - `source` (in, nin, eq, ne) - `batchNumber` (ct, nct, eq, ne) - `payaccountLastfour` (nct, ct) - `payaccountType` (ne, eq, in, nin) - `customerFirstname` (ct, nct, eq, ne) - `customerLastname` (ct, nct, eq, ne) - `customerName` (ct, nct) - `customerId` (eq, ne) - `customerNumber` (ct, nct, eq, ne) - `customerCompanyname` (ct, nct, eq, ne) - `customerAddress` (ct, nct, eq, ne) - `customerCity` (ct, nct, eq, ne) - `customerZip` (ct, nct, eq, ne) - `customerState` (ct, nct, eq, ne) - `customerCountry` (ct, nct, eq, ne) - `customerPhone` (ct, nct, eq, ne) - `customerEmail` (ct, nct, eq, ne) - `customerShippingAddress` (ct, nct, eq, ne) - `customerShippingCity` (ct, nct, eq, ne) - `customerShippingZip` (ct, nct, eq, ne) - `customerShippingState` (ct, nct, eq, ne) - `customerShippingCountry` (ct, nct, eq, ne) - `orgId` (eq) *mandatory when entry=org* - `paypointId` (ne, eq) - `paypointLegal` (ne, eq, ct, nct) - `paypointDba` (ne, eq, ct, nct) - `orgName` (ne, eq, ct, nct) - `additional-xxx` (ne, eq, ct, nct) where xxx is the additional field name List of comparison accepted - enclosed between parentheses: - eq or empty => equal - gt => greater than - ge => greater or equal - lt => less than - le => less or equal - ne => not equal - ct => contains - nct => not contains - in => inside array separated by "|" - nin => not inside array separated by "|" List of parameters accepted: - limitRecord: max number of records for query (default="20", "0" or negative value for all) - fromRecord: initial record in query Example: `settledAmount(gt)=20` returns all records with a `settledAmount` greater than 20.00 required: false schema: type: object additionalProperties: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:File' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_export:ExportFormat1: type: string enum: - csv - xlsx title: ExportFormat1 type_:File: type: object additionalProperties: description: Any type description: >- A file containing the response data, in the format specified in the request. title: File type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.export.exportSettlements("8cfec329267", "csv", { columnsExport: "BatchDate:Batch_Date,PaypointName:Legal_name", fromRecord: 251, limitRecord: 1000, }); } main(); ``` ```python from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.export.export_settlements( entry="8cfec329267", format="csv", columns_export="BatchDate:Batch_Date,PaypointName:Legal_name", from_record=251, limit_record=1000, ) ``` ```csharp using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Export.ExportSettlementsAsync( ExportFormat1.Csv, "8cfec329267", new ExportSettlementsRequest { ColumnsExport = "BatchDate:Batch_Date,PaypointName:Legal_name", FromRecord = 251, LimitRecord = 1000 } ); } } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Export/settlements/csv/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Export/settlements/csv/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Export/settlements/csv/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000") .header("requestToken", "") .asString(); ``` ```php request('GET', 'https://api-sandbox.payabli.com/api/Export/settlements/csv/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Export/settlements/csv/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Export settled transactions for org GET https://api-sandbox.payabli.com/api/Export/settlements/{format}/org/{orgId} Export a list of settled transactions for an organization. Use filters to limit results. Reference: https://docs.payabli.com/developers/api-reference/export/export-list-of-settled-transactions-for-an-organization ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Export/settlements/{format}/org/{orgId}: get: operationId: export-settlements-org summary: Export list of settled transactions for organization description: >- Export a list of settled transactions for an organization. Use filters to limit results. tags: - subpackage_export parameters: - name: format in: path description: 'Format for the export, either XLSX or CSV. ' required: true schema: $ref: '#/components/schemas/type_export:ExportFormat1' - name: orgId in: path description: The numeric identifier for organization, assigned by Payabli. required: true schema: type: integer - name: columnsExport in: query required: false schema: type: string - name: fromRecord in: query description: >- The number of records to skip before starting to collect the result set. required: false schema: type: integer default: 0 - name: limitRecord in: query description: >- The number of records to return for the query. The maximum is 30,000 records. When this parameter isn't sent, the API returns up to 25,000 records. required: false schema: type: integer default: 25000 - name: parameters in: query description: >- Collection of field names, conditions, and values used to filter the query **You must remove `parameters=` from the request before you send it, otherwise Payabli will ignore the filters.** Because of a technical limitation, you can't make a request that includes filters from the API console on this page. The response won't be filtered. Instead, copy the request, remove `parameters=` and run the request in a different client. For example: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?parameters=totalAmount(gt)=1000&limitRecord=20 should become: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?totalAmount(gt)=1000&limitRecord=20 See [Filters and Conditions Reference](/developers/developer-guides/pay-ops-reporting-engine-overview#filters-and-conditions-reference) for help. List of field names accepted: - `settlementDate` (gt, ge, lt, le, eq, ne) - `transId` (ne, eq, ct, nct) - `gatewayTransId` (ne, eq, ct, nct) - `method` (in, nin, eq, ne) - `settledAmount` (gt, ge, lt, le, eq, ne) - `operation` (in, nin, eq, ne) - `source` (in, nin, eq, ne) - `batchNumber` (ct, nct, eq, ne) - `payaccountLastfour` (nct, ct) - `payaccountType` (ne, eq, in, nin) - `customerFirstname` (ct, nct, eq, ne) - `customerLastname` (ct, nct, eq, ne) - `customerName` (ct, nct) - `customerId` (eq, ne) - `customerNumber` (ct, nct, eq, ne) - `customerCompanyname` (ct, nct, eq, ne) - `customerAddress` (ct, nct, eq, ne) - `customerCity` (ct, nct, eq, ne) - `customerZip` (ct, nct, eq, ne) - `customerState` (ct, nct, eq, ne) - `customerCountry` (ct, nct, eq, ne) - `customerPhone` (ct, nct, eq, ne) - `customerEmail` (ct, nct, eq, ne) - `customerShippingAddress` (ct, nct, eq, ne) - `customerShippingCity` (ct, nct, eq, ne) - `customerShippingZip` (ct, nct, eq, ne) - `customerShippingState` (ct, nct, eq, ne) - `customerShippingCountry` (ct, nct, eq, ne) - `orgId` (eq) *mandatory when entry=org* - `paypointId` (ne, eq) - `paypointLegal` (ne, eq, ct, nct) - `paypointDba` (ne, eq, ct, nct) - `orgName` (ne, eq, ct, nct) - `additional-xxx` (ne, eq, ct, nct) where xxx is the additional field name List of comparison accepted - enclosed between parentheses: - eq or empty => equal - gt => greater than - ge => greater or equal - lt => less than - le => less or equal - ne => not equal - ct => contains - nct => not contains - in => inside array separated by "|" - nin => not inside array separated by "|" List of parameters accepted: - limitRecord: max number of records for query (default="20", "0" or negative value for all) - fromRecord: initial record in query Example: `settledAmount(gt)=20` returns all records with a `settledAmount` greater than 20.00 required: false schema: type: object additionalProperties: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:File' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_export:ExportFormat1: type: string enum: - csv - xlsx title: ExportFormat1 type_:File: type: object additionalProperties: description: Any type description: >- A file containing the response data, in the format specified in the request. title: File type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.export.exportSettlementsOrg("csv", 123, { columnsExport: "BatchDate:Batch_Date,PaypointName:Legal_name", fromRecord: 251, limitRecord: 1000, }); } main(); ``` ```python from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.export.export_settlements_org( format="csv", org_id=123, columns_export="BatchDate:Batch_Date,PaypointName:Legal_name", from_record=251, limit_record=1000, ) ``` ```csharp using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Export.ExportSettlementsOrgAsync( ExportFormat1.Csv, 123, new ExportSettlementsOrgRequest { ColumnsExport = "BatchDate:Batch_Date,PaypointName:Legal_name", FromRecord = 251, LimitRecord = 1000 } ); } } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Export/settlements/csv/org/123?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Export/settlements/csv/org/123?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Export/settlements/csv/org/123?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000") .header("requestToken", "") .asString(); ``` ```php request('GET', 'https://api-sandbox.payabli.com/api/Export/settlements/csv/org/123?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Export/settlements/csv/org/123?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Export transactions for paypoint GET https://api-sandbox.payabli.com/api/Export/transactions/{format}/{entry} Export a list of transactions for an entrypoint in a file in XLXS or CSV format. Use filters to limit results. If you don't specify a date range in the request, the last two months of data are returned. Reference: https://docs.payabli.com/developers/api-reference/export/export-list-of-transactions-for-entrypoint ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Export/transactions/{format}/{entry}: get: operationId: export-transactions summary: Export list of transactions for entrypoint description: >- Export a list of transactions for an entrypoint in a file in XLXS or CSV format. Use filters to limit results. If you don't specify a date range in the request, the last two months of data are returned. tags: - subpackage_export parameters: - name: format in: path description: 'Format for the export, either XLSX or CSV. ' required: true schema: $ref: '#/components/schemas/type_export:ExportFormat1' - name: entry in: path description: >- The paypoint's entrypoint identifier. [Learn more](/developers/api-reference/api-overview#entrypoint-vs-entry) required: true schema: type: string - name: columnsExport in: query required: false schema: type: string - name: fromRecord in: query description: >- The number of records to skip before starting to collect the result set. required: false schema: type: integer default: 0 - name: limitRecord in: query description: >- The number of records to return for the query. The maximum is 30,000 records. When this parameter isn't sent, the API returns up to 25,000 records. required: false schema: type: integer default: 25000 - name: parameters in: query description: >- Collection of field names, conditions, and values used to filter the query **You must remove `parameters=` from the request before you send it, otherwise Payabli will ignore the filters.** Because of a technical limitation, you can't make a request that includes filters from the API console on this page. The response won't be filtered. Instead, copy the request, remove `parameters=` and run the request in a different client. For example: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?parameters=totalAmount(gt)=1000&limitRecord=20 should become: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?totalAmount(gt)=1000&limitRecord=20 See [Filters and Conditions Reference](/developers/developer-guides/pay-ops-reporting-engine-overview#filters-and-conditions-reference) for help. List of field names accepted: - `transactionDate` (gt, ge, lt, le, eq, ne) - `transId` (ne, eq, ct, nct) - `gatewayTransId` (ne, eq, ct, nct) - `orderId` (ne, eq) - `idTrans` (ne, eq) - `orgId` (ne, eq) - `paypointId` (ne, eq) - `paypointLegal` (ne, eq, ct, nct) - `paypointDba` (ne, eq, ct, nct) - `orgName` (ne, eq, ct, nct) - `method` (in, nin, eq, ne) - `totalAmount` (gt, ge, lt, le, eq, ne) - `netAmount` (gt, ge, lt, le, eq, ne) - `feeAmount` (gt, ge, lt, le, eq, ne) - `operation` (in, nin, eq, ne) - `source` (in, nin, eq, ne) - `status` (in, nin, eq, ne) - `settlementStatus` (in, nin, eq, ne) - `batchNumber` (nct, ct) - `payaccountLastfour` (nct, ct) - `payaccountType` (ne, eq, in, nin) - `customerFirstname` (ct, nct, eq, ne) - `customerLastname` (ct, nct, eq, ne) - `customerName` (ct, nct) - `customerId` (eq, ne) - `customerNumber` (ct, nct, eq, ne) - `customerCompanyname` (ct, nct, eq, ne) - `customerAddress` (ct, nct, eq, ne) - `customerCity` (ct, nct, eq, ne) - `customerZip` (ct, nct, eq, ne) - `customerState` (ct, nct, eq, ne) - `customerCountry` (ct, nct, eq, ne) - `customerPhone` (ct, nct, eq, ne) - `customerEmail` (ct, nct, eq, ne) - `customerShippingAddress` (ct, nct, eq, ne) - `customerShippingCity` (ct, nct, eq, ne) - `customerShippingZip` (ct, nct, eq, ne) - `customerShippingState` (ct, nct, eq, ne) - `customerShippingCountry` (ct, nct, eq, ne) - `additional-xxx` (ne, eq, ct, nct) where xxx is the additional field name List of comparison accepted - enclosed between parentheses: - eq or empty => equal - gt => greater than - ge => greater or equal - lt => less than - le => less or equal - ne => not equal - ct => contains - nct => not contains - in => inside array - nin => not inside array List of parameters accepted: - limitRecord : max number of records for query (default="20", "0" or negative value for all) - fromRecord : initial record in query Example: `netAmount(gt)=20` returns all records with a `netAmount` greater than 20.00 required: false schema: type: object additionalProperties: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:File' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_export:ExportFormat1: type: string enum: - csv - xlsx title: ExportFormat1 type_:File: type: object additionalProperties: description: Any type description: >- A file containing the response data, in the format specified in the request. title: File type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.export.exportTransactions("8cfec329267", "csv", { columnsExport: "BatchDate:Batch_Date,PaypointName:Legal_name", fromRecord: 251, limitRecord: 1000, }); } main(); ``` ```python from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.export.export_transactions( entry="8cfec329267", format="csv", columns_export="BatchDate:Batch_Date,PaypointName:Legal_name", from_record=251, limit_record=1000, ) ``` ```csharp using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Export.ExportTransactionsAsync( ExportFormat1.Csv, "8cfec329267", new ExportTransactionsRequest { ColumnsExport = "BatchDate:Batch_Date,PaypointName:Legal_name", FromRecord = 251, LimitRecord = 1000 } ); } } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Export/transactions/csv/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Export/transactions/csv/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Export/transactions/csv/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000") .header("requestToken", "") .asString(); ``` ```php request('GET', 'https://api-sandbox.payabli.com/api/Export/transactions/csv/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Export/transactions/csv/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Export transactions for org GET https://api-sandbox.payabli.com/api/Export/transactions/{format}/org/{orgId} Export a list of transactions for an org in a file in XLSX or CSV format. Use filters to limit results. If you don't specify a date range in the request, the last two months of data are returned. Reference: https://docs.payabli.com/developers/api-reference/export/export-list-of-transactions-for-organization ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Export/transactions/{format}/org/{orgId}: get: operationId: export-transactions-org summary: Export list of transactions for an org description: >- Export a list of transactions for an org in a file in XLSX or CSV format. Use filters to limit results. If you don't specify a date range in the request, the last two months of data are returned. tags: - subpackage_export parameters: - name: format in: path description: 'Format for the export, either XLSX or CSV. ' required: true schema: $ref: '#/components/schemas/type_export:ExportFormat1' - name: orgId in: path description: The numeric identifier for organization, assigned by Payabli. required: true schema: type: integer - name: columnsExport in: query required: false schema: type: string - name: fromRecord in: query description: >- The number of records to skip before starting to collect the result set. required: false schema: type: integer default: 0 - name: limitRecord in: query description: >- The number of records to return for the query. The maximum is 30,000 records. When this parameter isn't sent, the API returns up to 25,000 records. required: false schema: type: integer default: 25000 - name: parameters in: query description: >- Collection of field names, conditions, and values used to filter the query **You must remove `parameters=` from the request before you send it, otherwise Payabli will ignore the filters.** Because of a technical limitation, you can't make a request that includes filters from the API console on this page. The response won't be filtered. Instead, copy the request, remove `parameters=` and run the request in a different client. For example: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?parameters=totalAmount(gt)=1000&limitRecord=20 should become: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?totalAmount(gt)=1000&limitRecord=20 See [Filters and Conditions Reference](/developers/developer-guides/pay-ops-reporting-engine-overview#filters-and-conditions-reference) for help. List of field names accepted: - `transactionDate` (gt, ge, lt, le, eq, ne) - `transId` (ne, eq, ct, nct) - `gatewayTransId` (ne, eq, ct, nct) - `orderId` (ne, eq) - `idTrans` (ne, eq) - `orgId` (ne, eq) - `paypointId` (ne, eq) - `paypointLegal` (ne, eq, ct, nct) - `paypointDba` (ne, eq, ct, nct) - `orgName` (ne, eq, ct, nct) - `method` (in, nin, eq, ne) - `totalAmount` (gt, ge, lt, le, eq, ne) - `netAmount` (gt, ge, lt, le, eq, ne) - `feeAmount` (gt, ge, lt, le, eq, ne) - `operation` (in, nin, eq, ne) - `source` (in, nin, eq, ne) - `status` (in, nin, eq, ne) - `settlementStatus` (in, nin, eq, ne) - `batchNumber` (nct, ct) - `payaccountLastfour` (nct, ct) - `payaccountType` (ne, eq, in, nin) - `customerFirstname` (ct, nct, eq, ne) - `customerLastname` (ct, nct, eq, ne) - `customerName` (ct, nct) - `customerId` (eq, ne) - `customerNumber` (ct, nct, eq, ne) - `customerCompanyname` (ct, nct, eq, ne) - `customerAddress` (ct, nct, eq, ne) - `customerCity` (ct, nct, eq, ne) - `customerZip` (ct, nct, eq, ne) - `customerState` (ct, nct, eq, ne) - `customerCountry` (ct, nct, eq, ne) - `customerPhone` (ct, nct, eq, ne) - `customerEmail` (ct, nct, eq, ne) - `customerShippingAddress` (ct, nct, eq, ne) - `customerShippingCity` (ct, nct, eq, ne) - `customerShippingZip` (ct, nct, eq, ne) - `customerShippingState` (ct, nct, eq, ne) - `customerShippingCountry` (ct, nct, eq, ne) - `additional-xxx` (ne, eq, ct, nct) where xxx is the additional field name List of comparison accepted - enclosed between parentheses: - eq or empty => equal - gt => greater than - ge => greater or equal - lt => less than - le => less or equal - ne => not equal - ct => contains - nct => not contains - in => inside array - nin => not inside array List of parameters accepted: - limitRecord : max number of records for query (default="20", "0" or negative value for all) - fromRecord : initial record in query Example: `netAmount(gt)=20` returns all records with a `netAmount` greater than 20.00 required: false schema: type: object additionalProperties: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:File' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_export:ExportFormat1: type: string enum: - csv - xlsx title: ExportFormat1 type_:File: type: object additionalProperties: description: Any type description: >- A file containing the response data, in the format specified in the request. title: File type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.export.exportTransactionsOrg("csv", 123, { columnsExport: "BatchDate:Batch_Date,PaypointName:Legal_name", fromRecord: 251, limitRecord: 1000, }); } main(); ``` ```python from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.export.export_transactions_org( format="csv", org_id=123, columns_export="BatchDate:Batch_Date,PaypointName:Legal_name", from_record=251, limit_record=1000, ) ``` ```csharp using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Export.ExportTransactionsOrgAsync( ExportFormat1.Csv, 123, new ExportTransactionsOrgRequest { ColumnsExport = "BatchDate:Batch_Date,PaypointName:Legal_name", FromRecord = 251, LimitRecord = 1000 } ); } } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Export/transactions/csv/org/123?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Export/transactions/csv/org/123?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Export/transactions/csv/org/123?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000") .header("requestToken", "") .asString(); ``` ```php request('GET', 'https://api-sandbox.payabli.com/api/Export/transactions/csv/org/123?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Export/transactions/csv/org/123?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Export transfers for paypoint GET https://api-sandbox.payabli.com/api/Export/transfers/{entry} Get a list of transfers for an entrypoint. Use filters to limit results. Reference: https://docs.payabli.com/developers/api-reference/export/export-list-of-transfers ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Export/transfers/{entry}: get: operationId: export-transfers summary: Export list of transfers for entrypoint description: Get a list of transfers for an entrypoint. Use filters to limit results. tags: - subpackage_export parameters: - name: entry in: path description: >- The paypoint's entrypoint identifier. [Learn more](/developers/api-reference/api-overview#entrypoint-vs-entry) required: true schema: type: string - name: columnsExport in: query required: false schema: type: string - name: fromRecord in: query description: >- The number of records to skip before starting to collect the result set. required: false schema: type: integer default: 0 - name: limitRecord in: query description: >- The number of records to return for the query. The maximum is 30,000 records. When this parameter isn't sent, the API returns up to 25,000 records. required: false schema: type: integer default: 25000 - name: parameters in: query description: >- Collection of field names, conditions, and values used to filter the query **You must remove `parameters=` from the request before you send it, otherwise Payabli will ignore the filters.** Because of a technical limitation, you can't make a request that includes filters from the API console on this page. The response won't be filtered. Instead, copy the request, remove `parameters=` and run the request in a different client. For example: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?parameters=totalAmount(gt)=1000&limitRecord=20 should become: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?totalAmount(gt)=1000&limitRecord=20 See [Filters and Conditions Reference](/developers/developer-guides/pay-ops-reporting-engine-overview#filters-and-conditions-reference) for help. List of field names accepted: - `transferDate` (gt, ge, lt, le, eq, ne) - `grossAmount` (gt, ge, lt, le, eq, ne) - `chargeBackAmount` (gt, ge, lt, le, eq, ne) - `returnedAmount` (gt, ge, lt, le, eq, ne) - `billingFeeAmount` (gt, ge, lt, le, eq, ne) - `thirdPartyPaidAmount` (gt, ge, lt, le, eq, ne) - `netFundedAmount` (gt, ge, lt, le, eq, ne) - `adjustmentAmount` (gt, ge, lt, le, eq, ne) - `processor` (ne, eq, ct, nct) - `transferStatus` (ne, eq, in, nin) - `batchNumber` (ne, eq, ct, nct) - `batchId` (ne, eq, in, nin) required: false schema: type: object additionalProperties: type: string - name: sortBy in: query description: >- The field name to use for sorting results. Use `desc(field_name)` to sort descending by `field_name`, and use `asc(field_name)` to sort ascending by `field_name`. required: false schema: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:File' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:File: type: object additionalProperties: description: Any type description: >- A file containing the response data, in the format specified in the request. title: File type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.export.exportTransfers("8cfec329267", { columnsExport: "BatchDate:Batch_Date,PaypointName:Legal_name", fromRecord: 251, limitRecord: 1000, sortBy: "desc(field_name)", }); } main(); ``` ```python from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.export.export_transfers( entry="8cfec329267", columns_export="BatchDate:Batch_Date,PaypointName:Legal_name", from_record=251, limit_record=1000, sort_by="desc(field_name)", ) ``` ```csharp using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Export.ExportTransfersAsync( "8cfec329267", new ExportTransfersRequest { ColumnsExport = "BatchDate:Batch_Date,PaypointName:Legal_name", FromRecord = 251, LimitRecord = 1000, SortBy = "desc(field_name)" } ); } } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Export/transfers/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000&sortBy=desc%28field_name%29" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Export/transfers/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000&sortBy=desc%28field_name%29") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Export/transfers/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000&sortBy=desc%28field_name%29") .header("requestToken", "") .asString(); ``` ```php request('GET', 'https://api-sandbox.payabli.com/api/Export/transfers/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000&sortBy=desc%28field_name%29', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Export/transfers/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000&sortBy=desc%28field_name%29")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Export transfer details GET https://api-sandbox.payabli.com/api/Export/transferDetails/{format}/{entry}/{transferId} Export a list of transfer details for an entrypoint. Use filters to limit results. Reference: https://docs.payabli.com/developers/api-reference/export/export-list-of-transferdetails ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Export/transferDetails/{format}/{entry}/{transferId}: get: operationId: export-transfer-details summary: Export list of transfer details description: >- Export a list of transfer details for an entrypoint. Use filters to limit results. tags: - subpackage_export parameters: - name: format in: path description: 'Format for the export, either XLSX or CSV. ' required: true schema: $ref: '#/components/schemas/type_export:ExportFormat1' - name: entry in: path description: >- The paypoint's entrypoint identifier. [Learn more](/developers/api-reference/api-overview#entrypoint-vs-entry) required: true schema: type: string - name: transferId in: path description: Transfer identifier. required: true schema: type: integer format: int64 - name: columnsExport in: query required: false schema: type: string - name: fromRecord in: query description: >- The number of records to skip before starting to collect the result set. required: false schema: type: integer default: 0 - name: limitRecord in: query description: >- The number of records to return for the query. The maximum is 30,000 records. When this parameter isn't sent, the API returns up to 25,000 records. required: false schema: type: integer default: 25000 - name: parameters in: query description: >- Collection of field names, conditions, and values used to filter the query **You must remove `parameters=` from the request before you send it, otherwise Payabli will ignore the filters.** Because of a technical limitation, you can't make a request that includes filters from the API console on this page. The response won't be filtered. Instead, copy the request, remove `parameters=` and run the request in a different client. For example: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?parameters=totalAmount(gt)=1000&limitRecord=20 should become: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?totalAmount(gt)=1000&limitRecord=20 See [Filters and Conditions Reference](/developers/developer-guides/pay-ops-reporting-engine-overview#filters-and-conditions-reference) for help. List of field names accepted: - `grossAmount` (gt, ge, lt, le, eq, ne) - `chargeBackAmount` (gt, ge, lt, le, eq, ne) - `returnedAmount` (gt, ge, lt, le, eq, ne) - `billingFeeAmount` (gt, ge, lt, le, eq, ne) - `thirdPartyPaidAmount` (gt, ge, lt, le, eq, ne) - `netFundedAmount` (gt, ge, lt, le, eq, ne) - `adjustmentAmount` (gt, ge, lt, le, eq, ne) - `transactionId` (eq, ne, in, nin) - `category` (eq, ne, ct, nct) - `type` (eq, ne, in, nin) - `method` (eq, ne, in, nin) required: false schema: type: object additionalProperties: type: string - name: sortBy in: query description: >- The field name to use for sorting results. Use `desc(field_name)` to sort descending by `field_name`, and use `asc(field_name)` to sort ascending by `field_name`. required: false schema: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:File' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_export:ExportFormat1: type: string enum: - csv - xlsx title: ExportFormat1 type_:File: type: object additionalProperties: description: Any type description: >- A file containing the response data, in the format specified in the request. title: File type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.export.exportTransferDetails("8cfec329267", "csv", 1000000, { columnsExport: "BatchDate:Batch_Date,PaypointName:Legal_name", fromRecord: 251, limitRecord: 1000, sortBy: "desc(field_name)", }); } main(); ``` ```python from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.export.export_transfer_details( entry="8cfec329267", format="csv", transfer_id=1000000, columns_export="BatchDate:Batch_Date,PaypointName:Legal_name", from_record=251, limit_record=1000, sort_by="desc(field_name)", ) ``` ```csharp using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Export.ExportTransferDetailsAsync( ExportFormat1.Csv, "8cfec329267", 1000000L, new ExportTransferDetailsRequest { ColumnsExport = "BatchDate:Batch_Date,PaypointName:Legal_name", FromRecord = 251, LimitRecord = 1000, SortBy = "desc(field_name)" } ); } } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Export/transferDetails/csv/8cfec329267/1000000?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000&sortBy=desc%28field_name%29" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Export/transferDetails/csv/8cfec329267/1000000?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000&sortBy=desc%28field_name%29") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Export/transferDetails/csv/8cfec329267/1000000?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000&sortBy=desc%28field_name%29") .header("requestToken", "") .asString(); ``` ```php request('GET', 'https://api-sandbox.payabli.com/api/Export/transferDetails/csv/8cfec329267/1000000?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000&sortBy=desc%28field_name%29', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Export/transferDetails/csv/8cfec329267/1000000?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000&sortBy=desc%28field_name%29")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Create subscription POST https://api-sandbox.payabli.com/api/Subscription/add Content-Type: application/json Creates a subscription or scheduled payment to run at a specified time and frequency. Reference: https://docs.payabli.com/developers/api-reference/subscription/create-a-subscription-or-scheduled-payment ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Subscription/add: post: operationId: new-subscription summary: Create Subscription description: >- Creates a subscription or scheduled payment to run at a specified time and frequency. tags: - subpackage_subscription parameters: - name: forceCustomerCreation in: query required: false schema: $ref: '#/components/schemas/type_:ForceCustomerCreation' - name: requestToken in: header required: true schema: type: string - name: idempotencyKey in: header required: false schema: $ref: '#/components/schemas/type_:IdempotencyKey' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_subscription:AddSubscriptionResponse' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/type_subscription:SubscriptionRequestBody' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:ForceCustomerCreation: type: boolean description: >- When `true`, the request creates a new customer record, regardless of whether customer identifiers match an existing customer. Defaults to `false`. title: ForceCustomerCreation type_:IdempotencyKey: type: string description: >- _Optional but recommended_ A unique ID that you can include to prevent duplicating objects or transactions in the case that a request is sent more than once. This key isn't generated in Payabli, you must generate it yourself. This key persists for 2 minutes. After 2 minutes, you can reuse the key if needed. title: IdempotencyKey type_:AdditionalData: type: object additionalProperties: type: object additionalProperties: description: Any type description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. If you are using [custom identifiers](/developers/developer-guides/entities-customers), pass those in this object. Max length for a value is 100 characters. Example usage: ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalData type_:BillingAddressNullable: type: string description: Billing address. title: BillingAddressNullable type_:BillingAddressAddtlNullable: type: string description: Additional line for the billing address. title: BillingAddressAddtlNullable type_:BillingCityNullable: type: string description: Billing city. title: BillingCityNullable type_:BillingCountryNullable: type: string description: Billing address country. title: BillingCountryNullable type_:Email: type: string format: email description: Email address. title: Email type_:PhoneNumber: type: string description: Phone number. title: PhoneNumber type_:BillingStateNullable: type: string description: Billing state. Must be 2-letter state code for address in US. title: BillingStateNullable type_:BillingZip: type: string description: Billing address ZIP code. title: BillingZip type_:CustomerId: type: integer format: int64 description: The Payabli-generated unique ID for the customer. title: CustomerId type_:CustomerNumberNullable: type: string description: >- User-provided unique identifier for the customer. This is typically the customer ID from your own system. title: CustomerNumberNullable type_:Identifierfields: type: array items: type: string description: >- List of fields acting as customer identifiers, to be used instead of CustomerNumber. title: Identifierfields type_:Shippingaddress: type: string description: The shipping address. title: Shippingaddress type_:Shippingaddressadditional: type: string description: Additional line for shipping address. title: Shippingaddressadditional type_:Shippingcity: type: string description: Shipping city. title: Shippingcity type_:Shippingcountry: type: string description: Shipping address country. title: Shippingcountry type_:Shippingstate: type: string description: Shipping state or province. title: Shippingstate type_:Shippingzip: type: string description: >- Shipping ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". title: Shippingzip type_:PayorDataRequest: type: object properties: additionalData: $ref: '#/components/schemas/type_:AdditionalData' billingAddress1: $ref: '#/components/schemas/type_:BillingAddressNullable' billingAddress2: $ref: '#/components/schemas/type_:BillingAddressAddtlNullable' billingCity: $ref: '#/components/schemas/type_:BillingCityNullable' billingCountry: $ref: '#/components/schemas/type_:BillingCountryNullable' billingEmail: $ref: '#/components/schemas/type_:Email' billingPhone: $ref: '#/components/schemas/type_:PhoneNumber' billingState: $ref: '#/components/schemas/type_:BillingStateNullable' billingZip: $ref: '#/components/schemas/type_:BillingZip' description: >- Customer's billing ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". company: type: string description: Customer's company name. customerId: $ref: '#/components/schemas/type_:CustomerId' customerNumber: $ref: '#/components/schemas/type_:CustomerNumberNullable' firstName: type: string description: Customer/Payor first name. identifierFields: $ref: '#/components/schemas/type_:Identifierfields' lastName: type: string description: Customer/Payor last name. shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' description: >- Customer information. May be required, depending on the paypoint's settings. Required for subscriptions. title: PayorDataRequest type_:Entrypointfield: type: string description: The entrypoint identifier. title: Entrypointfield type_:AdditionalDataMap: type: object additionalProperties: type: string description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalDataMap type_:FileContentFtype: type: string enum: - pdf - doc - docx - jpg - jpeg - png - gif - txt description: The MIME type of the file (if content is provided) title: FileContentFtype type_:FileContent: type: object properties: fContent: type: string description: >- Content of file, Base64-encoded. Ignored if furl is specified. Max upload size is 30 MB. filename: type: string description: The name of the attached file. ftype: $ref: '#/components/schemas/type_:FileContentFtype' description: The MIME type of the file (if content is provided) furl: type: string description: Optional URL provided to show or download the file remotely description: Contains details about a file. Max upload size is 30 MB. title: FileContent type_:Attachments: type: array items: $ref: '#/components/schemas/type_:FileContent' description: >- Array of `fileContent` objects with attached documents. Max upload size is 30 MB. title: Attachments type_:Discount: type: number format: double description: Discount applied to the invoice. title: Discount type_:DutyAmount: type: number format: double description: Duty amount. title: DutyAmount type_:FreightAmount: type: number format: double description: Freight/shipping amount. title: FreightAmount type_:Frequency: type: string enum: - onetime - weekly - every2weeks - every6months - monthly - every3months - annually description: Frequency for operation. title: Frequency type_:InvoiceAmount: type: number format: double description: Invoice total amount. title: InvoiceAmount type_:InvoiceNumber: type: string description: >- Custom number identifying the bill or invoice. Must be unique in paypoint. title: InvoiceNumber type_:Invoicestatus: type: integer description: |- Status for invoice. The accepted status values are: - 0 draft - 1 active - 2 partially paid - 4 paid/complete - 99 cancelled title: Invoicestatus type_:InvoiceType: type: integer description: Type of invoice. Only `0` for one-time invoices is currently supported. title: InvoiceType type_:ItemCommodityCode: type: string description: Item or product commodity code. Max length of 250 characters. title: ItemCommodityCode type_:ItemDescription: type: string description: Item or product description. Max length of 250 characters. title: ItemDescription type_:ItemProductCode: type: string description: Item or product code. Max length of 250 characters. title: ItemProductCode type_:ItemProductName: type: string description: Item or product name. Max length of 250 characters. title: ItemProductName type_:ItemUnitofMeasure: type: string description: Unit of measurement. Max length of 100 characters. title: ItemUnitofMeasure type_:BillItem: type: object properties: itemCategories: type: array items: type: string description: Array of tags classifying item or product. itemCommodityCode: $ref: '#/components/schemas/type_:ItemCommodityCode' itemCost: type: number format: double description: Item or product price per unit. itemDescription: $ref: '#/components/schemas/type_:ItemDescription' itemMode: type: integer description: >- Internal class of item or product: value '0' is only for invoices , '1' for bills and, '2' common for both. itemProductCode: $ref: '#/components/schemas/type_:ItemProductCode' itemProductName: $ref: '#/components/schemas/type_:ItemProductName' itemQty: type: integer description: Quantity of item or product. itemTaxAmount: type: number format: double description: Tax amount applied to item or product. itemTaxRate: type: number format: double description: Tax rate applied to item or product. itemTotalAmount: type: number format: double description: Total amount in item or product. itemUnitOfMeasure: $ref: '#/components/schemas/type_:ItemUnitofMeasure' required: - itemCost title: BillItem type_:BillDataPaymentTerms: type: string enum: - PIA - CIA - UR - NET10 - NET20 - NET30 - NET45 - NET60 - NET90 - EOM - MFI - 5MFI - 10MFI - 15MFI - 20MFI - 2/10NET30 - UF - 10UF - 20UF - 25UF - 50UF description: >- Payment terms for invoice. If no terms are defined, then response data for this field defaults to `NET30`. **Available Values:** - `PIA`: Payment in advance - `CIA`: Cash in advance - `UR`: Upon receipt - `NET10`: 10 days after invoice date - `NET20`: 20 days after invoice date - `NET30`: 30 days after invoice date - `NET45`: 45 days after invoice date - `NET60`: 60 days after invoice date - `NET90`: 90 days after invoice date - `EOM`: Due end of this month - `MFI`: 1st of the month following the invoice date - `5MFI`: 5th of the month following the invoice date - `10MFI`: 10th of the month following the invoice date - `15MFI`: 15th of the month following the invoice date - `20MFI`: 20th of the month following the invoice date - `2/10NET30`: 2% discount if paid within 10 days, otherwise net 30 days - `UF`: Until further notice - `10UF`: 10 days until further notice - `20UF`: 20 days until further notice - `25UF`: 25 days until further notice - `50UF`: 50 days until further notice title: BillDataPaymentTerms type_:PurchaseOrder: type: string description: Purchase order number. title: PurchaseOrder type_:ShippingFromZip: type: string description: Sender shipping ZIP code. title: ShippingFromZip type_:SummaryCommodityCode: type: string description: Commodity code. title: SummaryCommodityCode type_:Tax: type: number format: double description: Tax rate in percent applied to the invoice. title: Tax type_:TermsConditions: type: string description: Custom terms and conditions included in the invoice. title: TermsConditions type_:BillData: type: object properties: AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' attachments: $ref: '#/components/schemas/type_:Attachments' company: type: string description: Company name of the recipient of the invoice. discount: $ref: '#/components/schemas/type_:Discount' dutyAmount: $ref: '#/components/schemas/type_:DutyAmount' firstName: type: string description: First name of the recipient of the invoice. freightAmount: $ref: '#/components/schemas/type_:FreightAmount' frequency: $ref: '#/components/schemas/type_:Frequency' description: Frequency of scheduled invoice. invoiceAmount: $ref: '#/components/schemas/type_:InvoiceAmount' invoiceDate: type: string format: date description: 'Invoice date in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY.' invoiceDueDate: type: string format: date description: >- Invoice due date in one of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceEndDate: type: string format: date description: >- Indicate the date to finish a scheduled invoice cycle (`invoiceType`` = 1) in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceNumber: $ref: '#/components/schemas/type_:InvoiceNumber' description: Invoice number. Identifies the invoice under a paypoint. invoiceStatus: $ref: '#/components/schemas/type_:Invoicestatus' invoiceType: $ref: '#/components/schemas/type_:InvoiceType' items: type: array items: $ref: '#/components/schemas/type_:BillItem' description: Array of line items included in the invoice. lastName: type: string description: Last name of the recipient of the invoice. notes: type: string description: Notes included in the invoice. paymentTerms: $ref: '#/components/schemas/type_:BillDataPaymentTerms' purchaseOrder: $ref: '#/components/schemas/type_:PurchaseOrder' shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' shippingEmail: $ref: '#/components/schemas/type_:Email' description: Shipping recipient's contact email address. shippingFromZip: $ref: '#/components/schemas/type_:ShippingFromZip' shippingPhone: type: string description: Recipient phone number. shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' summaryCommodityCode: $ref: '#/components/schemas/type_:SummaryCommodityCode' tax: $ref: '#/components/schemas/type_:Tax' termsConditions: $ref: '#/components/schemas/type_:TermsConditions' title: BillData type_:PaymentCategories: type: object properties: amount: type: number format: double description: Price/cost per unit of item or category. description: type: string description: Description of item or category label: type: string description: Name of item or category. qty: type: integer default: 1 description: Quantity of item or category required: - amount - label title: PaymentCategories type_:SplitFundingContent: type: object properties: accountId: type: string description: The accountId for the account the split should be sent to. amount: type: number format: double description: Amount from the transaction to sent to this recipient. description: type: string description: A description for the split. recipientEntryPoint: type: string description: The entrypoint the split should be sent to. title: SplitFundingContent type_:SplitFunding: type: array items: $ref: '#/components/schemas/type_:SplitFundingContent' description: >- Split funding instructions for the transaction. The total amount of the splits must match the total amount of the transaction. title: SplitFunding type_:PaymentDetail: type: object properties: categories: type: array items: $ref: '#/components/schemas/type_:PaymentCategories' description: >- Array of payment categories/line items describing the amount to be paid. **Note**: These categories are for information only and aren't validated against the total amount provided. checkImage: type: object additionalProperties: description: Any type description: Object containing image of paper check. checkNumber: type: string description: >- A check number to be used in the ach transaction. **Required** for payment method = 'check'. currency: type: string description: >- The currency for the transaction, `USD` or `CAD`. If your paypoint is configured for CAD, you must send the `CAD` value in this field, otherwise it defaults to USD, which will cause the transaction to fail. serviceFee: type: number format: double description: >- Service fee to be deducted from the total amount. This amount must be a number, percentages aren't accepted. If you are using a percentage-based fee schedule, you must calculate the value manually. splitFunding: $ref: '#/components/schemas/type_:SplitFunding' description: >- Split funding instructions for the transaction. See [Split a Transaction](/developers/developer-guides/money-in-split-funding) for more. checkUniqueId: type: string description: >- Unique identifier for a processed check image. Required for RDC (Remote Deposit Capture) transactions where `achCode` is `BOC`. Use the `id` value from the [check processing](/developers/api-reference/moneyin/check-capture) response. totalAmount: type: number format: double description: >- Total amount to be charged. If a service fee is sent, then this amount should include the service fee." required: - totalAmount description: Details about the payment. title: PaymentDetail type_:Cardcvv: type: string description: >- Card Verification Value (CVV) associated with the card number. We **strongly recommend** that you include this field when using `card` as a method. title: Cardcvv type_:Cardexp: type: string description: >- Card expiration date in format MMYY or MM/YY. Required for card transactions. title: Cardexp type_:Cardholder: type: string description: Cardholder name. title: Cardholder type_:Cardnumber: type: string description: >- The card number. Required when method is `card` and a `storedMethodId` isn't included. title: Cardnumber type_:Cardzip: type: string description: >- ZIP or postal code for the billing address of cardholder. We **strongly recommend** that you include this field when using `card` as a method. title: Cardzip type_:Initiator: type: string description: >- **Strongly recommended** The cardholder-initiated transaction (CIT) or merchant-initiated transaction (MIT) indicator for the transaction. If you don't specify a value, Payabli defaults to `merchant`. Available values: - `payor`: For cardholder-initiated transactions - `merchant`: For merchant-initiated transactions See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Initiator type_:SaveIfSuccess: type: boolean description: >- When `true`, Payabli saves the payment method if the transaction is successful. The payment method ID is returned in the response as `methodReferenceId`. Defaults to `false`. title: SaveIfSuccess type_:PayMethodCredit: type: object properties: cardcvv: $ref: '#/components/schemas/type_:Cardcvv' cardexp: $ref: '#/components/schemas/type_:Cardexp' cardHolder: $ref: '#/components/schemas/type_:Cardholder' cardnumber: $ref: '#/components/schemas/type_:Cardnumber' cardzip: $ref: '#/components/schemas/type_:Cardzip' initiator: $ref: '#/components/schemas/type_:Initiator' method: type: string enum: - card description: >- Method to use for the transaction. For transactions with a credit or debit card, or a tokenized card, use `card`. saveIfSuccess: $ref: '#/components/schemas/type_:SaveIfSuccess' required: - cardexp - cardnumber - method title: PayMethodCredit type_:Achaccount: type: string description: Bank account number. title: Achaccount type_:Achaccounttype: type: string enum: - Checking - Savings description: 'Bank account type: Checking or Savings.' title: Achaccounttype type_:AchSecCode: type: string description: >- Standard Entry Class (SEC) code is a three letter code that describes how an ACH payment was authorized. Supported values are: - PPD (Prearranged Payment and Deposit) - Used for credits or debits where an accountholder authorizes a company to initiate either a single or recurring transaction to their personal bank account. Common examples include direct deposit of payroll, mortgage payments, or utility bills. This is the default value for subscription payments. - WEB (Internet-Initiated/Mobile Entry) - Used for debit entries when authorization is obtained from an accountholder via the internet or a wireless network. Common examples are online bill payments, ecommerce purchases, and mobile app payments where the consumer enters their banking information online. - TEL (Telephone-Initiated Entry) - Used for one-time debit entries where authorization is obtained from a consumer via telephone. Common examples are phone-based purchases or bill payments where the consumer provides their banking information over the phone. - CCD (Corporate Credit or Debit) - Used for fund transfers between business accounts. This code is specifically for business-to-business transactions. Common examples include vendor payments and other business-to-business payments. - BOC (Back Office Conversion) - Used to convert paper checks received in-person at a point-of-sale or staffed payment location into electronic ACH debits. Required for Remote Deposit Capture (RDC) transactions. Only supports consumer checks; business, government, and mailed checks aren't eligible. title: AchSecCode type_:AchHolder: type: string description: >- Bank account holder. This field is **required** when `method` is `ach` or `check`. title: AchHolder type_:AchHolderType: type: string enum: - personal - business default: personal description: 'The bank''s accountholder type: personal or business.' title: AchHolderType type_:Achrouting: type: string description: ABA/routing number of Bank account. title: Achrouting type_:Device: type: string description: Identifier of registered cloud device used in the transaction. title: Device type_:PayMethodACH: type: object properties: achAccount: $ref: '#/components/schemas/type_:Achaccount' description: Bank account number. This field is **required** when method = 'ach'. achAccountType: $ref: '#/components/schemas/type_:Achaccounttype' description: Bank account type. This field is **required** when method = 'ach'. achCode: $ref: '#/components/schemas/type_:AchSecCode' achHolder: $ref: '#/components/schemas/type_:AchHolder' achHolderType: $ref: '#/components/schemas/type_:AchHolderType' achRouting: $ref: '#/components/schemas/type_:Achrouting' description: >- ABA/routing number of bank account. This field is **required** when method = 'ach'. device: $ref: '#/components/schemas/type_:Device' method: type: string enum: - ach required: - achAccount - achHolder - achRouting - method title: PayMethodACH type_:Storedmethodid: type: string description: >- Payabli identifier of a tokenized payment method. If this field is used in a request, the `method` field is overridden and the payment is made using the payment token. title: Storedmethodid type_:StoredMethodUsageType: type: string description: >- **Strongly recommended** The usage type for the stored method, used for merchant-initiated transactions (MIT). If you don't specify a value, Payabli defaults to `unscheduled`. Available values: - `unscheduled`: This type is used for transactions that are one-time or otherwise not pre-scheduled. - `subscription`: This type is used for subscription payments. For example, monthly rental fees or ongoing service subscriptions. - `recurring`: This type is used for recurring payments that occur per a set plan. For example, splitting an HOA special assessment over 6 monthly payments. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: StoredMethodUsageType type_subscription:RequestSchedulePaymentMethodInitiator: type: object properties: initiator: $ref: '#/components/schemas/type_:Initiator' storedMethodId: $ref: '#/components/schemas/type_:Storedmethodid' description: Payabli identifier of a tokenized payment method. storedMethodUsageType: $ref: '#/components/schemas/type_:StoredMethodUsageType' description: >- The required and recommended fields for a payment made with a stored payment method. title: RequestSchedulePaymentMethodInitiator type_subscription:RequestSchedulePaymentMethod: oneOf: - $ref: '#/components/schemas/type_:PayMethodCredit' - $ref: '#/components/schemas/type_:PayMethodACH' - $ref: >- #/components/schemas/type_subscription:RequestSchedulePaymentMethodInitiator description: >- Information about the payment method for the transaction. Required and recommended fields for each payment method type are described in each schema below. title: RequestSchedulePaymentMethod type_:ScheduleDetail: type: object properties: endDate: type: string description: >- Subscription end date in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY or the value `untilcancelled` to indicate a scheduled payment with infinite cycle. frequency: $ref: '#/components/schemas/type_:Frequency' description: Frequency of the subscription. planId: type: integer description: >- This field is for future development, leave null. Identifier of subscription plan applied in the scheduled payment/subscription. startDate: type: string description: >- Subscription start date in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. This must be a future date. title: ScheduleDetail type_subscription:SetPause: type: boolean description: >- Flag indicating if subscription is paused. When a subscription is paused, no payments are processed until the subscription is unpaused, and the next payment date isn't calculated automatically. If you want to skip a payment instead, set the `totalAmount` to 0 in the `paymentDetails` object. title: SetPause type_:Source: type: string description: Custom identifier to indicate the transaction or request source. title: Source type_:Subdomain: type: string description: >- Refers to the payment page identifier. If provided, then the transaction is linked to the payment page. title: Subdomain type_subscription:SubscriptionRequestBody: type: object properties: customerData: $ref: '#/components/schemas/type_:PayorDataRequest' description: Object describing the customer/payor. entryPoint: $ref: '#/components/schemas/type_:Entrypointfield' invoiceData: $ref: '#/components/schemas/type_:BillData' description: Object describing an Invoice linked to the subscription. paymentDetails: $ref: '#/components/schemas/type_:PaymentDetail' description: >- Object describing details of the payment. To skip the payment, set the `totalAmount` to 0. Payments will be paused until the amount is updated to a non-zero value. When `totalAmount` is set to 0, the `serviceFee` must also be set to 0. paymentMethod: $ref: '#/components/schemas/type_subscription:RequestSchedulePaymentMethod' description: >- Information about the payment method for the transaction. Required and recommended fields for each payment method type are described in each schema below. scheduleDetails: $ref: '#/components/schemas/type_:ScheduleDetail' description: Object describing the schedule for subscription. setPause: $ref: '#/components/schemas/type_subscription:SetPause' source: $ref: '#/components/schemas/type_:Source' subdomain: $ref: '#/components/schemas/type_:Subdomain' title: SubscriptionRequestBody type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_subscription:AddSubscriptionResponse: type: object properties: customerId: $ref: '#/components/schemas/type_:CustomerId' responseText: $ref: '#/components/schemas/type_:ResponseText' isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: type: integer description: The identifier of the newly created subscription. required: - responseText - responseData description: Success response title: AddSubscriptionResponse type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript CardSubscription import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.subscription.newSubscription({ body: { customerData: { customerId: 4440, }, entryPoint: "f743aed24a", paymentDetails: { totalAmount: 100, serviceFee: 0, }, paymentMethod: { cardcvv: "123", cardexp: "02/25", cardHolder: "John Cassian", cardnumber: "4111111111111111", cardzip: "37615", initiator: "payor", method: "card", }, scheduleDetails: { endDate: "03-20-2025", frequency: "weekly", planId: 1, startDate: "09-20-2024", }, }, }); } main(); ``` ```python CardSubscription from payabli import payabli, PayorDataRequest, PaymentDetail, PayMethodCredit, ScheduleDetail client = payabli( api_key="YOUR_API_KEY_HERE", ) client.subscription.new_subscription( customer_data=PayorDataRequest( customer_id=4440, ), entry_point="f743aed24a", payment_details=PaymentDetail( total_amount=100, service_fee=0, ), payment_method=PayMethodCredit( cardcvv="123", cardexp="02/25", card_holder="John Cassian", cardnumber="4111111111111111", cardzip="37615", initiator="payor", method="card", ), schedule_details=ScheduleDetail( end_date="03-20-2025", frequency="weekly", plan_id=1, start_date="09-20-2024", ), ) ``` ```csharp CardSubscription using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Subscription.NewSubscriptionAsync( new RequestSchedule { Body = new SubscriptionRequestBody { CustomerData = new PayorDataRequest { CustomerId = 4440L }, EntryPoint = "f743aed24a", PaymentDetails = new PaymentDetail { TotalAmount = 100, ServiceFee = 0 }, PaymentMethod = new PayMethodCredit { Cardcvv = "123", Cardexp = "02/25", CardHolder = "John Cassian", Cardnumber = "4111111111111111", Cardzip = "37615", Initiator = "payor", Method = "card" }, ScheduleDetails = new ScheduleDetail { EndDate = "03-20-2025", Frequency = Frequency.Weekly, PlanId = 1, StartDate = "09-20-2024" } } } ); } } ``` ```go CardSubscription package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Subscription/add" payload := strings.NewReader("{\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"cardcvv\": \"123\",\n \"cardexp\": \"02/25\",\n \"cardHolder\": \"John Cassian\",\n \"cardnumber\": \"4111111111111111\",\n \"cardzip\": \"37615\",\n \"initiator\": \"payor\",\n \"method\": \"card\"\n },\n \"scheduleDetails\": {\n \"endDate\": \"03-20-2025\",\n \"frequency\": \"weekly\",\n \"planId\": 1,\n \"startDate\": \"09-20-2024\"\n }\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby CardSubscription require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Subscription/add") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"cardcvv\": \"123\",\n \"cardexp\": \"02/25\",\n \"cardHolder\": \"John Cassian\",\n \"cardnumber\": \"4111111111111111\",\n \"cardzip\": \"37615\",\n \"initiator\": \"payor\",\n \"method\": \"card\"\n },\n \"scheduleDetails\": {\n \"endDate\": \"03-20-2025\",\n \"frequency\": \"weekly\",\n \"planId\": 1,\n \"startDate\": \"09-20-2024\"\n }\n}" response = http.request(request) puts response.read_body ``` ```java CardSubscription import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/Subscription/add") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"cardcvv\": \"123\",\n \"cardexp\": \"02/25\",\n \"cardHolder\": \"John Cassian\",\n \"cardnumber\": \"4111111111111111\",\n \"cardzip\": \"37615\",\n \"initiator\": \"payor\",\n \"method\": \"card\"\n },\n \"scheduleDetails\": {\n \"endDate\": \"03-20-2025\",\n \"frequency\": \"weekly\",\n \"planId\": 1,\n \"startDate\": \"09-20-2024\"\n }\n}") .asString(); ``` ```php CardSubscription request('POST', 'https://api-sandbox.payabli.com/api/Subscription/add', [ 'body' => '{ "customerData": { "customerId": 4440 }, "entryPoint": "f743aed24a", "paymentDetails": { "totalAmount": 100, "serviceFee": 0 }, "paymentMethod": { "cardcvv": "123", "cardexp": "02/25", "cardHolder": "John Cassian", "cardnumber": "4111111111111111", "cardzip": "37615", "initiator": "payor", "method": "card" }, "scheduleDetails": { "endDate": "03-20-2025", "frequency": "weekly", "planId": 1, "startDate": "09-20-2024" } }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift CardSubscription import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "customerData": ["customerId": 4440], "entryPoint": "f743aed24a", "paymentDetails": [ "totalAmount": 100, "serviceFee": 0 ], "paymentMethod": [ "cardcvv": "123", "cardexp": "02/25", "cardHolder": "John Cassian", "cardnumber": "4111111111111111", "cardzip": "37615", "initiator": "payor", "method": "card" ], "scheduleDetails": [ "endDate": "03-20-2025", "frequency": "weekly", "planId": 1, "startDate": "09-20-2024" ] ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Subscription/add")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ```typescript ACHSubscription import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.subscription.newSubscription({ body: { customerData: { customerId: 4440, }, entryPoint: "f743aed24a", paymentDetails: { totalAmount: 100, serviceFee: 0, }, paymentMethod: { method: "ach", }, scheduleDetails: { endDate: "03-20-2025", frequency: "weekly", planId: 1, startDate: "09-20-2024", }, }, }); } main(); ``` ```python ACHSubscription from payabli import payabli, PayorDataRequest, PaymentDetail, PayMethodCredit, ScheduleDetail client = payabli( api_key="YOUR_API_KEY_HERE", ) client.subscription.new_subscription( customer_data=PayorDataRequest( customer_id=4440, ), entry_point="f743aed24a", payment_details=PaymentDetail( total_amount=100, service_fee=0, ), payment_method=PayMethodCredit( method="ach", ), schedule_details=ScheduleDetail( end_date="03-20-2025", frequency="weekly", plan_id=1, start_date="09-20-2024", ), ) ``` ```csharp ACHSubscription using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Subscription.NewSubscriptionAsync( new RequestSchedule { Body = new SubscriptionRequestBody { CustomerData = new PayorDataRequest { CustomerId = 4440L }, EntryPoint = "f743aed24a", PaymentDetails = new PaymentDetail { TotalAmount = 100, ServiceFee = 0 }, PaymentMethod = new PayMethodCredit { Method = "ach" }, ScheduleDetails = new ScheduleDetail { EndDate = "03-20-2025", Frequency = Frequency.Weekly, PlanId = 1, StartDate = "09-20-2024" } } } ); } } ``` ```go ACHSubscription package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Subscription/add" payload := strings.NewReader("{\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"achAccount\": \"3453445666\",\n \"achAccountType\": \"Checking\",\n \"achCode\": \"PPD\",\n \"achHolder\": \"John Cassian\",\n \"achHolderType\": \"personal\",\n \"achRouting\": \"021000021\",\n \"method\": \"ach\"\n },\n \"scheduleDetails\": {\n \"endDate\": \"03-20-2025\",\n \"frequency\": \"weekly\",\n \"planId\": 1,\n \"startDate\": \"09-20-2024\"\n }\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby ACHSubscription require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Subscription/add") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"achAccount\": \"3453445666\",\n \"achAccountType\": \"Checking\",\n \"achCode\": \"PPD\",\n \"achHolder\": \"John Cassian\",\n \"achHolderType\": \"personal\",\n \"achRouting\": \"021000021\",\n \"method\": \"ach\"\n },\n \"scheduleDetails\": {\n \"endDate\": \"03-20-2025\",\n \"frequency\": \"weekly\",\n \"planId\": 1,\n \"startDate\": \"09-20-2024\"\n }\n}" response = http.request(request) puts response.read_body ``` ```java ACHSubscription import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/Subscription/add") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"achAccount\": \"3453445666\",\n \"achAccountType\": \"Checking\",\n \"achCode\": \"PPD\",\n \"achHolder\": \"John Cassian\",\n \"achHolderType\": \"personal\",\n \"achRouting\": \"021000021\",\n \"method\": \"ach\"\n },\n \"scheduleDetails\": {\n \"endDate\": \"03-20-2025\",\n \"frequency\": \"weekly\",\n \"planId\": 1,\n \"startDate\": \"09-20-2024\"\n }\n}") .asString(); ``` ```php ACHSubscription request('POST', 'https://api-sandbox.payabli.com/api/Subscription/add', [ 'body' => '{ "customerData": { "customerId": 4440 }, "entryPoint": "f743aed24a", "paymentDetails": { "totalAmount": 100, "serviceFee": 0 }, "paymentMethod": { "achAccount": "3453445666", "achAccountType": "Checking", "achCode": "PPD", "achHolder": "John Cassian", "achHolderType": "personal", "achRouting": "021000021", "method": "ach" }, "scheduleDetails": { "endDate": "03-20-2025", "frequency": "weekly", "planId": 1, "startDate": "09-20-2024" } }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift ACHSubscription import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "customerData": ["customerId": 4440], "entryPoint": "f743aed24a", "paymentDetails": [ "totalAmount": 100, "serviceFee": 0 ], "paymentMethod": [ "achAccount": "3453445666", "achAccountType": "Checking", "achCode": "PPD", "achHolder": "John Cassian", "achHolderType": "personal", "achRouting": "021000021", "method": "ach" ], "scheduleDetails": [ "endDate": "03-20-2025", "frequency": "weekly", "planId": 1, "startDate": "09-20-2024" ] ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Subscription/add")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ```typescript StoredMethodSubscription import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.subscription.newSubscription({ body: { customerData: { customerId: 4440, }, entryPoint: "f743aed24a", paymentDetails: { totalAmount: 100, serviceFee: 0, }, paymentMethod: { initiator: "merchant", }, scheduleDetails: { endDate: "03-20-2025", frequency: "weekly", planId: 1, startDate: "09-20-2024", }, }, }); } main(); ``` ```python StoredMethodSubscription from payabli import payabli, PayorDataRequest, PaymentDetail, PayMethodCredit, ScheduleDetail client = payabli( api_key="YOUR_API_KEY_HERE", ) client.subscription.new_subscription( customer_data=PayorDataRequest( customer_id=4440, ), entry_point="f743aed24a", payment_details=PaymentDetail( total_amount=100, service_fee=0, ), payment_method=PayMethodCredit( initiator="merchant", ), schedule_details=ScheduleDetail( end_date="03-20-2025", frequency="weekly", plan_id=1, start_date="09-20-2024", ), ) ``` ```csharp StoredMethodSubscription using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Subscription.NewSubscriptionAsync( new RequestSchedule { Body = new SubscriptionRequestBody { CustomerData = new PayorDataRequest { CustomerId = 4440L }, EntryPoint = "f743aed24a", PaymentDetails = new PaymentDetail { TotalAmount = 100, ServiceFee = 0 }, PaymentMethod = new PayMethodCredit { Initiator = "merchant" }, ScheduleDetails = new ScheduleDetail { EndDate = "03-20-2025", Frequency = Frequency.Weekly, PlanId = 1, StartDate = "09-20-2024" } } } ); } } ``` ```go StoredMethodSubscription package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Subscription/add" payload := strings.NewReader("{\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"initiator\": \"merchant\",\n \"storedMethodId\": \"4000e8c6-3add-4200-8ac2-9b8a4f8b1639-1323\",\n \"storedMethodUsageType\": \"recurring\"\n },\n \"scheduleDetails\": {\n \"endDate\": \"03-20-2025\",\n \"frequency\": \"weekly\",\n \"planId\": 1,\n \"startDate\": \"09-20-2024\"\n }\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby StoredMethodSubscription require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Subscription/add") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"initiator\": \"merchant\",\n \"storedMethodId\": \"4000e8c6-3add-4200-8ac2-9b8a4f8b1639-1323\",\n \"storedMethodUsageType\": \"recurring\"\n },\n \"scheduleDetails\": {\n \"endDate\": \"03-20-2025\",\n \"frequency\": \"weekly\",\n \"planId\": 1,\n \"startDate\": \"09-20-2024\"\n }\n}" response = http.request(request) puts response.read_body ``` ```java StoredMethodSubscription import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/Subscription/add") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"paymentMethod\": {\n \"initiator\": \"merchant\",\n \"storedMethodId\": \"4000e8c6-3add-4200-8ac2-9b8a4f8b1639-1323\",\n \"storedMethodUsageType\": \"recurring\"\n },\n \"scheduleDetails\": {\n \"endDate\": \"03-20-2025\",\n \"frequency\": \"weekly\",\n \"planId\": 1,\n \"startDate\": \"09-20-2024\"\n }\n}") .asString(); ``` ```php StoredMethodSubscription request('POST', 'https://api-sandbox.payabli.com/api/Subscription/add', [ 'body' => '{ "customerData": { "customerId": 4440 }, "entryPoint": "f743aed24a", "paymentDetails": { "totalAmount": 100, "serviceFee": 0 }, "paymentMethod": { "initiator": "merchant", "storedMethodId": "4000e8c6-3add-4200-8ac2-9b8a4f8b1639-1323", "storedMethodUsageType": "recurring" }, "scheduleDetails": { "endDate": "03-20-2025", "frequency": "weekly", "planId": 1, "startDate": "09-20-2024" } }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift StoredMethodSubscription import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "customerData": ["customerId": 4440], "entryPoint": "f743aed24a", "paymentDetails": [ "totalAmount": 100, "serviceFee": 0 ], "paymentMethod": [ "initiator": "merchant", "storedMethodId": "4000e8c6-3add-4200-8ac2-9b8a4f8b1639-1323", "storedMethodUsageType": "recurring" ], "scheduleDetails": [ "endDate": "03-20-2025", "frequency": "weekly", "planId": 1, "startDate": "09-20-2024" ] ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Subscription/add")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Get subscription GET https://api-sandbox.payabli.com/api/Subscription/{subId} Retrieves a single subscription's details. Reference: https://docs.payabli.com/developers/api-reference/subscription/get-subscription ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Subscription/{subId}: get: operationId: get-subscription summary: Get a subscription description: Retrieves a single subscription's details. tags: - subpackage_subscription parameters: - name: subId in: path description: 'The subscription ID. ' required: true schema: type: integer - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:SubscriptionQueryRecords' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:CreatedAt: type: string format: date-time description: Timestamp of when record was created, in UTC. title: CreatedAt type_:BillingZip: type: string description: Billing address ZIP code. title: BillingZip type_:Email: type: string format: email description: Email address. title: Email type_:CustomerNumberNullable: type: string description: >- User-provided unique identifier for the customer. This is typically the customer ID from your own system. title: CustomerNumberNullable type_:Shippingaddress: type: string description: The shipping address. title: Shippingaddress type_:Shippingaddressadditional: type: string description: Additional line for shipping address. title: Shippingaddressadditional type_:Shippingcity: type: string description: Shipping city. title: Shippingcity type_:Shippingstate: type: string description: Shipping state or province. title: Shippingstate type_:Shippingzip: type: string description: >- Shipping ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". title: Shippingzip type_:Shippingcountry: type: string description: Shipping address country. title: Shippingcountry type_:CustomerId: type: integer format: int64 description: The Payabli-generated unique ID for the customer. title: CustomerId type_:CustomerStatus: type: integer description: |- Customer Status. Possible values: - `-99` Deleted - `0` Inactive - `1` Active - `85` Locked (typically due to multiple failed login attempts) title: CustomerStatus type_:AdditionalDataMap: type: object additionalProperties: type: string description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalDataMap type_:QueryTransactionPayorData: type: object properties: Identifiers: type: array items: description: Any type description: Array of field names to be used as identifiers. FirstName: type: string description: Customer/Payor first name. LastName: type: string description: Customer/Payor last name. CompanyName: type: string description: Customer's company name. BillingAddress1: type: string description: Customer's billing address. BillingAddress2: type: string description: Additional line for Customer's billing address. BillingCity: type: string description: Customer's billing city. BillingState: type: string description: >- Customer's billing state. Must be 2-letter state code for address in US. BillingZip: $ref: '#/components/schemas/type_:BillingZip' description: Customer's billing ZIP code. BillingCountry: type: string description: Customer's billing country. BillingPhone: type: string description: Customer's phone number. BillingEmail: $ref: '#/components/schemas/type_:Email' description: Customer's email address. CustomerNumber: $ref: '#/components/schemas/type_:CustomerNumberNullable' ShippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' ShippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' ShippingCity: $ref: '#/components/schemas/type_:Shippingcity' ShippingState: $ref: '#/components/schemas/type_:Shippingstate' ShippingZip: $ref: '#/components/schemas/type_:Shippingzip' ShippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' customerId: $ref: '#/components/schemas/type_:CustomerId' customerStatus: $ref: '#/components/schemas/type_:CustomerStatus' AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' title: QueryTransactionPayorData type_:EntrypageId: type: integer format: int64 description: >- If applicable, the internal reference ID to the payment page capturing the payment. title: EntrypageId type_:ExternalPaypointId: type: string description: >- A custom identifier for the paypoint, if applicable. Like `entrypoint` is the Payabli identifier for the merchant, `externalPaypointId` is a custom field you can use to include the merchant's ID from your own systems. title: ExternalPaypointId type_:FileContentFtype: type: string enum: - pdf - doc - docx - jpg - jpeg - png - gif - txt description: The MIME type of the file (if content is provided) title: FileContentFtype type_:FileContent: type: object properties: fContent: type: string description: >- Content of file, Base64-encoded. Ignored if furl is specified. Max upload size is 30 MB. filename: type: string description: The name of the attached file. ftype: $ref: '#/components/schemas/type_:FileContentFtype' description: The MIME type of the file (if content is provided) furl: type: string description: Optional URL provided to show or download the file remotely description: Contains details about a file. Max upload size is 30 MB. title: FileContent type_:Attachments: type: array items: $ref: '#/components/schemas/type_:FileContent' description: >- Array of `fileContent` objects with attached documents. Max upload size is 30 MB. title: Attachments type_:Discount: type: number format: double description: Discount applied to the invoice. title: Discount type_:DutyAmount: type: number format: double description: Duty amount. title: DutyAmount type_:FreightAmount: type: number format: double description: Freight/shipping amount. title: FreightAmount type_:Frequency: type: string enum: - onetime - weekly - every2weeks - every6months - monthly - every3months - annually description: Frequency for operation. title: Frequency type_:InvoiceAmount: type: number format: double description: Invoice total amount. title: InvoiceAmount type_:InvoiceNumber: type: string description: >- Custom number identifying the bill or invoice. Must be unique in paypoint. title: InvoiceNumber type_:Invoicestatus: type: integer description: |- Status for invoice. The accepted status values are: - 0 draft - 1 active - 2 partially paid - 4 paid/complete - 99 cancelled title: Invoicestatus type_:InvoiceType: type: integer description: Type of invoice. Only `0` for one-time invoices is currently supported. title: InvoiceType type_:ItemCommodityCode: type: string description: Item or product commodity code. Max length of 250 characters. title: ItemCommodityCode type_:ItemDescription: type: string description: Item or product description. Max length of 250 characters. title: ItemDescription type_:ItemProductCode: type: string description: Item or product code. Max length of 250 characters. title: ItemProductCode type_:ItemProductName: type: string description: Item or product name. Max length of 250 characters. title: ItemProductName type_:ItemUnitofMeasure: type: string description: Unit of measurement. Max length of 100 characters. title: ItemUnitofMeasure type_:BillItem: type: object properties: itemCategories: type: array items: type: string description: Array of tags classifying item or product. itemCommodityCode: $ref: '#/components/schemas/type_:ItemCommodityCode' itemCost: type: number format: double description: Item or product price per unit. itemDescription: $ref: '#/components/schemas/type_:ItemDescription' itemMode: type: integer description: >- Internal class of item or product: value '0' is only for invoices , '1' for bills and, '2' common for both. itemProductCode: $ref: '#/components/schemas/type_:ItemProductCode' itemProductName: $ref: '#/components/schemas/type_:ItemProductName' itemQty: type: integer description: Quantity of item or product. itemTaxAmount: type: number format: double description: Tax amount applied to item or product. itemTaxRate: type: number format: double description: Tax rate applied to item or product. itemTotalAmount: type: number format: double description: Total amount in item or product. itemUnitOfMeasure: $ref: '#/components/schemas/type_:ItemUnitofMeasure' required: - itemCost title: BillItem type_:BillDataPaymentTerms: type: string enum: - PIA - CIA - UR - NET10 - NET20 - NET30 - NET45 - NET60 - NET90 - EOM - MFI - 5MFI - 10MFI - 15MFI - 20MFI - 2/10NET30 - UF - 10UF - 20UF - 25UF - 50UF description: >- Payment terms for invoice. If no terms are defined, then response data for this field defaults to `NET30`. **Available Values:** - `PIA`: Payment in advance - `CIA`: Cash in advance - `UR`: Upon receipt - `NET10`: 10 days after invoice date - `NET20`: 20 days after invoice date - `NET30`: 30 days after invoice date - `NET45`: 45 days after invoice date - `NET60`: 60 days after invoice date - `NET90`: 90 days after invoice date - `EOM`: Due end of this month - `MFI`: 1st of the month following the invoice date - `5MFI`: 5th of the month following the invoice date - `10MFI`: 10th of the month following the invoice date - `15MFI`: 15th of the month following the invoice date - `20MFI`: 20th of the month following the invoice date - `2/10NET30`: 2% discount if paid within 10 days, otherwise net 30 days - `UF`: Until further notice - `10UF`: 10 days until further notice - `20UF`: 20 days until further notice - `25UF`: 25 days until further notice - `50UF`: 50 days until further notice title: BillDataPaymentTerms type_:PurchaseOrder: type: string description: Purchase order number. title: PurchaseOrder type_:ShippingFromZip: type: string description: Sender shipping ZIP code. title: ShippingFromZip type_:SummaryCommodityCode: type: string description: Commodity code. title: SummaryCommodityCode type_:Tax: type: number format: double description: Tax rate in percent applied to the invoice. title: Tax type_:TermsConditions: type: string description: Custom terms and conditions included in the invoice. title: TermsConditions type_:BillData: type: object properties: AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' attachments: $ref: '#/components/schemas/type_:Attachments' company: type: string description: Company name of the recipient of the invoice. discount: $ref: '#/components/schemas/type_:Discount' dutyAmount: $ref: '#/components/schemas/type_:DutyAmount' firstName: type: string description: First name of the recipient of the invoice. freightAmount: $ref: '#/components/schemas/type_:FreightAmount' frequency: $ref: '#/components/schemas/type_:Frequency' description: Frequency of scheduled invoice. invoiceAmount: $ref: '#/components/schemas/type_:InvoiceAmount' invoiceDate: type: string format: date description: 'Invoice date in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY.' invoiceDueDate: type: string format: date description: >- Invoice due date in one of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceEndDate: type: string format: date description: >- Indicate the date to finish a scheduled invoice cycle (`invoiceType`` = 1) in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceNumber: $ref: '#/components/schemas/type_:InvoiceNumber' description: Invoice number. Identifies the invoice under a paypoint. invoiceStatus: $ref: '#/components/schemas/type_:Invoicestatus' invoiceType: $ref: '#/components/schemas/type_:InvoiceType' items: type: array items: $ref: '#/components/schemas/type_:BillItem' description: Array of line items included in the invoice. lastName: type: string description: Last name of the recipient of the invoice. notes: type: string description: Notes included in the invoice. paymentTerms: $ref: '#/components/schemas/type_:BillDataPaymentTerms' purchaseOrder: $ref: '#/components/schemas/type_:PurchaseOrder' shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' shippingEmail: $ref: '#/components/schemas/type_:Email' description: Shipping recipient's contact email address. shippingFromZip: $ref: '#/components/schemas/type_:ShippingFromZip' shippingPhone: type: string description: Recipient phone number. shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' summaryCommodityCode: $ref: '#/components/schemas/type_:SummaryCommodityCode' tax: $ref: '#/components/schemas/type_:Tax' termsConditions: $ref: '#/components/schemas/type_:TermsConditions' title: BillData type_:LastModified: type: string format: date-time description: Timestamp of when record was last updated, in UTC. title: LastModified type_:Netamountnullable: type: number format: double description: Net amount. title: Netamountnullable type_:OrgParentName: type: string description: The name of the parent organization. title: OrgParentName type_:Accountexp: type: string description: Expiration date of card used in transaction. title: Accountexp type_:Accountid: type: string description: Custom identifier for payment connector. title: Accountid type_:Accounttype: type: string description: Bank account type or card brand. title: Accounttype type_:Accountzip: type: string description: ZIP code for card used in transaction. title: Accountzip type_:BinData: type: object properties: binMatchedLength: type: string description: |- The number of characters from the beginning of the card number that were matched against a Bank Identification Number (BIN) or the Card Range table. binCardBrand: type: string description: |- The card brand. For example, Visa, Mastercard, American Express, Discover. binCardType: type: string description: 'The type of card: Credit or Debit.' binCardCategory: type: string description: >- The category of the card, which indicates the card product. For example: Standard, Gold, Platinum, etc. The binCardCategory for prepaid cards is marked `PREPAID`. binCardIssuer: type: string description: The name of the financial institution that issued the card. binCardIssuerCountry: type: string description: The issuing financial institution's country name. binCardIssuerCountryCodeA2: type: string description: >- The issuing financial institution's two-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIssuerCountryNumber: type: string description: >- The issuing financial institution's ISO standard numeric country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIsRegulated: type: string description: Indicates whether the card is regulated. binCardUseCategory: type: string description: The use category classification for the card. binCardIssuerCountryCodeA3: type: string description: >- The issuing financial institution's three-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. description: >- Object containing information related to the card. This object is `null` unless the payment method is card. If the payment method is Apple Pay, the binData will be related to the DPAN (device primary account number), not the card connected to Apple Pay. title: BinData type_:Holdername: type: string description: Account holder name for the method. title: Holdername type_:Initiator: type: string description: >- **Strongly recommended** The cardholder-initiated transaction (CIT) or merchant-initiated transaction (MIT) indicator for the transaction. If you don't specify a value, Payabli defaults to `merchant`. Available values: - `payor`: For cardholder-initiated transactions - `merchant`: For merchant-initiated transactions See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Initiator type_:Maskedaccount: type: string description: >- Masked card or bank account used in transaction. In the case of Apple Pay, this is a masked DPAN (device primary account number). title: Maskedaccount type_:Orderdescription: type: string description: Text description of the transaction. title: Orderdescription type_:PaymentCategories: type: object properties: amount: type: number format: double description: Price/cost per unit of item or category. description: type: string description: Description of item or category label: type: string description: Name of item or category. qty: type: integer default: 1 description: Quantity of item or category required: - amount - label title: PaymentCategories type_:SplitFundingContent: type: object properties: accountId: type: string description: The accountId for the account the split should be sent to. amount: type: number format: double description: Amount from the transaction to sent to this recipient. description: type: string description: A description for the split. recipientEntryPoint: type: string description: The entrypoint the split should be sent to. title: SplitFundingContent type_:SplitFunding: type: array items: $ref: '#/components/schemas/type_:SplitFundingContent' description: >- Split funding instructions for the transaction. The total amount of the splits must match the total amount of the transaction. title: SplitFunding type_:PaymentDetail: type: object properties: categories: type: array items: $ref: '#/components/schemas/type_:PaymentCategories' description: >- Array of payment categories/line items describing the amount to be paid. **Note**: These categories are for information only and aren't validated against the total amount provided. checkImage: type: object additionalProperties: description: Any type description: Object containing image of paper check. checkNumber: type: string description: >- A check number to be used in the ach transaction. **Required** for payment method = 'check'. currency: type: string description: >- The currency for the transaction, `USD` or `CAD`. If your paypoint is configured for CAD, you must send the `CAD` value in this field, otherwise it defaults to USD, which will cause the transaction to fail. serviceFee: type: number format: double description: >- Service fee to be deducted from the total amount. This amount must be a number, percentages aren't accepted. If you are using a percentage-based fee schedule, you must calculate the value manually. splitFunding: $ref: '#/components/schemas/type_:SplitFunding' description: >- Split funding instructions for the transaction. See [Split a Transaction](/developers/developer-guides/money-in-split-funding) for more. checkUniqueId: type: string description: >- Unique identifier for a processed check image. Required for RDC (Remote Deposit Capture) transactions where `achCode` is `BOC`. Use the `id` value from the [check processing](/developers/api-reference/moneyin/check-capture) response. totalAmount: type: number format: double description: >- Total amount to be charged. If a service fee is sent, then this amount should include the service fee." required: - totalAmount description: Details about the payment. title: PaymentDetail type_:Sequence: type: string description: >- The order of the transaction for cardholder-initiated transaction (CIT) and merchant-initiated transaction (MIT) purposes. This field is automatically detected and populated by Payabli. Available values: - `first`: The first use of the payment method. This is almost always a cardholder-initiated transaction. - `subsequent`: For merchant-initiated transactions after the first use of the payment method. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Sequence type_:Signaturedata: type: string title: Signaturedata type_:Storedmethodid: type: string description: >- Payabli identifier of a tokenized payment method. If this field is used in a request, the `method` field is overridden and the payment is made using the payment token. title: Storedmethodid type_:StoredMethodUsageType: type: string description: >- **Strongly recommended** The usage type for the stored method, used for merchant-initiated transactions (MIT). If you don't specify a value, Payabli defaults to `unscheduled`. Available values: - `unscheduled`: This type is used for transactions that are one-time or otherwise not pre-scheduled. - `subscription`: This type is used for subscription payments. For example, monthly rental fees or ongoing service subscriptions. - `recurring`: This type is used for recurring payments that occur per a set plan. For example, splitting an HOA special assessment over 6 monthly payments. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: StoredMethodUsageType type_:QueryPaymentData: type: object properties: AccountExp: $ref: '#/components/schemas/type_:Accountexp' accountId: $ref: '#/components/schemas/type_:Accountid' AccountType: $ref: '#/components/schemas/type_:Accounttype' AccountZip: $ref: '#/components/schemas/type_:Accountzip' binData: $ref: '#/components/schemas/type_:BinData' HolderName: $ref: '#/components/schemas/type_:Holdername' Initiator: $ref: '#/components/schemas/type_:Initiator' MaskedAccount: $ref: '#/components/schemas/type_:Maskedaccount' orderDescription: $ref: '#/components/schemas/type_:Orderdescription' paymentDetails: $ref: '#/components/schemas/type_:PaymentDetail' Sequence: $ref: '#/components/schemas/type_:Sequence' SignatureData: $ref: '#/components/schemas/type_:Signaturedata' StoredId: $ref: '#/components/schemas/type_:Storedmethodid' description: Identifier of stored payment method used in transaction. StoredMethodUsageType: $ref: '#/components/schemas/type_:StoredMethodUsageType' title: QueryPaymentData type_:Dbaname: type: string description: >- The alternate or common name that this business is doing business under usually referred to as a DBA name. title: Dbaname type_:Entrypointfield: type: string description: The entrypoint identifier. title: Entrypointfield type_:PaypointId: type: integer format: int64 description: The paypoint's ID. Note that this is different than the entryname. title: PaypointId type_:Legalname: type: string description: Business legal name. title: Legalname type_:Source: type: string description: Custom identifier to indicate the transaction or request source. title: Source type_:GeneralEvents: type: object properties: description: type: string description: Event description. eventTime: type: string format: date-time description: Event timestamp, in UTC. extraData: type: object additionalProperties: description: Any type description: Extra data. refData: type: string description: Reference data. source: $ref: '#/components/schemas/type_:Source' description: The event source. title: GeneralEvents type_:SubscriptionQueryRecords: type: object properties: CreatedAt: $ref: '#/components/schemas/type_:CreatedAt' description: Timestamp of when the subscription ws created, in UTC. Customer: $ref: '#/components/schemas/type_:QueryTransactionPayorData' EndDate: type: - string - 'null' format: date-time description: The subscription's end date. EntrypageId: $ref: '#/components/schemas/type_:EntrypageId' ExternalPaypointID: $ref: '#/components/schemas/type_:ExternalPaypointId' FeeAmount: type: number format: double description: Fee applied to the subscription. Frequency: type: string description: The subscription's frequency. IdSub: type: integer format: int64 description: The subscription's ID. InvoiceData: $ref: '#/components/schemas/type_:BillData' LastRun: type: - string - 'null' format: date-time description: The last time the subscription was processed. LastUpdated: $ref: '#/components/schemas/type_:LastModified' description: The last date and time the subscription was updated. LeftCycles: type: integer description: The number of cycles the subscription has left. Method: type: string description: The subscription's payment method. NetAmount: $ref: '#/components/schemas/type_:Netamountnullable' description: The subscription amount, minus any fees. NextDate: type: - string - 'null' format: date-time description: The next date the subscription will be processed. ParentOrgName: $ref: '#/components/schemas/type_:OrgParentName' PaymentData: $ref: '#/components/schemas/type_:QueryPaymentData' PaypointDbaname: $ref: '#/components/schemas/type_:Dbaname' description: The paypoint's DBA name. PaypointEntryname: $ref: '#/components/schemas/type_:Entrypointfield' description: The paypoint's entryname. PaypointId: $ref: '#/components/schemas/type_:PaypointId' PaypointLegalname: $ref: '#/components/schemas/type_:Legalname' description: The paypoint's legal name. PlanId: type: integer description: Payment plan ID. Source: $ref: '#/components/schemas/type_:Source' StartDate: type: - string - 'null' format: date-time description: The subscription start date. SubEvents: type: array items: $ref: '#/components/schemas/type_:GeneralEvents' description: Events associated with the subscription. SubStatus: type: integer description: |- The subscription's status. - 0: Paused - 1: Active TotalAmount: type: number format: double description: The subscription amount, including any fees. TotalCycles: type: integer description: The total number of cycles the subscription is set to run. UntilCancelled: type: boolean description: >- When `true`, the subscription has no explicit end date and will run until canceled. required: - EndDate - LastRun - NextDate - StartDate title: SubscriptionQueryRecords type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript GetSubscription import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.subscription.getSubscription(263); } main(); ``` ```python GetSubscription from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.subscription.get_subscription( sub_id=263, ) ``` ```csharp GetSubscription using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Subscription.GetSubscriptionAsync( 263 ); } } ``` ```go GetSubscription package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Subscription/263" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby GetSubscription require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Subscription/263") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java GetSubscription import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Subscription/263") .header("requestToken", "") .asString(); ``` ```php GetSubscription request('GET', 'https://api-sandbox.payabli.com/api/Subscription/263', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift GetSubscription import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Subscription/263")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Update subscription PUT https://api-sandbox.payabli.com/api/Subscription/{subId} Content-Type: application/json Updates a subscription's details. Reference: https://docs.payabli.com/developers/api-reference/subscription/update-subscription ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Subscription/{subId}: put: operationId: update-subscription summary: Update a subscription description: Updates a subscription's details. tags: - subpackage_subscription parameters: - name: subId in: path description: 'The subscription ID. ' required: true schema: type: integer - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: >- #/components/schemas/type_subscription:UpdateSubscriptionResponse requestBody: content: application/json: schema: type: object properties: paymentDetails: $ref: '#/components/schemas/type_:PaymentDetail' description: >- Object describing details of the payment. To skip the payment, set the `totalAmount` to 0. Payments will be paused until the amount is updated to a non-zero value. When `totalAmount` is set to 0, the `serviceFee` must also be set to 0. scheduleDetails: $ref: '#/components/schemas/type_:ScheduleDetail' description: Object describing the schedule for subscription setPause: $ref: '#/components/schemas/type_subscription:SetPause' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:PaymentCategories: type: object properties: amount: type: number format: double description: Price/cost per unit of item or category. description: type: string description: Description of item or category label: type: string description: Name of item or category. qty: type: integer default: 1 description: Quantity of item or category required: - amount - label title: PaymentCategories type_:SplitFundingContent: type: object properties: accountId: type: string description: The accountId for the account the split should be sent to. amount: type: number format: double description: Amount from the transaction to sent to this recipient. description: type: string description: A description for the split. recipientEntryPoint: type: string description: The entrypoint the split should be sent to. title: SplitFundingContent type_:SplitFunding: type: array items: $ref: '#/components/schemas/type_:SplitFundingContent' description: >- Split funding instructions for the transaction. The total amount of the splits must match the total amount of the transaction. title: SplitFunding type_:PaymentDetail: type: object properties: categories: type: array items: $ref: '#/components/schemas/type_:PaymentCategories' description: >- Array of payment categories/line items describing the amount to be paid. **Note**: These categories are for information only and aren't validated against the total amount provided. checkImage: type: object additionalProperties: description: Any type description: Object containing image of paper check. checkNumber: type: string description: >- A check number to be used in the ach transaction. **Required** for payment method = 'check'. currency: type: string description: >- The currency for the transaction, `USD` or `CAD`. If your paypoint is configured for CAD, you must send the `CAD` value in this field, otherwise it defaults to USD, which will cause the transaction to fail. serviceFee: type: number format: double description: >- Service fee to be deducted from the total amount. This amount must be a number, percentages aren't accepted. If you are using a percentage-based fee schedule, you must calculate the value manually. splitFunding: $ref: '#/components/schemas/type_:SplitFunding' description: >- Split funding instructions for the transaction. See [Split a Transaction](/developers/developer-guides/money-in-split-funding) for more. checkUniqueId: type: string description: >- Unique identifier for a processed check image. Required for RDC (Remote Deposit Capture) transactions where `achCode` is `BOC`. Use the `id` value from the [check processing](/developers/api-reference/moneyin/check-capture) response. totalAmount: type: number format: double description: >- Total amount to be charged. If a service fee is sent, then this amount should include the service fee." required: - totalAmount description: Details about the payment. title: PaymentDetail type_:Frequency: type: string enum: - onetime - weekly - every2weeks - every6months - monthly - every3months - annually description: Frequency for operation. title: Frequency type_:ScheduleDetail: type: object properties: endDate: type: string description: >- Subscription end date in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY or the value `untilcancelled` to indicate a scheduled payment with infinite cycle. frequency: $ref: '#/components/schemas/type_:Frequency' description: Frequency of the subscription. planId: type: integer description: >- This field is for future development, leave null. Identifier of subscription plan applied in the scheduled payment/subscription. startDate: type: string description: >- Subscription start date in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. This must be a future date. title: ScheduleDetail type_subscription:SetPause: type: boolean description: >- Flag indicating if subscription is paused. When a subscription is paused, no payments are processed until the subscription is unpaused, and the next payment date isn't calculated automatically. If you want to skip a payment instead, set the `totalAmount` to 0 in the `paymentDetails` object. title: SetPause type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:CustomerId: type: integer format: int64 description: The Payabli-generated unique ID for the customer. title: CustomerId type_subscription:UpdateSubscriptionResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: type: string description: >- If `isSuccess` = true, this contains the identifier of the subscription, and sometimes extra information, depending on what was updated. If `isSuccess` = false, this contains the reason for the failure. responseText: $ref: '#/components/schemas/type_:ResponseText' customerId: $ref: '#/components/schemas/type_:CustomerId' required: - responseText description: Success response title: UpdateSubscriptionResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript PauseSubscription import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.subscription.updateSubscription(231, { setPause: true, }); } main(); ``` ```python PauseSubscription from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.subscription.update_subscription( sub_id=231, set_pause=True, ) ``` ```csharp PauseSubscription using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Subscription.UpdateSubscriptionAsync( 231, new RequestUpdateSchedule { SetPause = true } ); } } ``` ```go PauseSubscription package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Subscription/231" payload := strings.NewReader("{\n \"setPause\": true\n}") req, _ := http.NewRequest("PUT", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby PauseSubscription require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Subscription/231") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Put.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"setPause\": true\n}" response = http.request(request) puts response.read_body ``` ```java PauseSubscription import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.put("https://api-sandbox.payabli.com/api/Subscription/231") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"setPause\": true\n}") .asString(); ``` ```php PauseSubscription request('PUT', 'https://api-sandbox.payabli.com/api/Subscription/231', [ 'body' => '{ "setPause": true }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift PauseSubscription import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = ["setPause": true] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Subscription/231")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "PUT" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ```typescript UnpauseSubscription import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.subscription.updateSubscription(231, { setPause: false, }); } main(); ``` ```python UnpauseSubscription from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.subscription.update_subscription( sub_id=231, set_pause=False, ) ``` ```csharp UnpauseSubscription using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Subscription.UpdateSubscriptionAsync( 231, new RequestUpdateSchedule { SetPause = false } ); } } ``` ```go UnpauseSubscription package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Subscription/231" payload := strings.NewReader("{\n \"setPause\": false\n}") req, _ := http.NewRequest("PUT", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby UnpauseSubscription require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Subscription/231") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Put.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"setPause\": false\n}" response = http.request(request) puts response.read_body ``` ```java UnpauseSubscription import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.put("https://api-sandbox.payabli.com/api/Subscription/231") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"setPause\": false\n}") .asString(); ``` ```php UnpauseSubscription request('PUT', 'https://api-sandbox.payabli.com/api/Subscription/231', [ 'body' => '{ "setPause": false }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift UnpauseSubscription import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = ["setPause": false] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Subscription/231")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "PUT" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ```typescript UpdateSubscription import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.subscription.updateSubscription(231, { paymentDetails: { totalAmount: 100, serviceFee: 0, }, scheduleDetails: { endDate: "03-20-2025", frequency: "weekly", planId: 1, startDate: "09-20-2024", }, }); } main(); ``` ```python UpdateSubscription from payabli import payabli, PaymentDetail, ScheduleDetail client = payabli( api_key="YOUR_API_KEY_HERE", ) client.subscription.update_subscription( sub_id=231, payment_details=PaymentDetail( total_amount=100, service_fee=0, ), schedule_details=ScheduleDetail( end_date="03-20-2025", frequency="weekly", plan_id=1, start_date="09-20-2024", ), ) ``` ```csharp UpdateSubscription using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Subscription.UpdateSubscriptionAsync( 231, new RequestUpdateSchedule { PaymentDetails = new PaymentDetail { TotalAmount = 100, ServiceFee = 0 }, ScheduleDetails = new ScheduleDetail { EndDate = "03-20-2025", Frequency = Frequency.Weekly, PlanId = 1, StartDate = "09-20-2024" } } ); } } ``` ```go UpdateSubscription package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Subscription/231" payload := strings.NewReader("{\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"scheduleDetails\": {\n \"endDate\": \"03-20-2025\",\n \"frequency\": \"weekly\",\n \"planId\": 1,\n \"startDate\": \"09-20-2024\"\n }\n}") req, _ := http.NewRequest("PUT", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby UpdateSubscription require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Subscription/231") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Put.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"scheduleDetails\": {\n \"endDate\": \"03-20-2025\",\n \"frequency\": \"weekly\",\n \"planId\": 1,\n \"startDate\": \"09-20-2024\"\n }\n}" response = http.request(request) puts response.read_body ``` ```java UpdateSubscription import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.put("https://api-sandbox.payabli.com/api/Subscription/231") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"paymentDetails\": {\n \"totalAmount\": 100,\n \"serviceFee\": 0\n },\n \"scheduleDetails\": {\n \"endDate\": \"03-20-2025\",\n \"frequency\": \"weekly\",\n \"planId\": 1,\n \"startDate\": \"09-20-2024\"\n }\n}") .asString(); ``` ```php UpdateSubscription request('PUT', 'https://api-sandbox.payabli.com/api/Subscription/231', [ 'body' => '{ "paymentDetails": { "totalAmount": 100, "serviceFee": 0 }, "scheduleDetails": { "endDate": "03-20-2025", "frequency": "weekly", "planId": 1, "startDate": "09-20-2024" } }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift UpdateSubscription import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "paymentDetails": [ "totalAmount": 100, "serviceFee": 0 ], "scheduleDetails": [ "endDate": "03-20-2025", "frequency": "weekly", "planId": 1, "startDate": "09-20-2024" ] ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Subscription/231")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "PUT" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Delete subscription DELETE https://api-sandbox.payabli.com/api/Subscription/{subId} Deletes a subscription, autopay, or recurring payment and prevents future charges. Reference: https://docs.payabli.com/developers/api-reference/subscription/remove-a-subscription ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Subscription/{subId}: delete: operationId: remove-subscription summary: Delete a subscription description: >- Deletes a subscription, autopay, or recurring payment and prevents future charges. tags: - subpackage_subscription parameters: - name: subId in: path description: 'The subscription ID. ' required: true schema: type: integer - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: >- #/components/schemas/type_subscription:RemoveSubscriptionResponse '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_subscription:RemoveSubscriptionResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: type: string description: >- If `isSuccess` = true, this contains the identifier of the subscription. If `isSuccess` = false, this contains the reason for the failure. responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText description: Success response title: RemoveSubscriptionResponse type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript DeleteSubscription import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.subscription.removeSubscription(396); } main(); ``` ```python DeleteSubscription from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.subscription.remove_subscription( sub_id=396, ) ``` ```csharp DeleteSubscription using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Subscription.RemoveSubscriptionAsync( 396 ); } } ``` ```go DeleteSubscription package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Subscription/396" req, _ := http.NewRequest("DELETE", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby DeleteSubscription require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Subscription/396") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Delete.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java DeleteSubscription import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.delete("https://api-sandbox.payabli.com/api/Subscription/396") .header("requestToken", "") .asString(); ``` ```php DeleteSubscription request('DELETE', 'https://api-sandbox.payabli.com/api/Subscription/396', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift DeleteSubscription import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Subscription/396")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "DELETE" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # List subscriptions by paypoint GET https://api-sandbox.payabli.com/api/Query/subscriptions/{entry} Returns a list of subscriptions for a single paypoint. Use filters to limit results. Include the `exportFormat` query parameter to return the results as a file instead of a JSON response. Reference: https://docs.payabli.com/developers/api-reference/subscription/get-list-of-subscriptions-for-an-entrypoint ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Query/subscriptions/{entry}: get: operationId: list-subscriptions summary: Get list of subscriptions for a paypoint description: >- Returns a list of subscriptions for a single paypoint. Use filters to limit results. Include the `exportFormat` query parameter to return the results as a file instead of a JSON response. tags: - subpackage_query parameters: - name: entry in: path required: true schema: $ref: '#/components/schemas/type_:Entry' - name: exportFormat in: query required: false schema: $ref: '#/components/schemas/type_:ExportFormat' - name: fromRecord in: query description: >- The number of records to skip before starting to collect the result set. required: false schema: type: integer default: 0 - name: limitRecord in: query description: >- Max number of records to return for the query. Use `0` or negative value to return all records. required: false schema: type: integer default: 20 - name: parameters in: query description: >- Collection of field names, conditions, and values used to filter the query. **You must remove `parameters=` from the request before you send it, otherwise Payabli will ignore the filters.** Because of a technical limitation, you can't make a request that includes filters from the API console on this page. The response won't be filtered. Instead, copy the request, remove `parameters=` and run the request in a different client. For example: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?parameters=totalAmount(gt)=1000&limitRecord=20 should become: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?totalAmount(gt)=1000&limitRecord=20 See [Filters and Conditions Reference](/developers/developer-guides/pay-ops-reporting-engine-overview#filters-and-conditions-reference) for more information. **List of field names accepted:** - `startDate` (gt, ge, lt, le, eq, ne) - `endDate` (gt, ge, lt, le, eq, ne) - `nextDate` (gt, ge, lt, le, eq, ne) - `frequency` (in, nin, ne, eq) - `method` (in, nin, eq, ne) - `totalAmount` (gt, ge, lt, le, eq, ne) - `netAmount` (gt, ge, lt, le, eq, ne) - `feeAmount` (gt, ge, lt, le, eq, ne) - `status` (in, nin, eq, ne) - `untilcancelled` (eq, ne) - `payaccountLastfour` (nct, ct) - `payaccountType` (ne, eq, in, nin) - `payaccountCurrency` (ne, eq, in, nin) - `customerFirstname` (ct, nct, eq, ne) - `customerLastname` (ct, nct, eq, ne) - `customerName` (ct, nct) - `customerId` (eq, ne) - `customerNumber` (ct, nct, eq, ne) - `customerCompanyname` (ct, nct, eq, ne) - `customerAddress` (ct, nct, eq, ne) - `customerCity` (ct, nct, eq, ne) - `customerZip` (ct, nct, eq, ne) - `customerState` (ct, nct, eq, ne) - `customerCountry` (ct, nct, eq, ne) - `customerPhone` (ct, nct, eq, ne) - `customerEmail` (ct, nct, eq, ne) - `customerShippingAddress` (ct, nct, eq, ne) - `customerShippingCity` (ct, nct, eq, ne) - `customerShippingZip` (ct, nct, eq, ne) - `customerShippingState` (ct, nct, eq, ne) - `customerShippingCountry` (ct, nct, eq, ne) - `orgId` (eq) - `paypointId` (ne, eq) - `paypointLegal` (ne, eq, ct, nct) - `paypointDba` (ne, eq, ct, nct) - `orgName` (ne, eq, ct, nct) - `externalPaypointId` (ct, nct, ne, eq) - `subId` (eq, ne) - `orderDescription` (ct, nct) - `cycles` (eq, ne, gt, ge, lt, le) - `leftcycles` (eq, ne, gt, ge, lt, le) - `createdAt` (eq, ne, gt, ge, lt, le) - `updatedOn` (eq, ne, gt, ge, lt, le) - `invoiceNumber` (ct, nct) - `additional-xxx` (ne, eq, ct, nct) where xxx is the additional field name **List of comparison operators accepted:** - `eq` or empty => equal - `gt` => greater than - `ge` => greater or equal - `lt` => less than - `le` => less or equal - `ne` => not equal - `ct` => contains - `nct` => not contains - `in` => inside array - `nin` => not inside array required: false schema: type: object additionalProperties: type: string - name: sortBy in: query description: >- The field name to use for sorting results. Use `desc(field_name)` to sort descending by `field_name`, and use `asc(field_name)` to sort ascending by `field_name`. required: false schema: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:QuerySubscriptionResponse' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:Entry: type: string description: >- The entity's entrypoint identifier. [Learn more](/developers/api-reference/api-overview#entrypoint-vs-entry) title: Entry type_:ExportFormat: type: string enum: - csv - xlsx description: >- Export format for file downloads. When specified, returns data as a file instead of JSON. title: ExportFormat type_:CreatedAt: type: string format: date-time description: Timestamp of when record was created, in UTC. title: CreatedAt type_:BillingZip: type: string description: Billing address ZIP code. title: BillingZip type_:Email: type: string format: email description: Email address. title: Email type_:CustomerNumberNullable: type: string description: >- User-provided unique identifier for the customer. This is typically the customer ID from your own system. title: CustomerNumberNullable type_:Shippingaddress: type: string description: The shipping address. title: Shippingaddress type_:Shippingaddressadditional: type: string description: Additional line for shipping address. title: Shippingaddressadditional type_:Shippingcity: type: string description: Shipping city. title: Shippingcity type_:Shippingstate: type: string description: Shipping state or province. title: Shippingstate type_:Shippingzip: type: string description: >- Shipping ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". title: Shippingzip type_:Shippingcountry: type: string description: Shipping address country. title: Shippingcountry type_:CustomerId: type: integer format: int64 description: The Payabli-generated unique ID for the customer. title: CustomerId type_:CustomerStatus: type: integer description: |- Customer Status. Possible values: - `-99` Deleted - `0` Inactive - `1` Active - `85` Locked (typically due to multiple failed login attempts) title: CustomerStatus type_:AdditionalDataMap: type: object additionalProperties: type: string description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalDataMap type_:QueryTransactionPayorData: type: object properties: Identifiers: type: array items: description: Any type description: Array of field names to be used as identifiers. FirstName: type: string description: Customer/Payor first name. LastName: type: string description: Customer/Payor last name. CompanyName: type: string description: Customer's company name. BillingAddress1: type: string description: Customer's billing address. BillingAddress2: type: string description: Additional line for Customer's billing address. BillingCity: type: string description: Customer's billing city. BillingState: type: string description: >- Customer's billing state. Must be 2-letter state code for address in US. BillingZip: $ref: '#/components/schemas/type_:BillingZip' description: Customer's billing ZIP code. BillingCountry: type: string description: Customer's billing country. BillingPhone: type: string description: Customer's phone number. BillingEmail: $ref: '#/components/schemas/type_:Email' description: Customer's email address. CustomerNumber: $ref: '#/components/schemas/type_:CustomerNumberNullable' ShippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' ShippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' ShippingCity: $ref: '#/components/schemas/type_:Shippingcity' ShippingState: $ref: '#/components/schemas/type_:Shippingstate' ShippingZip: $ref: '#/components/schemas/type_:Shippingzip' ShippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' customerId: $ref: '#/components/schemas/type_:CustomerId' customerStatus: $ref: '#/components/schemas/type_:CustomerStatus' AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' title: QueryTransactionPayorData type_:EntrypageId: type: integer format: int64 description: >- If applicable, the internal reference ID to the payment page capturing the payment. title: EntrypageId type_:ExternalPaypointId: type: string description: >- A custom identifier for the paypoint, if applicable. Like `entrypoint` is the Payabli identifier for the merchant, `externalPaypointId` is a custom field you can use to include the merchant's ID from your own systems. title: ExternalPaypointId type_:FileContentFtype: type: string enum: - pdf - doc - docx - jpg - jpeg - png - gif - txt description: The MIME type of the file (if content is provided) title: FileContentFtype type_:FileContent: type: object properties: fContent: type: string description: >- Content of file, Base64-encoded. Ignored if furl is specified. Max upload size is 30 MB. filename: type: string description: The name of the attached file. ftype: $ref: '#/components/schemas/type_:FileContentFtype' description: The MIME type of the file (if content is provided) furl: type: string description: Optional URL provided to show or download the file remotely description: Contains details about a file. Max upload size is 30 MB. title: FileContent type_:Attachments: type: array items: $ref: '#/components/schemas/type_:FileContent' description: >- Array of `fileContent` objects with attached documents. Max upload size is 30 MB. title: Attachments type_:Discount: type: number format: double description: Discount applied to the invoice. title: Discount type_:DutyAmount: type: number format: double description: Duty amount. title: DutyAmount type_:FreightAmount: type: number format: double description: Freight/shipping amount. title: FreightAmount type_:Frequency: type: string enum: - onetime - weekly - every2weeks - every6months - monthly - every3months - annually description: Frequency for operation. title: Frequency type_:InvoiceAmount: type: number format: double description: Invoice total amount. title: InvoiceAmount type_:InvoiceNumber: type: string description: >- Custom number identifying the bill or invoice. Must be unique in paypoint. title: InvoiceNumber type_:Invoicestatus: type: integer description: |- Status for invoice. The accepted status values are: - 0 draft - 1 active - 2 partially paid - 4 paid/complete - 99 cancelled title: Invoicestatus type_:InvoiceType: type: integer description: Type of invoice. Only `0` for one-time invoices is currently supported. title: InvoiceType type_:ItemCommodityCode: type: string description: Item or product commodity code. Max length of 250 characters. title: ItemCommodityCode type_:ItemDescription: type: string description: Item or product description. Max length of 250 characters. title: ItemDescription type_:ItemProductCode: type: string description: Item or product code. Max length of 250 characters. title: ItemProductCode type_:ItemProductName: type: string description: Item or product name. Max length of 250 characters. title: ItemProductName type_:ItemUnitofMeasure: type: string description: Unit of measurement. Max length of 100 characters. title: ItemUnitofMeasure type_:BillItem: type: object properties: itemCategories: type: array items: type: string description: Array of tags classifying item or product. itemCommodityCode: $ref: '#/components/schemas/type_:ItemCommodityCode' itemCost: type: number format: double description: Item or product price per unit. itemDescription: $ref: '#/components/schemas/type_:ItemDescription' itemMode: type: integer description: >- Internal class of item or product: value '0' is only for invoices , '1' for bills and, '2' common for both. itemProductCode: $ref: '#/components/schemas/type_:ItemProductCode' itemProductName: $ref: '#/components/schemas/type_:ItemProductName' itemQty: type: integer description: Quantity of item or product. itemTaxAmount: type: number format: double description: Tax amount applied to item or product. itemTaxRate: type: number format: double description: Tax rate applied to item or product. itemTotalAmount: type: number format: double description: Total amount in item or product. itemUnitOfMeasure: $ref: '#/components/schemas/type_:ItemUnitofMeasure' required: - itemCost title: BillItem type_:BillDataPaymentTerms: type: string enum: - PIA - CIA - UR - NET10 - NET20 - NET30 - NET45 - NET60 - NET90 - EOM - MFI - 5MFI - 10MFI - 15MFI - 20MFI - 2/10NET30 - UF - 10UF - 20UF - 25UF - 50UF description: >- Payment terms for invoice. If no terms are defined, then response data for this field defaults to `NET30`. **Available Values:** - `PIA`: Payment in advance - `CIA`: Cash in advance - `UR`: Upon receipt - `NET10`: 10 days after invoice date - `NET20`: 20 days after invoice date - `NET30`: 30 days after invoice date - `NET45`: 45 days after invoice date - `NET60`: 60 days after invoice date - `NET90`: 90 days after invoice date - `EOM`: Due end of this month - `MFI`: 1st of the month following the invoice date - `5MFI`: 5th of the month following the invoice date - `10MFI`: 10th of the month following the invoice date - `15MFI`: 15th of the month following the invoice date - `20MFI`: 20th of the month following the invoice date - `2/10NET30`: 2% discount if paid within 10 days, otherwise net 30 days - `UF`: Until further notice - `10UF`: 10 days until further notice - `20UF`: 20 days until further notice - `25UF`: 25 days until further notice - `50UF`: 50 days until further notice title: BillDataPaymentTerms type_:PurchaseOrder: type: string description: Purchase order number. title: PurchaseOrder type_:ShippingFromZip: type: string description: Sender shipping ZIP code. title: ShippingFromZip type_:SummaryCommodityCode: type: string description: Commodity code. title: SummaryCommodityCode type_:Tax: type: number format: double description: Tax rate in percent applied to the invoice. title: Tax type_:TermsConditions: type: string description: Custom terms and conditions included in the invoice. title: TermsConditions type_:BillData: type: object properties: AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' attachments: $ref: '#/components/schemas/type_:Attachments' company: type: string description: Company name of the recipient of the invoice. discount: $ref: '#/components/schemas/type_:Discount' dutyAmount: $ref: '#/components/schemas/type_:DutyAmount' firstName: type: string description: First name of the recipient of the invoice. freightAmount: $ref: '#/components/schemas/type_:FreightAmount' frequency: $ref: '#/components/schemas/type_:Frequency' description: Frequency of scheduled invoice. invoiceAmount: $ref: '#/components/schemas/type_:InvoiceAmount' invoiceDate: type: string format: date description: 'Invoice date in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY.' invoiceDueDate: type: string format: date description: >- Invoice due date in one of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceEndDate: type: string format: date description: >- Indicate the date to finish a scheduled invoice cycle (`invoiceType`` = 1) in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceNumber: $ref: '#/components/schemas/type_:InvoiceNumber' description: Invoice number. Identifies the invoice under a paypoint. invoiceStatus: $ref: '#/components/schemas/type_:Invoicestatus' invoiceType: $ref: '#/components/schemas/type_:InvoiceType' items: type: array items: $ref: '#/components/schemas/type_:BillItem' description: Array of line items included in the invoice. lastName: type: string description: Last name of the recipient of the invoice. notes: type: string description: Notes included in the invoice. paymentTerms: $ref: '#/components/schemas/type_:BillDataPaymentTerms' purchaseOrder: $ref: '#/components/schemas/type_:PurchaseOrder' shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' shippingEmail: $ref: '#/components/schemas/type_:Email' description: Shipping recipient's contact email address. shippingFromZip: $ref: '#/components/schemas/type_:ShippingFromZip' shippingPhone: type: string description: Recipient phone number. shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' summaryCommodityCode: $ref: '#/components/schemas/type_:SummaryCommodityCode' tax: $ref: '#/components/schemas/type_:Tax' termsConditions: $ref: '#/components/schemas/type_:TermsConditions' title: BillData type_:LastModified: type: string format: date-time description: Timestamp of when record was last updated, in UTC. title: LastModified type_:Netamountnullable: type: number format: double description: Net amount. title: Netamountnullable type_:OrgParentName: type: string description: The name of the parent organization. title: OrgParentName type_:Accountexp: type: string description: Expiration date of card used in transaction. title: Accountexp type_:Accountid: type: string description: Custom identifier for payment connector. title: Accountid type_:Accounttype: type: string description: Bank account type or card brand. title: Accounttype type_:Accountzip: type: string description: ZIP code for card used in transaction. title: Accountzip type_:BinData: type: object properties: binMatchedLength: type: string description: |- The number of characters from the beginning of the card number that were matched against a Bank Identification Number (BIN) or the Card Range table. binCardBrand: type: string description: |- The card brand. For example, Visa, Mastercard, American Express, Discover. binCardType: type: string description: 'The type of card: Credit or Debit.' binCardCategory: type: string description: >- The category of the card, which indicates the card product. For example: Standard, Gold, Platinum, etc. The binCardCategory for prepaid cards is marked `PREPAID`. binCardIssuer: type: string description: The name of the financial institution that issued the card. binCardIssuerCountry: type: string description: The issuing financial institution's country name. binCardIssuerCountryCodeA2: type: string description: >- The issuing financial institution's two-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIssuerCountryNumber: type: string description: >- The issuing financial institution's ISO standard numeric country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIsRegulated: type: string description: Indicates whether the card is regulated. binCardUseCategory: type: string description: The use category classification for the card. binCardIssuerCountryCodeA3: type: string description: >- The issuing financial institution's three-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. description: >- Object containing information related to the card. This object is `null` unless the payment method is card. If the payment method is Apple Pay, the binData will be related to the DPAN (device primary account number), not the card connected to Apple Pay. title: BinData type_:Holdername: type: string description: Account holder name for the method. title: Holdername type_:Initiator: type: string description: >- **Strongly recommended** The cardholder-initiated transaction (CIT) or merchant-initiated transaction (MIT) indicator for the transaction. If you don't specify a value, Payabli defaults to `merchant`. Available values: - `payor`: For cardholder-initiated transactions - `merchant`: For merchant-initiated transactions See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Initiator type_:Maskedaccount: type: string description: >- Masked card or bank account used in transaction. In the case of Apple Pay, this is a masked DPAN (device primary account number). title: Maskedaccount type_:Orderdescription: type: string description: Text description of the transaction. title: Orderdescription type_:PaymentCategories: type: object properties: amount: type: number format: double description: Price/cost per unit of item or category. description: type: string description: Description of item or category label: type: string description: Name of item or category. qty: type: integer default: 1 description: Quantity of item or category required: - amount - label title: PaymentCategories type_:SplitFundingContent: type: object properties: accountId: type: string description: The accountId for the account the split should be sent to. amount: type: number format: double description: Amount from the transaction to sent to this recipient. description: type: string description: A description for the split. recipientEntryPoint: type: string description: The entrypoint the split should be sent to. title: SplitFundingContent type_:SplitFunding: type: array items: $ref: '#/components/schemas/type_:SplitFundingContent' description: >- Split funding instructions for the transaction. The total amount of the splits must match the total amount of the transaction. title: SplitFunding type_:PaymentDetail: type: object properties: categories: type: array items: $ref: '#/components/schemas/type_:PaymentCategories' description: >- Array of payment categories/line items describing the amount to be paid. **Note**: These categories are for information only and aren't validated against the total amount provided. checkImage: type: object additionalProperties: description: Any type description: Object containing image of paper check. checkNumber: type: string description: >- A check number to be used in the ach transaction. **Required** for payment method = 'check'. currency: type: string description: >- The currency for the transaction, `USD` or `CAD`. If your paypoint is configured for CAD, you must send the `CAD` value in this field, otherwise it defaults to USD, which will cause the transaction to fail. serviceFee: type: number format: double description: >- Service fee to be deducted from the total amount. This amount must be a number, percentages aren't accepted. If you are using a percentage-based fee schedule, you must calculate the value manually. splitFunding: $ref: '#/components/schemas/type_:SplitFunding' description: >- Split funding instructions for the transaction. See [Split a Transaction](/developers/developer-guides/money-in-split-funding) for more. checkUniqueId: type: string description: >- Unique identifier for a processed check image. Required for RDC (Remote Deposit Capture) transactions where `achCode` is `BOC`. Use the `id` value from the [check processing](/developers/api-reference/moneyin/check-capture) response. totalAmount: type: number format: double description: >- Total amount to be charged. If a service fee is sent, then this amount should include the service fee." required: - totalAmount description: Details about the payment. title: PaymentDetail type_:Sequence: type: string description: >- The order of the transaction for cardholder-initiated transaction (CIT) and merchant-initiated transaction (MIT) purposes. This field is automatically detected and populated by Payabli. Available values: - `first`: The first use of the payment method. This is almost always a cardholder-initiated transaction. - `subsequent`: For merchant-initiated transactions after the first use of the payment method. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Sequence type_:Signaturedata: type: string title: Signaturedata type_:Storedmethodid: type: string description: >- Payabli identifier of a tokenized payment method. If this field is used in a request, the `method` field is overridden and the payment is made using the payment token. title: Storedmethodid type_:StoredMethodUsageType: type: string description: >- **Strongly recommended** The usage type for the stored method, used for merchant-initiated transactions (MIT). If you don't specify a value, Payabli defaults to `unscheduled`. Available values: - `unscheduled`: This type is used for transactions that are one-time or otherwise not pre-scheduled. - `subscription`: This type is used for subscription payments. For example, monthly rental fees or ongoing service subscriptions. - `recurring`: This type is used for recurring payments that occur per a set plan. For example, splitting an HOA special assessment over 6 monthly payments. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: StoredMethodUsageType type_:QueryPaymentData: type: object properties: AccountExp: $ref: '#/components/schemas/type_:Accountexp' accountId: $ref: '#/components/schemas/type_:Accountid' AccountType: $ref: '#/components/schemas/type_:Accounttype' AccountZip: $ref: '#/components/schemas/type_:Accountzip' binData: $ref: '#/components/schemas/type_:BinData' HolderName: $ref: '#/components/schemas/type_:Holdername' Initiator: $ref: '#/components/schemas/type_:Initiator' MaskedAccount: $ref: '#/components/schemas/type_:Maskedaccount' orderDescription: $ref: '#/components/schemas/type_:Orderdescription' paymentDetails: $ref: '#/components/schemas/type_:PaymentDetail' Sequence: $ref: '#/components/schemas/type_:Sequence' SignatureData: $ref: '#/components/schemas/type_:Signaturedata' StoredId: $ref: '#/components/schemas/type_:Storedmethodid' description: Identifier of stored payment method used in transaction. StoredMethodUsageType: $ref: '#/components/schemas/type_:StoredMethodUsageType' title: QueryPaymentData type_:Dbaname: type: string description: >- The alternate or common name that this business is doing business under usually referred to as a DBA name. title: Dbaname type_:Entrypointfield: type: string description: The entrypoint identifier. title: Entrypointfield type_:PaypointId: type: integer format: int64 description: The paypoint's ID. Note that this is different than the entryname. title: PaypointId type_:Legalname: type: string description: Business legal name. title: Legalname type_:Source: type: string description: Custom identifier to indicate the transaction or request source. title: Source type_:GeneralEvents: type: object properties: description: type: string description: Event description. eventTime: type: string format: date-time description: Event timestamp, in UTC. extraData: type: object additionalProperties: description: Any type description: Extra data. refData: type: string description: Reference data. source: $ref: '#/components/schemas/type_:Source' description: The event source. title: GeneralEvents type_:SubscriptionQueryRecords: type: object properties: CreatedAt: $ref: '#/components/schemas/type_:CreatedAt' description: Timestamp of when the subscription ws created, in UTC. Customer: $ref: '#/components/schemas/type_:QueryTransactionPayorData' EndDate: type: - string - 'null' format: date-time description: The subscription's end date. EntrypageId: $ref: '#/components/schemas/type_:EntrypageId' ExternalPaypointID: $ref: '#/components/schemas/type_:ExternalPaypointId' FeeAmount: type: number format: double description: Fee applied to the subscription. Frequency: type: string description: The subscription's frequency. IdSub: type: integer format: int64 description: The subscription's ID. InvoiceData: $ref: '#/components/schemas/type_:BillData' LastRun: type: - string - 'null' format: date-time description: The last time the subscription was processed. LastUpdated: $ref: '#/components/schemas/type_:LastModified' description: The last date and time the subscription was updated. LeftCycles: type: integer description: The number of cycles the subscription has left. Method: type: string description: The subscription's payment method. NetAmount: $ref: '#/components/schemas/type_:Netamountnullable' description: The subscription amount, minus any fees. NextDate: type: - string - 'null' format: date-time description: The next date the subscription will be processed. ParentOrgName: $ref: '#/components/schemas/type_:OrgParentName' PaymentData: $ref: '#/components/schemas/type_:QueryPaymentData' PaypointDbaname: $ref: '#/components/schemas/type_:Dbaname' description: The paypoint's DBA name. PaypointEntryname: $ref: '#/components/schemas/type_:Entrypointfield' description: The paypoint's entryname. PaypointId: $ref: '#/components/schemas/type_:PaypointId' PaypointLegalname: $ref: '#/components/schemas/type_:Legalname' description: The paypoint's legal name. PlanId: type: integer description: Payment plan ID. Source: $ref: '#/components/schemas/type_:Source' StartDate: type: - string - 'null' format: date-time description: The subscription start date. SubEvents: type: array items: $ref: '#/components/schemas/type_:GeneralEvents' description: Events associated with the subscription. SubStatus: type: integer description: |- The subscription's status. - 0: Paused - 1: Active TotalAmount: type: number format: double description: The subscription amount, including any fees. TotalCycles: type: integer description: The total number of cycles the subscription is set to run. UntilCancelled: type: boolean description: >- When `true`, the subscription has no explicit end date and will run until canceled. required: - EndDate - LastRun - NextDate - StartDate title: SubscriptionQueryRecords type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:Pagesize: type: integer description: Number of records on each response page. title: Pagesize type_:Totalrecords: type: integer description: Total number of records in response. title: Totalrecords type_:QuerySummary: type: object properties: pageIdentifier: $ref: '#/components/schemas/type_:PageIdentifier' pageSize: $ref: '#/components/schemas/type_:Pagesize' totalAmount: type: number format: double description: Total amount for the records. totalNetAmount: type: number format: double description: Total net amount for the records. totalPages: $ref: '#/components/schemas/type_:Totalrecords' totalRecords: $ref: '#/components/schemas/type_:Totalrecords' title: QuerySummary type_:QuerySubscriptionResponse: type: object properties: Records: type: array items: $ref: '#/components/schemas/type_:SubscriptionQueryRecords' Summary: $ref: '#/components/schemas/type_:QuerySummary' description: Subscription query response body. title: QuerySubscriptionResponse type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript Example import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.query.listSubscriptions("8cfec329267", { fromRecord: 251, limitRecord: 0, sortBy: "desc(field_name)", }); } main(); ``` ```python Example from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.query.list_subscriptions( entry="8cfec329267", from_record=251, limit_record=0, sort_by="desc(field_name)", ) ``` ```csharp Example using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Query.ListSubscriptionsAsync( "8cfec329267", new ListSubscriptionsRequest { FromRecord = 251, LimitRecord = 0, SortBy = "desc(field_name)" } ); } } ``` ```go Example package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Query/subscriptions/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Example require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Query/subscriptions/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java Example import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Query/subscriptions/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29") .header("requestToken", "") .asString(); ``` ```php Example request('GET', 'https://api-sandbox.payabli.com/api/Query/subscriptions/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift Example import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Query/subscriptions/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # List subscriptions by organization GET https://api-sandbox.payabli.com/api/Query/subscriptions/org/{orgId} Returns a list of subscriptions for a single org. Use filters to limit results. Include the `exportFormat` query parameter to return the results as a file instead of a JSON response. Reference: https://docs.payabli.com/developers/api-reference/subscription/get-list-of-subscriptions-for-an-org ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Query/subscriptions/org/{orgId}: get: operationId: list-subscriptions-org summary: Get list of subscriptions for an org description: >- Returns a list of subscriptions for a single org. Use filters to limit results. Include the `exportFormat` query parameter to return the results as a file instead of a JSON response. tags: - subpackage_query parameters: - name: orgId in: path description: The numeric identifier for organization, assigned by Payabli. required: true schema: type: integer - name: exportFormat in: query required: false schema: $ref: '#/components/schemas/type_:ExportFormat' - name: fromRecord in: query description: >- The number of records to skip before starting to collect the result set. required: false schema: type: integer default: 0 - name: limitRecord in: query description: >- Max number of records to return for the query. Use `0` or negative value to return all records. required: false schema: type: integer default: 20 - name: parameters in: query description: >- Collection of field names, conditions, and values used to filter the query. **You must remove `parameters=` from the request before you send it, otherwise Payabli will ignore the filters.** Because of a technical limitation, you can't make a request that includes filters from the API console on this page. The response won't be filtered. Instead, copy the request, remove `parameters=` and run the request in a different client. For example: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?parameters=totalAmount(gt)=1000&limitRecord=20 should become: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?totalAmount(gt)=1000&limitRecord=20 See [Filters and Conditions Reference](/developers/developer-guides/pay-ops-reporting-engine-overview#filters-and-conditions-reference) for more information. **List of field names accepted:** - `startDate` (gt, ge, lt, le, eq, ne) - `endDate` (gt, ge, lt, le, eq, ne) - `nextDate` (gt, ge, lt, le, eq, ne) - `frequency` (in, nin, ne, eq) - `method` (in, nin, eq, ne) - `totalAmount` (gt, ge, lt, le, eq, ne) - `netAmount` (gt, ge, lt, le, eq, ne) - `feeAmount` (gt, ge, lt, le, eq, ne) - `status` (in, nin, eq, ne) - `untilcancelled` (eq, ne) - `payaccountLastfour` (nct, ct) - `payaccountType` (ne, eq, in, nin) - `payaccountCurrency` (ne, eq, in, nin) - `customerFirstname` (ct, nct, eq, ne) - `customerLastname` (ct, nct, eq, ne) - `customerName` (ct, nct) - `customerId` (eq, ne) - `customerNumber` (ct, nct, eq, ne) - `customerCompanyname` (ct, nct, eq, ne) - `customerAddress` (ct, nct, eq, ne) - `customerCity` (ct, nct, eq, ne) - `customerZip` (ct, nct, eq, ne) - `customerState` (ct, nct, eq, ne) - `customerCountry` (ct, nct, eq, ne) - `customerPhone` (ct, nct, eq, ne) - `customerEmail` (ct, nct, eq, ne) - `customerShippingAddress` (ct, nct, eq, ne) - `customerShippingCity` (ct, nct, eq, ne) - `customerShippingZip` (ct, nct, eq, ne) - `customerShippingState` (ct, nct, eq, ne) - `customerShippingCountry` (ct, nct, eq, ne) - `orgId` (eq) - `paypointId` (ne, eq) - `paypointLegal` (ne, eq, ct, nct) - `paypointDba` (ne, eq, ct, nct) - `orgName` (ne, eq, ct, nct) - `externalPaypointId` (ct, nct, ne, eq) - `subId` (eq, ne) - `orderDescription` (ct, nct) - `cycles` (eq, ne, gt, ge, lt, le) - `leftcycles` (eq, ne, gt, ge, lt, le) - `createdAt` (eq, ne, gt, ge, lt, le) - `updatedOn` (eq, ne, gt, ge, lt, le) - `invoiceNumber` (ct, nct) - `additional-xxx` (ne, eq, ct, nct) where xxx is the additional field name **List of comparison operators accepted:** - `eq` or empty => equal - `gt` => greater than - `ge` => greater or equal - `lt` => less than - `le` => less or equal - `ne` => not equal - `ct` => contains - `nct` => not contains - `in` => inside array - `nin` => not inside array required: false schema: type: object additionalProperties: type: string - name: sortBy in: query description: >- The field name to use for sorting results. Use `desc(field_name)` to sort descending by `field_name`, and use `asc(field_name)` to sort ascending by `field_name`. required: false schema: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:QuerySubscriptionResponse' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:ExportFormat: type: string enum: - csv - xlsx description: >- Export format for file downloads. When specified, returns data as a file instead of JSON. title: ExportFormat type_:CreatedAt: type: string format: date-time description: Timestamp of when record was created, in UTC. title: CreatedAt type_:BillingZip: type: string description: Billing address ZIP code. title: BillingZip type_:Email: type: string format: email description: Email address. title: Email type_:CustomerNumberNullable: type: string description: >- User-provided unique identifier for the customer. This is typically the customer ID from your own system. title: CustomerNumberNullable type_:Shippingaddress: type: string description: The shipping address. title: Shippingaddress type_:Shippingaddressadditional: type: string description: Additional line for shipping address. title: Shippingaddressadditional type_:Shippingcity: type: string description: Shipping city. title: Shippingcity type_:Shippingstate: type: string description: Shipping state or province. title: Shippingstate type_:Shippingzip: type: string description: >- Shipping ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". title: Shippingzip type_:Shippingcountry: type: string description: Shipping address country. title: Shippingcountry type_:CustomerId: type: integer format: int64 description: The Payabli-generated unique ID for the customer. title: CustomerId type_:CustomerStatus: type: integer description: |- Customer Status. Possible values: - `-99` Deleted - `0` Inactive - `1` Active - `85` Locked (typically due to multiple failed login attempts) title: CustomerStatus type_:AdditionalDataMap: type: object additionalProperties: type: string description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalDataMap type_:QueryTransactionPayorData: type: object properties: Identifiers: type: array items: description: Any type description: Array of field names to be used as identifiers. FirstName: type: string description: Customer/Payor first name. LastName: type: string description: Customer/Payor last name. CompanyName: type: string description: Customer's company name. BillingAddress1: type: string description: Customer's billing address. BillingAddress2: type: string description: Additional line for Customer's billing address. BillingCity: type: string description: Customer's billing city. BillingState: type: string description: >- Customer's billing state. Must be 2-letter state code for address in US. BillingZip: $ref: '#/components/schemas/type_:BillingZip' description: Customer's billing ZIP code. BillingCountry: type: string description: Customer's billing country. BillingPhone: type: string description: Customer's phone number. BillingEmail: $ref: '#/components/schemas/type_:Email' description: Customer's email address. CustomerNumber: $ref: '#/components/schemas/type_:CustomerNumberNullable' ShippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' ShippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' ShippingCity: $ref: '#/components/schemas/type_:Shippingcity' ShippingState: $ref: '#/components/schemas/type_:Shippingstate' ShippingZip: $ref: '#/components/schemas/type_:Shippingzip' ShippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' customerId: $ref: '#/components/schemas/type_:CustomerId' customerStatus: $ref: '#/components/schemas/type_:CustomerStatus' AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' title: QueryTransactionPayorData type_:EntrypageId: type: integer format: int64 description: >- If applicable, the internal reference ID to the payment page capturing the payment. title: EntrypageId type_:ExternalPaypointId: type: string description: >- A custom identifier for the paypoint, if applicable. Like `entrypoint` is the Payabli identifier for the merchant, `externalPaypointId` is a custom field you can use to include the merchant's ID from your own systems. title: ExternalPaypointId type_:FileContentFtype: type: string enum: - pdf - doc - docx - jpg - jpeg - png - gif - txt description: The MIME type of the file (if content is provided) title: FileContentFtype type_:FileContent: type: object properties: fContent: type: string description: >- Content of file, Base64-encoded. Ignored if furl is specified. Max upload size is 30 MB. filename: type: string description: The name of the attached file. ftype: $ref: '#/components/schemas/type_:FileContentFtype' description: The MIME type of the file (if content is provided) furl: type: string description: Optional URL provided to show or download the file remotely description: Contains details about a file. Max upload size is 30 MB. title: FileContent type_:Attachments: type: array items: $ref: '#/components/schemas/type_:FileContent' description: >- Array of `fileContent` objects with attached documents. Max upload size is 30 MB. title: Attachments type_:Discount: type: number format: double description: Discount applied to the invoice. title: Discount type_:DutyAmount: type: number format: double description: Duty amount. title: DutyAmount type_:FreightAmount: type: number format: double description: Freight/shipping amount. title: FreightAmount type_:Frequency: type: string enum: - onetime - weekly - every2weeks - every6months - monthly - every3months - annually description: Frequency for operation. title: Frequency type_:InvoiceAmount: type: number format: double description: Invoice total amount. title: InvoiceAmount type_:InvoiceNumber: type: string description: >- Custom number identifying the bill or invoice. Must be unique in paypoint. title: InvoiceNumber type_:Invoicestatus: type: integer description: |- Status for invoice. The accepted status values are: - 0 draft - 1 active - 2 partially paid - 4 paid/complete - 99 cancelled title: Invoicestatus type_:InvoiceType: type: integer description: Type of invoice. Only `0` for one-time invoices is currently supported. title: InvoiceType type_:ItemCommodityCode: type: string description: Item or product commodity code. Max length of 250 characters. title: ItemCommodityCode type_:ItemDescription: type: string description: Item or product description. Max length of 250 characters. title: ItemDescription type_:ItemProductCode: type: string description: Item or product code. Max length of 250 characters. title: ItemProductCode type_:ItemProductName: type: string description: Item or product name. Max length of 250 characters. title: ItemProductName type_:ItemUnitofMeasure: type: string description: Unit of measurement. Max length of 100 characters. title: ItemUnitofMeasure type_:BillItem: type: object properties: itemCategories: type: array items: type: string description: Array of tags classifying item or product. itemCommodityCode: $ref: '#/components/schemas/type_:ItemCommodityCode' itemCost: type: number format: double description: Item or product price per unit. itemDescription: $ref: '#/components/schemas/type_:ItemDescription' itemMode: type: integer description: >- Internal class of item or product: value '0' is only for invoices , '1' for bills and, '2' common for both. itemProductCode: $ref: '#/components/schemas/type_:ItemProductCode' itemProductName: $ref: '#/components/schemas/type_:ItemProductName' itemQty: type: integer description: Quantity of item or product. itemTaxAmount: type: number format: double description: Tax amount applied to item or product. itemTaxRate: type: number format: double description: Tax rate applied to item or product. itemTotalAmount: type: number format: double description: Total amount in item or product. itemUnitOfMeasure: $ref: '#/components/schemas/type_:ItemUnitofMeasure' required: - itemCost title: BillItem type_:BillDataPaymentTerms: type: string enum: - PIA - CIA - UR - NET10 - NET20 - NET30 - NET45 - NET60 - NET90 - EOM - MFI - 5MFI - 10MFI - 15MFI - 20MFI - 2/10NET30 - UF - 10UF - 20UF - 25UF - 50UF description: >- Payment terms for invoice. If no terms are defined, then response data for this field defaults to `NET30`. **Available Values:** - `PIA`: Payment in advance - `CIA`: Cash in advance - `UR`: Upon receipt - `NET10`: 10 days after invoice date - `NET20`: 20 days after invoice date - `NET30`: 30 days after invoice date - `NET45`: 45 days after invoice date - `NET60`: 60 days after invoice date - `NET90`: 90 days after invoice date - `EOM`: Due end of this month - `MFI`: 1st of the month following the invoice date - `5MFI`: 5th of the month following the invoice date - `10MFI`: 10th of the month following the invoice date - `15MFI`: 15th of the month following the invoice date - `20MFI`: 20th of the month following the invoice date - `2/10NET30`: 2% discount if paid within 10 days, otherwise net 30 days - `UF`: Until further notice - `10UF`: 10 days until further notice - `20UF`: 20 days until further notice - `25UF`: 25 days until further notice - `50UF`: 50 days until further notice title: BillDataPaymentTerms type_:PurchaseOrder: type: string description: Purchase order number. title: PurchaseOrder type_:ShippingFromZip: type: string description: Sender shipping ZIP code. title: ShippingFromZip type_:SummaryCommodityCode: type: string description: Commodity code. title: SummaryCommodityCode type_:Tax: type: number format: double description: Tax rate in percent applied to the invoice. title: Tax type_:TermsConditions: type: string description: Custom terms and conditions included in the invoice. title: TermsConditions type_:BillData: type: object properties: AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' attachments: $ref: '#/components/schemas/type_:Attachments' company: type: string description: Company name of the recipient of the invoice. discount: $ref: '#/components/schemas/type_:Discount' dutyAmount: $ref: '#/components/schemas/type_:DutyAmount' firstName: type: string description: First name of the recipient of the invoice. freightAmount: $ref: '#/components/schemas/type_:FreightAmount' frequency: $ref: '#/components/schemas/type_:Frequency' description: Frequency of scheduled invoice. invoiceAmount: $ref: '#/components/schemas/type_:InvoiceAmount' invoiceDate: type: string format: date description: 'Invoice date in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY.' invoiceDueDate: type: string format: date description: >- Invoice due date in one of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceEndDate: type: string format: date description: >- Indicate the date to finish a scheduled invoice cycle (`invoiceType`` = 1) in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceNumber: $ref: '#/components/schemas/type_:InvoiceNumber' description: Invoice number. Identifies the invoice under a paypoint. invoiceStatus: $ref: '#/components/schemas/type_:Invoicestatus' invoiceType: $ref: '#/components/schemas/type_:InvoiceType' items: type: array items: $ref: '#/components/schemas/type_:BillItem' description: Array of line items included in the invoice. lastName: type: string description: Last name of the recipient of the invoice. notes: type: string description: Notes included in the invoice. paymentTerms: $ref: '#/components/schemas/type_:BillDataPaymentTerms' purchaseOrder: $ref: '#/components/schemas/type_:PurchaseOrder' shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' shippingEmail: $ref: '#/components/schemas/type_:Email' description: Shipping recipient's contact email address. shippingFromZip: $ref: '#/components/schemas/type_:ShippingFromZip' shippingPhone: type: string description: Recipient phone number. shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' summaryCommodityCode: $ref: '#/components/schemas/type_:SummaryCommodityCode' tax: $ref: '#/components/schemas/type_:Tax' termsConditions: $ref: '#/components/schemas/type_:TermsConditions' title: BillData type_:LastModified: type: string format: date-time description: Timestamp of when record was last updated, in UTC. title: LastModified type_:Netamountnullable: type: number format: double description: Net amount. title: Netamountnullable type_:OrgParentName: type: string description: The name of the parent organization. title: OrgParentName type_:Accountexp: type: string description: Expiration date of card used in transaction. title: Accountexp type_:Accountid: type: string description: Custom identifier for payment connector. title: Accountid type_:Accounttype: type: string description: Bank account type or card brand. title: Accounttype type_:Accountzip: type: string description: ZIP code for card used in transaction. title: Accountzip type_:BinData: type: object properties: binMatchedLength: type: string description: |- The number of characters from the beginning of the card number that were matched against a Bank Identification Number (BIN) or the Card Range table. binCardBrand: type: string description: |- The card brand. For example, Visa, Mastercard, American Express, Discover. binCardType: type: string description: 'The type of card: Credit or Debit.' binCardCategory: type: string description: >- The category of the card, which indicates the card product. For example: Standard, Gold, Platinum, etc. The binCardCategory for prepaid cards is marked `PREPAID`. binCardIssuer: type: string description: The name of the financial institution that issued the card. binCardIssuerCountry: type: string description: The issuing financial institution's country name. binCardIssuerCountryCodeA2: type: string description: >- The issuing financial institution's two-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIssuerCountryNumber: type: string description: >- The issuing financial institution's ISO standard numeric country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIsRegulated: type: string description: Indicates whether the card is regulated. binCardUseCategory: type: string description: The use category classification for the card. binCardIssuerCountryCodeA3: type: string description: >- The issuing financial institution's three-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. description: >- Object containing information related to the card. This object is `null` unless the payment method is card. If the payment method is Apple Pay, the binData will be related to the DPAN (device primary account number), not the card connected to Apple Pay. title: BinData type_:Holdername: type: string description: Account holder name for the method. title: Holdername type_:Initiator: type: string description: >- **Strongly recommended** The cardholder-initiated transaction (CIT) or merchant-initiated transaction (MIT) indicator for the transaction. If you don't specify a value, Payabli defaults to `merchant`. Available values: - `payor`: For cardholder-initiated transactions - `merchant`: For merchant-initiated transactions See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Initiator type_:Maskedaccount: type: string description: >- Masked card or bank account used in transaction. In the case of Apple Pay, this is a masked DPAN (device primary account number). title: Maskedaccount type_:Orderdescription: type: string description: Text description of the transaction. title: Orderdescription type_:PaymentCategories: type: object properties: amount: type: number format: double description: Price/cost per unit of item or category. description: type: string description: Description of item or category label: type: string description: Name of item or category. qty: type: integer default: 1 description: Quantity of item or category required: - amount - label title: PaymentCategories type_:SplitFundingContent: type: object properties: accountId: type: string description: The accountId for the account the split should be sent to. amount: type: number format: double description: Amount from the transaction to sent to this recipient. description: type: string description: A description for the split. recipientEntryPoint: type: string description: The entrypoint the split should be sent to. title: SplitFundingContent type_:SplitFunding: type: array items: $ref: '#/components/schemas/type_:SplitFundingContent' description: >- Split funding instructions for the transaction. The total amount of the splits must match the total amount of the transaction. title: SplitFunding type_:PaymentDetail: type: object properties: categories: type: array items: $ref: '#/components/schemas/type_:PaymentCategories' description: >- Array of payment categories/line items describing the amount to be paid. **Note**: These categories are for information only and aren't validated against the total amount provided. checkImage: type: object additionalProperties: description: Any type description: Object containing image of paper check. checkNumber: type: string description: >- A check number to be used in the ach transaction. **Required** for payment method = 'check'. currency: type: string description: >- The currency for the transaction, `USD` or `CAD`. If your paypoint is configured for CAD, you must send the `CAD` value in this field, otherwise it defaults to USD, which will cause the transaction to fail. serviceFee: type: number format: double description: >- Service fee to be deducted from the total amount. This amount must be a number, percentages aren't accepted. If you are using a percentage-based fee schedule, you must calculate the value manually. splitFunding: $ref: '#/components/schemas/type_:SplitFunding' description: >- Split funding instructions for the transaction. See [Split a Transaction](/developers/developer-guides/money-in-split-funding) for more. checkUniqueId: type: string description: >- Unique identifier for a processed check image. Required for RDC (Remote Deposit Capture) transactions where `achCode` is `BOC`. Use the `id` value from the [check processing](/developers/api-reference/moneyin/check-capture) response. totalAmount: type: number format: double description: >- Total amount to be charged. If a service fee is sent, then this amount should include the service fee." required: - totalAmount description: Details about the payment. title: PaymentDetail type_:Sequence: type: string description: >- The order of the transaction for cardholder-initiated transaction (CIT) and merchant-initiated transaction (MIT) purposes. This field is automatically detected and populated by Payabli. Available values: - `first`: The first use of the payment method. This is almost always a cardholder-initiated transaction. - `subsequent`: For merchant-initiated transactions after the first use of the payment method. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Sequence type_:Signaturedata: type: string title: Signaturedata type_:Storedmethodid: type: string description: >- Payabli identifier of a tokenized payment method. If this field is used in a request, the `method` field is overridden and the payment is made using the payment token. title: Storedmethodid type_:StoredMethodUsageType: type: string description: >- **Strongly recommended** The usage type for the stored method, used for merchant-initiated transactions (MIT). If you don't specify a value, Payabli defaults to `unscheduled`. Available values: - `unscheduled`: This type is used for transactions that are one-time or otherwise not pre-scheduled. - `subscription`: This type is used for subscription payments. For example, monthly rental fees or ongoing service subscriptions. - `recurring`: This type is used for recurring payments that occur per a set plan. For example, splitting an HOA special assessment over 6 monthly payments. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: StoredMethodUsageType type_:QueryPaymentData: type: object properties: AccountExp: $ref: '#/components/schemas/type_:Accountexp' accountId: $ref: '#/components/schemas/type_:Accountid' AccountType: $ref: '#/components/schemas/type_:Accounttype' AccountZip: $ref: '#/components/schemas/type_:Accountzip' binData: $ref: '#/components/schemas/type_:BinData' HolderName: $ref: '#/components/schemas/type_:Holdername' Initiator: $ref: '#/components/schemas/type_:Initiator' MaskedAccount: $ref: '#/components/schemas/type_:Maskedaccount' orderDescription: $ref: '#/components/schemas/type_:Orderdescription' paymentDetails: $ref: '#/components/schemas/type_:PaymentDetail' Sequence: $ref: '#/components/schemas/type_:Sequence' SignatureData: $ref: '#/components/schemas/type_:Signaturedata' StoredId: $ref: '#/components/schemas/type_:Storedmethodid' description: Identifier of stored payment method used in transaction. StoredMethodUsageType: $ref: '#/components/schemas/type_:StoredMethodUsageType' title: QueryPaymentData type_:Dbaname: type: string description: >- The alternate or common name that this business is doing business under usually referred to as a DBA name. title: Dbaname type_:Entrypointfield: type: string description: The entrypoint identifier. title: Entrypointfield type_:PaypointId: type: integer format: int64 description: The paypoint's ID. Note that this is different than the entryname. title: PaypointId type_:Legalname: type: string description: Business legal name. title: Legalname type_:Source: type: string description: Custom identifier to indicate the transaction or request source. title: Source type_:GeneralEvents: type: object properties: description: type: string description: Event description. eventTime: type: string format: date-time description: Event timestamp, in UTC. extraData: type: object additionalProperties: description: Any type description: Extra data. refData: type: string description: Reference data. source: $ref: '#/components/schemas/type_:Source' description: The event source. title: GeneralEvents type_:SubscriptionQueryRecords: type: object properties: CreatedAt: $ref: '#/components/schemas/type_:CreatedAt' description: Timestamp of when the subscription ws created, in UTC. Customer: $ref: '#/components/schemas/type_:QueryTransactionPayorData' EndDate: type: - string - 'null' format: date-time description: The subscription's end date. EntrypageId: $ref: '#/components/schemas/type_:EntrypageId' ExternalPaypointID: $ref: '#/components/schemas/type_:ExternalPaypointId' FeeAmount: type: number format: double description: Fee applied to the subscription. Frequency: type: string description: The subscription's frequency. IdSub: type: integer format: int64 description: The subscription's ID. InvoiceData: $ref: '#/components/schemas/type_:BillData' LastRun: type: - string - 'null' format: date-time description: The last time the subscription was processed. LastUpdated: $ref: '#/components/schemas/type_:LastModified' description: The last date and time the subscription was updated. LeftCycles: type: integer description: The number of cycles the subscription has left. Method: type: string description: The subscription's payment method. NetAmount: $ref: '#/components/schemas/type_:Netamountnullable' description: The subscription amount, minus any fees. NextDate: type: - string - 'null' format: date-time description: The next date the subscription will be processed. ParentOrgName: $ref: '#/components/schemas/type_:OrgParentName' PaymentData: $ref: '#/components/schemas/type_:QueryPaymentData' PaypointDbaname: $ref: '#/components/schemas/type_:Dbaname' description: The paypoint's DBA name. PaypointEntryname: $ref: '#/components/schemas/type_:Entrypointfield' description: The paypoint's entryname. PaypointId: $ref: '#/components/schemas/type_:PaypointId' PaypointLegalname: $ref: '#/components/schemas/type_:Legalname' description: The paypoint's legal name. PlanId: type: integer description: Payment plan ID. Source: $ref: '#/components/schemas/type_:Source' StartDate: type: - string - 'null' format: date-time description: The subscription start date. SubEvents: type: array items: $ref: '#/components/schemas/type_:GeneralEvents' description: Events associated with the subscription. SubStatus: type: integer description: |- The subscription's status. - 0: Paused - 1: Active TotalAmount: type: number format: double description: The subscription amount, including any fees. TotalCycles: type: integer description: The total number of cycles the subscription is set to run. UntilCancelled: type: boolean description: >- When `true`, the subscription has no explicit end date and will run until canceled. required: - EndDate - LastRun - NextDate - StartDate title: SubscriptionQueryRecords type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:Pagesize: type: integer description: Number of records on each response page. title: Pagesize type_:Totalrecords: type: integer description: Total number of records in response. title: Totalrecords type_:QuerySummary: type: object properties: pageIdentifier: $ref: '#/components/schemas/type_:PageIdentifier' pageSize: $ref: '#/components/schemas/type_:Pagesize' totalAmount: type: number format: double description: Total amount for the records. totalNetAmount: type: number format: double description: Total net amount for the records. totalPages: $ref: '#/components/schemas/type_:Totalrecords' totalRecords: $ref: '#/components/schemas/type_:Totalrecords' title: QuerySummary type_:QuerySubscriptionResponse: type: object properties: Records: type: array items: $ref: '#/components/schemas/type_:SubscriptionQueryRecords' Summary: $ref: '#/components/schemas/type_:QuerySummary' description: Subscription query response body. title: QuerySubscriptionResponse type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript Example import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.query.listSubscriptionsOrg(123, { fromRecord: 251, limitRecord: 0, sortBy: "desc(field_name)", }); } main(); ``` ```python Example from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.query.list_subscriptions_org( org_id=123, from_record=251, limit_record=0, sort_by="desc(field_name)", ) ``` ```csharp Example using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Query.ListSubscriptionsOrgAsync( 123, new ListSubscriptionsOrgRequest { FromRecord = 251, LimitRecord = 0, SortBy = "desc(field_name)" } ); } } ``` ```go Example package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Query/subscriptions/org/123?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Example require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Query/subscriptions/org/123?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java Example import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Query/subscriptions/org/123?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29") .header("requestToken", "") .asString(); ``` ```php Example request('GET', 'https://api-sandbox.payabli.com/api/Query/subscriptions/org/123?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift Example import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Query/subscriptions/org/123?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Export subscriptions by paypoint GET https://api-sandbox.payabli.com/api/Export/subscriptions/{format}/{entry} Export a list of subscriptions for an entrypoint. Use filters to limit results. Reference: https://docs.payabli.com/developers/api-reference/subscription/export-list-of-subscriptions-for-an-entrypoint ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Export/subscriptions/{format}/{entry}: get: operationId: export-subscriptions summary: Export list of subscriptions for an entrypoint description: >- Export a list of subscriptions for an entrypoint. Use filters to limit results. tags: - subpackage_export parameters: - name: format in: path description: 'Format for the export, either XLSX or CSV. ' required: true schema: $ref: '#/components/schemas/type_export:ExportFormat1' - name: entry in: path description: >- The paypoint's entrypoint identifier. [Learn more](/developers/api-reference/api-overview#entrypoint-vs-entry) required: true schema: type: string - name: columnsExport in: query required: false schema: type: string - name: fromRecord in: query description: >- The number of records to skip before starting to collect the result set. required: false schema: type: integer default: 0 - name: limitRecord in: query description: >- The number of records to return for the query. The maximum is 30,000 records. When this parameter isn't sent, the API returns up to 25,000 records. required: false schema: type: integer default: 25000 - name: parameters in: query description: >- Collection of field names, conditions, and values used to filter the query **You must remove `parameters=` from the request before you send it, otherwise Payabli will ignore the filters.** Because of a technical limitation, you can't make a request that includes filters from the API console on this page. The response won't be filtered. Instead, copy the request, remove `parameters=` and run the request in a different client. For example: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?parameters=totalAmount(gt)=1000&limitRecord=20 should become: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?totalAmount(gt)=1000&limitRecord=20 See [Filters and Conditions Reference](/developers/developer-guides/pay-ops-reporting-engine-overview#filters-and-conditions-reference) for help. List of field names accepted: - `startDate` (gt, ge, lt, le, eq, ne) - `endDate` (gt, ge, lt, le, eq, ne) - `nextDate` (gt, ge, lt, le, eq, ne) - `frequency` (in, nin, ne, eq) - `method` (in, nin, eq, ne) - `totalAmount` (gt, ge, lt, le, eq, ne) - `netAmount` (gt, ge, lt, le, eq, ne) - `feeAmount` (gt, ge, lt, le, eq, ne) - `status` (in, nin, eq, ne) - `untilcancelled` (eq, ne) - `payaccountLastfour` (nct, ct) - `payaccountType` (ne, eq, in, nin) - `customerFirstname` (ct, nct, eq, ne) - `customerLastname` (ct, nct, eq, ne) - `customerName` (ct, nct) - `customerId` (eq, ne) - `customerNumber` (ct, nct, eq, ne) - `customerCompanyname` (ct, nct, eq, ne) - `customerAddress` (ct, nct, eq, ne) - `customerCity` (ct, nct, eq, ne) - `customerZip` (ct, nct, eq, ne) - `customerState` (ct, nct, eq, ne) - `customerCountry` (ct, nct, eq, ne) - `customerPhone` (ct, nct, eq, ne) - `customerEmail` (ct, nct, eq, ne) - `customerShippingAddress` (ct, nct, eq, ne) - `customerShippingCity` (ct, nct, eq, ne) - `customerShippingZip` (ct, nct, eq, ne) - `customerShippingState` (ct, nct, eq, ne) - `customerShippingCountry` (ct, nct, eq, ne) - `orgId` (eq) - `paypointId` (ne, eq) - `paypointLegal` (ne, eq, ct, nct) - `paypointDba` (ne, eq, ct, nct) - `orgName` (ne, eq, ct, nct) - `additional-xxx` (ne, eq, ct, nct) where xxx is the additional field name List of comparison accepted - enclosed between parentheses: - eq or empty => equal - gt => greater than - ge => greater or equal - lt => less than - le => less or equal - ne => not equal - ct => contains - nct => not contains - in => inside array - nin => not inside array List of parameters accepted: - limitRecord : max number of records for query (default="20", "0" or negative value for all) - fromRecord : initial record in query Example: `netAmount(gt)=20` returns all records with a `netAmount` greater than 20.00 required: false schema: type: object additionalProperties: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:File' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_export:ExportFormat1: type: string enum: - csv - xlsx title: ExportFormat1 type_:File: type: object additionalProperties: description: Any type description: >- A file containing the response data, in the format specified in the request. title: File type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.export.exportSubscriptions("8cfec329267", "csv", { columnsExport: "BatchDate:Batch_Date,PaypointName:Legal_name", fromRecord: 251, limitRecord: 1000, }); } main(); ``` ```python from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.export.export_subscriptions( entry="8cfec329267", format="csv", columns_export="BatchDate:Batch_Date,PaypointName:Legal_name", from_record=251, limit_record=1000, ) ``` ```csharp using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Export.ExportSubscriptionsAsync( ExportFormat1.Csv, "8cfec329267", new ExportSubscriptionsRequest { ColumnsExport = "BatchDate:Batch_Date,PaypointName:Legal_name", FromRecord = 251, LimitRecord = 1000 } ); } } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Export/subscriptions/csv/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Export/subscriptions/csv/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Export/subscriptions/csv/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000") .header("requestToken", "") .asString(); ``` ```php request('GET', 'https://api-sandbox.payabli.com/api/Export/subscriptions/csv/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Export/subscriptions/csv/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Export subscriptions by org GET https://api-sandbox.payabli.com/api/Export/subscriptions/{format}/org/{orgId} Export a list of subscriptions for an organization. Use filters to limit results. Reference: https://docs.payabli.com/developers/api-reference/subscription/export-list-of-subscriptions-for-an-organization ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Export/subscriptions/{format}/org/{orgId}: get: operationId: export-subscriptions-org summary: Export list of subscriptions for an organization description: >- Export a list of subscriptions for an organization. Use filters to limit results. tags: - subpackage_export parameters: - name: format in: path description: 'Format for the export, either XLSX or CSV. ' required: true schema: $ref: '#/components/schemas/type_export:ExportFormat1' - name: orgId in: path description: The numeric identifier for organization, assigned by Payabli. required: true schema: type: integer - name: columnsExport in: query required: false schema: type: string - name: fromRecord in: query description: >- The number of records to skip before starting to collect the result set. required: false schema: type: integer default: 0 - name: limitRecord in: query description: >- The number of records to return for the query. The maximum is 30,000 records. When this parameter isn't sent, the API returns up to 25,000 records. required: false schema: type: integer default: 25000 - name: parameters in: query description: >- Collection of field names, conditions, and values used to filter the query **You must remove `parameters=` from the request before you send it, otherwise Payabli will ignore the filters.** Because of a technical limitation, you can't make a request that includes filters from the API console on this page. The response won't be filtered. Instead, copy the request, remove `parameters=` and run the request in a different client. For example: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?parameters=totalAmount(gt)=1000&limitRecord=20 should become: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?totalAmount(gt)=1000&limitRecord=20 See [Filters and Conditions Reference](/developers/developer-guides/pay-ops-reporting-engine-overview#filters-and-conditions-reference) for help. List of field names accepted: - `startDate` (gt, ge, lt, le, eq, ne) - `endDate` (gt, ge, lt, le, eq, ne) - `nextDate` (gt, ge, lt, le, eq, ne) - `frequency` (in, nin, ne, eq) - `method` (in, nin, eq, ne) - `totalAmount` (gt, ge, lt, le, eq, ne) - `netAmount` (gt, ge, lt, le, eq, ne) - `feeAmount` (gt, ge, lt, le, eq, ne) - `status` (in, nin, eq, ne) - `untilcancelled` (eq, ne) - `payaccountLastfour` (nct, ct) - `payaccountType` (ne, eq, in, nin) - `customerFirstname` (ct, nct, eq, ne) - `customerLastname` (ct, nct, eq, ne) - `customerName` (ct, nct) - `customerId` (eq, ne) - `customerNumber` (ct, nct, eq, ne) - `customerCompanyname` (ct, nct, eq, ne) - `customerAddress` (ct, nct, eq, ne) - `customerCity` (ct, nct, eq, ne) - `customerZip` (ct, nct, eq, ne) - `customerState` (ct, nct, eq, ne) - `customerCountry` (ct, nct, eq, ne) - `customerPhone` (ct, nct, eq, ne) - `customerEmail` (ct, nct, eq, ne) - `customerShippingAddress` (ct, nct, eq, ne) - `customerShippingCity` (ct, nct, eq, ne) - `customerShippingZip` (ct, nct, eq, ne) - `customerShippingState` (ct, nct, eq, ne) - `customerShippingCountry` (ct, nct, eq, ne) - `orgId` (eq) - `paypointId` (ne, eq) - `paypointLegal` (ne, eq, ct, nct) - `paypointDba` (ne, eq, ct, nct) - `orgName` (ne, eq, ct, nct) - `additional-xxx` (ne, eq, ct, nct) where xxx is the additional field name List of comparison accepted - enclosed between parentheses: - eq or empty => equal - gt => greater than - ge => greater or equal - lt => less than - le => less or equal - ne => not equal - ct => contains - nct => not contains - in => inside array - nin => not inside array List of parameters accepted: - limitRecord : max number of records for query (default="20", "0" or negative value for all) - fromRecord : initial record in query Example: `netAmount(gt)=20` returns all records with a `netAmount` greater than 20.00 required: false schema: type: object additionalProperties: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:File' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_export:ExportFormat1: type: string enum: - csv - xlsx title: ExportFormat1 type_:File: type: object additionalProperties: description: Any type description: >- A file containing the response data, in the format specified in the request. title: File type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.export.exportSubscriptionsOrg("csv", 123, { columnsExport: "BatchDate:Batch_Date,PaypointName:Legal_name", fromRecord: 251, limitRecord: 1000, }); } main(); ``` ```python from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.export.export_subscriptions_org( format="csv", org_id=123, columns_export="BatchDate:Batch_Date,PaypointName:Legal_name", from_record=251, limit_record=1000, ) ``` ```csharp using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Export.ExportSubscriptionsOrgAsync( ExportFormat1.Csv, 123, new ExportSubscriptionsOrgRequest { ColumnsExport = "BatchDate:Batch_Date,PaypointName:Legal_name", FromRecord = 251, LimitRecord = 1000 } ); } } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Export/subscriptions/csv/org/123?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Export/subscriptions/csv/org/123?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Export/subscriptions/csv/org/123?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000") .header("requestToken", "") .asString(); ``` ```php request('GET', 'https://api-sandbox.payabli.com/api/Export/subscriptions/csv/org/123?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Export/subscriptions/csv/org/123?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Get subscription stats GET https://api-sandbox.payabli.com/api/Statistic/subscriptions/{interval}/{level}/{entryId} Retrieves the subscription statistics for a given interval for a paypoint or organization. Reference: https://docs.payabli.com/developers/api-reference/subscription/get-subscription-statistics-for-a-paypoint-or-organization ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Statistic/subscriptions/{interval}/{level}/{entryId}: get: operationId: sub-stats summary: Get subscription statistics for a paypoint or organization description: >- Retrieves the subscription statistics for a given interval for a paypoint or organization. tags: - subpackage_statistic parameters: - name: interval in: path description: |- Interval to get the data. Allowed values: - `all` - all intervals - `30` - 1-30 days - `60` - 31-60 days - `90` - 61-90 days - `plus` - +90 days required: true schema: type: string - name: level in: path description: |- The entry level for the request: - 0 for Organization - 2 for Paypoint required: true schema: type: integer - name: entryId in: path description: Identifier in Payabli for the entity. required: true schema: type: integer format: int64 - name: parameters in: query description: List of parameters required: false schema: type: object additionalProperties: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/type_statistic:StatBasicQueryRecord' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_statistic:StatBasicQueryRecord: type: object properties: statX: type: string description: Statistical grouping identifier inTransactions: type: integer description: Number of incoming transactions inTransactionsVolume: type: number format: double description: Volume of incoming transactions inWalletTransactions: type: integer description: Number of incoming wallet transactions inWalletVolume: type: number format: double description: Volume of incoming wallet transactions required: - statX - inTransactions - inTransactionsVolume - inWalletTransactions - inWalletVolume title: StatBasicQueryRecord type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript SubStatsExample import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.statistic.subStats(1000000, "30", 1, {}); } main(); ``` ```python SubStatsExample from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.statistic.sub_stats( entry_id=1000000, interval="30", level=1, ) ``` ```csharp SubStatsExample using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Statistic.SubStatsAsync( "30", 1, 1000000L, new SubStatsRequest() ); } } ``` ```go SubStatsExample package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Statistic/subscriptions/30/1/1000000" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby SubStatsExample require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Statistic/subscriptions/30/1/1000000") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java SubStatsExample import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Statistic/subscriptions/30/1/1000000") .header("requestToken", "") .asString(); ``` ```php SubStatsExample request('GET', 'https://api-sandbox.payabli.com/api/Statistic/subscriptions/30/1/1000000', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift SubStatsExample import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Statistic/subscriptions/30/1/1000000")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Tokenize payment method POST https://api-sandbox.payabli.com/api/TokenStorage/add Content-Type: application/json Saves a payment method for reuse. This call exchanges sensitive payment information for a token that can be used to process future transactions. The `ReferenceId` value in the response is the `storedMethodId` to use with transactions. Reference: https://docs.payabli.com/developers/api-reference/tokenstorage/save-a-payment-method-tokenize ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /TokenStorage/add: post: operationId: add-method summary: Save a payment method (tokenize) description: >- Saves a payment method for reuse. This call exchanges sensitive payment information for a token that can be used to process future transactions. The `ReferenceId` value in the response is the `storedMethodId` to use with transactions. tags: - subpackage_tokenStorage parameters: - name: achValidation in: query required: false schema: $ref: '#/components/schemas/type_:AchValidation' - name: createAnonymous in: query required: false schema: $ref: '#/components/schemas/type_tokenStorage:CreateAnonymous' - name: forceCustomerCreation in: query required: false schema: $ref: '#/components/schemas/type_:ForceCustomerCreation' - name: temporary in: query required: false schema: $ref: '#/components/schemas/type_tokenStorage:Temporary' - name: requestToken in: header required: true schema: type: string - name: idempotencyKey in: header required: false schema: $ref: '#/components/schemas/type_:IdempotencyKey' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_tokenStorage:AddMethodResponse' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/type_tokenStorage:RequestTokenStorage' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:AchValidation: type: boolean description: >- When `true`, enables real-time validation of ACH account and routing numbers. This is an add-on feature, contact Payabli for more information. title: AchValidation type_tokenStorage:CreateAnonymous: type: boolean description: >- When `true`, creates a saved method with no associated customer information. The token will be associated with customer information the first time it's used to make a payment. Defaults to `false`. title: CreateAnonymous type_:ForceCustomerCreation: type: boolean description: >- When `true`, the request creates a new customer record, regardless of whether customer identifiers match an existing customer. Defaults to `false`. title: ForceCustomerCreation type_tokenStorage:Temporary: type: boolean description: >- Creates a temporary, one-time-use token for the payment method that expires in 12 hours. Defaults to `false`. title: Temporary type_:IdempotencyKey: type: string description: >- _Optional but recommended_ A unique ID that you can include to prevent duplicating objects or transactions in the case that a request is sent more than once. This key isn't generated in Payabli, you must generate it yourself. This key persists for 2 minutes. After 2 minutes, you can reuse the key if needed. title: IdempotencyKey type_:AdditionalData: type: object additionalProperties: type: object additionalProperties: description: Any type description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. If you are using [custom identifiers](/developers/developer-guides/entities-customers), pass those in this object. Max length for a value is 100 characters. Example usage: ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalData type_:BillingAddressNullable: type: string description: Billing address. title: BillingAddressNullable type_:BillingAddressAddtlNullable: type: string description: Additional line for the billing address. title: BillingAddressAddtlNullable type_:BillingCityNullable: type: string description: Billing city. title: BillingCityNullable type_:BillingCountryNullable: type: string description: Billing address country. title: BillingCountryNullable type_:Email: type: string format: email description: Email address. title: Email type_:PhoneNumber: type: string description: Phone number. title: PhoneNumber type_:BillingStateNullable: type: string description: Billing state. Must be 2-letter state code for address in US. title: BillingStateNullable type_:BillingZip: type: string description: Billing address ZIP code. title: BillingZip type_:CustomerId: type: integer format: int64 description: The Payabli-generated unique ID for the customer. title: CustomerId type_:CustomerNumberNullable: type: string description: >- User-provided unique identifier for the customer. This is typically the customer ID from your own system. title: CustomerNumberNullable type_:Identifierfields: type: array items: type: string description: >- List of fields acting as customer identifiers, to be used instead of CustomerNumber. title: Identifierfields type_:Shippingaddress: type: string description: The shipping address. title: Shippingaddress type_:Shippingaddressadditional: type: string description: Additional line for shipping address. title: Shippingaddressadditional type_:Shippingcity: type: string description: Shipping city. title: Shippingcity type_:Shippingcountry: type: string description: Shipping address country. title: Shippingcountry type_:Shippingstate: type: string description: Shipping state or province. title: Shippingstate type_:Shippingzip: type: string description: >- Shipping ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". title: Shippingzip type_:PayorDataRequest: type: object properties: additionalData: $ref: '#/components/schemas/type_:AdditionalData' billingAddress1: $ref: '#/components/schemas/type_:BillingAddressNullable' billingAddress2: $ref: '#/components/schemas/type_:BillingAddressAddtlNullable' billingCity: $ref: '#/components/schemas/type_:BillingCityNullable' billingCountry: $ref: '#/components/schemas/type_:BillingCountryNullable' billingEmail: $ref: '#/components/schemas/type_:Email' billingPhone: $ref: '#/components/schemas/type_:PhoneNumber' billingState: $ref: '#/components/schemas/type_:BillingStateNullable' billingZip: $ref: '#/components/schemas/type_:BillingZip' description: >- Customer's billing ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". company: type: string description: Customer's company name. customerId: $ref: '#/components/schemas/type_:CustomerId' customerNumber: $ref: '#/components/schemas/type_:CustomerNumberNullable' firstName: type: string description: Customer/Payor first name. identifierFields: $ref: '#/components/schemas/type_:Identifierfields' lastName: type: string description: Customer/Payor last name. shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' description: >- Customer information. May be required, depending on the paypoint's settings. Required for subscriptions. title: PayorDataRequest type_:Entrypointfield: type: string description: The entrypoint identifier. title: Entrypointfield type_:Cardcvv: type: string description: >- Card Verification Value (CVV) associated with the card number. We **strongly recommend** that you include this field when using `card` as a method. title: Cardcvv type_:Cardexp: type: string description: >- Card expiration date in format MMYY or MM/YY. Required for card transactions. title: Cardexp type_:Cardholder: type: string description: Cardholder name. title: Cardholder type_:Cardnumber: type: string description: >- The card number. Required when method is `card` and a `storedMethodId` isn't included. title: Cardnumber type_:Cardzip: type: string description: >- ZIP or postal code for the billing address of cardholder. We **strongly recommend** that you include this field when using `card` as a method. title: Cardzip type_tokenStorage:TokenizeCard: type: object properties: method: type: string description: >- The type of payment method to tokenize. For cards, this is always `card`. cardcvv: $ref: '#/components/schemas/type_:Cardcvv' cardexp: $ref: '#/components/schemas/type_:Cardexp' cardHolder: $ref: '#/components/schemas/type_:Cardholder' cardnumber: $ref: '#/components/schemas/type_:Cardnumber' cardzip: $ref: '#/components/schemas/type_:Cardzip' required: - method - cardexp - cardHolder - cardnumber title: TokenizeCard type_:Achaccount: type: string description: Bank account number. title: Achaccount type_:Achaccounttype: type: string enum: - Checking - Savings description: 'Bank account type: Checking or Savings.' title: Achaccounttype type_:AchSecCode: type: string description: >- Standard Entry Class (SEC) code is a three letter code that describes how an ACH payment was authorized. Supported values are: - PPD (Prearranged Payment and Deposit) - Used for credits or debits where an accountholder authorizes a company to initiate either a single or recurring transaction to their personal bank account. Common examples include direct deposit of payroll, mortgage payments, or utility bills. This is the default value for subscription payments. - WEB (Internet-Initiated/Mobile Entry) - Used for debit entries when authorization is obtained from an accountholder via the internet or a wireless network. Common examples are online bill payments, ecommerce purchases, and mobile app payments where the consumer enters their banking information online. - TEL (Telephone-Initiated Entry) - Used for one-time debit entries where authorization is obtained from a consumer via telephone. Common examples are phone-based purchases or bill payments where the consumer provides their banking information over the phone. - CCD (Corporate Credit or Debit) - Used for fund transfers between business accounts. This code is specifically for business-to-business transactions. Common examples include vendor payments and other business-to-business payments. - BOC (Back Office Conversion) - Used to convert paper checks received in-person at a point-of-sale or staffed payment location into electronic ACH debits. Required for Remote Deposit Capture (RDC) transactions. Only supports consumer checks; business, government, and mailed checks aren't eligible. title: AchSecCode type_:AchHolder: type: string description: >- Bank account holder. This field is **required** when `method` is `ach` or `check`. title: AchHolder type_:AchHolderType: type: string enum: - personal - business default: personal description: 'The bank''s accountholder type: personal or business.' title: AchHolderType type_:Achrouting: type: string description: ABA/routing number of Bank account. title: Achrouting type_:Device: type: string description: Identifier of registered cloud device used in the transaction. title: Device type_tokenStorage:TokenizeACH: type: object properties: method: type: string description: >- The type of payment method to tokenize. For ACH, this is always `ach`. achAccount: $ref: '#/components/schemas/type_:Achaccount' achAccountType: $ref: '#/components/schemas/type_:Achaccounttype' achCode: $ref: '#/components/schemas/type_:AchSecCode' achHolder: $ref: '#/components/schemas/type_:AchHolder' achHolderType: $ref: '#/components/schemas/type_:AchHolderType' achRouting: $ref: '#/components/schemas/type_:Achrouting' device: $ref: '#/components/schemas/type_:Device' required: - method - achAccount - achAccountType - achHolder - achRouting title: TokenizeACH type_tokenStorage:ConvertToken: type: object properties: method: type: string description: >- The type of payment method to tokenize. When converting a temp token to a permanent token, this should match the `method` set for the temporary token, either `ach` or `card`. tokenId: type: string description: A temporary stored token ID to be converted to permanent. required: - method - tokenId description: >- Object containing the information needed to convert a temporary token to a permanent token. title: ConvertToken type_tokenStorage:RequestTokenStoragePaymentMethod: oneOf: - $ref: '#/components/schemas/type_tokenStorage:TokenizeCard' - $ref: '#/components/schemas/type_tokenStorage:TokenizeACH' - $ref: '#/components/schemas/type_tokenStorage:ConvertToken' description: Information about the payment method for the transaction. title: RequestTokenStoragePaymentMethod type_tokenStorage:VendorDataRequest: type: object properties: vendorId: type: integer format: int64 description: >- The unique numeric ID assigned to the vendor in Payabli. Either `vendorId` or `vendorNumber` is required. vendorNumber: type: string description: >- Custom vendor number assigned by the business. Either `vendorId` or `vendorNumber` is required. description: >- Object describing the vendor owner of payment method. Required when saving an ACH payment method on behalf of a vendor (for Pay Out transactions). title: VendorDataRequest type_:Source: type: string description: Custom identifier to indicate the transaction or request source. title: Source type_:Subdomain: type: string description: >- Refers to the payment page identifier. If provided, then the transaction is linked to the payment page. title: Subdomain type_tokenStorage:RequestTokenStorage: type: object properties: customerData: $ref: '#/components/schemas/type_:PayorDataRequest' description: >- Object describing the Customer/Payor owner of payment method. Required for POST requests. Which fields are required depends on the paypoint's custom identifier settings. entryPoint: $ref: '#/components/schemas/type_:Entrypointfield' description: Entrypoint identifier. Required for POST requests. fallbackAuth: type: boolean default: false description: >- When `true`, if tokenization fails, Payabli will attempt an authorization transaction to request a permanent token for the card. If the authorization is successful, the card will be tokenized and the authorization will be voided automatically. fallbackAuthAmount: type: integer default: 100 description: >- The amount for the `fallbackAuth` transaction. Defaults to one dollar (`100`). methodDescription: type: string description: Custom description for stored payment method. paymentMethod: $ref: >- #/components/schemas/type_tokenStorage:RequestTokenStoragePaymentMethod description: Information about the payment method for the transaction. vendorData: $ref: '#/components/schemas/type_tokenStorage:VendorDataRequest' source: $ref: '#/components/schemas/type_:Source' description: Custom identifier to indicate the source for the request subdomain: $ref: '#/components/schemas/type_:Subdomain' title: RequestTokenStorage type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:MethodReferenceId: type: string description: >- The stored method's identifier (sometimes referred to as 'token') in Payabli. When `null`, the method wasn't created, or doesn't exist, depending on the operation performed. title: MethodReferenceId type_:ResultCode: type: integer description: >- Result code for the operation. Value 1 indicates a successful operation, values 2 and 3 indicate errors. A value of 10 indicates that an operation has been initiated and is pending. title: ResultCode type_:Resulttext: type: string description: >- Text describing the result. If `ResultCode` = 1, will return 'Approved' or a general success message. If `ResultCode`` = 2 or 3, will contain the cause of the error or decline. title: Resulttext type_tokenStorage:AddMethodResponseResponseData: type: object properties: referenceId: $ref: '#/components/schemas/type_:MethodReferenceId' description: >- Stored method identifier in Payabli platform. This ID is used to manage the stored method. resultCode: $ref: '#/components/schemas/type_:ResultCode' resultText: $ref: '#/components/schemas/type_:Resulttext' customerId: $ref: '#/components/schemas/type_:CustomerId' description: >- Internal unique ID of customer owner of the stored method. Returns `0` if the method wasn't assigned to an existing customer or no customer was created." methodReferenceId: $ref: '#/components/schemas/type_:MethodReferenceId' title: AddMethodResponseResponseData type_tokenStorage:AddMethodResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseText: $ref: '#/components/schemas/type_:ResponseText' responseData: $ref: '#/components/schemas/type_tokenStorage:AddMethodResponseResponseData' required: - responseText title: AddMethodResponse type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript TokenizeCard import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.tokenStorage.addMethod({ body: { customerData: { customerId: 4440, }, entryPoint: "f743aed24a", fallbackAuth: true, fallbackAuthAmount: 100, methodDescription: "Primary Visa card", paymentMethod: { cardcvv: "123", cardexp: "02/25", cardHolder: "John Doe", cardnumber: "4111111111111111", cardzip: "12345", method: "card", }, source: "api", }, }); } main(); ``` ```python TokenizeCard from payabli import payabli, PayorDataRequest from payabli.token_storage import TokenizeCard client = payabli( api_key="YOUR_API_KEY_HERE", ) client.token_storage.add_method( customer_data=PayorDataRequest( customer_id=4440, ), entry_point="f743aed24a", fallback_auth=True, fallback_auth_amount=100, method_description="Primary Visa card", payment_method=TokenizeCard( cardcvv="123", cardexp="02/25", card_holder="John Doe", cardnumber="4111111111111111", cardzip="12345", method="card", ), source="api", ) ``` ```csharp TokenizeCard using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.TokenStorage.AddMethodAsync( new AddMethodRequest { Body = new RequestTokenStorage { CustomerData = new PayorDataRequest { CustomerId = 4440L }, EntryPoint = "f743aed24a", FallbackAuth = true, FallbackAuthAmount = 100, MethodDescription = "Primary Visa card", PaymentMethod = new TokenizeCard { Cardcvv = "123", Cardexp = "02/25", CardHolder = "John Doe", Cardnumber = "4111111111111111", Cardzip = "12345", Method = "card" }, Source = "api" } } ); } } ``` ```go TokenizeCard package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/TokenStorage/add" payload := strings.NewReader("{\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"fallbackAuth\": true,\n \"fallbackAuthAmount\": 100,\n \"methodDescription\": \"Primary Visa card\",\n \"paymentMethod\": {\n \"cardcvv\": \"123\",\n \"cardexp\": \"02/25\",\n \"cardHolder\": \"John Doe\",\n \"cardnumber\": \"4111111111111111\",\n \"cardzip\": \"12345\",\n \"method\": \"card\"\n },\n \"source\": \"api\"\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby TokenizeCard require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/TokenStorage/add") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"fallbackAuth\": true,\n \"fallbackAuthAmount\": 100,\n \"methodDescription\": \"Primary Visa card\",\n \"paymentMethod\": {\n \"cardcvv\": \"123\",\n \"cardexp\": \"02/25\",\n \"cardHolder\": \"John Doe\",\n \"cardnumber\": \"4111111111111111\",\n \"cardzip\": \"12345\",\n \"method\": \"card\"\n },\n \"source\": \"api\"\n}" response = http.request(request) puts response.read_body ``` ```java TokenizeCard import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/TokenStorage/add") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"fallbackAuth\": true,\n \"fallbackAuthAmount\": 100,\n \"methodDescription\": \"Primary Visa card\",\n \"paymentMethod\": {\n \"cardcvv\": \"123\",\n \"cardexp\": \"02/25\",\n \"cardHolder\": \"John Doe\",\n \"cardnumber\": \"4111111111111111\",\n \"cardzip\": \"12345\",\n \"method\": \"card\"\n },\n \"source\": \"api\"\n}") .asString(); ``` ```php TokenizeCard request('POST', 'https://api-sandbox.payabli.com/api/TokenStorage/add', [ 'body' => '{ "customerData": { "customerId": 4440 }, "entryPoint": "f743aed24a", "fallbackAuth": true, "fallbackAuthAmount": 100, "methodDescription": "Primary Visa card", "paymentMethod": { "cardcvv": "123", "cardexp": "02/25", "cardHolder": "John Doe", "cardnumber": "4111111111111111", "cardzip": "12345", "method": "card" }, "source": "api" }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift TokenizeCard import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "customerData": ["customerId": 4440], "entryPoint": "f743aed24a", "fallbackAuth": true, "fallbackAuthAmount": 100, "methodDescription": "Primary Visa card", "paymentMethod": [ "cardcvv": "123", "cardexp": "02/25", "cardHolder": "John Doe", "cardnumber": "4111111111111111", "cardzip": "12345", "method": "card" ], "source": "api" ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/TokenStorage/add")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ```typescript TokenizeCardAnonymous import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.tokenStorage.addMethod({ createAnonymous: true, body: { entryPoint: "f743aed24a", fallbackAuth: true, paymentMethod: { cardcvv: "123", cardexp: "02/25", cardHolder: "John Doe", cardnumber: "4111111111111111", cardzip: "12345", method: "card", }, }, }); } main(); ``` ```python TokenizeCardAnonymous from payabli import payabli from payabli.token_storage import TokenizeCard client = payabli( api_key="YOUR_API_KEY_HERE", ) client.token_storage.add_method( create_anonymous=True, entry_point="f743aed24a", fallback_auth=True, payment_method=TokenizeCard( cardcvv="123", cardexp="02/25", card_holder="John Doe", cardnumber="4111111111111111", cardzip="12345", method="card", ), ) ``` ```csharp TokenizeCardAnonymous using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.TokenStorage.AddMethodAsync( new AddMethodRequest { CreateAnonymous = true, Body = new RequestTokenStorage { EntryPoint = "f743aed24a", FallbackAuth = true, PaymentMethod = new TokenizeCard { Cardcvv = "123", Cardexp = "02/25", CardHolder = "John Doe", Cardnumber = "4111111111111111", Cardzip = "12345", Method = "card" } } } ); } } ``` ```go TokenizeCardAnonymous package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/TokenStorage/add?createAnonymous=true" payload := strings.NewReader("{\n \"entryPoint\": \"f743aed24a\",\n \"fallbackAuth\": true,\n \"paymentMethod\": {\n \"cardcvv\": \"123\",\n \"cardexp\": \"02/25\",\n \"cardHolder\": \"John Doe\",\n \"cardnumber\": \"4111111111111111\",\n \"cardzip\": \"12345\",\n \"method\": \"card\"\n }\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby TokenizeCardAnonymous require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/TokenStorage/add?createAnonymous=true") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"entryPoint\": \"f743aed24a\",\n \"fallbackAuth\": true,\n \"paymentMethod\": {\n \"cardcvv\": \"123\",\n \"cardexp\": \"02/25\",\n \"cardHolder\": \"John Doe\",\n \"cardnumber\": \"4111111111111111\",\n \"cardzip\": \"12345\",\n \"method\": \"card\"\n }\n}" response = http.request(request) puts response.read_body ``` ```java TokenizeCardAnonymous import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/TokenStorage/add?createAnonymous=true") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"entryPoint\": \"f743aed24a\",\n \"fallbackAuth\": true,\n \"paymentMethod\": {\n \"cardcvv\": \"123\",\n \"cardexp\": \"02/25\",\n \"cardHolder\": \"John Doe\",\n \"cardnumber\": \"4111111111111111\",\n \"cardzip\": \"12345\",\n \"method\": \"card\"\n }\n}") .asString(); ``` ```php TokenizeCardAnonymous request('POST', 'https://api-sandbox.payabli.com/api/TokenStorage/add?createAnonymous=true', [ 'body' => '{ "entryPoint": "f743aed24a", "fallbackAuth": true, "paymentMethod": { "cardcvv": "123", "cardexp": "02/25", "cardHolder": "John Doe", "cardnumber": "4111111111111111", "cardzip": "12345", "method": "card" } }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift TokenizeCardAnonymous import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "entryPoint": "f743aed24a", "fallbackAuth": true, "paymentMethod": [ "cardcvv": "123", "cardexp": "02/25", "cardHolder": "John Doe", "cardnumber": "4111111111111111", "cardzip": "12345", "method": "card" ] ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/TokenStorage/add?createAnonymous=true")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ```typescript TemptoPermanent import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.tokenStorage.addMethod({ body: { customerData: { customerId: 4440, }, entryPoint: "f743aed24a", fallbackAuth: true, methodDescription: "Main card", paymentMethod: { method: "card", }, }, }); } main(); ``` ```python TemptoPermanent from payabli import payabli, PayorDataRequest from payabli.token_storage import TokenizeCard client = payabli( api_key="YOUR_API_KEY_HERE", ) client.token_storage.add_method( customer_data=PayorDataRequest( customer_id=4440, ), entry_point="f743aed24a", fallback_auth=True, method_description="Main card", payment_method=TokenizeCard( method="card", ), ) ``` ```csharp TemptoPermanent using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.TokenStorage.AddMethodAsync( new AddMethodRequest { Body = new RequestTokenStorage { CustomerData = new PayorDataRequest { CustomerId = 4440L }, EntryPoint = "f743aed24a", FallbackAuth = true, MethodDescription = "Main card", PaymentMethod = new TokenizeCard { Method = "card" } } } ); } } ``` ```go TemptoPermanent package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/TokenStorage/add" payload := strings.NewReader("{\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"fallbackAuth\": true,\n \"methodDescription\": \"Main card\",\n \"paymentMethod\": {\n \"method\": \"card\",\n \"tokenId\": \"c9700e93-b2ed-4b75-b1e4-ca4fb04fbe45-224\"\n }\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby TemptoPermanent require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/TokenStorage/add") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"fallbackAuth\": true,\n \"methodDescription\": \"Main card\",\n \"paymentMethod\": {\n \"method\": \"card\",\n \"tokenId\": \"c9700e93-b2ed-4b75-b1e4-ca4fb04fbe45-224\"\n }\n}" response = http.request(request) puts response.read_body ``` ```java TemptoPermanent import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/TokenStorage/add") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"fallbackAuth\": true,\n \"methodDescription\": \"Main card\",\n \"paymentMethod\": {\n \"method\": \"card\",\n \"tokenId\": \"c9700e93-b2ed-4b75-b1e4-ca4fb04fbe45-224\"\n }\n}") .asString(); ``` ```php TemptoPermanent request('POST', 'https://api-sandbox.payabli.com/api/TokenStorage/add', [ 'body' => '{ "customerData": { "customerId": 4440 }, "entryPoint": "f743aed24a", "fallbackAuth": true, "methodDescription": "Main card", "paymentMethod": { "method": "card", "tokenId": "c9700e93-b2ed-4b75-b1e4-ca4fb04fbe45-224" } }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift TemptoPermanent import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "customerData": ["customerId": 4440], "entryPoint": "f743aed24a", "fallbackAuth": true, "methodDescription": "Main card", "paymentMethod": [ "method": "card", "tokenId": "c9700e93-b2ed-4b75-b1e4-ca4fb04fbe45-224" ] ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/TokenStorage/add")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ```typescript TokenizeACH import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.tokenStorage.addMethod({ achValidation: true, body: { customerData: { customerId: 4440, }, entryPoint: "f743aed24a", paymentMethod: { method: "ach", }, }, }); } main(); ``` ```python TokenizeACH from payabli import payabli, PayorDataRequest from payabli.token_storage import TokenizeCard client = payabli( api_key="YOUR_API_KEY_HERE", ) client.token_storage.add_method( ach_validation=True, customer_data=PayorDataRequest( customer_id=4440, ), entry_point="f743aed24a", payment_method=TokenizeCard( method="ach", ), ) ``` ```csharp TokenizeACH using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.TokenStorage.AddMethodAsync( new AddMethodRequest { AchValidation = true, Body = new RequestTokenStorage { CustomerData = new PayorDataRequest { CustomerId = 4440L }, EntryPoint = "f743aed24a", PaymentMethod = new TokenizeCard { Method = "ach" } } } ); } } ``` ```go TokenizeACH package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/TokenStorage/add?achValidation=true" payload := strings.NewReader("{\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"paymentMethod\": {\n \"achAccount\": \"1111111111111\",\n \"achAccountType\": \"Checking\",\n \"achCode\": \"WEB\",\n \"achHolder\": \"John Doe\",\n \"achHolderType\": \"personal\",\n \"achRouting\": \"123456780\",\n \"method\": \"ach\"\n }\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby TokenizeACH require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/TokenStorage/add?achValidation=true") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"paymentMethod\": {\n \"achAccount\": \"1111111111111\",\n \"achAccountType\": \"Checking\",\n \"achCode\": \"WEB\",\n \"achHolder\": \"John Doe\",\n \"achHolderType\": \"personal\",\n \"achRouting\": \"123456780\",\n \"method\": \"ach\"\n }\n}" response = http.request(request) puts response.read_body ``` ```java TokenizeACH import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/TokenStorage/add?achValidation=true") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"paymentMethod\": {\n \"achAccount\": \"1111111111111\",\n \"achAccountType\": \"Checking\",\n \"achCode\": \"WEB\",\n \"achHolder\": \"John Doe\",\n \"achHolderType\": \"personal\",\n \"achRouting\": \"123456780\",\n \"method\": \"ach\"\n }\n}") .asString(); ``` ```php TokenizeACH request('POST', 'https://api-sandbox.payabli.com/api/TokenStorage/add?achValidation=true', [ 'body' => '{ "customerData": { "customerId": 4440 }, "entryPoint": "f743aed24a", "paymentMethod": { "achAccount": "1111111111111", "achAccountType": "Checking", "achCode": "WEB", "achHolder": "John Doe", "achHolderType": "personal", "achRouting": "123456780", "method": "ach" } }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift TokenizeACH import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "customerData": ["customerId": 4440], "entryPoint": "f743aed24a", "paymentMethod": [ "achAccount": "1111111111111", "achAccountType": "Checking", "achCode": "WEB", "achHolder": "John Doe", "achHolderType": "personal", "achRouting": "123456780", "method": "ach" ] ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/TokenStorage/add?achValidation=true")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ```typescript TokenizeVendorACH import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.tokenStorage.addMethod({ achValidation: true, body: { entryPoint: "f743aed24a", paymentMethod: { method: "ach", }, vendorData: { vendorId: 7890, }, }, }); } main(); ``` ```python TokenizeVendorACH from payabli import payabli from payabli.token_storage import TokenizeCard, VendorDataRequest client = payabli( api_key="YOUR_API_KEY_HERE", ) client.token_storage.add_method( ach_validation=True, entry_point="f743aed24a", payment_method=TokenizeCard( method="ach", ), vendor_data=VendorDataRequest( vendor_id=7890, ), ) ``` ```csharp TokenizeVendorACH using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.TokenStorage.AddMethodAsync( new AddMethodRequest { AchValidation = true, Body = new RequestTokenStorage { EntryPoint = "f743aed24a", PaymentMethod = new TokenizeCard { Method = "ach" }, VendorData = new VendorDataRequest { VendorId = 7890L } } } ); } } ``` ```go TokenizeVendorACH package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/TokenStorage/add?achValidation=true" payload := strings.NewReader("{\n \"entryPoint\": \"f743aed24a\",\n \"paymentMethod\": {\n \"achAccount\": \"1111111111111\",\n \"achAccountType\": \"Checking\",\n \"achCode\": \"WEB\",\n \"achHolder\": \"John Doe\",\n \"achHolderType\": \"personal\",\n \"achRouting\": \"123456780\",\n \"method\": \"ach\"\n },\n \"vendorData\": {\n \"vendorId\": 7890\n }\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby TokenizeVendorACH require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/TokenStorage/add?achValidation=true") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"entryPoint\": \"f743aed24a\",\n \"paymentMethod\": {\n \"achAccount\": \"1111111111111\",\n \"achAccountType\": \"Checking\",\n \"achCode\": \"WEB\",\n \"achHolder\": \"John Doe\",\n \"achHolderType\": \"personal\",\n \"achRouting\": \"123456780\",\n \"method\": \"ach\"\n },\n \"vendorData\": {\n \"vendorId\": 7890\n }\n}" response = http.request(request) puts response.read_body ``` ```java TokenizeVendorACH import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/TokenStorage/add?achValidation=true") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"entryPoint\": \"f743aed24a\",\n \"paymentMethod\": {\n \"achAccount\": \"1111111111111\",\n \"achAccountType\": \"Checking\",\n \"achCode\": \"WEB\",\n \"achHolder\": \"John Doe\",\n \"achHolderType\": \"personal\",\n \"achRouting\": \"123456780\",\n \"method\": \"ach\"\n },\n \"vendorData\": {\n \"vendorId\": 7890\n }\n}") .asString(); ``` ```php TokenizeVendorACH request('POST', 'https://api-sandbox.payabli.com/api/TokenStorage/add?achValidation=true', [ 'body' => '{ "entryPoint": "f743aed24a", "paymentMethod": { "achAccount": "1111111111111", "achAccountType": "Checking", "achCode": "WEB", "achHolder": "John Doe", "achHolderType": "personal", "achRouting": "123456780", "method": "ach" }, "vendorData": { "vendorId": 7890 } }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift TokenizeVendorACH import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "entryPoint": "f743aed24a", "paymentMethod": [ "achAccount": "1111111111111", "achAccountType": "Checking", "achCode": "WEB", "achHolder": "John Doe", "achHolderType": "personal", "achRouting": "123456780", "method": "ach" ], "vendorData": ["vendorId": 7890] ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/TokenStorage/add?achValidation=true")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Get tokenized method details GET https://api-sandbox.payabli.com/api/TokenStorage/{methodId} Retrieves details for a saved payment method. Reference: https://docs.payabli.com/developers/api-reference/tokenstorage/get-a-payment-method ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /TokenStorage/{methodId}: get: operationId: get-method summary: Get payment method description: Retrieves details for a saved payment method. tags: - subpackage_tokenStorage parameters: - name: methodId in: path description: The saved payment method ID. required: true schema: type: string - name: cardExpirationFormat in: query description: >- Format for card expiration dates in the response. Accepted values: - 0: default, no formatting. Expiration dates are returned in the format they're saved in. - 1: MMYY - 2: MM/YY required: false schema: type: integer default: 0 - name: includeTemporary in: query description: >- When `true`, the request will include temporary tokens in the search and return details for a matching temporary token. The default behavior searches only for permanent tokens. required: false schema: type: boolean default: false - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_tokenStorage:GetMethodResponse' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:AchHolderType: type: string enum: - personal - business default: personal description: 'The bank''s accountholder type: personal or business.' title: AchHolderType type_:AchSecCode: type: string description: >- Standard Entry Class (SEC) code is a three letter code that describes how an ACH payment was authorized. Supported values are: - PPD (Prearranged Payment and Deposit) - Used for credits or debits where an accountholder authorizes a company to initiate either a single or recurring transaction to their personal bank account. Common examples include direct deposit of payroll, mortgage payments, or utility bills. This is the default value for subscription payments. - WEB (Internet-Initiated/Mobile Entry) - Used for debit entries when authorization is obtained from an accountholder via the internet or a wireless network. Common examples are online bill payments, ecommerce purchases, and mobile app payments where the consumer enters their banking information online. - TEL (Telephone-Initiated Entry) - Used for one-time debit entries where authorization is obtained from a consumer via telephone. Common examples are phone-based purchases or bill payments where the consumer provides their banking information over the phone. - CCD (Corporate Credit or Debit) - Used for fund transfers between business accounts. This code is specifically for business-to-business transactions. Common examples include vendor payments and other business-to-business payments. - BOC (Back Office Conversion) - Used to convert paper checks received in-person at a point-of-sale or staffed payment location into electronic ACH debits. Required for Remote Deposit Capture (RDC) transactions. Only supports consumer checks; business, government, and mailed checks aren't eligible. title: AchSecCode type_:BinData: type: object properties: binMatchedLength: type: string description: |- The number of characters from the beginning of the card number that were matched against a Bank Identification Number (BIN) or the Card Range table. binCardBrand: type: string description: |- The card brand. For example, Visa, Mastercard, American Express, Discover. binCardType: type: string description: 'The type of card: Credit or Debit.' binCardCategory: type: string description: >- The category of the card, which indicates the card product. For example: Standard, Gold, Platinum, etc. The binCardCategory for prepaid cards is marked `PREPAID`. binCardIssuer: type: string description: The name of the financial institution that issued the card. binCardIssuerCountry: type: string description: The issuing financial institution's country name. binCardIssuerCountryCodeA2: type: string description: >- The issuing financial institution's two-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIssuerCountryNumber: type: string description: >- The issuing financial institution's ISO standard numeric country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIsRegulated: type: string description: Indicates whether the card is regulated. binCardUseCategory: type: string description: The use category classification for the card. binCardIssuerCountryCodeA3: type: string description: >- The issuing financial institution's three-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. description: >- Object containing information related to the card. This object is `null` unless the payment method is card. If the payment method is Apple Pay, the binData will be related to the DPAN (device primary account number), not the card connected to Apple Pay. title: BinData type_:AdditionalData: type: object additionalProperties: type: object additionalProperties: description: Any type description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. If you are using [custom identifiers](/developers/developer-guides/entities-customers), pass those in this object. Max length for a value is 100 characters. Example usage: ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalData type_:BillingAddressNullable: type: string description: Billing address. title: BillingAddressNullable type_:BillingAddressAddtlNullable: type: string description: Additional line for the billing address. title: BillingAddressAddtlNullable type_:BillingCityNullable: type: string description: Billing city. title: BillingCityNullable type_:BillingCountryNullable: type: string description: Billing address country. title: BillingCountryNullable type_:Email: type: string format: email description: Email address. title: Email type_:PhoneNumber: type: string description: Phone number. title: PhoneNumber type_:BillingStateNullable: type: string description: Billing state. Must be 2-letter state code for address in US. title: BillingStateNullable type_:BillingZip: type: string description: Billing address ZIP code. title: BillingZip type_:CustomerId: type: integer format: int64 description: The Payabli-generated unique ID for the customer. title: CustomerId type_:CustomerNumberNullable: type: string description: >- User-provided unique identifier for the customer. This is typically the customer ID from your own system. title: CustomerNumberNullable type_:Identifierfields: type: array items: type: string description: >- List of fields acting as customer identifiers, to be used instead of CustomerNumber. title: Identifierfields type_:Shippingaddress: type: string description: The shipping address. title: Shippingaddress type_:Shippingaddressadditional: type: string description: Additional line for shipping address. title: Shippingaddressadditional type_:Shippingcity: type: string description: Shipping city. title: Shippingcity type_:Shippingcountry: type: string description: Shipping address country. title: Shippingcountry type_:Shippingstate: type: string description: Shipping state or province. title: Shippingstate type_:Shippingzip: type: string description: >- Shipping ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". title: Shippingzip type_:BatchNumber: type: string description: >- A unique identifier for the batch. This is generated by Payabli when the batch is created, and follows this format: `paypointId + "_" + serviceName + "_" + batchDate:yyyyMMdd + "_" + Guid.NewGuid()`. Payabli generates the GUID to ensure that the batch number is unique. For example, in this batch number: `123_card_20251008_3f2504e0-4f89-11d3-9a0c-0305e82c3301`, the paypointID is "123", the service is "card", the batch date is "2025-10-08", and the GUID is "3f2504e0-4f89-11d3-9a0c-0305e82c3301". title: BatchNumber type_:TransactionTime: type: string format: date-time description: Timestamp when transaction was submitted, in UTC. title: TransactionTime type_:QueryCFeeTransaction: type: object properties: cFeeTransid: type: string feeAmount: type: number format: double operation: type: string refundId: type: integer format: int64 responseData: type: object additionalProperties: description: Any type settlementStatus: type: integer transactionTime: $ref: '#/components/schemas/type_:TransactionTime' transStatus: type: integer title: QueryCFeeTransaction type_:CustomerStatus: type: integer description: |- Customer Status. Possible values: - `-99` Deleted - `0` Inactive - `1` Active - `85` Locked (typically due to multiple failed login attempts) title: CustomerStatus type_:AdditionalDataMap: type: object additionalProperties: type: string description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalDataMap type_:QueryTransactionPayorData: type: object properties: Identifiers: type: array items: description: Any type description: Array of field names to be used as identifiers. FirstName: type: string description: Customer/Payor first name. LastName: type: string description: Customer/Payor last name. CompanyName: type: string description: Customer's company name. BillingAddress1: type: string description: Customer's billing address. BillingAddress2: type: string description: Additional line for Customer's billing address. BillingCity: type: string description: Customer's billing city. BillingState: type: string description: >- Customer's billing state. Must be 2-letter state code for address in US. BillingZip: $ref: '#/components/schemas/type_:BillingZip' description: Customer's billing ZIP code. BillingCountry: type: string description: Customer's billing country. BillingPhone: type: string description: Customer's phone number. BillingEmail: $ref: '#/components/schemas/type_:Email' description: Customer's email address. CustomerNumber: $ref: '#/components/schemas/type_:CustomerNumberNullable' ShippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' ShippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' ShippingCity: $ref: '#/components/schemas/type_:Shippingcity' ShippingState: $ref: '#/components/schemas/type_:Shippingstate' ShippingZip: $ref: '#/components/schemas/type_:Shippingzip' ShippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' customerId: $ref: '#/components/schemas/type_:CustomerId' customerStatus: $ref: '#/components/schemas/type_:CustomerStatus' AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' title: QueryTransactionPayorData type_:Device: type: string description: Identifier of registered cloud device used in the transaction. title: Device type_:EntrypageId: type: integer format: int64 description: >- If applicable, the internal reference ID to the payment page capturing the payment. title: EntrypageId type_:ExternalProcessorInformation: type: string description: >- Processor information, used for troubleshooting and reporting. This field contains a value when the API key used to make the request has management permissions. title: ExternalProcessorInformation type_:FeeAmount: type: number format: double description: Service fee or sub-charge applied. title: FeeAmount type_:FileContentFtype: type: string enum: - pdf - doc - docx - jpg - jpeg - png - gif - txt description: The MIME type of the file (if content is provided) title: FileContentFtype type_:FileContent: type: object properties: fContent: type: string description: >- Content of file, Base64-encoded. Ignored if furl is specified. Max upload size is 30 MB. filename: type: string description: The name of the attached file. ftype: $ref: '#/components/schemas/type_:FileContentFtype' description: The MIME type of the file (if content is provided) furl: type: string description: Optional URL provided to show or download the file remotely description: Contains details about a file. Max upload size is 30 MB. title: FileContent type_:Attachments: type: array items: $ref: '#/components/schemas/type_:FileContent' description: >- Array of `fileContent` objects with attached documents. Max upload size is 30 MB. title: Attachments type_:Discount: type: number format: double description: Discount applied to the invoice. title: Discount type_:DutyAmount: type: number format: double description: Duty amount. title: DutyAmount type_:FreightAmount: type: number format: double description: Freight/shipping amount. title: FreightAmount type_:Frequency: type: string enum: - onetime - weekly - every2weeks - every6months - monthly - every3months - annually description: Frequency for operation. title: Frequency type_:InvoiceAmount: type: number format: double description: Invoice total amount. title: InvoiceAmount type_:InvoiceNumber: type: string description: >- Custom number identifying the bill or invoice. Must be unique in paypoint. title: InvoiceNumber type_:Invoicestatus: type: integer description: |- Status for invoice. The accepted status values are: - 0 draft - 1 active - 2 partially paid - 4 paid/complete - 99 cancelled title: Invoicestatus type_:InvoiceType: type: integer description: Type of invoice. Only `0` for one-time invoices is currently supported. title: InvoiceType type_:ItemCommodityCode: type: string description: Item or product commodity code. Max length of 250 characters. title: ItemCommodityCode type_:ItemDescription: type: string description: Item or product description. Max length of 250 characters. title: ItemDescription type_:ItemProductCode: type: string description: Item or product code. Max length of 250 characters. title: ItemProductCode type_:ItemProductName: type: string description: Item or product name. Max length of 250 characters. title: ItemProductName type_:ItemUnitofMeasure: type: string description: Unit of measurement. Max length of 100 characters. title: ItemUnitofMeasure type_:BillItem: type: object properties: itemCategories: type: array items: type: string description: Array of tags classifying item or product. itemCommodityCode: $ref: '#/components/schemas/type_:ItemCommodityCode' itemCost: type: number format: double description: Item or product price per unit. itemDescription: $ref: '#/components/schemas/type_:ItemDescription' itemMode: type: integer description: >- Internal class of item or product: value '0' is only for invoices , '1' for bills and, '2' common for both. itemProductCode: $ref: '#/components/schemas/type_:ItemProductCode' itemProductName: $ref: '#/components/schemas/type_:ItemProductName' itemQty: type: integer description: Quantity of item or product. itemTaxAmount: type: number format: double description: Tax amount applied to item or product. itemTaxRate: type: number format: double description: Tax rate applied to item or product. itemTotalAmount: type: number format: double description: Total amount in item or product. itemUnitOfMeasure: $ref: '#/components/schemas/type_:ItemUnitofMeasure' required: - itemCost title: BillItem type_:BillDataPaymentTerms: type: string enum: - PIA - CIA - UR - NET10 - NET20 - NET30 - NET45 - NET60 - NET90 - EOM - MFI - 5MFI - 10MFI - 15MFI - 20MFI - 2/10NET30 - UF - 10UF - 20UF - 25UF - 50UF description: >- Payment terms for invoice. If no terms are defined, then response data for this field defaults to `NET30`. **Available Values:** - `PIA`: Payment in advance - `CIA`: Cash in advance - `UR`: Upon receipt - `NET10`: 10 days after invoice date - `NET20`: 20 days after invoice date - `NET30`: 30 days after invoice date - `NET45`: 45 days after invoice date - `NET60`: 60 days after invoice date - `NET90`: 90 days after invoice date - `EOM`: Due end of this month - `MFI`: 1st of the month following the invoice date - `5MFI`: 5th of the month following the invoice date - `10MFI`: 10th of the month following the invoice date - `15MFI`: 15th of the month following the invoice date - `20MFI`: 20th of the month following the invoice date - `2/10NET30`: 2% discount if paid within 10 days, otherwise net 30 days - `UF`: Until further notice - `10UF`: 10 days until further notice - `20UF`: 20 days until further notice - `25UF`: 25 days until further notice - `50UF`: 50 days until further notice title: BillDataPaymentTerms type_:PurchaseOrder: type: string description: Purchase order number. title: PurchaseOrder type_:ShippingFromZip: type: string description: Sender shipping ZIP code. title: ShippingFromZip type_:SummaryCommodityCode: type: string description: Commodity code. title: SummaryCommodityCode type_:Tax: type: number format: double description: Tax rate in percent applied to the invoice. title: Tax type_:TermsConditions: type: string description: Custom terms and conditions included in the invoice. title: TermsConditions type_:BillData: type: object properties: AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' attachments: $ref: '#/components/schemas/type_:Attachments' company: type: string description: Company name of the recipient of the invoice. discount: $ref: '#/components/schemas/type_:Discount' dutyAmount: $ref: '#/components/schemas/type_:DutyAmount' firstName: type: string description: First name of the recipient of the invoice. freightAmount: $ref: '#/components/schemas/type_:FreightAmount' frequency: $ref: '#/components/schemas/type_:Frequency' description: Frequency of scheduled invoice. invoiceAmount: $ref: '#/components/schemas/type_:InvoiceAmount' invoiceDate: type: string format: date description: 'Invoice date in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY.' invoiceDueDate: type: string format: date description: >- Invoice due date in one of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceEndDate: type: string format: date description: >- Indicate the date to finish a scheduled invoice cycle (`invoiceType`` = 1) in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceNumber: $ref: '#/components/schemas/type_:InvoiceNumber' description: Invoice number. Identifies the invoice under a paypoint. invoiceStatus: $ref: '#/components/schemas/type_:Invoicestatus' invoiceType: $ref: '#/components/schemas/type_:InvoiceType' items: type: array items: $ref: '#/components/schemas/type_:BillItem' description: Array of line items included in the invoice. lastName: type: string description: Last name of the recipient of the invoice. notes: type: string description: Notes included in the invoice. paymentTerms: $ref: '#/components/schemas/type_:BillDataPaymentTerms' purchaseOrder: $ref: '#/components/schemas/type_:PurchaseOrder' shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' shippingEmail: $ref: '#/components/schemas/type_:Email' description: Shipping recipient's contact email address. shippingFromZip: $ref: '#/components/schemas/type_:ShippingFromZip' shippingPhone: type: string description: Recipient phone number. shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' summaryCommodityCode: $ref: '#/components/schemas/type_:SummaryCommodityCode' tax: $ref: '#/components/schemas/type_:Tax' termsConditions: $ref: '#/components/schemas/type_:TermsConditions' title: BillData type_:Netamountnullable: type: number format: double description: Net amount. title: Netamountnullable type_:Operation: type: string description: The transaction's operation. title: Operation type_:OrderId: type: string description: Custom identifier for the transaction. title: OrderId type_:Orgid: type: integer format: int64 description: Organization ID. Unique identifier assigned to an org by Payabli. title: Orgid type_:OrgParentName: type: string description: The name of the parent organization. title: OrgParentName type_:Accountexp: type: string description: Expiration date of card used in transaction. title: Accountexp type_:Accountid: type: string description: Custom identifier for payment connector. title: Accountid type_:Accounttype: type: string description: Bank account type or card brand. title: Accounttype type_:Accountzip: type: string description: ZIP code for card used in transaction. title: Accountzip type_:Holdername: type: string description: Account holder name for the method. title: Holdername type_:Initiator: type: string description: >- **Strongly recommended** The cardholder-initiated transaction (CIT) or merchant-initiated transaction (MIT) indicator for the transaction. If you don't specify a value, Payabli defaults to `merchant`. Available values: - `payor`: For cardholder-initiated transactions - `merchant`: For merchant-initiated transactions See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Initiator type_:Maskedaccount: type: string description: >- Masked card or bank account used in transaction. In the case of Apple Pay, this is a masked DPAN (device primary account number). title: Maskedaccount type_:Orderdescription: type: string description: Text description of the transaction. title: Orderdescription type_:PaymentCategories: type: object properties: amount: type: number format: double description: Price/cost per unit of item or category. description: type: string description: Description of item or category label: type: string description: Name of item or category. qty: type: integer default: 1 description: Quantity of item or category required: - amount - label title: PaymentCategories type_:SplitFundingContent: type: object properties: accountId: type: string description: The accountId for the account the split should be sent to. amount: type: number format: double description: Amount from the transaction to sent to this recipient. description: type: string description: A description for the split. recipientEntryPoint: type: string description: The entrypoint the split should be sent to. title: SplitFundingContent type_:SplitFunding: type: array items: $ref: '#/components/schemas/type_:SplitFundingContent' description: >- Split funding instructions for the transaction. The total amount of the splits must match the total amount of the transaction. title: SplitFunding type_:PaymentDetail: type: object properties: categories: type: array items: $ref: '#/components/schemas/type_:PaymentCategories' description: >- Array of payment categories/line items describing the amount to be paid. **Note**: These categories are for information only and aren't validated against the total amount provided. checkImage: type: object additionalProperties: description: Any type description: Object containing image of paper check. checkNumber: type: string description: >- A check number to be used in the ach transaction. **Required** for payment method = 'check'. currency: type: string description: >- The currency for the transaction, `USD` or `CAD`. If your paypoint is configured for CAD, you must send the `CAD` value in this field, otherwise it defaults to USD, which will cause the transaction to fail. serviceFee: type: number format: double description: >- Service fee to be deducted from the total amount. This amount must be a number, percentages aren't accepted. If you are using a percentage-based fee schedule, you must calculate the value manually. splitFunding: $ref: '#/components/schemas/type_:SplitFunding' description: >- Split funding instructions for the transaction. See [Split a Transaction](/developers/developer-guides/money-in-split-funding) for more. checkUniqueId: type: string description: >- Unique identifier for a processed check image. Required for RDC (Remote Deposit Capture) transactions where `achCode` is `BOC`. Use the `id` value from the [check processing](/developers/api-reference/moneyin/check-capture) response. totalAmount: type: number format: double description: >- Total amount to be charged. If a service fee is sent, then this amount should include the service fee." required: - totalAmount description: Details about the payment. title: PaymentDetail type_:Sequence: type: string description: >- The order of the transaction for cardholder-initiated transaction (CIT) and merchant-initiated transaction (MIT) purposes. This field is automatically detected and populated by Payabli. Available values: - `first`: The first use of the payment method. This is almost always a cardholder-initiated transaction. - `subsequent`: For merchant-initiated transactions after the first use of the payment method. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Sequence type_:Signaturedata: type: string title: Signaturedata type_:Storedmethodid: type: string description: >- Payabli identifier of a tokenized payment method. If this field is used in a request, the `method` field is overridden and the payment is made using the payment token. title: Storedmethodid type_:StoredMethodUsageType: type: string description: >- **Strongly recommended** The usage type for the stored method, used for merchant-initiated transactions (MIT). If you don't specify a value, Payabli defaults to `unscheduled`. Available values: - `unscheduled`: This type is used for transactions that are one-time or otherwise not pre-scheduled. - `subscription`: This type is used for subscription payments. For example, monthly rental fees or ongoing service subscriptions. - `recurring`: This type is used for recurring payments that occur per a set plan. For example, splitting an HOA special assessment over 6 monthly payments. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: StoredMethodUsageType type_:QueryPaymentData: type: object properties: AccountExp: $ref: '#/components/schemas/type_:Accountexp' accountId: $ref: '#/components/schemas/type_:Accountid' AccountType: $ref: '#/components/schemas/type_:Accounttype' AccountZip: $ref: '#/components/schemas/type_:Accountzip' binData: $ref: '#/components/schemas/type_:BinData' HolderName: $ref: '#/components/schemas/type_:Holdername' Initiator: $ref: '#/components/schemas/type_:Initiator' MaskedAccount: $ref: '#/components/schemas/type_:Maskedaccount' orderDescription: $ref: '#/components/schemas/type_:Orderdescription' paymentDetails: $ref: '#/components/schemas/type_:PaymentDetail' Sequence: $ref: '#/components/schemas/type_:Sequence' SignatureData: $ref: '#/components/schemas/type_:Signaturedata' StoredId: $ref: '#/components/schemas/type_:Storedmethodid' description: Identifier of stored payment method used in transaction. StoredMethodUsageType: $ref: '#/components/schemas/type_:StoredMethodUsageType' title: QueryPaymentData type_:PayorId: type: integer format: int64 description: >- Unique ID for the customer linked to the transaction. This is the same value as the `customerId` used when creating or referencing a customer. title: PayorId type_:Dbaname: type: string description: >- The alternate or common name that this business is doing business under usually referred to as a DBA name. title: Dbaname type_:Entrypointfield: type: string description: The entrypoint identifier. title: Entrypointfield type_:Legalname: type: string description: Business legal name. title: Legalname type_:PendingFeeAmount: type: number format: double description: >- The difference between the configured pass-through fee and the fee amount sent in the request. When transferring funds, Payabli uses this field to deduct the fee difference and transfer the correct amount to the merchant. When a paypoint is set up to absorb fees, and the pass-through fee sent with the request is less than the configured amount, the difference must be covered by the merchant. See [Fee Configuration](/guides/pay-in-fees-passthrough-overview#fee-configuration) to learn more about pass-through fee settings. title: PendingFeeAmount type_:RefundId: type: integer format: int64 description: Identifier of refund transaction linked to this payment. title: RefundId type_:Authcode: type: string description: Authorization code for the transaction. title: Authcode type_:AvsResponse: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponse type_:AvsResponseText: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponseText type_:CvvResponse: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponse type_:CvvResponseText: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponseText type_:EmvAuthResponseData: type: string description: EMV authorization response data, applicable for card transactions. title: EmvAuthResponseData type_:ResultCodev2: type: string description: >- Unified result code for the transaction. See [Pay In unified response codes](/developers/references/pay-in-unified-response-codes-reference) for more information. title: ResultCodev2 type_:ResultCodeText: type: string description: >- Description of the result code. See [Pay In unified response codes](/developers/references/pay-in-unified-response-codes-reference) for more information. title: ResultCodeText type_:QueryResponseData: type: object properties: authcode: $ref: '#/components/schemas/type_:Authcode' avsresponse: $ref: '#/components/schemas/type_:AvsResponse' avsresponse_text: $ref: '#/components/schemas/type_:AvsResponseText' cvvresponse: $ref: '#/components/schemas/type_:CvvResponse' cvvresponse_text: $ref: '#/components/schemas/type_:CvvResponseText' emv_auth_response_data: $ref: '#/components/schemas/type_:EmvAuthResponseData' orderid: $ref: '#/components/schemas/type_:OrderId' response: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' response_code: type: string description: >- Internal result code processing the transaction. Value 1 indicates successful operation, values 2 and 3 indicate errors. response_code_text: type: string description: >- Text describing the result. If resultCode = 1, will return 'Approved' or a general success message. If resultCode = 2 or 3, will contain the cause of the decline. responsetext: type: string description: >- Text describing the result. If resultCode = 1, will return 'Approved' or a general success message. If resultCode = 2 or 3, will contain the cause of the decline. resultCode: $ref: '#/components/schemas/type_:ResultCodev2' resultCodeText: $ref: '#/components/schemas/type_:ResultCodeText' transactionid: type: string description: The transaction identifier in Payabli. type: type: string description: Type of transaction or operation. description: The transaction's response data. title: QueryResponseData type_:ReturnedId: type: integer format: int64 description: Identifier of return/chargeback transaction linked to this payment. title: ReturnedId type_:Source: type: string description: Custom identifier to indicate the transaction or request source. title: Source type_:QueryTransactionEventsEventData: oneOf: - type: object additionalProperties: description: Any type - type: string description: >- Any data associated to the event received from processor. Contents vary by event type. title: QueryTransactionEventsEventData type_:QueryTransactionEvents: type: object properties: EventData: $ref: '#/components/schemas/type_:QueryTransactionEventsEventData' description: >- Any data associated to the event received from processor. Contents vary by event type. EventTime: type: string format: date-time description: Date and time of event. TransEvent: type: string description: >- Event descriptor. See [TransEvent Reference](/guides/pay-in-transevents-reference) for more details. title: QueryTransactionEvents type_:TransactionQueryRecords: type: object properties: AchHolderType: $ref: '#/components/schemas/type_:AchHolderType' AchSecCode: $ref: '#/components/schemas/type_:AchSecCode' BatchAmount: type: number format: double description: Batch amount. BatchNumber: $ref: '#/components/schemas/type_:BatchNumber' CfeeTransactions: type: array items: $ref: '#/components/schemas/type_:QueryCFeeTransaction' description: >- Service Fee or sub-charge transaction associated to the main transaction. ConnectorName: type: string description: Connector used for transaction. Customer: $ref: '#/components/schemas/type_:QueryTransactionPayorData' DeviceId: $ref: '#/components/schemas/type_:Device' EntrypageId: $ref: '#/components/schemas/type_:EntrypageId' ExternalProcessorInformation: $ref: '#/components/schemas/type_:ExternalProcessorInformation' FeeAmount: $ref: '#/components/schemas/type_:FeeAmount' GatewayTransId: type: string description: Internal identifier used for processing. InvoiceData: $ref: '#/components/schemas/type_:BillData' Method: type: string description: 'Payment method used: card, ach, or wallet.' NetAmount: $ref: '#/components/schemas/type_:Netamountnullable' description: Net amount paid. Operation: $ref: '#/components/schemas/type_:Operation' OrderId: $ref: '#/components/schemas/type_:OrderId' OrgId: $ref: '#/components/schemas/type_:Orgid' description: ID of immediate parent organization. ParentOrgName: $ref: '#/components/schemas/type_:OrgParentName' PaymentData: $ref: '#/components/schemas/type_:QueryPaymentData' PaymentTransId: type: string description: Unique Transaction ID. PayorId: $ref: '#/components/schemas/type_:PayorId' PaypointDbaname: $ref: '#/components/schemas/type_:Dbaname' description: Paypoint's DBA name. PaypointEntryname: $ref: '#/components/schemas/type_:Entrypointfield' description: Paypoint's entryname. PaypointId: type: integer format: int64 description: InternalId for paypoint. PaypointLegalname: $ref: '#/components/schemas/type_:Legalname' description: Paypoint's legal name. PendingFeeAmount: $ref: '#/components/schemas/type_:PendingFeeAmount' RefundId: $ref: '#/components/schemas/type_:RefundId' ResponseData: $ref: '#/components/schemas/type_:QueryResponseData' ReturnedId: $ref: '#/components/schemas/type_:ReturnedId' ScheduleReference: type: integer format: int64 description: Reference to the subscription that originated the transaction. SettlementStatus: type: integer description: >- Settlement status for transaction. See [the docs](/developers/references/money-in-statuses#payment-funding-status) for a full reference. Source: $ref: '#/components/schemas/type_:Source' splitFundingInstructions: $ref: '#/components/schemas/type_:SplitFunding' TotalAmount: type: number format: double description: Transaction total amount (including service fee or sub-charge) TransactionEvents: type: array items: $ref: '#/components/schemas/type_:QueryTransactionEvents' description: Events associated with this transaction. TransactionTime: type: - string - 'null' format: date-time description: Transaction date and time, in UTC. TransAdditionalData: description: Any type TransStatus: type: integer description: >- Status of transaction. See [the docs](/developers/references/money-in-statuses#money-in-transaction-status) for a full reference. required: - TransactionTime title: TransactionQueryRecords type_:CustomerSummaryRecord: type: object properties: numberofTransactions: type: integer description: Number total of transactions or payments recentTransactions: type: array items: $ref: '#/components/schemas/type_:TransactionQueryRecords' description: List of more recent 5 transactions belonging to the customer totalAmountTransactions: type: number format: double description: Total amount in transactions totalNetAmountTransactions: type: number format: double description: Total net amount in transactions title: CustomerSummaryRecord type_:ExternalPaypointId: type: string description: >- A custom identifier for the paypoint, if applicable. Like `entrypoint` is the Payabli identifier for the merchant, `externalPaypointId` is a custom field you can use to include the merchant's ID from your own systems. title: ExternalPaypointId type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:Descriptor: type: string description: >- When the method is a card, this field displays card brand. When the method is ACH, this field displays the account type for ACH (checking or savings). title: Descriptor type_:LastModified: type: string format: date-time description: Timestamp of when record was last updated, in UTC. title: LastModified type_:MethodQueryRecords: type: object properties: bin: type: string description: The bank identification number (BIN). Null when method is ACH. binData: $ref: '#/components/schemas/type_:BinData' descriptor: $ref: '#/components/schemas/type_:Descriptor' expDate: type: string description: >- Expiration date associated to the method (only for card) in format MMYY. holderName: $ref: '#/components/schemas/type_:Holdername' idPmethod: type: string description: Method internal ID lastUpdated: $ref: '#/components/schemas/type_:LastModified' description: Date of last update maskedAccount: $ref: '#/components/schemas/type_:Maskedaccount' method: type: string description: 'Type of payment vehicle: **ach** or **card**' title: MethodQueryRecords type_:CreatedAt: type: string format: date-time description: Timestamp of when record was created, in UTC. title: CreatedAt type_:PaypointId: type: integer format: int64 description: The paypoint's ID. Note that this is different than the entryname. title: PaypointId type_:GeneralEvents: type: object properties: description: type: string description: Event description. eventTime: type: string format: date-time description: Event timestamp, in UTC. extraData: type: object additionalProperties: description: Any type description: Extra data. refData: type: string description: Reference data. source: $ref: '#/components/schemas/type_:Source' description: The event source. title: GeneralEvents type_:SubscriptionQueryRecords: type: object properties: CreatedAt: $ref: '#/components/schemas/type_:CreatedAt' description: Timestamp of when the subscription ws created, in UTC. Customer: $ref: '#/components/schemas/type_:QueryTransactionPayorData' EndDate: type: - string - 'null' format: date-time description: The subscription's end date. EntrypageId: $ref: '#/components/schemas/type_:EntrypageId' ExternalPaypointID: $ref: '#/components/schemas/type_:ExternalPaypointId' FeeAmount: type: number format: double description: Fee applied to the subscription. Frequency: type: string description: The subscription's frequency. IdSub: type: integer format: int64 description: The subscription's ID. InvoiceData: $ref: '#/components/schemas/type_:BillData' LastRun: type: - string - 'null' format: date-time description: The last time the subscription was processed. LastUpdated: $ref: '#/components/schemas/type_:LastModified' description: The last date and time the subscription was updated. LeftCycles: type: integer description: The number of cycles the subscription has left. Method: type: string description: The subscription's payment method. NetAmount: $ref: '#/components/schemas/type_:Netamountnullable' description: The subscription amount, minus any fees. NextDate: type: - string - 'null' format: date-time description: The next date the subscription will be processed. ParentOrgName: $ref: '#/components/schemas/type_:OrgParentName' PaymentData: $ref: '#/components/schemas/type_:QueryPaymentData' PaypointDbaname: $ref: '#/components/schemas/type_:Dbaname' description: The paypoint's DBA name. PaypointEntryname: $ref: '#/components/schemas/type_:Entrypointfield' description: The paypoint's entryname. PaypointId: $ref: '#/components/schemas/type_:PaypointId' PaypointLegalname: $ref: '#/components/schemas/type_:Legalname' description: The paypoint's legal name. PlanId: type: integer description: Payment plan ID. Source: $ref: '#/components/schemas/type_:Source' StartDate: type: - string - 'null' format: date-time description: The subscription start date. SubEvents: type: array items: $ref: '#/components/schemas/type_:GeneralEvents' description: Events associated with the subscription. SubStatus: type: integer description: |- The subscription's status. - 0: Paused - 1: Active TotalAmount: type: number format: double description: The subscription amount, including any fees. TotalCycles: type: integer description: The total number of cycles the subscription is set to run. UntilCancelled: type: boolean description: >- When `true`, the subscription has no explicit end date and will run until canceled. required: - EndDate - LastRun - NextDate - StartDate title: SubscriptionQueryRecords type_tokenStorage:GetMethodResponseResponseDataCustomersItem: type: object properties: additionalData: $ref: '#/components/schemas/type_:AdditionalData' billingAddress1: $ref: '#/components/schemas/type_:BillingAddressNullable' billingAddress2: $ref: '#/components/schemas/type_:BillingAddressAddtlNullable' billingCity: $ref: '#/components/schemas/type_:BillingCityNullable' billingCountry: $ref: '#/components/schemas/type_:BillingCountryNullable' billingEmail: $ref: '#/components/schemas/type_:Email' billingPhone: $ref: '#/components/schemas/type_:PhoneNumber' billingState: $ref: '#/components/schemas/type_:BillingStateNullable' billingZip: $ref: '#/components/schemas/type_:BillingZip' description: >- Customer's billing ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". company: type: string description: Customer's company name. customerId: $ref: '#/components/schemas/type_:CustomerId' customerNumber: $ref: '#/components/schemas/type_:CustomerNumberNullable' firstName: type: string description: Customer/Payor first name. identifierFields: $ref: '#/components/schemas/type_:Identifierfields' lastName: type: string description: Customer/Payor last name. shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' balance: type: number format: double description: Customer's current balance created: type: string format: date-time description: Creation timestamp customerConsent: type: object additionalProperties: description: Any type description: Customer consent information customerStatus: type: integer description: Status code for the customer customerSummary: $ref: '#/components/schemas/type_:CustomerSummaryRecord' customerUsername: type: string description: Username of the customer externalPaypointID: $ref: '#/components/schemas/type_:ExternalPaypointId' lastUpdated: type: string format: date-time description: Last update timestamp mfa: type: boolean description: Multi-factor authentication status mfaMode: type: integer description: MFA mode setting pageindentifier: $ref: '#/components/schemas/type_:PageIdentifier' parentOrgId: type: integer description: Parent organization ID parentOrgName: $ref: '#/components/schemas/type_:OrgParentName' paypointDbaname: $ref: '#/components/schemas/type_:Dbaname' paypointEntryname: type: string description: The paypoint entryname the customer is associated with paypointLegalname: $ref: '#/components/schemas/type_:Legalname' snData: type: object additionalProperties: description: Any type description: Social network data snIdentifier: type: string description: Social network identifier snProvider: type: string description: Social network provider storedMethods: type: array items: $ref: '#/components/schemas/type_:MethodQueryRecords' description: List of payment methods associated to the customer subscriptions: type: array items: $ref: '#/components/schemas/type_:SubscriptionQueryRecords' description: List of subscriptions associated to the customer timeZone: type: integer description: Customer's timezone title: GetMethodResponseResponseDataCustomersItem type_:VendorResponseBillingData: type: object properties: id: type: integer accountId: type: string nickname: type: string bankName: type: string routingAccount: type: string accountNumber: type: string typeAccount: type: string bankAccountHolderName: type: string bankAccountHolderType: type: string bankAccountFunction: type: integer verified: type: boolean status: type: integer services: type: array items: description: Any type default: type: boolean description: Object containing vendor's bank information title: VendorResponseBillingData type_:AdditionalDataString: type: string description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. Example usage: ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalDataString type_:Contacts: type: object properties: contactEmail: $ref: '#/components/schemas/type_:Email' description: Contact email address. contactName: type: string description: Contact name. contactPhone: type: string description: Contact phone number. contactTitle: type: string description: Contact title. additionalData: $ref: '#/components/schemas/type_:AdditionalDataString' title: Contacts type_:InternalReferenceId: type: integer format: int64 description: Internal identifier for global vendor account. title: InternalReferenceId type_:LocationCode: type: string description: A location code used to identify the vendor's location. title: LocationCode type_:Mcc: type: string description: >- Business Merchant Category Code (MCC). [This resource](https://github.com/greggles/mcc-codes/blob/main/mcc_codes.csv) lists MCC codes. title: Mcc type_:PayeeName: type: string description: Alternative name used to receive paper check. title: PayeeName type_:Remitaddress1: type: string description: Remittance address. Used for mailing paper checks. title: Remitaddress1 type_:Remitaddress2: type: string description: Remittance address additional line. Used for mailing paper checks. title: Remitaddress2 type_:Remitcity: type: string description: Remittance address city. Used for mailing paper checks. title: Remitcity type_:Remitcountry: type: string description: Remittance address country. Used for mailing paper checks. title: Remitcountry type_:Remitstate: type: string description: Remittance address state. Used for mailing paper checks. title: Remitstate type_:Remitzip: type: string description: Remittance address ZIP code. Used for mailing paper checks. title: Remitzip type_:VendorResponseStoredMethod: type: object properties: IdPmethod: type: - string - 'null' Method: type: - string - 'null' Descriptor: type: - string - 'null' MaskedAccount: type: - string - 'null' ExpDate: type: - string - 'null' HolderName: type: - string - 'null' AchSecCode: type: - string - 'null' AchHolderType: type: - string - 'null' IsValidatedACH: type: - boolean - 'null' BIN: type: - string - 'null' binData: type: - string - 'null' ABA: type: - string - 'null' PostalCode: type: - string - 'null' MethodType: type: - string - 'null' LastUpdated: type: - string - 'null' format: date-time CardUpdatedOn: type: - string - 'null' format: date-time required: - IdPmethod - Method - Descriptor - MaskedAccount - ExpDate - HolderName - AchSecCode - AchHolderType - IsValidatedACH - BIN - binData - ABA - PostalCode - MethodType - LastUpdated - CardUpdatedOn description: Stored payment method information title: VendorResponseStoredMethod type_:VendorResponseSummary: type: object properties: ActiveBills: type: integer PendingBills: type: integer InTransitBills: type: integer PaidBills: type: integer OverdueBills: type: integer ApprovedBills: type: integer DisapprovedBills: type: integer TotalBills: type: integer ActiveBillsAmount: type: number format: double PendingBillsAmount: type: number format: double InTransitBillsAmount: type: number format: double PaidBillsAmount: type: number format: double OverdueBillsAmount: type: number format: double ApprovedBillsAmount: type: number format: double DisapprovedBillsAmount: type: number format: double TotalBillsAmount: type: number format: double description: Vendor bill summary statistics title: VendorResponseSummary type_:Vendorid: type: integer description: Payabli identifier for vendor record. title: Vendorid type_:VendorNumber: type: string description: Custom number identifying the vendor. Must be unique in paypoint. title: VendorNumber type_:Vendorstatus: type: integer description: |- Vendor's status. Allowed status: - 0 Inactive - 1 Active title: Vendorstatus type_tokenStorage:GetMethodResponseResponseDataVendorsItem: type: object properties: additionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' description: Additional data for vendor address1: type: string description: Vendor's address address2: type: string description: Additional line for vendor's address billingData: $ref: '#/components/schemas/type_:VendorResponseBillingData' description: Object containing vendor's bank information city: type: string description: Vendor's city contacts: type: array items: $ref: '#/components/schemas/type_:Contacts' description: Array of objects describing the vendor's contacts country: type: string description: Vendor's country createdDate: type: string format: date-time description: Date when vendor was created customField1: type: string description: Custom field 1 for vendor customField2: type: string description: Custom field 2 for vendor customerVendorAccount: type: string description: Account number of paypoint in the vendor's side ein: type: string description: EIN/Tax ID for vendor. In responses, this field is masked. email: $ref: '#/components/schemas/type_:Email' description: Vendor's email address enrollmentStatus: type: string description: Vendor enrollment status externalPaypointID: type: string description: External paypoint identifier internalReferenceId: $ref: '#/components/schemas/type_:InternalReferenceId' description: Internal reference ID for vendor lastUpdated: type: string format: date-time description: Date when vendor was last updated locationCode: $ref: '#/components/schemas/type_:LocationCode' description: Location code for vendor mcc: $ref: '#/components/schemas/type_:Mcc' description: Merchant category code name1: type: string description: Primary name for vendor name2: type: string description: Secondary name for vendor parentOrgId: type: integer description: ID of the parent organization parentOrgName: type: string description: Name of the parent organization payeeName1: $ref: '#/components/schemas/type_:PayeeName' description: Primary payee name payeeName2: $ref: '#/components/schemas/type_:PayeeName' description: Secondary payee name paymentMethod: type: string description: Preferred payment method for vendor paypointDbaname: type: string description: DBA name of the paypoint paypointEntryname: type: string description: Entry name of the paypoint paypointId: type: string description: Paypoint ID paypointLegalname: type: string description: Legal name of the paypoint phone: type: string description: Vendor's phone number remitAddress1: $ref: '#/components/schemas/type_:Remitaddress1' description: Remittance address line 1 remitAddress2: $ref: '#/components/schemas/type_:Remitaddress2' description: Remittance address line 2 remitCity: $ref: '#/components/schemas/type_:Remitcity' description: Remittance city remitCountry: $ref: '#/components/schemas/type_:Remitcountry' description: Remittance country remitEmail: type: string description: Email address for remittance remitState: $ref: '#/components/schemas/type_:Remitstate' description: Remittance state remitZip: $ref: '#/components/schemas/type_:Remitzip' description: Remittance ZIP code state: type: string description: Vendor's state storedMethods: type: array items: $ref: '#/components/schemas/type_:VendorResponseStoredMethod' description: Array of stored payment methods for vendor summary: $ref: '#/components/schemas/type_:VendorResponseSummary' description: Vendor bill summary statistics vendorId: $ref: '#/components/schemas/type_:Vendorid' description: The unique numeric ID assigned to the vendor in Payabli vendorNumber: $ref: '#/components/schemas/type_:VendorNumber' description: Custom vendor number assigned by the business vendorStatus: $ref: '#/components/schemas/type_:Vendorstatus' description: Status code for the vendor zip: type: string description: Vendor's ZIP code title: GetMethodResponseResponseDataVendorsItem type_tokenStorage:GetMethodResponseResponseData: type: object properties: aba: type: string description: Bank routing number achHolderType: $ref: '#/components/schemas/type_:AchHolderType' achSecCode: $ref: '#/components/schemas/type_:AchSecCode' bin: type: string description: The bank identification number (BIN) binData: $ref: '#/components/schemas/type_:BinData' cardUpdatedOn: type: string format: date-time description: Timestamp for when card was last updated customers: type: array items: $ref: >- #/components/schemas/type_tokenStorage:GetMethodResponseResponseDataCustomersItem descriptor: $ref: '#/components/schemas/type_:Descriptor' expDate: type: string description: Expiration date for card in stored method in format MM/YY holderName: $ref: '#/components/schemas/type_:Holdername' description: Account holder name in stored method idPmethod: type: string description: The stored payment method's identifier in Payabli isValidatedACH: type: boolean description: Whether the ACH account has been validated lastUpdated: type: string format: date-time description: Timestamp for last update of stored method, in UTC maskedAccount: $ref: '#/components/schemas/type_:Maskedaccount' method: type: string description: 'The saved method''s type: `card` or `ach`.' methodType: type: string description: The payment method's token type postalCode: type: string description: The payment method postal code vendors: type: array items: $ref: >- #/components/schemas/type_tokenStorage:GetMethodResponseResponseDataVendorsItem title: GetMethodResponseResponseData type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_tokenStorage:GetMethodResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_tokenStorage:GetMethodResponseResponseData' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: GetMethodResponse type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript Example tokenstorage GET with card payment method import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.tokenStorage.getMethod("32-8877drt00045632-678", { cardExpirationFormat: 1, includeTemporary: false, }); } main(); ``` ```python Example tokenstorage GET with card payment method from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.token_storage.get_method( method_id="32-8877drt00045632-678", card_expiration_format=1, include_temporary=False, ) ``` ```csharp Example tokenstorage GET with card payment method using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.TokenStorage.GetMethodAsync( "32-8877drt00045632-678", new GetMethodRequest { CardExpirationFormat = 1, IncludeTemporary = false } ); } } ``` ```go Example tokenstorage GET with card payment method package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/TokenStorage/32-8877drt00045632-678?cardExpirationFormat=1&includeTemporary=false" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Example tokenstorage GET with card payment method require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/TokenStorage/32-8877drt00045632-678?cardExpirationFormat=1&includeTemporary=false") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java Example tokenstorage GET with card payment method import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/TokenStorage/32-8877drt00045632-678?cardExpirationFormat=1&includeTemporary=false") .header("requestToken", "") .asString(); ``` ```php Example tokenstorage GET with card payment method request('GET', 'https://api-sandbox.payabli.com/api/TokenStorage/32-8877drt00045632-678?cardExpirationFormat=1&includeTemporary=false', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift Example tokenstorage GET with card payment method import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/TokenStorage/32-8877drt00045632-678?cardExpirationFormat=1&includeTemporary=false")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ```typescript Example tokenstorage GET with ACH payment method import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.tokenStorage.getMethod("32-8877drt00045632-678", { cardExpirationFormat: 1, includeTemporary: false, }); } main(); ``` ```python Example tokenstorage GET with ACH payment method from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.token_storage.get_method( method_id="32-8877drt00045632-678", card_expiration_format=1, include_temporary=False, ) ``` ```csharp Example tokenstorage GET with ACH payment method using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.TokenStorage.GetMethodAsync( "32-8877drt00045632-678", new GetMethodRequest { CardExpirationFormat = 1, IncludeTemporary = false } ); } } ``` ```go Example tokenstorage GET with ACH payment method package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/TokenStorage/32-8877drt00045632-678?cardExpirationFormat=1&includeTemporary=false" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Example tokenstorage GET with ACH payment method require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/TokenStorage/32-8877drt00045632-678?cardExpirationFormat=1&includeTemporary=false") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java Example tokenstorage GET with ACH payment method import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/TokenStorage/32-8877drt00045632-678?cardExpirationFormat=1&includeTemporary=false") .header("requestToken", "") .asString(); ``` ```php Example tokenstorage GET with ACH payment method request('GET', 'https://api-sandbox.payabli.com/api/TokenStorage/32-8877drt00045632-678?cardExpirationFormat=1&includeTemporary=false', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift Example tokenstorage GET with ACH payment method import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/TokenStorage/32-8877drt00045632-678?cardExpirationFormat=1&includeTemporary=false")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ```typescript Example tokenstorage GET with vendor ACH payment method import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.tokenStorage.getMethod("749e236c-59a3-49c7-ab47-73e06f9e94aa-199689", { cardExpirationFormat: 1, includeTemporary: false, }); } main(); ``` ```python Example tokenstorage GET with vendor ACH payment method from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.token_storage.get_method( method_id="749e236c-59a3-49c7-ab47-73e06f9e94aa-199689", card_expiration_format=1, include_temporary=False, ) ``` ```csharp Example tokenstorage GET with vendor ACH payment method using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.TokenStorage.GetMethodAsync( "749e236c-59a3-49c7-ab47-73e06f9e94aa-199689", new GetMethodRequest { CardExpirationFormat = 1, IncludeTemporary = false } ); } } ``` ```go Example tokenstorage GET with vendor ACH payment method package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/TokenStorage/749e236c-59a3-49c7-ab47-73e06f9e94aa-199689?cardExpirationFormat=1&includeTemporary=false" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Example tokenstorage GET with vendor ACH payment method require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/TokenStorage/749e236c-59a3-49c7-ab47-73e06f9e94aa-199689?cardExpirationFormat=1&includeTemporary=false") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java Example tokenstorage GET with vendor ACH payment method import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/TokenStorage/749e236c-59a3-49c7-ab47-73e06f9e94aa-199689?cardExpirationFormat=1&includeTemporary=false") .header("requestToken", "") .asString(); ``` ```php Example tokenstorage GET with vendor ACH payment method request('GET', 'https://api-sandbox.payabli.com/api/TokenStorage/749e236c-59a3-49c7-ab47-73e06f9e94aa-199689?cardExpirationFormat=1&includeTemporary=false', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift Example tokenstorage GET with vendor ACH payment method import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/TokenStorage/749e236c-59a3-49c7-ab47-73e06f9e94aa-199689?cardExpirationFormat=1&includeTemporary=false")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Update tokenized payment method PUT https://api-sandbox.payabli.com/api/TokenStorage/{methodId} Content-Type: application/json Updates a saved payment method. Reference: https://docs.payabli.com/developers/api-reference/tokenstorage/update-a-payment-method ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /TokenStorage/{methodId}: put: operationId: update-method summary: Update a payment method description: Updates a saved payment method. tags: - subpackage_tokenStorage parameters: - name: methodId in: path description: The saved payment method ID. required: true schema: type: string - name: achValidation in: query required: false schema: $ref: '#/components/schemas/type_:AchValidation' - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponsePaymethodDelete' requestBody: content: application/json: schema: $ref: '#/components/schemas/type_tokenStorage:RequestTokenStorage' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:AchValidation: type: boolean description: >- When `true`, enables real-time validation of ACH account and routing numbers. This is an add-on feature, contact Payabli for more information. title: AchValidation type_:AdditionalData: type: object additionalProperties: type: object additionalProperties: description: Any type description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. If you are using [custom identifiers](/developers/developer-guides/entities-customers), pass those in this object. Max length for a value is 100 characters. Example usage: ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalData type_:BillingAddressNullable: type: string description: Billing address. title: BillingAddressNullable type_:BillingAddressAddtlNullable: type: string description: Additional line for the billing address. title: BillingAddressAddtlNullable type_:BillingCityNullable: type: string description: Billing city. title: BillingCityNullable type_:BillingCountryNullable: type: string description: Billing address country. title: BillingCountryNullable type_:Email: type: string format: email description: Email address. title: Email type_:PhoneNumber: type: string description: Phone number. title: PhoneNumber type_:BillingStateNullable: type: string description: Billing state. Must be 2-letter state code for address in US. title: BillingStateNullable type_:BillingZip: type: string description: Billing address ZIP code. title: BillingZip type_:CustomerId: type: integer format: int64 description: The Payabli-generated unique ID for the customer. title: CustomerId type_:CustomerNumberNullable: type: string description: >- User-provided unique identifier for the customer. This is typically the customer ID from your own system. title: CustomerNumberNullable type_:Identifierfields: type: array items: type: string description: >- List of fields acting as customer identifiers, to be used instead of CustomerNumber. title: Identifierfields type_:Shippingaddress: type: string description: The shipping address. title: Shippingaddress type_:Shippingaddressadditional: type: string description: Additional line for shipping address. title: Shippingaddressadditional type_:Shippingcity: type: string description: Shipping city. title: Shippingcity type_:Shippingcountry: type: string description: Shipping address country. title: Shippingcountry type_:Shippingstate: type: string description: Shipping state or province. title: Shippingstate type_:Shippingzip: type: string description: >- Shipping ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". title: Shippingzip type_:PayorDataRequest: type: object properties: additionalData: $ref: '#/components/schemas/type_:AdditionalData' billingAddress1: $ref: '#/components/schemas/type_:BillingAddressNullable' billingAddress2: $ref: '#/components/schemas/type_:BillingAddressAddtlNullable' billingCity: $ref: '#/components/schemas/type_:BillingCityNullable' billingCountry: $ref: '#/components/schemas/type_:BillingCountryNullable' billingEmail: $ref: '#/components/schemas/type_:Email' billingPhone: $ref: '#/components/schemas/type_:PhoneNumber' billingState: $ref: '#/components/schemas/type_:BillingStateNullable' billingZip: $ref: '#/components/schemas/type_:BillingZip' description: >- Customer's billing ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". company: type: string description: Customer's company name. customerId: $ref: '#/components/schemas/type_:CustomerId' customerNumber: $ref: '#/components/schemas/type_:CustomerNumberNullable' firstName: type: string description: Customer/Payor first name. identifierFields: $ref: '#/components/schemas/type_:Identifierfields' lastName: type: string description: Customer/Payor last name. shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' description: >- Customer information. May be required, depending on the paypoint's settings. Required for subscriptions. title: PayorDataRequest type_:Entrypointfield: type: string description: The entrypoint identifier. title: Entrypointfield type_:Cardcvv: type: string description: >- Card Verification Value (CVV) associated with the card number. We **strongly recommend** that you include this field when using `card` as a method. title: Cardcvv type_:Cardexp: type: string description: >- Card expiration date in format MMYY or MM/YY. Required for card transactions. title: Cardexp type_:Cardholder: type: string description: Cardholder name. title: Cardholder type_:Cardnumber: type: string description: >- The card number. Required when method is `card` and a `storedMethodId` isn't included. title: Cardnumber type_:Cardzip: type: string description: >- ZIP or postal code for the billing address of cardholder. We **strongly recommend** that you include this field when using `card` as a method. title: Cardzip type_tokenStorage:TokenizeCard: type: object properties: method: type: string description: >- The type of payment method to tokenize. For cards, this is always `card`. cardcvv: $ref: '#/components/schemas/type_:Cardcvv' cardexp: $ref: '#/components/schemas/type_:Cardexp' cardHolder: $ref: '#/components/schemas/type_:Cardholder' cardnumber: $ref: '#/components/schemas/type_:Cardnumber' cardzip: $ref: '#/components/schemas/type_:Cardzip' required: - method - cardexp - cardHolder - cardnumber title: TokenizeCard type_:Achaccount: type: string description: Bank account number. title: Achaccount type_:Achaccounttype: type: string enum: - Checking - Savings description: 'Bank account type: Checking or Savings.' title: Achaccounttype type_:AchSecCode: type: string description: >- Standard Entry Class (SEC) code is a three letter code that describes how an ACH payment was authorized. Supported values are: - PPD (Prearranged Payment and Deposit) - Used for credits or debits where an accountholder authorizes a company to initiate either a single or recurring transaction to their personal bank account. Common examples include direct deposit of payroll, mortgage payments, or utility bills. This is the default value for subscription payments. - WEB (Internet-Initiated/Mobile Entry) - Used for debit entries when authorization is obtained from an accountholder via the internet or a wireless network. Common examples are online bill payments, ecommerce purchases, and mobile app payments where the consumer enters their banking information online. - TEL (Telephone-Initiated Entry) - Used for one-time debit entries where authorization is obtained from a consumer via telephone. Common examples are phone-based purchases or bill payments where the consumer provides their banking information over the phone. - CCD (Corporate Credit or Debit) - Used for fund transfers between business accounts. This code is specifically for business-to-business transactions. Common examples include vendor payments and other business-to-business payments. - BOC (Back Office Conversion) - Used to convert paper checks received in-person at a point-of-sale or staffed payment location into electronic ACH debits. Required for Remote Deposit Capture (RDC) transactions. Only supports consumer checks; business, government, and mailed checks aren't eligible. title: AchSecCode type_:AchHolder: type: string description: >- Bank account holder. This field is **required** when `method` is `ach` or `check`. title: AchHolder type_:AchHolderType: type: string enum: - personal - business default: personal description: 'The bank''s accountholder type: personal or business.' title: AchHolderType type_:Achrouting: type: string description: ABA/routing number of Bank account. title: Achrouting type_:Device: type: string description: Identifier of registered cloud device used in the transaction. title: Device type_tokenStorage:TokenizeACH: type: object properties: method: type: string description: >- The type of payment method to tokenize. For ACH, this is always `ach`. achAccount: $ref: '#/components/schemas/type_:Achaccount' achAccountType: $ref: '#/components/schemas/type_:Achaccounttype' achCode: $ref: '#/components/schemas/type_:AchSecCode' achHolder: $ref: '#/components/schemas/type_:AchHolder' achHolderType: $ref: '#/components/schemas/type_:AchHolderType' achRouting: $ref: '#/components/schemas/type_:Achrouting' device: $ref: '#/components/schemas/type_:Device' required: - method - achAccount - achAccountType - achHolder - achRouting title: TokenizeACH type_tokenStorage:ConvertToken: type: object properties: method: type: string description: >- The type of payment method to tokenize. When converting a temp token to a permanent token, this should match the `method` set for the temporary token, either `ach` or `card`. tokenId: type: string description: A temporary stored token ID to be converted to permanent. required: - method - tokenId description: >- Object containing the information needed to convert a temporary token to a permanent token. title: ConvertToken type_tokenStorage:RequestTokenStoragePaymentMethod: oneOf: - $ref: '#/components/schemas/type_tokenStorage:TokenizeCard' - $ref: '#/components/schemas/type_tokenStorage:TokenizeACH' - $ref: '#/components/schemas/type_tokenStorage:ConvertToken' description: Information about the payment method for the transaction. title: RequestTokenStoragePaymentMethod type_tokenStorage:VendorDataRequest: type: object properties: vendorId: type: integer format: int64 description: >- The unique numeric ID assigned to the vendor in Payabli. Either `vendorId` or `vendorNumber` is required. vendorNumber: type: string description: >- Custom vendor number assigned by the business. Either `vendorId` or `vendorNumber` is required. description: >- Object describing the vendor owner of payment method. Required when saving an ACH payment method on behalf of a vendor (for Pay Out transactions). title: VendorDataRequest type_:Source: type: string description: Custom identifier to indicate the transaction or request source. title: Source type_:Subdomain: type: string description: >- Refers to the payment page identifier. If provided, then the transaction is linked to the payment page. title: Subdomain type_tokenStorage:RequestTokenStorage: type: object properties: customerData: $ref: '#/components/schemas/type_:PayorDataRequest' description: >- Object describing the Customer/Payor owner of payment method. Required for POST requests. Which fields are required depends on the paypoint's custom identifier settings. entryPoint: $ref: '#/components/schemas/type_:Entrypointfield' description: Entrypoint identifier. Required for POST requests. fallbackAuth: type: boolean default: false description: >- When `true`, if tokenization fails, Payabli will attempt an authorization transaction to request a permanent token for the card. If the authorization is successful, the card will be tokenized and the authorization will be voided automatically. fallbackAuthAmount: type: integer default: 100 description: >- The amount for the `fallbackAuth` transaction. Defaults to one dollar (`100`). methodDescription: type: string description: Custom description for stored payment method. paymentMethod: $ref: >- #/components/schemas/type_tokenStorage:RequestTokenStoragePaymentMethod description: Information about the payment method for the transaction. vendorData: $ref: '#/components/schemas/type_tokenStorage:VendorDataRequest' source: $ref: '#/components/schemas/type_:Source' description: Custom identifier to indicate the source for the request subdomain: $ref: '#/components/schemas/type_:Subdomain' title: RequestTokenStorage type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:MethodReferenceId: type: string description: >- The stored method's identifier (sometimes referred to as 'token') in Payabli. When `null`, the method wasn't created, or doesn't exist, depending on the operation performed. title: MethodReferenceId type_:ResultCode: type: integer description: >- Result code for the operation. Value 1 indicates a successful operation, values 2 and 3 indicate errors. A value of 10 indicates that an operation has been initiated and is pending. title: ResultCode type_:Resulttext: type: string description: >- Text describing the result. If `ResultCode` = 1, will return 'Approved' or a general success message. If `ResultCode`` = 2 or 3, will contain the cause of the error or decline. title: Resulttext type_:PayabliApiResponsePaymethodDeleteResponseData: type: object properties: referenceId: $ref: '#/components/schemas/type_:MethodReferenceId' description: The method's reference ID. resultCode: $ref: '#/components/schemas/type_:ResultCode' resultText: $ref: '#/components/schemas/type_:Resulttext' title: PayabliApiResponsePaymethodDeleteResponseData type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponsePaymethodDelete: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: >- #/components/schemas/type_:PayabliApiResponsePaymethodDeleteResponseData responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText description: Response body for payment method deletion. title: PayabliApiResponsePaymethodDelete securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript UpdateCardMethod import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.tokenStorage.updateMethod("32-8877drt00045632-678", { body: { customerData: { customerId: 4440, }, entryPoint: "f743aed24a", fallbackAuth: true, paymentMethod: { cardcvv: "123", cardexp: "02/25", cardHolder: "John Doe", cardnumber: "4111111111111111", cardzip: "12345", method: "card", }, }, }); } main(); ``` ```python UpdateCardMethod from payabli import payabli, PayorDataRequest from payabli.token_storage import TokenizeCard client = payabli( api_key="YOUR_API_KEY_HERE", ) client.token_storage.update_method( method_id="32-8877drt00045632-678", customer_data=PayorDataRequest( customer_id=4440, ), entry_point="f743aed24a", fallback_auth=True, payment_method=TokenizeCard( cardcvv="123", cardexp="02/25", card_holder="John Doe", cardnumber="4111111111111111", cardzip="12345", method="card", ), ) ``` ```csharp UpdateCardMethod using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.TokenStorage.UpdateMethodAsync( "32-8877drt00045632-678", new UpdateMethodRequest { Body = new RequestTokenStorage { CustomerData = new PayorDataRequest { CustomerId = 4440L }, EntryPoint = "f743aed24a", FallbackAuth = true, PaymentMethod = new TokenizeCard { Cardcvv = "123", Cardexp = "02/25", CardHolder = "John Doe", Cardnumber = "4111111111111111", Cardzip = "12345", Method = "card" } } } ); } } ``` ```go UpdateCardMethod package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/TokenStorage/32-8877drt00045632-678" payload := strings.NewReader("{\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"fallbackAuth\": true,\n \"paymentMethod\": {\n \"cardcvv\": \"123\",\n \"cardexp\": \"02/25\",\n \"cardHolder\": \"John Doe\",\n \"cardnumber\": \"4111111111111111\",\n \"cardzip\": \"12345\",\n \"method\": \"card\"\n }\n}") req, _ := http.NewRequest("PUT", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby UpdateCardMethod require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/TokenStorage/32-8877drt00045632-678") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Put.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"fallbackAuth\": true,\n \"paymentMethod\": {\n \"cardcvv\": \"123\",\n \"cardexp\": \"02/25\",\n \"cardHolder\": \"John Doe\",\n \"cardnumber\": \"4111111111111111\",\n \"cardzip\": \"12345\",\n \"method\": \"card\"\n }\n}" response = http.request(request) puts response.read_body ``` ```java UpdateCardMethod import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.put("https://api-sandbox.payabli.com/api/TokenStorage/32-8877drt00045632-678") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"fallbackAuth\": true,\n \"paymentMethod\": {\n \"cardcvv\": \"123\",\n \"cardexp\": \"02/25\",\n \"cardHolder\": \"John Doe\",\n \"cardnumber\": \"4111111111111111\",\n \"cardzip\": \"12345\",\n \"method\": \"card\"\n }\n}") .asString(); ``` ```php UpdateCardMethod request('PUT', 'https://api-sandbox.payabli.com/api/TokenStorage/32-8877drt00045632-678', [ 'body' => '{ "customerData": { "customerId": 4440 }, "entryPoint": "f743aed24a", "fallbackAuth": true, "paymentMethod": { "cardcvv": "123", "cardexp": "02/25", "cardHolder": "John Doe", "cardnumber": "4111111111111111", "cardzip": "12345", "method": "card" } }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift UpdateCardMethod import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "customerData": ["customerId": 4440], "entryPoint": "f743aed24a", "fallbackAuth": true, "paymentMethod": [ "cardcvv": "123", "cardexp": "02/25", "cardHolder": "John Doe", "cardnumber": "4111111111111111", "cardzip": "12345", "method": "card" ] ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/TokenStorage/32-8877drt00045632-678")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "PUT" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ```typescript UpdateACHMethod import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.tokenStorage.updateMethod("32-8877drt00045632-678", { body: { customerData: { customerId: 4440, }, entryPoint: "f743aed24a", paymentMethod: { method: "ach", }, }, }); } main(); ``` ```python UpdateACHMethod from payabli import payabli, PayorDataRequest from payabli.token_storage import TokenizeCard client = payabli( api_key="YOUR_API_KEY_HERE", ) client.token_storage.update_method( method_id="32-8877drt00045632-678", customer_data=PayorDataRequest( customer_id=4440, ), entry_point="f743aed24a", payment_method=TokenizeCard( method="ach", ), ) ``` ```csharp UpdateACHMethod using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.TokenStorage.UpdateMethodAsync( "32-8877drt00045632-678", new UpdateMethodRequest { Body = new RequestTokenStorage { CustomerData = new PayorDataRequest { CustomerId = 4440L }, EntryPoint = "f743aed24a", PaymentMethod = new TokenizeCard { Method = "ach" } } } ); } } ``` ```go UpdateACHMethod package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/TokenStorage/32-8877drt00045632-678" payload := strings.NewReader("{\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"paymentMethod\": {\n \"achAccount\": \"1111111111111\",\n \"achAccountType\": \"Checking\",\n \"achCode\": \"WEB\",\n \"achHolder\": \"John Doe\",\n \"achHolderType\": \"personal\",\n \"achRouting\": \"123456780\",\n \"method\": \"ach\"\n }\n}") req, _ := http.NewRequest("PUT", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby UpdateACHMethod require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/TokenStorage/32-8877drt00045632-678") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Put.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"paymentMethod\": {\n \"achAccount\": \"1111111111111\",\n \"achAccountType\": \"Checking\",\n \"achCode\": \"WEB\",\n \"achHolder\": \"John Doe\",\n \"achHolderType\": \"personal\",\n \"achRouting\": \"123456780\",\n \"method\": \"ach\"\n }\n}" response = http.request(request) puts response.read_body ``` ```java UpdateACHMethod import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.put("https://api-sandbox.payabli.com/api/TokenStorage/32-8877drt00045632-678") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"paymentMethod\": {\n \"achAccount\": \"1111111111111\",\n \"achAccountType\": \"Checking\",\n \"achCode\": \"WEB\",\n \"achHolder\": \"John Doe\",\n \"achHolderType\": \"personal\",\n \"achRouting\": \"123456780\",\n \"method\": \"ach\"\n }\n}") .asString(); ``` ```php UpdateACHMethod request('PUT', 'https://api-sandbox.payabli.com/api/TokenStorage/32-8877drt00045632-678', [ 'body' => '{ "customerData": { "customerId": 4440 }, "entryPoint": "f743aed24a", "paymentMethod": { "achAccount": "1111111111111", "achAccountType": "Checking", "achCode": "WEB", "achHolder": "John Doe", "achHolderType": "personal", "achRouting": "123456780", "method": "ach" } }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift UpdateACHMethod import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "customerData": ["customerId": 4440], "entryPoint": "f743aed24a", "paymentMethod": [ "achAccount": "1111111111111", "achAccountType": "Checking", "achCode": "WEB", "achHolder": "John Doe", "achHolderType": "personal", "achRouting": "123456780", "method": "ach" ] ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/TokenStorage/32-8877drt00045632-678")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "PUT" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ```typescript UpdateACHMethodVendor import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.tokenStorage.updateMethod("32-8877drt00045632-678", { body: { customerData: { customerId: 4440, }, entryPoint: "f743aed24a", paymentMethod: { method: "ach", }, vendorData: { vendorId: 7890, }, }, }); } main(); ``` ```python UpdateACHMethodVendor from payabli import payabli, PayorDataRequest from payabli.token_storage import TokenizeCard, VendorDataRequest client = payabli( api_key="YOUR_API_KEY_HERE", ) client.token_storage.update_method( method_id="32-8877drt00045632-678", customer_data=PayorDataRequest( customer_id=4440, ), entry_point="f743aed24a", payment_method=TokenizeCard( method="ach", ), vendor_data=VendorDataRequest( vendor_id=7890, ), ) ``` ```csharp UpdateACHMethodVendor using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.TokenStorage.UpdateMethodAsync( "32-8877drt00045632-678", new UpdateMethodRequest { Body = new RequestTokenStorage { CustomerData = new PayorDataRequest { CustomerId = 4440L }, EntryPoint = "f743aed24a", PaymentMethod = new TokenizeCard { Method = "ach" }, VendorData = new VendorDataRequest { VendorId = 7890L } } } ); } } ``` ```go UpdateACHMethodVendor package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/TokenStorage/32-8877drt00045632-678" payload := strings.NewReader("{\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"paymentMethod\": {\n \"achAccount\": \"1111111111111\",\n \"achAccountType\": \"Checking\",\n \"achCode\": \"WEB\",\n \"achHolder\": \"John Doe\",\n \"achHolderType\": \"personal\",\n \"achRouting\": \"123456780\",\n \"method\": \"ach\"\n },\n \"vendorData\": {\n \"vendorId\": 7890\n }\n}") req, _ := http.NewRequest("PUT", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby UpdateACHMethodVendor require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/TokenStorage/32-8877drt00045632-678") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Put.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"paymentMethod\": {\n \"achAccount\": \"1111111111111\",\n \"achAccountType\": \"Checking\",\n \"achCode\": \"WEB\",\n \"achHolder\": \"John Doe\",\n \"achHolderType\": \"personal\",\n \"achRouting\": \"123456780\",\n \"method\": \"ach\"\n },\n \"vendorData\": {\n \"vendorId\": 7890\n }\n}" response = http.request(request) puts response.read_body ``` ```java UpdateACHMethodVendor import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.put("https://api-sandbox.payabli.com/api/TokenStorage/32-8877drt00045632-678") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"customerData\": {\n \"customerId\": 4440\n },\n \"entryPoint\": \"f743aed24a\",\n \"paymentMethod\": {\n \"achAccount\": \"1111111111111\",\n \"achAccountType\": \"Checking\",\n \"achCode\": \"WEB\",\n \"achHolder\": \"John Doe\",\n \"achHolderType\": \"personal\",\n \"achRouting\": \"123456780\",\n \"method\": \"ach\"\n },\n \"vendorData\": {\n \"vendorId\": 7890\n }\n}") .asString(); ``` ```php UpdateACHMethodVendor request('PUT', 'https://api-sandbox.payabli.com/api/TokenStorage/32-8877drt00045632-678', [ 'body' => '{ "customerData": { "customerId": 4440 }, "entryPoint": "f743aed24a", "paymentMethod": { "achAccount": "1111111111111", "achAccountType": "Checking", "achCode": "WEB", "achHolder": "John Doe", "achHolderType": "personal", "achRouting": "123456780", "method": "ach" }, "vendorData": { "vendorId": 7890 } }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift UpdateACHMethodVendor import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "customerData": ["customerId": 4440], "entryPoint": "f743aed24a", "paymentMethod": [ "achAccount": "1111111111111", "achAccountType": "Checking", "achCode": "WEB", "achHolder": "John Doe", "achHolderType": "personal", "achRouting": "123456780", "method": "ach" ], "vendorData": ["vendorId": 7890] ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/TokenStorage/32-8877drt00045632-678")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "PUT" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Delete tokenized payment method DELETE https://api-sandbox.payabli.com/api/TokenStorage/{methodId} Deletes a saved payment method. Reference: https://docs.payabli.com/developers/api-reference/tokenstorage/remove-a-payment-method ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /TokenStorage/{methodId}: delete: operationId: remove-method summary: Remove a payment method description: Deletes a saved payment method. tags: - subpackage_tokenStorage parameters: - name: methodId in: path description: The saved payment method ID. required: true schema: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponsePaymethodDelete' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:MethodReferenceId: type: string description: >- The stored method's identifier (sometimes referred to as 'token') in Payabli. When `null`, the method wasn't created, or doesn't exist, depending on the operation performed. title: MethodReferenceId type_:ResultCode: type: integer description: >- Result code for the operation. Value 1 indicates a successful operation, values 2 and 3 indicate errors. A value of 10 indicates that an operation has been initiated and is pending. title: ResultCode type_:Resulttext: type: string description: >- Text describing the result. If `ResultCode` = 1, will return 'Approved' or a general success message. If `ResultCode`` = 2 or 3, will contain the cause of the error or decline. title: Resulttext type_:PayabliApiResponsePaymethodDeleteResponseData: type: object properties: referenceId: $ref: '#/components/schemas/type_:MethodReferenceId' description: The method's reference ID. resultCode: $ref: '#/components/schemas/type_:ResultCode' resultText: $ref: '#/components/schemas/type_:Resulttext' title: PayabliApiResponsePaymethodDeleteResponseData type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponsePaymethodDelete: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: >- #/components/schemas/type_:PayabliApiResponsePaymethodDeleteResponseData responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText description: Response body for payment method deletion. title: PayabliApiResponsePaymethodDelete type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript Example1 import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.tokenStorage.removeMethod("32-8877drt00045632-678"); } main(); ``` ```python Example1 from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.token_storage.remove_method( method_id="32-8877drt00045632-678", ) ``` ```csharp Example1 using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.TokenStorage.RemoveMethodAsync( "32-8877drt00045632-678" ); } } ``` ```go Example1 package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/TokenStorage/32-8877drt00045632-678" req, _ := http.NewRequest("DELETE", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Example1 require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/TokenStorage/32-8877drt00045632-678") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Delete.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java Example1 import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.delete("https://api-sandbox.payabli.com/api/TokenStorage/32-8877drt00045632-678") .header("requestToken", "") .asString(); ``` ```php Example1 request('DELETE', 'https://api-sandbox.payabli.com/api/TokenStorage/32-8877drt00045632-678', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift Example1 import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/TokenStorage/32-8877drt00045632-678")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "DELETE" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Create customer POST https://api-sandbox.payabli.com/api/Customer/single/{entry} Content-Type: application/json Creates a customer in an entrypoint. An identifier is required to create customer records. Change your identifier settings in Settings > Custom Fields in PartnerHub. If you don't include an identifier, the record is rejected. Reference: https://docs.payabli.com/developers/api-reference/customer/add-customer ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Customer/single/{entry}: post: operationId: add-customer summary: Add customer description: >- Creates a customer in an entrypoint. An identifier is required to create customer records. Change your identifier settings in Settings > Custom Fields in PartnerHub. If you don't include an identifier, the record is rejected. tags: - subpackage_customer parameters: - name: entry in: path required: true schema: $ref: '#/components/schemas/type_:Entrypointfield' - name: forceCustomerCreation in: query description: >- When `true`, the request creates a new customer record, regardless of whether customer identifiers match an existing customer. required: false schema: type: boolean default: false - name: replaceExisting in: query description: >- Flag indicating to replace existing customer with a new record. Possible values: 0 (don't replace), 1 (replace). Default is `0`. required: false schema: type: integer default: 0 - name: requestToken in: header required: true schema: type: string - name: idempotencyKey in: header required: false schema: $ref: '#/components/schemas/type_:IdempotencyKey' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponseCustomerQuery' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/type_:CustomerData' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:Entrypointfield: type: string description: The entrypoint identifier. title: Entrypointfield type_:IdempotencyKey: type: string description: >- _Optional but recommended_ A unique ID that you can include to prevent duplicating objects or transactions in the case that a request is sent more than once. This key isn't generated in Payabli, you must generate it yourself. This key persists for 2 minutes. After 2 minutes, you can reuse the key if needed. title: IdempotencyKey type_:CustomerNumberNullable: type: string description: >- User-provided unique identifier for the customer. This is typically the customer ID from your own system. title: CustomerNumberNullable type_:CustomerStatus: type: integer description: |- Customer Status. Possible values: - `-99` Deleted - `0` Inactive - `1` Active - `85` Locked (typically due to multiple failed login attempts) title: CustomerStatus type_:Email: type: string format: email description: Email address. title: Email type_:Shippingaddress: type: string description: The shipping address. title: Shippingaddress type_:Shippingaddressadditional: type: string description: Additional line for shipping address. title: Shippingaddressadditional type_:Shippingcity: type: string description: Shipping city. title: Shippingcity type_:Shippingstate: type: string description: Shipping state or province. title: Shippingstate type_:Shippingzip: type: string description: >- Shipping ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". title: Shippingzip type_:Shippingcountry: type: string description: Shipping address country. title: Shippingcountry type_:Timezone: type: integer description: Timezone, in UTC offset. For example, -5 is Eastern time. title: Timezone type_:Identifierfields: type: array items: type: string description: >- List of fields acting as customer identifiers, to be used instead of CustomerNumber. title: Identifierfields type_:CreatedAt: type: string format: date-time description: Timestamp of when record was created, in UTC. title: CreatedAt type_:CustomerData: type: object properties: customerNumber: $ref: '#/components/schemas/type_:CustomerNumberNullable' customerUsername: type: string description: Customer username for customer portal customerPsw: type: string description: Customer password for customer portal customerStatus: $ref: '#/components/schemas/type_:CustomerStatus' company: type: string description: Company name firstname: type: string description: Customer first name lastname: type: string description: Customer last name phone: type: string description: Customer phone number email: $ref: '#/components/schemas/type_:Email' description: Customer email address. address: type: string description: Customer address address1: type: string description: Additional customer address city: type: string description: Customer city state: type: string description: Customer State zip: type: string description: Customer postal code country: type: string description: >- Customer country in ISO-3166-1 alpha 2 format. See https://en.wikipedia.org/wiki/ISO_3166-1 for reference. shippingAddress: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' balance: type: number format: double description: Customer balance. timeZone: $ref: '#/components/schemas/type_:Timezone' additionalFields: type: object additionalProperties: type: string description: Additional Custom fields in format "key":"value". identifierFields: $ref: '#/components/schemas/type_:Identifierfields' createdAt: $ref: '#/components/schemas/type_:CreatedAt' description: Data about a single customer. title: CustomerData type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:CustomerId: type: integer format: int64 description: The Payabli-generated unique ID for the customer. title: CustomerId type_:Mfa: type: boolean description: When `true`, multi-factor authentication (MFA) is enabled. title: Mfa type_:MfaMode: type: integer title: MfaMode type_:BillingZip: type: string description: Billing address ZIP code. title: BillingZip type_:AdditionalDataMap: type: object additionalProperties: type: string description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalDataMap type_:QueryTransactionPayorData: type: object properties: Identifiers: type: array items: description: Any type description: Array of field names to be used as identifiers. FirstName: type: string description: Customer/Payor first name. LastName: type: string description: Customer/Payor last name. CompanyName: type: string description: Customer's company name. BillingAddress1: type: string description: Customer's billing address. BillingAddress2: type: string description: Additional line for Customer's billing address. BillingCity: type: string description: Customer's billing city. BillingState: type: string description: >- Customer's billing state. Must be 2-letter state code for address in US. BillingZip: $ref: '#/components/schemas/type_:BillingZip' description: Customer's billing ZIP code. BillingCountry: type: string description: Customer's billing country. BillingPhone: type: string description: Customer's phone number. BillingEmail: $ref: '#/components/schemas/type_:Email' description: Customer's email address. CustomerNumber: $ref: '#/components/schemas/type_:CustomerNumberNullable' ShippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' ShippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' ShippingCity: $ref: '#/components/schemas/type_:Shippingcity' ShippingState: $ref: '#/components/schemas/type_:Shippingstate' ShippingZip: $ref: '#/components/schemas/type_:Shippingzip' ShippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' customerId: $ref: '#/components/schemas/type_:CustomerId' customerStatus: $ref: '#/components/schemas/type_:CustomerStatus' AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' title: QueryTransactionPayorData type_:EntrypageId: type: integer format: int64 description: >- If applicable, the internal reference ID to the payment page capturing the payment. title: EntrypageId type_:ExternalPaypointId: type: string description: >- A custom identifier for the paypoint, if applicable. Like `entrypoint` is the Payabli identifier for the merchant, `externalPaypointId` is a custom field you can use to include the merchant's ID from your own systems. title: ExternalPaypointId type_:FileContentFtype: type: string enum: - pdf - doc - docx - jpg - jpeg - png - gif - txt description: The MIME type of the file (if content is provided) title: FileContentFtype type_:FileContent: type: object properties: fContent: type: string description: >- Content of file, Base64-encoded. Ignored if furl is specified. Max upload size is 30 MB. filename: type: string description: The name of the attached file. ftype: $ref: '#/components/schemas/type_:FileContentFtype' description: The MIME type of the file (if content is provided) furl: type: string description: Optional URL provided to show or download the file remotely description: Contains details about a file. Max upload size is 30 MB. title: FileContent type_:Attachments: type: array items: $ref: '#/components/schemas/type_:FileContent' description: >- Array of `fileContent` objects with attached documents. Max upload size is 30 MB. title: Attachments type_:Discount: type: number format: double description: Discount applied to the invoice. title: Discount type_:DutyAmount: type: number format: double description: Duty amount. title: DutyAmount type_:FreightAmount: type: number format: double description: Freight/shipping amount. title: FreightAmount type_:Frequency: type: string enum: - onetime - weekly - every2weeks - every6months - monthly - every3months - annually description: Frequency for operation. title: Frequency type_:InvoiceAmount: type: number format: double description: Invoice total amount. title: InvoiceAmount type_:InvoiceNumber: type: string description: >- Custom number identifying the bill or invoice. Must be unique in paypoint. title: InvoiceNumber type_:Invoicestatus: type: integer description: |- Status for invoice. The accepted status values are: - 0 draft - 1 active - 2 partially paid - 4 paid/complete - 99 cancelled title: Invoicestatus type_:InvoiceType: type: integer description: Type of invoice. Only `0` for one-time invoices is currently supported. title: InvoiceType type_:ItemCommodityCode: type: string description: Item or product commodity code. Max length of 250 characters. title: ItemCommodityCode type_:ItemDescription: type: string description: Item or product description. Max length of 250 characters. title: ItemDescription type_:ItemProductCode: type: string description: Item or product code. Max length of 250 characters. title: ItemProductCode type_:ItemProductName: type: string description: Item or product name. Max length of 250 characters. title: ItemProductName type_:ItemUnitofMeasure: type: string description: Unit of measurement. Max length of 100 characters. title: ItemUnitofMeasure type_:BillItem: type: object properties: itemCategories: type: array items: type: string description: Array of tags classifying item or product. itemCommodityCode: $ref: '#/components/schemas/type_:ItemCommodityCode' itemCost: type: number format: double description: Item or product price per unit. itemDescription: $ref: '#/components/schemas/type_:ItemDescription' itemMode: type: integer description: >- Internal class of item or product: value '0' is only for invoices , '1' for bills and, '2' common for both. itemProductCode: $ref: '#/components/schemas/type_:ItemProductCode' itemProductName: $ref: '#/components/schemas/type_:ItemProductName' itemQty: type: integer description: Quantity of item or product. itemTaxAmount: type: number format: double description: Tax amount applied to item or product. itemTaxRate: type: number format: double description: Tax rate applied to item or product. itemTotalAmount: type: number format: double description: Total amount in item or product. itemUnitOfMeasure: $ref: '#/components/schemas/type_:ItemUnitofMeasure' required: - itemCost title: BillItem type_:BillDataPaymentTerms: type: string enum: - PIA - CIA - UR - NET10 - NET20 - NET30 - NET45 - NET60 - NET90 - EOM - MFI - 5MFI - 10MFI - 15MFI - 20MFI - 2/10NET30 - UF - 10UF - 20UF - 25UF - 50UF description: >- Payment terms for invoice. If no terms are defined, then response data for this field defaults to `NET30`. **Available Values:** - `PIA`: Payment in advance - `CIA`: Cash in advance - `UR`: Upon receipt - `NET10`: 10 days after invoice date - `NET20`: 20 days after invoice date - `NET30`: 30 days after invoice date - `NET45`: 45 days after invoice date - `NET60`: 60 days after invoice date - `NET90`: 90 days after invoice date - `EOM`: Due end of this month - `MFI`: 1st of the month following the invoice date - `5MFI`: 5th of the month following the invoice date - `10MFI`: 10th of the month following the invoice date - `15MFI`: 15th of the month following the invoice date - `20MFI`: 20th of the month following the invoice date - `2/10NET30`: 2% discount if paid within 10 days, otherwise net 30 days - `UF`: Until further notice - `10UF`: 10 days until further notice - `20UF`: 20 days until further notice - `25UF`: 25 days until further notice - `50UF`: 50 days until further notice title: BillDataPaymentTerms type_:PurchaseOrder: type: string description: Purchase order number. title: PurchaseOrder type_:ShippingFromZip: type: string description: Sender shipping ZIP code. title: ShippingFromZip type_:SummaryCommodityCode: type: string description: Commodity code. title: SummaryCommodityCode type_:Tax: type: number format: double description: Tax rate in percent applied to the invoice. title: Tax type_:TermsConditions: type: string description: Custom terms and conditions included in the invoice. title: TermsConditions type_:BillData: type: object properties: AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' attachments: $ref: '#/components/schemas/type_:Attachments' company: type: string description: Company name of the recipient of the invoice. discount: $ref: '#/components/schemas/type_:Discount' dutyAmount: $ref: '#/components/schemas/type_:DutyAmount' firstName: type: string description: First name of the recipient of the invoice. freightAmount: $ref: '#/components/schemas/type_:FreightAmount' frequency: $ref: '#/components/schemas/type_:Frequency' description: Frequency of scheduled invoice. invoiceAmount: $ref: '#/components/schemas/type_:InvoiceAmount' invoiceDate: type: string format: date description: 'Invoice date in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY.' invoiceDueDate: type: string format: date description: >- Invoice due date in one of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceEndDate: type: string format: date description: >- Indicate the date to finish a scheduled invoice cycle (`invoiceType`` = 1) in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceNumber: $ref: '#/components/schemas/type_:InvoiceNumber' description: Invoice number. Identifies the invoice under a paypoint. invoiceStatus: $ref: '#/components/schemas/type_:Invoicestatus' invoiceType: $ref: '#/components/schemas/type_:InvoiceType' items: type: array items: $ref: '#/components/schemas/type_:BillItem' description: Array of line items included in the invoice. lastName: type: string description: Last name of the recipient of the invoice. notes: type: string description: Notes included in the invoice. paymentTerms: $ref: '#/components/schemas/type_:BillDataPaymentTerms' purchaseOrder: $ref: '#/components/schemas/type_:PurchaseOrder' shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' shippingEmail: $ref: '#/components/schemas/type_:Email' description: Shipping recipient's contact email address. shippingFromZip: $ref: '#/components/schemas/type_:ShippingFromZip' shippingPhone: type: string description: Recipient phone number. shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' summaryCommodityCode: $ref: '#/components/schemas/type_:SummaryCommodityCode' tax: $ref: '#/components/schemas/type_:Tax' termsConditions: $ref: '#/components/schemas/type_:TermsConditions' title: BillData type_:LastModified: type: string format: date-time description: Timestamp of when record was last updated, in UTC. title: LastModified type_:Netamountnullable: type: number format: double description: Net amount. title: Netamountnullable type_:OrgParentName: type: string description: The name of the parent organization. title: OrgParentName type_:Accountexp: type: string description: Expiration date of card used in transaction. title: Accountexp type_:Accountid: type: string description: Custom identifier for payment connector. title: Accountid type_:Accounttype: type: string description: Bank account type or card brand. title: Accounttype type_:Accountzip: type: string description: ZIP code for card used in transaction. title: Accountzip type_:BinData: type: object properties: binMatchedLength: type: string description: |- The number of characters from the beginning of the card number that were matched against a Bank Identification Number (BIN) or the Card Range table. binCardBrand: type: string description: |- The card brand. For example, Visa, Mastercard, American Express, Discover. binCardType: type: string description: 'The type of card: Credit or Debit.' binCardCategory: type: string description: >- The category of the card, which indicates the card product. For example: Standard, Gold, Platinum, etc. The binCardCategory for prepaid cards is marked `PREPAID`. binCardIssuer: type: string description: The name of the financial institution that issued the card. binCardIssuerCountry: type: string description: The issuing financial institution's country name. binCardIssuerCountryCodeA2: type: string description: >- The issuing financial institution's two-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIssuerCountryNumber: type: string description: >- The issuing financial institution's ISO standard numeric country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIsRegulated: type: string description: Indicates whether the card is regulated. binCardUseCategory: type: string description: The use category classification for the card. binCardIssuerCountryCodeA3: type: string description: >- The issuing financial institution's three-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. description: >- Object containing information related to the card. This object is `null` unless the payment method is card. If the payment method is Apple Pay, the binData will be related to the DPAN (device primary account number), not the card connected to Apple Pay. title: BinData type_:Holdername: type: string description: Account holder name for the method. title: Holdername type_:Initiator: type: string description: >- **Strongly recommended** The cardholder-initiated transaction (CIT) or merchant-initiated transaction (MIT) indicator for the transaction. If you don't specify a value, Payabli defaults to `merchant`. Available values: - `payor`: For cardholder-initiated transactions - `merchant`: For merchant-initiated transactions See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Initiator type_:Maskedaccount: type: string description: >- Masked card or bank account used in transaction. In the case of Apple Pay, this is a masked DPAN (device primary account number). title: Maskedaccount type_:Orderdescription: type: string description: Text description of the transaction. title: Orderdescription type_:PaymentCategories: type: object properties: amount: type: number format: double description: Price/cost per unit of item or category. description: type: string description: Description of item or category label: type: string description: Name of item or category. qty: type: integer default: 1 description: Quantity of item or category required: - amount - label title: PaymentCategories type_:SplitFundingContent: type: object properties: accountId: type: string description: The accountId for the account the split should be sent to. amount: type: number format: double description: Amount from the transaction to sent to this recipient. description: type: string description: A description for the split. recipientEntryPoint: type: string description: The entrypoint the split should be sent to. title: SplitFundingContent type_:SplitFunding: type: array items: $ref: '#/components/schemas/type_:SplitFundingContent' description: >- Split funding instructions for the transaction. The total amount of the splits must match the total amount of the transaction. title: SplitFunding type_:PaymentDetail: type: object properties: categories: type: array items: $ref: '#/components/schemas/type_:PaymentCategories' description: >- Array of payment categories/line items describing the amount to be paid. **Note**: These categories are for information only and aren't validated against the total amount provided. checkImage: type: object additionalProperties: description: Any type description: Object containing image of paper check. checkNumber: type: string description: >- A check number to be used in the ach transaction. **Required** for payment method = 'check'. currency: type: string description: >- The currency for the transaction, `USD` or `CAD`. If your paypoint is configured for CAD, you must send the `CAD` value in this field, otherwise it defaults to USD, which will cause the transaction to fail. serviceFee: type: number format: double description: >- Service fee to be deducted from the total amount. This amount must be a number, percentages aren't accepted. If you are using a percentage-based fee schedule, you must calculate the value manually. splitFunding: $ref: '#/components/schemas/type_:SplitFunding' description: >- Split funding instructions for the transaction. See [Split a Transaction](/developers/developer-guides/money-in-split-funding) for more. checkUniqueId: type: string description: >- Unique identifier for a processed check image. Required for RDC (Remote Deposit Capture) transactions where `achCode` is `BOC`. Use the `id` value from the [check processing](/developers/api-reference/moneyin/check-capture) response. totalAmount: type: number format: double description: >- Total amount to be charged. If a service fee is sent, then this amount should include the service fee." required: - totalAmount description: Details about the payment. title: PaymentDetail type_:Sequence: type: string description: >- The order of the transaction for cardholder-initiated transaction (CIT) and merchant-initiated transaction (MIT) purposes. This field is automatically detected and populated by Payabli. Available values: - `first`: The first use of the payment method. This is almost always a cardholder-initiated transaction. - `subsequent`: For merchant-initiated transactions after the first use of the payment method. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Sequence type_:Signaturedata: type: string title: Signaturedata type_:Storedmethodid: type: string description: >- Payabli identifier of a tokenized payment method. If this field is used in a request, the `method` field is overridden and the payment is made using the payment token. title: Storedmethodid type_:StoredMethodUsageType: type: string description: >- **Strongly recommended** The usage type for the stored method, used for merchant-initiated transactions (MIT). If you don't specify a value, Payabli defaults to `unscheduled`. Available values: - `unscheduled`: This type is used for transactions that are one-time or otherwise not pre-scheduled. - `subscription`: This type is used for subscription payments. For example, monthly rental fees or ongoing service subscriptions. - `recurring`: This type is used for recurring payments that occur per a set plan. For example, splitting an HOA special assessment over 6 monthly payments. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: StoredMethodUsageType type_:QueryPaymentData: type: object properties: AccountExp: $ref: '#/components/schemas/type_:Accountexp' accountId: $ref: '#/components/schemas/type_:Accountid' AccountType: $ref: '#/components/schemas/type_:Accounttype' AccountZip: $ref: '#/components/schemas/type_:Accountzip' binData: $ref: '#/components/schemas/type_:BinData' HolderName: $ref: '#/components/schemas/type_:Holdername' Initiator: $ref: '#/components/schemas/type_:Initiator' MaskedAccount: $ref: '#/components/schemas/type_:Maskedaccount' orderDescription: $ref: '#/components/schemas/type_:Orderdescription' paymentDetails: $ref: '#/components/schemas/type_:PaymentDetail' Sequence: $ref: '#/components/schemas/type_:Sequence' SignatureData: $ref: '#/components/schemas/type_:Signaturedata' StoredId: $ref: '#/components/schemas/type_:Storedmethodid' description: Identifier of stored payment method used in transaction. StoredMethodUsageType: $ref: '#/components/schemas/type_:StoredMethodUsageType' title: QueryPaymentData type_:Dbaname: type: string description: >- The alternate or common name that this business is doing business under usually referred to as a DBA name. title: Dbaname type_:PaypointId: type: integer format: int64 description: The paypoint's ID. Note that this is different than the entryname. title: PaypointId type_:Legalname: type: string description: Business legal name. title: Legalname type_:Source: type: string description: Custom identifier to indicate the transaction or request source. title: Source type_:GeneralEvents: type: object properties: description: type: string description: Event description. eventTime: type: string format: date-time description: Event timestamp, in UTC. extraData: type: object additionalProperties: description: Any type description: Extra data. refData: type: string description: Reference data. source: $ref: '#/components/schemas/type_:Source' description: The event source. title: GeneralEvents type_:SubscriptionQueryRecords: type: object properties: CreatedAt: $ref: '#/components/schemas/type_:CreatedAt' description: Timestamp of when the subscription ws created, in UTC. Customer: $ref: '#/components/schemas/type_:QueryTransactionPayorData' EndDate: type: - string - 'null' format: date-time description: The subscription's end date. EntrypageId: $ref: '#/components/schemas/type_:EntrypageId' ExternalPaypointID: $ref: '#/components/schemas/type_:ExternalPaypointId' FeeAmount: type: number format: double description: Fee applied to the subscription. Frequency: type: string description: The subscription's frequency. IdSub: type: integer format: int64 description: The subscription's ID. InvoiceData: $ref: '#/components/schemas/type_:BillData' LastRun: type: - string - 'null' format: date-time description: The last time the subscription was processed. LastUpdated: $ref: '#/components/schemas/type_:LastModified' description: The last date and time the subscription was updated. LeftCycles: type: integer description: The number of cycles the subscription has left. Method: type: string description: The subscription's payment method. NetAmount: $ref: '#/components/schemas/type_:Netamountnullable' description: The subscription amount, minus any fees. NextDate: type: - string - 'null' format: date-time description: The next date the subscription will be processed. ParentOrgName: $ref: '#/components/schemas/type_:OrgParentName' PaymentData: $ref: '#/components/schemas/type_:QueryPaymentData' PaypointDbaname: $ref: '#/components/schemas/type_:Dbaname' description: The paypoint's DBA name. PaypointEntryname: $ref: '#/components/schemas/type_:Entrypointfield' description: The paypoint's entryname. PaypointId: $ref: '#/components/schemas/type_:PaypointId' PaypointLegalname: $ref: '#/components/schemas/type_:Legalname' description: The paypoint's legal name. PlanId: type: integer description: Payment plan ID. Source: $ref: '#/components/schemas/type_:Source' StartDate: type: - string - 'null' format: date-time description: The subscription start date. SubEvents: type: array items: $ref: '#/components/schemas/type_:GeneralEvents' description: Events associated with the subscription. SubStatus: type: integer description: |- The subscription's status. - 0: Paused - 1: Active TotalAmount: type: number format: double description: The subscription amount, including any fees. TotalCycles: type: integer description: The total number of cycles the subscription is set to run. UntilCancelled: type: boolean description: >- When `true`, the subscription has no explicit end date and will run until canceled. required: - EndDate - LastRun - NextDate - StartDate title: SubscriptionQueryRecords type_:Descriptor: type: string description: >- When the method is a card, this field displays card brand. When the method is ACH, this field displays the account type for ACH (checking or savings). title: Descriptor type_:MethodQueryRecords: type: object properties: bin: type: string description: The bank identification number (BIN). Null when method is ACH. binData: $ref: '#/components/schemas/type_:BinData' descriptor: $ref: '#/components/schemas/type_:Descriptor' expDate: type: string description: >- Expiration date associated to the method (only for card) in format MMYY. holderName: $ref: '#/components/schemas/type_:Holdername' idPmethod: type: string description: Method internal ID lastUpdated: $ref: '#/components/schemas/type_:LastModified' description: Date of last update maskedAccount: $ref: '#/components/schemas/type_:Maskedaccount' method: type: string description: 'Type of payment vehicle: **ach** or **card**' title: MethodQueryRecords type_:AchHolderType: type: string enum: - personal - business default: personal description: 'The bank''s accountholder type: personal or business.' title: AchHolderType type_:AchSecCode: type: string description: >- Standard Entry Class (SEC) code is a three letter code that describes how an ACH payment was authorized. Supported values are: - PPD (Prearranged Payment and Deposit) - Used for credits or debits where an accountholder authorizes a company to initiate either a single or recurring transaction to their personal bank account. Common examples include direct deposit of payroll, mortgage payments, or utility bills. This is the default value for subscription payments. - WEB (Internet-Initiated/Mobile Entry) - Used for debit entries when authorization is obtained from an accountholder via the internet or a wireless network. Common examples are online bill payments, ecommerce purchases, and mobile app payments where the consumer enters their banking information online. - TEL (Telephone-Initiated Entry) - Used for one-time debit entries where authorization is obtained from a consumer via telephone. Common examples are phone-based purchases or bill payments where the consumer provides their banking information over the phone. - CCD (Corporate Credit or Debit) - Used for fund transfers between business accounts. This code is specifically for business-to-business transactions. Common examples include vendor payments and other business-to-business payments. - BOC (Back Office Conversion) - Used to convert paper checks received in-person at a point-of-sale or staffed payment location into electronic ACH debits. Required for Remote Deposit Capture (RDC) transactions. Only supports consumer checks; business, government, and mailed checks aren't eligible. title: AchSecCode type_:BatchNumber: type: string description: >- A unique identifier for the batch. This is generated by Payabli when the batch is created, and follows this format: `paypointId + "_" + serviceName + "_" + batchDate:yyyyMMdd + "_" + Guid.NewGuid()`. Payabli generates the GUID to ensure that the batch number is unique. For example, in this batch number: `123_card_20251008_3f2504e0-4f89-11d3-9a0c-0305e82c3301`, the paypointID is "123", the service is "card", the batch date is "2025-10-08", and the GUID is "3f2504e0-4f89-11d3-9a0c-0305e82c3301". title: BatchNumber type_:TransactionTime: type: string format: date-time description: Timestamp when transaction was submitted, in UTC. title: TransactionTime type_:QueryCFeeTransaction: type: object properties: cFeeTransid: type: string feeAmount: type: number format: double operation: type: string refundId: type: integer format: int64 responseData: type: object additionalProperties: description: Any type settlementStatus: type: integer transactionTime: $ref: '#/components/schemas/type_:TransactionTime' transStatus: type: integer title: QueryCFeeTransaction type_:Device: type: string description: Identifier of registered cloud device used in the transaction. title: Device type_:ExternalProcessorInformation: type: string description: >- Processor information, used for troubleshooting and reporting. This field contains a value when the API key used to make the request has management permissions. title: ExternalProcessorInformation type_:FeeAmount: type: number format: double description: Service fee or sub-charge applied. title: FeeAmount type_:Operation: type: string description: The transaction's operation. title: Operation type_:OrderId: type: string description: Custom identifier for the transaction. title: OrderId type_:Orgid: type: integer format: int64 description: Organization ID. Unique identifier assigned to an org by Payabli. title: Orgid type_:PayorId: type: integer format: int64 description: >- Unique ID for the customer linked to the transaction. This is the same value as the `customerId` used when creating or referencing a customer. title: PayorId type_:PendingFeeAmount: type: number format: double description: >- The difference between the configured pass-through fee and the fee amount sent in the request. When transferring funds, Payabli uses this field to deduct the fee difference and transfer the correct amount to the merchant. When a paypoint is set up to absorb fees, and the pass-through fee sent with the request is less than the configured amount, the difference must be covered by the merchant. See [Fee Configuration](/guides/pay-in-fees-passthrough-overview#fee-configuration) to learn more about pass-through fee settings. title: PendingFeeAmount type_:RefundId: type: integer format: int64 description: Identifier of refund transaction linked to this payment. title: RefundId type_:Authcode: type: string description: Authorization code for the transaction. title: Authcode type_:AvsResponse: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponse type_:AvsResponseText: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponseText type_:CvvResponse: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponse type_:CvvResponseText: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponseText type_:EmvAuthResponseData: type: string description: EMV authorization response data, applicable for card transactions. title: EmvAuthResponseData type_:ResultCodev2: type: string description: >- Unified result code for the transaction. See [Pay In unified response codes](/developers/references/pay-in-unified-response-codes-reference) for more information. title: ResultCodev2 type_:ResultCodeText: type: string description: >- Description of the result code. See [Pay In unified response codes](/developers/references/pay-in-unified-response-codes-reference) for more information. title: ResultCodeText type_:QueryResponseData: type: object properties: authcode: $ref: '#/components/schemas/type_:Authcode' avsresponse: $ref: '#/components/schemas/type_:AvsResponse' avsresponse_text: $ref: '#/components/schemas/type_:AvsResponseText' cvvresponse: $ref: '#/components/schemas/type_:CvvResponse' cvvresponse_text: $ref: '#/components/schemas/type_:CvvResponseText' emv_auth_response_data: $ref: '#/components/schemas/type_:EmvAuthResponseData' orderid: $ref: '#/components/schemas/type_:OrderId' response: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' response_code: type: string description: >- Internal result code processing the transaction. Value 1 indicates successful operation, values 2 and 3 indicate errors. response_code_text: type: string description: >- Text describing the result. If resultCode = 1, will return 'Approved' or a general success message. If resultCode = 2 or 3, will contain the cause of the decline. responsetext: type: string description: >- Text describing the result. If resultCode = 1, will return 'Approved' or a general success message. If resultCode = 2 or 3, will contain the cause of the decline. resultCode: $ref: '#/components/schemas/type_:ResultCodev2' resultCodeText: $ref: '#/components/schemas/type_:ResultCodeText' transactionid: type: string description: The transaction identifier in Payabli. type: type: string description: Type of transaction or operation. description: The transaction's response data. title: QueryResponseData type_:ReturnedId: type: integer format: int64 description: Identifier of return/chargeback transaction linked to this payment. title: ReturnedId type_:QueryTransactionEventsEventData: oneOf: - type: object additionalProperties: description: Any type - type: string description: >- Any data associated to the event received from processor. Contents vary by event type. title: QueryTransactionEventsEventData type_:QueryTransactionEvents: type: object properties: EventData: $ref: '#/components/schemas/type_:QueryTransactionEventsEventData' description: >- Any data associated to the event received from processor. Contents vary by event type. EventTime: type: string format: date-time description: Date and time of event. TransEvent: type: string description: >- Event descriptor. See [TransEvent Reference](/guides/pay-in-transevents-reference) for more details. title: QueryTransactionEvents type_:TransactionQueryRecords: type: object properties: AchHolderType: $ref: '#/components/schemas/type_:AchHolderType' AchSecCode: $ref: '#/components/schemas/type_:AchSecCode' BatchAmount: type: number format: double description: Batch amount. BatchNumber: $ref: '#/components/schemas/type_:BatchNumber' CfeeTransactions: type: array items: $ref: '#/components/schemas/type_:QueryCFeeTransaction' description: >- Service Fee or sub-charge transaction associated to the main transaction. ConnectorName: type: string description: Connector used for transaction. Customer: $ref: '#/components/schemas/type_:QueryTransactionPayorData' DeviceId: $ref: '#/components/schemas/type_:Device' EntrypageId: $ref: '#/components/schemas/type_:EntrypageId' ExternalProcessorInformation: $ref: '#/components/schemas/type_:ExternalProcessorInformation' FeeAmount: $ref: '#/components/schemas/type_:FeeAmount' GatewayTransId: type: string description: Internal identifier used for processing. InvoiceData: $ref: '#/components/schemas/type_:BillData' Method: type: string description: 'Payment method used: card, ach, or wallet.' NetAmount: $ref: '#/components/schemas/type_:Netamountnullable' description: Net amount paid. Operation: $ref: '#/components/schemas/type_:Operation' OrderId: $ref: '#/components/schemas/type_:OrderId' OrgId: $ref: '#/components/schemas/type_:Orgid' description: ID of immediate parent organization. ParentOrgName: $ref: '#/components/schemas/type_:OrgParentName' PaymentData: $ref: '#/components/schemas/type_:QueryPaymentData' PaymentTransId: type: string description: Unique Transaction ID. PayorId: $ref: '#/components/schemas/type_:PayorId' PaypointDbaname: $ref: '#/components/schemas/type_:Dbaname' description: Paypoint's DBA name. PaypointEntryname: $ref: '#/components/schemas/type_:Entrypointfield' description: Paypoint's entryname. PaypointId: type: integer format: int64 description: InternalId for paypoint. PaypointLegalname: $ref: '#/components/schemas/type_:Legalname' description: Paypoint's legal name. PendingFeeAmount: $ref: '#/components/schemas/type_:PendingFeeAmount' RefundId: $ref: '#/components/schemas/type_:RefundId' ResponseData: $ref: '#/components/schemas/type_:QueryResponseData' ReturnedId: $ref: '#/components/schemas/type_:ReturnedId' ScheduleReference: type: integer format: int64 description: Reference to the subscription that originated the transaction. SettlementStatus: type: integer description: >- Settlement status for transaction. See [the docs](/developers/references/money-in-statuses#payment-funding-status) for a full reference. Source: $ref: '#/components/schemas/type_:Source' splitFundingInstructions: $ref: '#/components/schemas/type_:SplitFunding' TotalAmount: type: number format: double description: Transaction total amount (including service fee or sub-charge) TransactionEvents: type: array items: $ref: '#/components/schemas/type_:QueryTransactionEvents' description: Events associated with this transaction. TransactionTime: type: - string - 'null' format: date-time description: Transaction date and time, in UTC. TransAdditionalData: description: Any type TransStatus: type: integer description: >- Status of transaction. See [the docs](/developers/references/money-in-statuses#money-in-transaction-status) for a full reference. required: - TransactionTime title: TransactionQueryRecords type_:CustomerSummaryRecord: type: object properties: numberofTransactions: type: integer description: Number total of transactions or payments recentTransactions: type: array items: $ref: '#/components/schemas/type_:TransactionQueryRecords' description: List of more recent 5 transactions belonging to the customer totalAmountTransactions: type: number format: double description: Total amount in transactions totalNetAmountTransactions: type: number format: double description: Total net amount in transactions title: CustomerSummaryRecord type_:OrgParentId: type: integer format: int64 description: The ID of the org's parent organization. title: OrgParentId type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:OptinStatus: type: integer description: |- Customer's consent status. Allowed status: - 0: Customer hasn't opted in to communications - -1: Customer opt in pending - 1: Customer has opted in to communications title: OptinStatus type_:CustomerQueryRecordsCustomerConsentECommunication: type: object properties: status: $ref: '#/components/schemas/type_:OptinStatus' updatedAt: $ref: '#/components/schemas/type_:LastModified' description: Describes the customer's email communications consent status. title: CustomerQueryRecordsCustomerConsentECommunication type_:CustomerQueryRecordsCustomerConsentSms: type: object properties: status: $ref: '#/components/schemas/type_:OptinStatus' updatedAt: $ref: '#/components/schemas/type_:LastModified' description: Describes the customer's SMS communications consent status. title: CustomerQueryRecordsCustomerConsentSms type_:CustomerQueryRecordsCustomerConsent: type: object properties: eCommunication: $ref: >- #/components/schemas/type_:CustomerQueryRecordsCustomerConsentECommunication description: Describes the customer's email communications consent status. sms: $ref: '#/components/schemas/type_:CustomerQueryRecordsCustomerConsentSms' description: Describes the customer's SMS communications consent status. title: CustomerQueryRecordsCustomerConsent type_:CustomerQueryRecords: type: object properties: customerId: $ref: '#/components/schemas/type_:CustomerId' customerNumber: $ref: '#/components/schemas/type_:CustomerNumberNullable' customerUsername: type: string description: Username for customer. customerStatus: $ref: '#/components/schemas/type_:CustomerStatus' Company: type: string description: Company name. Firstname: type: string description: Customer first name. Lastname: type: string description: Customer last name. Phone: type: string description: Customer phone number. Email: $ref: '#/components/schemas/type_:Email' description: Customer email address. Address: type: string description: Customer address. Address1: type: string description: Additional line for customer address. City: type: string description: Customer city. State: type: string description: Customer state. Zip: type: string description: Customer postal code. Country: type: string description: Customer country. ShippingAddress: $ref: '#/components/schemas/type_:Shippingaddress' ShippingAddress1: $ref: '#/components/schemas/type_:Shippingaddressadditional' ShippingCity: $ref: '#/components/schemas/type_:Shippingcity' ShippingState: $ref: '#/components/schemas/type_:Shippingstate' ShippingZip: $ref: '#/components/schemas/type_:Shippingzip' ShippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' Balance: type: number format: double description: Customer balance. TimeZone: $ref: '#/components/schemas/type_:Timezone' MFA: $ref: '#/components/schemas/type_:Mfa' MFAMode: $ref: '#/components/schemas/type_:MfaMode' snProvider: type: string description: |- Social network linked to customer. Possible values: - `facebook` - `google` - `twitter` - `microsoft` snIdentifier: type: string description: Identifier or token for customer in linked social network. snData: type: string description: >- Additional data provided by the social network related to the customer. LastUpdated: type: string format: date-time description: Date and time of last update. Created: type: string format: date-time description: Date and time created. AdditionalFields: type: object additionalProperties: type: string description: List of additional custom fields in format key:value. IdentifierFields: $ref: '#/components/schemas/type_:Identifierfields' Subscriptions: type: array items: $ref: '#/components/schemas/type_:SubscriptionQueryRecords' description: List of subscriptions associated to the customer. StoredMethods: type: array items: $ref: '#/components/schemas/type_:MethodQueryRecords' description: List of payment methods associated to the customer. customerSummary: $ref: '#/components/schemas/type_:CustomerSummaryRecord' PaypointLegalname: $ref: '#/components/schemas/type_:Legalname' description: Paypoint legal name. PaypointDbaname: $ref: '#/components/schemas/type_:Dbaname' description: Paypoint DBA name. ParentOrgName: $ref: '#/components/schemas/type_:OrgParentName' ParentOrgId: $ref: '#/components/schemas/type_:OrgParentId' PaypointEntryname: $ref: '#/components/schemas/type_:Entrypointfield' pageidentifier: $ref: '#/components/schemas/type_:PageIdentifier' externalPaypointID: $ref: '#/components/schemas/type_:ExternalPaypointId' customerConsent: $ref: '#/components/schemas/type_:CustomerQueryRecordsCustomerConsent' title: CustomerQueryRecords type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponseCustomerQuery: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:CustomerQueryRecords' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponseCustomerQuery type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript CreateCustomer import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.customer.addCustomer("8cfec329267", { body: { customerNumber: "12356ACB", firstname: "Irene", lastname: "Canizales", email: "irene@canizalesconcrete.com", address1: "123 Bishop's Trail", city: "Mountain City", state: "TN", zip: "37612", country: "US", timeZone: -5, identifierFields: [ "email", ], }, }); } main(); ``` ```python CreateCustomer from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.customer.add_customer( entry="8cfec329267", customer_number="12356ACB", firstname="Irene", lastname="Canizales", email="irene@canizalesconcrete.com", address_1="123 Bishop\'s Trail", city="Mountain City", state="TN", zip="37612", country="US", time_zone=-5, identifier_fields=[ "email" ], ) ``` ```csharp CreateCustomer using PayabliPayabliApi; using System.Threading.Tasks; using System.Collections.Generic; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Customer.AddCustomerAsync( "8cfec329267", new AddCustomerRequest { Body = new CustomerData { CustomerNumber = "12356ACB", Firstname = "Irene", Lastname = "Canizales", Email = "irene@canizalesconcrete.com", Address1 = "123 Bishop's Trail", City = "Mountain City", State = "TN", Zip = "37612", Country = "US", TimeZone = -5, IdentifierFields = new List(){ "email", } } } ); } } ``` ```go CreateCustomer package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Customer/single/8cfec329267" payload := strings.NewReader("{\n \"customerNumber\": \"12356ACB\",\n \"firstname\": \"Irene\",\n \"lastname\": \"Canizales\",\n \"email\": \"irene@canizalesconcrete.com\",\n \"address1\": \"123 Bishop's Trail\",\n \"city\": \"Mountain City\",\n \"state\": \"TN\",\n \"zip\": \"37612\",\n \"country\": \"US\",\n \"timeZone\": -5,\n \"identifierFields\": [\n \"email\"\n ]\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby CreateCustomer require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Customer/single/8cfec329267") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"customerNumber\": \"12356ACB\",\n \"firstname\": \"Irene\",\n \"lastname\": \"Canizales\",\n \"email\": \"irene@canizalesconcrete.com\",\n \"address1\": \"123 Bishop's Trail\",\n \"city\": \"Mountain City\",\n \"state\": \"TN\",\n \"zip\": \"37612\",\n \"country\": \"US\",\n \"timeZone\": -5,\n \"identifierFields\": [\n \"email\"\n ]\n}" response = http.request(request) puts response.read_body ``` ```java CreateCustomer import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/Customer/single/8cfec329267") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"customerNumber\": \"12356ACB\",\n \"firstname\": \"Irene\",\n \"lastname\": \"Canizales\",\n \"email\": \"irene@canizalesconcrete.com\",\n \"address1\": \"123 Bishop's Trail\",\n \"city\": \"Mountain City\",\n \"state\": \"TN\",\n \"zip\": \"37612\",\n \"country\": \"US\",\n \"timeZone\": -5,\n \"identifierFields\": [\n \"email\"\n ]\n}") .asString(); ``` ```php CreateCustomer request('POST', 'https://api-sandbox.payabli.com/api/Customer/single/8cfec329267', [ 'body' => '{ "customerNumber": "12356ACB", "firstname": "Irene", "lastname": "Canizales", "email": "irene@canizalesconcrete.com", "address1": "123 Bishop\'s Trail", "city": "Mountain City", "state": "TN", "zip": "37612", "country": "US", "timeZone": -5, "identifierFields": [ "email" ] }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift CreateCustomer import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "customerNumber": "12356ACB", "firstname": "Irene", "lastname": "Canizales", "email": "irene@canizalesconcrete.com", "address1": "123 Bishop's Trail", "city": "Mountain City", "state": "TN", "zip": "37612", "country": "US", "timeZone": -5, "identifierFields": ["email"] ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Customer/single/8cfec329267")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Get customer GET https://api-sandbox.payabli.com/api/Customer/{customerId} Retrieves a customer's record and details. Reference: https://docs.payabli.com/developers/api-reference/customer/get-customer-record ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Customer/{customerId}: get: operationId: get-customer summary: Get customer record. description: Retrieves a customer's record and details. tags: - subpackage_customer parameters: - name: customerId in: path description: >- Payabli-generated customer ID. Maps to "Customer ID" column in PartnerHub. required: true schema: type: integer - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:CustomerQueryRecords' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:CustomerId: type: integer format: int64 description: The Payabli-generated unique ID for the customer. title: CustomerId type_:CustomerNumberNullable: type: string description: >- User-provided unique identifier for the customer. This is typically the customer ID from your own system. title: CustomerNumberNullable type_:CustomerStatus: type: integer description: |- Customer Status. Possible values: - `-99` Deleted - `0` Inactive - `1` Active - `85` Locked (typically due to multiple failed login attempts) title: CustomerStatus type_:Email: type: string format: email description: Email address. title: Email type_:Shippingaddress: type: string description: The shipping address. title: Shippingaddress type_:Shippingaddressadditional: type: string description: Additional line for shipping address. title: Shippingaddressadditional type_:Shippingcity: type: string description: Shipping city. title: Shippingcity type_:Shippingstate: type: string description: Shipping state or province. title: Shippingstate type_:Shippingzip: type: string description: >- Shipping ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". title: Shippingzip type_:Shippingcountry: type: string description: Shipping address country. title: Shippingcountry type_:Timezone: type: integer description: Timezone, in UTC offset. For example, -5 is Eastern time. title: Timezone type_:Mfa: type: boolean description: When `true`, multi-factor authentication (MFA) is enabled. title: Mfa type_:MfaMode: type: integer title: MfaMode type_:Identifierfields: type: array items: type: string description: >- List of fields acting as customer identifiers, to be used instead of CustomerNumber. title: Identifierfields type_:CreatedAt: type: string format: date-time description: Timestamp of when record was created, in UTC. title: CreatedAt type_:BillingZip: type: string description: Billing address ZIP code. title: BillingZip type_:AdditionalDataMap: type: object additionalProperties: type: string description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalDataMap type_:QueryTransactionPayorData: type: object properties: Identifiers: type: array items: description: Any type description: Array of field names to be used as identifiers. FirstName: type: string description: Customer/Payor first name. LastName: type: string description: Customer/Payor last name. CompanyName: type: string description: Customer's company name. BillingAddress1: type: string description: Customer's billing address. BillingAddress2: type: string description: Additional line for Customer's billing address. BillingCity: type: string description: Customer's billing city. BillingState: type: string description: >- Customer's billing state. Must be 2-letter state code for address in US. BillingZip: $ref: '#/components/schemas/type_:BillingZip' description: Customer's billing ZIP code. BillingCountry: type: string description: Customer's billing country. BillingPhone: type: string description: Customer's phone number. BillingEmail: $ref: '#/components/schemas/type_:Email' description: Customer's email address. CustomerNumber: $ref: '#/components/schemas/type_:CustomerNumberNullable' ShippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' ShippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' ShippingCity: $ref: '#/components/schemas/type_:Shippingcity' ShippingState: $ref: '#/components/schemas/type_:Shippingstate' ShippingZip: $ref: '#/components/schemas/type_:Shippingzip' ShippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' customerId: $ref: '#/components/schemas/type_:CustomerId' customerStatus: $ref: '#/components/schemas/type_:CustomerStatus' AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' title: QueryTransactionPayorData type_:EntrypageId: type: integer format: int64 description: >- If applicable, the internal reference ID to the payment page capturing the payment. title: EntrypageId type_:ExternalPaypointId: type: string description: >- A custom identifier for the paypoint, if applicable. Like `entrypoint` is the Payabli identifier for the merchant, `externalPaypointId` is a custom field you can use to include the merchant's ID from your own systems. title: ExternalPaypointId type_:FileContentFtype: type: string enum: - pdf - doc - docx - jpg - jpeg - png - gif - txt description: The MIME type of the file (if content is provided) title: FileContentFtype type_:FileContent: type: object properties: fContent: type: string description: >- Content of file, Base64-encoded. Ignored if furl is specified. Max upload size is 30 MB. filename: type: string description: The name of the attached file. ftype: $ref: '#/components/schemas/type_:FileContentFtype' description: The MIME type of the file (if content is provided) furl: type: string description: Optional URL provided to show or download the file remotely description: Contains details about a file. Max upload size is 30 MB. title: FileContent type_:Attachments: type: array items: $ref: '#/components/schemas/type_:FileContent' description: >- Array of `fileContent` objects with attached documents. Max upload size is 30 MB. title: Attachments type_:Discount: type: number format: double description: Discount applied to the invoice. title: Discount type_:DutyAmount: type: number format: double description: Duty amount. title: DutyAmount type_:FreightAmount: type: number format: double description: Freight/shipping amount. title: FreightAmount type_:Frequency: type: string enum: - onetime - weekly - every2weeks - every6months - monthly - every3months - annually description: Frequency for operation. title: Frequency type_:InvoiceAmount: type: number format: double description: Invoice total amount. title: InvoiceAmount type_:InvoiceNumber: type: string description: >- Custom number identifying the bill or invoice. Must be unique in paypoint. title: InvoiceNumber type_:Invoicestatus: type: integer description: |- Status for invoice. The accepted status values are: - 0 draft - 1 active - 2 partially paid - 4 paid/complete - 99 cancelled title: Invoicestatus type_:InvoiceType: type: integer description: Type of invoice. Only `0` for one-time invoices is currently supported. title: InvoiceType type_:ItemCommodityCode: type: string description: Item or product commodity code. Max length of 250 characters. title: ItemCommodityCode type_:ItemDescription: type: string description: Item or product description. Max length of 250 characters. title: ItemDescription type_:ItemProductCode: type: string description: Item or product code. Max length of 250 characters. title: ItemProductCode type_:ItemProductName: type: string description: Item or product name. Max length of 250 characters. title: ItemProductName type_:ItemUnitofMeasure: type: string description: Unit of measurement. Max length of 100 characters. title: ItemUnitofMeasure type_:BillItem: type: object properties: itemCategories: type: array items: type: string description: Array of tags classifying item or product. itemCommodityCode: $ref: '#/components/schemas/type_:ItemCommodityCode' itemCost: type: number format: double description: Item or product price per unit. itemDescription: $ref: '#/components/schemas/type_:ItemDescription' itemMode: type: integer description: >- Internal class of item or product: value '0' is only for invoices , '1' for bills and, '2' common for both. itemProductCode: $ref: '#/components/schemas/type_:ItemProductCode' itemProductName: $ref: '#/components/schemas/type_:ItemProductName' itemQty: type: integer description: Quantity of item or product. itemTaxAmount: type: number format: double description: Tax amount applied to item or product. itemTaxRate: type: number format: double description: Tax rate applied to item or product. itemTotalAmount: type: number format: double description: Total amount in item or product. itemUnitOfMeasure: $ref: '#/components/schemas/type_:ItemUnitofMeasure' required: - itemCost title: BillItem type_:BillDataPaymentTerms: type: string enum: - PIA - CIA - UR - NET10 - NET20 - NET30 - NET45 - NET60 - NET90 - EOM - MFI - 5MFI - 10MFI - 15MFI - 20MFI - 2/10NET30 - UF - 10UF - 20UF - 25UF - 50UF description: >- Payment terms for invoice. If no terms are defined, then response data for this field defaults to `NET30`. **Available Values:** - `PIA`: Payment in advance - `CIA`: Cash in advance - `UR`: Upon receipt - `NET10`: 10 days after invoice date - `NET20`: 20 days after invoice date - `NET30`: 30 days after invoice date - `NET45`: 45 days after invoice date - `NET60`: 60 days after invoice date - `NET90`: 90 days after invoice date - `EOM`: Due end of this month - `MFI`: 1st of the month following the invoice date - `5MFI`: 5th of the month following the invoice date - `10MFI`: 10th of the month following the invoice date - `15MFI`: 15th of the month following the invoice date - `20MFI`: 20th of the month following the invoice date - `2/10NET30`: 2% discount if paid within 10 days, otherwise net 30 days - `UF`: Until further notice - `10UF`: 10 days until further notice - `20UF`: 20 days until further notice - `25UF`: 25 days until further notice - `50UF`: 50 days until further notice title: BillDataPaymentTerms type_:PurchaseOrder: type: string description: Purchase order number. title: PurchaseOrder type_:ShippingFromZip: type: string description: Sender shipping ZIP code. title: ShippingFromZip type_:SummaryCommodityCode: type: string description: Commodity code. title: SummaryCommodityCode type_:Tax: type: number format: double description: Tax rate in percent applied to the invoice. title: Tax type_:TermsConditions: type: string description: Custom terms and conditions included in the invoice. title: TermsConditions type_:BillData: type: object properties: AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' attachments: $ref: '#/components/schemas/type_:Attachments' company: type: string description: Company name of the recipient of the invoice. discount: $ref: '#/components/schemas/type_:Discount' dutyAmount: $ref: '#/components/schemas/type_:DutyAmount' firstName: type: string description: First name of the recipient of the invoice. freightAmount: $ref: '#/components/schemas/type_:FreightAmount' frequency: $ref: '#/components/schemas/type_:Frequency' description: Frequency of scheduled invoice. invoiceAmount: $ref: '#/components/schemas/type_:InvoiceAmount' invoiceDate: type: string format: date description: 'Invoice date in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY.' invoiceDueDate: type: string format: date description: >- Invoice due date in one of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceEndDate: type: string format: date description: >- Indicate the date to finish a scheduled invoice cycle (`invoiceType`` = 1) in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceNumber: $ref: '#/components/schemas/type_:InvoiceNumber' description: Invoice number. Identifies the invoice under a paypoint. invoiceStatus: $ref: '#/components/schemas/type_:Invoicestatus' invoiceType: $ref: '#/components/schemas/type_:InvoiceType' items: type: array items: $ref: '#/components/schemas/type_:BillItem' description: Array of line items included in the invoice. lastName: type: string description: Last name of the recipient of the invoice. notes: type: string description: Notes included in the invoice. paymentTerms: $ref: '#/components/schemas/type_:BillDataPaymentTerms' purchaseOrder: $ref: '#/components/schemas/type_:PurchaseOrder' shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' shippingEmail: $ref: '#/components/schemas/type_:Email' description: Shipping recipient's contact email address. shippingFromZip: $ref: '#/components/schemas/type_:ShippingFromZip' shippingPhone: type: string description: Recipient phone number. shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' summaryCommodityCode: $ref: '#/components/schemas/type_:SummaryCommodityCode' tax: $ref: '#/components/schemas/type_:Tax' termsConditions: $ref: '#/components/schemas/type_:TermsConditions' title: BillData type_:LastModified: type: string format: date-time description: Timestamp of when record was last updated, in UTC. title: LastModified type_:Netamountnullable: type: number format: double description: Net amount. title: Netamountnullable type_:OrgParentName: type: string description: The name of the parent organization. title: OrgParentName type_:Accountexp: type: string description: Expiration date of card used in transaction. title: Accountexp type_:Accountid: type: string description: Custom identifier for payment connector. title: Accountid type_:Accounttype: type: string description: Bank account type or card brand. title: Accounttype type_:Accountzip: type: string description: ZIP code for card used in transaction. title: Accountzip type_:BinData: type: object properties: binMatchedLength: type: string description: |- The number of characters from the beginning of the card number that were matched against a Bank Identification Number (BIN) or the Card Range table. binCardBrand: type: string description: |- The card brand. For example, Visa, Mastercard, American Express, Discover. binCardType: type: string description: 'The type of card: Credit or Debit.' binCardCategory: type: string description: >- The category of the card, which indicates the card product. For example: Standard, Gold, Platinum, etc. The binCardCategory for prepaid cards is marked `PREPAID`. binCardIssuer: type: string description: The name of the financial institution that issued the card. binCardIssuerCountry: type: string description: The issuing financial institution's country name. binCardIssuerCountryCodeA2: type: string description: >- The issuing financial institution's two-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIssuerCountryNumber: type: string description: >- The issuing financial institution's ISO standard numeric country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIsRegulated: type: string description: Indicates whether the card is regulated. binCardUseCategory: type: string description: The use category classification for the card. binCardIssuerCountryCodeA3: type: string description: >- The issuing financial institution's three-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. description: >- Object containing information related to the card. This object is `null` unless the payment method is card. If the payment method is Apple Pay, the binData will be related to the DPAN (device primary account number), not the card connected to Apple Pay. title: BinData type_:Holdername: type: string description: Account holder name for the method. title: Holdername type_:Initiator: type: string description: >- **Strongly recommended** The cardholder-initiated transaction (CIT) or merchant-initiated transaction (MIT) indicator for the transaction. If you don't specify a value, Payabli defaults to `merchant`. Available values: - `payor`: For cardholder-initiated transactions - `merchant`: For merchant-initiated transactions See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Initiator type_:Maskedaccount: type: string description: >- Masked card or bank account used in transaction. In the case of Apple Pay, this is a masked DPAN (device primary account number). title: Maskedaccount type_:Orderdescription: type: string description: Text description of the transaction. title: Orderdescription type_:PaymentCategories: type: object properties: amount: type: number format: double description: Price/cost per unit of item or category. description: type: string description: Description of item or category label: type: string description: Name of item or category. qty: type: integer default: 1 description: Quantity of item or category required: - amount - label title: PaymentCategories type_:SplitFundingContent: type: object properties: accountId: type: string description: The accountId for the account the split should be sent to. amount: type: number format: double description: Amount from the transaction to sent to this recipient. description: type: string description: A description for the split. recipientEntryPoint: type: string description: The entrypoint the split should be sent to. title: SplitFundingContent type_:SplitFunding: type: array items: $ref: '#/components/schemas/type_:SplitFundingContent' description: >- Split funding instructions for the transaction. The total amount of the splits must match the total amount of the transaction. title: SplitFunding type_:PaymentDetail: type: object properties: categories: type: array items: $ref: '#/components/schemas/type_:PaymentCategories' description: >- Array of payment categories/line items describing the amount to be paid. **Note**: These categories are for information only and aren't validated against the total amount provided. checkImage: type: object additionalProperties: description: Any type description: Object containing image of paper check. checkNumber: type: string description: >- A check number to be used in the ach transaction. **Required** for payment method = 'check'. currency: type: string description: >- The currency for the transaction, `USD` or `CAD`. If your paypoint is configured for CAD, you must send the `CAD` value in this field, otherwise it defaults to USD, which will cause the transaction to fail. serviceFee: type: number format: double description: >- Service fee to be deducted from the total amount. This amount must be a number, percentages aren't accepted. If you are using a percentage-based fee schedule, you must calculate the value manually. splitFunding: $ref: '#/components/schemas/type_:SplitFunding' description: >- Split funding instructions for the transaction. See [Split a Transaction](/developers/developer-guides/money-in-split-funding) for more. checkUniqueId: type: string description: >- Unique identifier for a processed check image. Required for RDC (Remote Deposit Capture) transactions where `achCode` is `BOC`. Use the `id` value from the [check processing](/developers/api-reference/moneyin/check-capture) response. totalAmount: type: number format: double description: >- Total amount to be charged. If a service fee is sent, then this amount should include the service fee." required: - totalAmount description: Details about the payment. title: PaymentDetail type_:Sequence: type: string description: >- The order of the transaction for cardholder-initiated transaction (CIT) and merchant-initiated transaction (MIT) purposes. This field is automatically detected and populated by Payabli. Available values: - `first`: The first use of the payment method. This is almost always a cardholder-initiated transaction. - `subsequent`: For merchant-initiated transactions after the first use of the payment method. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Sequence type_:Signaturedata: type: string title: Signaturedata type_:Storedmethodid: type: string description: >- Payabli identifier of a tokenized payment method. If this field is used in a request, the `method` field is overridden and the payment is made using the payment token. title: Storedmethodid type_:StoredMethodUsageType: type: string description: >- **Strongly recommended** The usage type for the stored method, used for merchant-initiated transactions (MIT). If you don't specify a value, Payabli defaults to `unscheduled`. Available values: - `unscheduled`: This type is used for transactions that are one-time or otherwise not pre-scheduled. - `subscription`: This type is used for subscription payments. For example, monthly rental fees or ongoing service subscriptions. - `recurring`: This type is used for recurring payments that occur per a set plan. For example, splitting an HOA special assessment over 6 monthly payments. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: StoredMethodUsageType type_:QueryPaymentData: type: object properties: AccountExp: $ref: '#/components/schemas/type_:Accountexp' accountId: $ref: '#/components/schemas/type_:Accountid' AccountType: $ref: '#/components/schemas/type_:Accounttype' AccountZip: $ref: '#/components/schemas/type_:Accountzip' binData: $ref: '#/components/schemas/type_:BinData' HolderName: $ref: '#/components/schemas/type_:Holdername' Initiator: $ref: '#/components/schemas/type_:Initiator' MaskedAccount: $ref: '#/components/schemas/type_:Maskedaccount' orderDescription: $ref: '#/components/schemas/type_:Orderdescription' paymentDetails: $ref: '#/components/schemas/type_:PaymentDetail' Sequence: $ref: '#/components/schemas/type_:Sequence' SignatureData: $ref: '#/components/schemas/type_:Signaturedata' StoredId: $ref: '#/components/schemas/type_:Storedmethodid' description: Identifier of stored payment method used in transaction. StoredMethodUsageType: $ref: '#/components/schemas/type_:StoredMethodUsageType' title: QueryPaymentData type_:Dbaname: type: string description: >- The alternate or common name that this business is doing business under usually referred to as a DBA name. title: Dbaname type_:Entrypointfield: type: string description: The entrypoint identifier. title: Entrypointfield type_:PaypointId: type: integer format: int64 description: The paypoint's ID. Note that this is different than the entryname. title: PaypointId type_:Legalname: type: string description: Business legal name. title: Legalname type_:Source: type: string description: Custom identifier to indicate the transaction or request source. title: Source type_:GeneralEvents: type: object properties: description: type: string description: Event description. eventTime: type: string format: date-time description: Event timestamp, in UTC. extraData: type: object additionalProperties: description: Any type description: Extra data. refData: type: string description: Reference data. source: $ref: '#/components/schemas/type_:Source' description: The event source. title: GeneralEvents type_:SubscriptionQueryRecords: type: object properties: CreatedAt: $ref: '#/components/schemas/type_:CreatedAt' description: Timestamp of when the subscription ws created, in UTC. Customer: $ref: '#/components/schemas/type_:QueryTransactionPayorData' EndDate: type: - string - 'null' format: date-time description: The subscription's end date. EntrypageId: $ref: '#/components/schemas/type_:EntrypageId' ExternalPaypointID: $ref: '#/components/schemas/type_:ExternalPaypointId' FeeAmount: type: number format: double description: Fee applied to the subscription. Frequency: type: string description: The subscription's frequency. IdSub: type: integer format: int64 description: The subscription's ID. InvoiceData: $ref: '#/components/schemas/type_:BillData' LastRun: type: - string - 'null' format: date-time description: The last time the subscription was processed. LastUpdated: $ref: '#/components/schemas/type_:LastModified' description: The last date and time the subscription was updated. LeftCycles: type: integer description: The number of cycles the subscription has left. Method: type: string description: The subscription's payment method. NetAmount: $ref: '#/components/schemas/type_:Netamountnullable' description: The subscription amount, minus any fees. NextDate: type: - string - 'null' format: date-time description: The next date the subscription will be processed. ParentOrgName: $ref: '#/components/schemas/type_:OrgParentName' PaymentData: $ref: '#/components/schemas/type_:QueryPaymentData' PaypointDbaname: $ref: '#/components/schemas/type_:Dbaname' description: The paypoint's DBA name. PaypointEntryname: $ref: '#/components/schemas/type_:Entrypointfield' description: The paypoint's entryname. PaypointId: $ref: '#/components/schemas/type_:PaypointId' PaypointLegalname: $ref: '#/components/schemas/type_:Legalname' description: The paypoint's legal name. PlanId: type: integer description: Payment plan ID. Source: $ref: '#/components/schemas/type_:Source' StartDate: type: - string - 'null' format: date-time description: The subscription start date. SubEvents: type: array items: $ref: '#/components/schemas/type_:GeneralEvents' description: Events associated with the subscription. SubStatus: type: integer description: |- The subscription's status. - 0: Paused - 1: Active TotalAmount: type: number format: double description: The subscription amount, including any fees. TotalCycles: type: integer description: The total number of cycles the subscription is set to run. UntilCancelled: type: boolean description: >- When `true`, the subscription has no explicit end date and will run until canceled. required: - EndDate - LastRun - NextDate - StartDate title: SubscriptionQueryRecords type_:Descriptor: type: string description: >- When the method is a card, this field displays card brand. When the method is ACH, this field displays the account type for ACH (checking or savings). title: Descriptor type_:MethodQueryRecords: type: object properties: bin: type: string description: The bank identification number (BIN). Null when method is ACH. binData: $ref: '#/components/schemas/type_:BinData' descriptor: $ref: '#/components/schemas/type_:Descriptor' expDate: type: string description: >- Expiration date associated to the method (only for card) in format MMYY. holderName: $ref: '#/components/schemas/type_:Holdername' idPmethod: type: string description: Method internal ID lastUpdated: $ref: '#/components/schemas/type_:LastModified' description: Date of last update maskedAccount: $ref: '#/components/schemas/type_:Maskedaccount' method: type: string description: 'Type of payment vehicle: **ach** or **card**' title: MethodQueryRecords type_:AchHolderType: type: string enum: - personal - business default: personal description: 'The bank''s accountholder type: personal or business.' title: AchHolderType type_:AchSecCode: type: string description: >- Standard Entry Class (SEC) code is a three letter code that describes how an ACH payment was authorized. Supported values are: - PPD (Prearranged Payment and Deposit) - Used for credits or debits where an accountholder authorizes a company to initiate either a single or recurring transaction to their personal bank account. Common examples include direct deposit of payroll, mortgage payments, or utility bills. This is the default value for subscription payments. - WEB (Internet-Initiated/Mobile Entry) - Used for debit entries when authorization is obtained from an accountholder via the internet or a wireless network. Common examples are online bill payments, ecommerce purchases, and mobile app payments where the consumer enters their banking information online. - TEL (Telephone-Initiated Entry) - Used for one-time debit entries where authorization is obtained from a consumer via telephone. Common examples are phone-based purchases or bill payments where the consumer provides their banking information over the phone. - CCD (Corporate Credit or Debit) - Used for fund transfers between business accounts. This code is specifically for business-to-business transactions. Common examples include vendor payments and other business-to-business payments. - BOC (Back Office Conversion) - Used to convert paper checks received in-person at a point-of-sale or staffed payment location into electronic ACH debits. Required for Remote Deposit Capture (RDC) transactions. Only supports consumer checks; business, government, and mailed checks aren't eligible. title: AchSecCode type_:BatchNumber: type: string description: >- A unique identifier for the batch. This is generated by Payabli when the batch is created, and follows this format: `paypointId + "_" + serviceName + "_" + batchDate:yyyyMMdd + "_" + Guid.NewGuid()`. Payabli generates the GUID to ensure that the batch number is unique. For example, in this batch number: `123_card_20251008_3f2504e0-4f89-11d3-9a0c-0305e82c3301`, the paypointID is "123", the service is "card", the batch date is "2025-10-08", and the GUID is "3f2504e0-4f89-11d3-9a0c-0305e82c3301". title: BatchNumber type_:TransactionTime: type: string format: date-time description: Timestamp when transaction was submitted, in UTC. title: TransactionTime type_:QueryCFeeTransaction: type: object properties: cFeeTransid: type: string feeAmount: type: number format: double operation: type: string refundId: type: integer format: int64 responseData: type: object additionalProperties: description: Any type settlementStatus: type: integer transactionTime: $ref: '#/components/schemas/type_:TransactionTime' transStatus: type: integer title: QueryCFeeTransaction type_:Device: type: string description: Identifier of registered cloud device used in the transaction. title: Device type_:ExternalProcessorInformation: type: string description: >- Processor information, used for troubleshooting and reporting. This field contains a value when the API key used to make the request has management permissions. title: ExternalProcessorInformation type_:FeeAmount: type: number format: double description: Service fee or sub-charge applied. title: FeeAmount type_:Operation: type: string description: The transaction's operation. title: Operation type_:OrderId: type: string description: Custom identifier for the transaction. title: OrderId type_:Orgid: type: integer format: int64 description: Organization ID. Unique identifier assigned to an org by Payabli. title: Orgid type_:PayorId: type: integer format: int64 description: >- Unique ID for the customer linked to the transaction. This is the same value as the `customerId` used when creating or referencing a customer. title: PayorId type_:PendingFeeAmount: type: number format: double description: >- The difference between the configured pass-through fee and the fee amount sent in the request. When transferring funds, Payabli uses this field to deduct the fee difference and transfer the correct amount to the merchant. When a paypoint is set up to absorb fees, and the pass-through fee sent with the request is less than the configured amount, the difference must be covered by the merchant. See [Fee Configuration](/guides/pay-in-fees-passthrough-overview#fee-configuration) to learn more about pass-through fee settings. title: PendingFeeAmount type_:RefundId: type: integer format: int64 description: Identifier of refund transaction linked to this payment. title: RefundId type_:Authcode: type: string description: Authorization code for the transaction. title: Authcode type_:AvsResponse: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponse type_:AvsResponseText: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponseText type_:CvvResponse: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponse type_:CvvResponseText: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponseText type_:EmvAuthResponseData: type: string description: EMV authorization response data, applicable for card transactions. title: EmvAuthResponseData type_:ResultCodev2: type: string description: >- Unified result code for the transaction. See [Pay In unified response codes](/developers/references/pay-in-unified-response-codes-reference) for more information. title: ResultCodev2 type_:ResultCodeText: type: string description: >- Description of the result code. See [Pay In unified response codes](/developers/references/pay-in-unified-response-codes-reference) for more information. title: ResultCodeText type_:QueryResponseData: type: object properties: authcode: $ref: '#/components/schemas/type_:Authcode' avsresponse: $ref: '#/components/schemas/type_:AvsResponse' avsresponse_text: $ref: '#/components/schemas/type_:AvsResponseText' cvvresponse: $ref: '#/components/schemas/type_:CvvResponse' cvvresponse_text: $ref: '#/components/schemas/type_:CvvResponseText' emv_auth_response_data: $ref: '#/components/schemas/type_:EmvAuthResponseData' orderid: $ref: '#/components/schemas/type_:OrderId' response: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' response_code: type: string description: >- Internal result code processing the transaction. Value 1 indicates successful operation, values 2 and 3 indicate errors. response_code_text: type: string description: >- Text describing the result. If resultCode = 1, will return 'Approved' or a general success message. If resultCode = 2 or 3, will contain the cause of the decline. responsetext: type: string description: >- Text describing the result. If resultCode = 1, will return 'Approved' or a general success message. If resultCode = 2 or 3, will contain the cause of the decline. resultCode: $ref: '#/components/schemas/type_:ResultCodev2' resultCodeText: $ref: '#/components/schemas/type_:ResultCodeText' transactionid: type: string description: The transaction identifier in Payabli. type: type: string description: Type of transaction or operation. description: The transaction's response data. title: QueryResponseData type_:ReturnedId: type: integer format: int64 description: Identifier of return/chargeback transaction linked to this payment. title: ReturnedId type_:QueryTransactionEventsEventData: oneOf: - type: object additionalProperties: description: Any type - type: string description: >- Any data associated to the event received from processor. Contents vary by event type. title: QueryTransactionEventsEventData type_:QueryTransactionEvents: type: object properties: EventData: $ref: '#/components/schemas/type_:QueryTransactionEventsEventData' description: >- Any data associated to the event received from processor. Contents vary by event type. EventTime: type: string format: date-time description: Date and time of event. TransEvent: type: string description: >- Event descriptor. See [TransEvent Reference](/guides/pay-in-transevents-reference) for more details. title: QueryTransactionEvents type_:TransactionQueryRecords: type: object properties: AchHolderType: $ref: '#/components/schemas/type_:AchHolderType' AchSecCode: $ref: '#/components/schemas/type_:AchSecCode' BatchAmount: type: number format: double description: Batch amount. BatchNumber: $ref: '#/components/schemas/type_:BatchNumber' CfeeTransactions: type: array items: $ref: '#/components/schemas/type_:QueryCFeeTransaction' description: >- Service Fee or sub-charge transaction associated to the main transaction. ConnectorName: type: string description: Connector used for transaction. Customer: $ref: '#/components/schemas/type_:QueryTransactionPayorData' DeviceId: $ref: '#/components/schemas/type_:Device' EntrypageId: $ref: '#/components/schemas/type_:EntrypageId' ExternalProcessorInformation: $ref: '#/components/schemas/type_:ExternalProcessorInformation' FeeAmount: $ref: '#/components/schemas/type_:FeeAmount' GatewayTransId: type: string description: Internal identifier used for processing. InvoiceData: $ref: '#/components/schemas/type_:BillData' Method: type: string description: 'Payment method used: card, ach, or wallet.' NetAmount: $ref: '#/components/schemas/type_:Netamountnullable' description: Net amount paid. Operation: $ref: '#/components/schemas/type_:Operation' OrderId: $ref: '#/components/schemas/type_:OrderId' OrgId: $ref: '#/components/schemas/type_:Orgid' description: ID of immediate parent organization. ParentOrgName: $ref: '#/components/schemas/type_:OrgParentName' PaymentData: $ref: '#/components/schemas/type_:QueryPaymentData' PaymentTransId: type: string description: Unique Transaction ID. PayorId: $ref: '#/components/schemas/type_:PayorId' PaypointDbaname: $ref: '#/components/schemas/type_:Dbaname' description: Paypoint's DBA name. PaypointEntryname: $ref: '#/components/schemas/type_:Entrypointfield' description: Paypoint's entryname. PaypointId: type: integer format: int64 description: InternalId for paypoint. PaypointLegalname: $ref: '#/components/schemas/type_:Legalname' description: Paypoint's legal name. PendingFeeAmount: $ref: '#/components/schemas/type_:PendingFeeAmount' RefundId: $ref: '#/components/schemas/type_:RefundId' ResponseData: $ref: '#/components/schemas/type_:QueryResponseData' ReturnedId: $ref: '#/components/schemas/type_:ReturnedId' ScheduleReference: type: integer format: int64 description: Reference to the subscription that originated the transaction. SettlementStatus: type: integer description: >- Settlement status for transaction. See [the docs](/developers/references/money-in-statuses#payment-funding-status) for a full reference. Source: $ref: '#/components/schemas/type_:Source' splitFundingInstructions: $ref: '#/components/schemas/type_:SplitFunding' TotalAmount: type: number format: double description: Transaction total amount (including service fee or sub-charge) TransactionEvents: type: array items: $ref: '#/components/schemas/type_:QueryTransactionEvents' description: Events associated with this transaction. TransactionTime: type: - string - 'null' format: date-time description: Transaction date and time, in UTC. TransAdditionalData: description: Any type TransStatus: type: integer description: >- Status of transaction. See [the docs](/developers/references/money-in-statuses#money-in-transaction-status) for a full reference. required: - TransactionTime title: TransactionQueryRecords type_:CustomerSummaryRecord: type: object properties: numberofTransactions: type: integer description: Number total of transactions or payments recentTransactions: type: array items: $ref: '#/components/schemas/type_:TransactionQueryRecords' description: List of more recent 5 transactions belonging to the customer totalAmountTransactions: type: number format: double description: Total amount in transactions totalNetAmountTransactions: type: number format: double description: Total net amount in transactions title: CustomerSummaryRecord type_:OrgParentId: type: integer format: int64 description: The ID of the org's parent organization. title: OrgParentId type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:OptinStatus: type: integer description: |- Customer's consent status. Allowed status: - 0: Customer hasn't opted in to communications - -1: Customer opt in pending - 1: Customer has opted in to communications title: OptinStatus type_:CustomerQueryRecordsCustomerConsentECommunication: type: object properties: status: $ref: '#/components/schemas/type_:OptinStatus' updatedAt: $ref: '#/components/schemas/type_:LastModified' description: Describes the customer's email communications consent status. title: CustomerQueryRecordsCustomerConsentECommunication type_:CustomerQueryRecordsCustomerConsentSms: type: object properties: status: $ref: '#/components/schemas/type_:OptinStatus' updatedAt: $ref: '#/components/schemas/type_:LastModified' description: Describes the customer's SMS communications consent status. title: CustomerQueryRecordsCustomerConsentSms type_:CustomerQueryRecordsCustomerConsent: type: object properties: eCommunication: $ref: >- #/components/schemas/type_:CustomerQueryRecordsCustomerConsentECommunication description: Describes the customer's email communications consent status. sms: $ref: '#/components/schemas/type_:CustomerQueryRecordsCustomerConsentSms' description: Describes the customer's SMS communications consent status. title: CustomerQueryRecordsCustomerConsent type_:CustomerQueryRecords: type: object properties: customerId: $ref: '#/components/schemas/type_:CustomerId' customerNumber: $ref: '#/components/schemas/type_:CustomerNumberNullable' customerUsername: type: string description: Username for customer. customerStatus: $ref: '#/components/schemas/type_:CustomerStatus' Company: type: string description: Company name. Firstname: type: string description: Customer first name. Lastname: type: string description: Customer last name. Phone: type: string description: Customer phone number. Email: $ref: '#/components/schemas/type_:Email' description: Customer email address. Address: type: string description: Customer address. Address1: type: string description: Additional line for customer address. City: type: string description: Customer city. State: type: string description: Customer state. Zip: type: string description: Customer postal code. Country: type: string description: Customer country. ShippingAddress: $ref: '#/components/schemas/type_:Shippingaddress' ShippingAddress1: $ref: '#/components/schemas/type_:Shippingaddressadditional' ShippingCity: $ref: '#/components/schemas/type_:Shippingcity' ShippingState: $ref: '#/components/schemas/type_:Shippingstate' ShippingZip: $ref: '#/components/schemas/type_:Shippingzip' ShippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' Balance: type: number format: double description: Customer balance. TimeZone: $ref: '#/components/schemas/type_:Timezone' MFA: $ref: '#/components/schemas/type_:Mfa' MFAMode: $ref: '#/components/schemas/type_:MfaMode' snProvider: type: string description: |- Social network linked to customer. Possible values: - `facebook` - `google` - `twitter` - `microsoft` snIdentifier: type: string description: Identifier or token for customer in linked social network. snData: type: string description: >- Additional data provided by the social network related to the customer. LastUpdated: type: string format: date-time description: Date and time of last update. Created: type: string format: date-time description: Date and time created. AdditionalFields: type: object additionalProperties: type: string description: List of additional custom fields in format key:value. IdentifierFields: $ref: '#/components/schemas/type_:Identifierfields' Subscriptions: type: array items: $ref: '#/components/schemas/type_:SubscriptionQueryRecords' description: List of subscriptions associated to the customer. StoredMethods: type: array items: $ref: '#/components/schemas/type_:MethodQueryRecords' description: List of payment methods associated to the customer. customerSummary: $ref: '#/components/schemas/type_:CustomerSummaryRecord' PaypointLegalname: $ref: '#/components/schemas/type_:Legalname' description: Paypoint legal name. PaypointDbaname: $ref: '#/components/schemas/type_:Dbaname' description: Paypoint DBA name. ParentOrgName: $ref: '#/components/schemas/type_:OrgParentName' ParentOrgId: $ref: '#/components/schemas/type_:OrgParentId' PaypointEntryname: $ref: '#/components/schemas/type_:Entrypointfield' pageidentifier: $ref: '#/components/schemas/type_:PageIdentifier' externalPaypointID: $ref: '#/components/schemas/type_:ExternalPaypointId' customerConsent: $ref: '#/components/schemas/type_:CustomerQueryRecordsCustomerConsent' title: CustomerQueryRecords type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript GetCustomer import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.customer.getCustomer(998); } main(); ``` ```python GetCustomer from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.customer.get_customer( customer_id=998, ) ``` ```csharp GetCustomer using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Customer.GetCustomerAsync( 998 ); } } ``` ```go GetCustomer package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Customer/998" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby GetCustomer require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Customer/998") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java GetCustomer import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Customer/998") .header("requestToken", "") .asString(); ``` ```php GetCustomer request('GET', 'https://api-sandbox.payabli.com/api/Customer/998', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift GetCustomer import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Customer/998")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Update customer PUT https://api-sandbox.payabli.com/api/Customer/{customerId} Content-Type: application/json Update a customer record. Include only the fields you want to change. Reference: https://docs.payabli.com/developers/api-reference/customer/update-customer-record ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Customer/{customerId}: put: operationId: update-customer summary: Update customer record description: Update a customer record. Include only the fields you want to change. tags: - subpackage_customer parameters: - name: customerId in: path description: >- Payabli-generated customer ID. Maps to "Customer ID" column in PartnerHub. required: true schema: type: integer - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: >- #/components/schemas/type_:PayabliApiResponse00Responsedatanonobject '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/type_:CustomerData' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:CustomerNumberNullable: type: string description: >- User-provided unique identifier for the customer. This is typically the customer ID from your own system. title: CustomerNumberNullable type_:CustomerStatus: type: integer description: |- Customer Status. Possible values: - `-99` Deleted - `0` Inactive - `1` Active - `85` Locked (typically due to multiple failed login attempts) title: CustomerStatus type_:Email: type: string format: email description: Email address. title: Email type_:Shippingaddress: type: string description: The shipping address. title: Shippingaddress type_:Shippingaddressadditional: type: string description: Additional line for shipping address. title: Shippingaddressadditional type_:Shippingcity: type: string description: Shipping city. title: Shippingcity type_:Shippingstate: type: string description: Shipping state or province. title: Shippingstate type_:Shippingzip: type: string description: >- Shipping ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". title: Shippingzip type_:Shippingcountry: type: string description: Shipping address country. title: Shippingcountry type_:Timezone: type: integer description: Timezone, in UTC offset. For example, -5 is Eastern time. title: Timezone type_:Identifierfields: type: array items: type: string description: >- List of fields acting as customer identifiers, to be used instead of CustomerNumber. title: Identifierfields type_:CreatedAt: type: string format: date-time description: Timestamp of when record was created, in UTC. title: CreatedAt type_:CustomerData: type: object properties: customerNumber: $ref: '#/components/schemas/type_:CustomerNumberNullable' customerUsername: type: string description: Customer username for customer portal customerPsw: type: string description: Customer password for customer portal customerStatus: $ref: '#/components/schemas/type_:CustomerStatus' company: type: string description: Company name firstname: type: string description: Customer first name lastname: type: string description: Customer last name phone: type: string description: Customer phone number email: $ref: '#/components/schemas/type_:Email' description: Customer email address. address: type: string description: Customer address address1: type: string description: Additional customer address city: type: string description: Customer city state: type: string description: Customer State zip: type: string description: Customer postal code country: type: string description: >- Customer country in ISO-3166-1 alpha 2 format. See https://en.wikipedia.org/wiki/ISO_3166-1 for reference. shippingAddress: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' balance: type: number format: double description: Customer balance. timeZone: $ref: '#/components/schemas/type_:Timezone' additionalFields: type: object additionalProperties: type: string description: Additional Custom fields in format "key":"value". identifierFields: $ref: '#/components/schemas/type_:Identifierfields' createdAt: $ref: '#/components/schemas/type_:CreatedAt' description: Data about a single customer. title: CustomerData type_:Responsecode: type: integer description: >- Code for the response. Learn more in [API Response Codes](/developers/api-reference/api-responses). title: Responsecode type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:Responsedatanonobject: oneOf: - type: string - type: integer description: The response data. title: Responsedatanonobject type_:PayabliApiResponse00Responsedatanonobject: type: object properties: responseCode: $ref: '#/components/schemas/type_:Responsecode' pageIdentifier: $ref: '#/components/schemas/type_:PageIdentifier' roomId: type: integer format: int64 description: >- Describes the room ID. Only in use on Boarding endpoints, returns `0` when not applicable. isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseText: $ref: '#/components/schemas/type_:ResponseText' responseData: $ref: '#/components/schemas/type_:Responsedatanonobject' required: - responseText title: PayabliApiResponse00Responsedatanonobject type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript UpdateCustomer import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.customer.updateCustomer(998, { firstname: "Irene", lastname: "Canizales", address1: "145 Bishop's Trail", city: "Mountain City", state: "TN", zip: "37612", country: "US", }); } main(); ``` ```python UpdateCustomer from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.customer.update_customer( customer_id=998, firstname="Irene", lastname="Canizales", address_1="145 Bishop\'s Trail", city="Mountain City", state="TN", zip="37612", country="US", ) ``` ```csharp UpdateCustomer using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Customer.UpdateCustomerAsync( 998, new CustomerData { Firstname = "Irene", Lastname = "Canizales", Address1 = "145 Bishop's Trail", City = "Mountain City", State = "TN", Zip = "37612", Country = "US" } ); } } ``` ```go UpdateCustomer package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Customer/998" payload := strings.NewReader("{\n \"firstname\": \"Irene\",\n \"lastname\": \"Canizales\",\n \"address1\": \"145 Bishop's Trail\",\n \"city\": \"Mountain City\",\n \"state\": \"TN\",\n \"zip\": \"37612\",\n \"country\": \"US\"\n}") req, _ := http.NewRequest("PUT", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby UpdateCustomer require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Customer/998") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Put.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"firstname\": \"Irene\",\n \"lastname\": \"Canizales\",\n \"address1\": \"145 Bishop's Trail\",\n \"city\": \"Mountain City\",\n \"state\": \"TN\",\n \"zip\": \"37612\",\n \"country\": \"US\"\n}" response = http.request(request) puts response.read_body ``` ```java UpdateCustomer import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.put("https://api-sandbox.payabli.com/api/Customer/998") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"firstname\": \"Irene\",\n \"lastname\": \"Canizales\",\n \"address1\": \"145 Bishop's Trail\",\n \"city\": \"Mountain City\",\n \"state\": \"TN\",\n \"zip\": \"37612\",\n \"country\": \"US\"\n}") .asString(); ``` ```php UpdateCustomer request('PUT', 'https://api-sandbox.payabli.com/api/Customer/998', [ 'body' => '{ "firstname": "Irene", "lastname": "Canizales", "address1": "145 Bishop\'s Trail", "city": "Mountain City", "state": "TN", "zip": "37612", "country": "US" }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift UpdateCustomer import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "firstname": "Irene", "lastname": "Canizales", "address1": "145 Bishop's Trail", "city": "Mountain City", "state": "TN", "zip": "37612", "country": "US" ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Customer/998")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "PUT" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Delete customer DELETE https://api-sandbox.payabli.com/api/Customer/{customerId} Delete a customer record. Reference: https://docs.payabli.com/developers/api-reference/customer/delete-customer-record ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Customer/{customerId}: delete: operationId: delete-customer summary: Delete customer record description: Delete a customer record. tags: - subpackage_customer parameters: - name: customerId in: path description: >- Payabli-generated customer ID. Maps to "Customer ID" column in PartnerHub. required: true schema: type: integer - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: >- #/components/schemas/type_:PayabliApiResponse00Responsedatanonobject '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:Responsecode: type: integer description: >- Code for the response. Learn more in [API Response Codes](/developers/api-reference/api-responses). title: Responsecode type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:Responsedatanonobject: oneOf: - type: string - type: integer description: The response data. title: Responsedatanonobject type_:PayabliApiResponse00Responsedatanonobject: type: object properties: responseCode: $ref: '#/components/schemas/type_:Responsecode' pageIdentifier: $ref: '#/components/schemas/type_:PageIdentifier' roomId: type: integer format: int64 description: >- Describes the room ID. Only in use on Boarding endpoints, returns `0` when not applicable. isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseText: $ref: '#/components/schemas/type_:ResponseText' responseData: $ref: '#/components/schemas/type_:Responsedatanonobject' required: - responseText title: PayabliApiResponse00Responsedatanonobject type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript DeleteCustomer import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.customer.deleteCustomer(998); } main(); ``` ```python DeleteCustomer from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.customer.delete_customer( customer_id=998, ) ``` ```csharp DeleteCustomer using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Customer.DeleteCustomerAsync( 998 ); } } ``` ```go DeleteCustomer package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Customer/998" req, _ := http.NewRequest("DELETE", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby DeleteCustomer require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Customer/998") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Delete.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java DeleteCustomer import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.delete("https://api-sandbox.payabli.com/api/Customer/998") .header("requestToken", "") .asString(); ``` ```php DeleteCustomer request('DELETE', 'https://api-sandbox.payabli.com/api/Customer/998', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift DeleteCustomer import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Customer/998")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "DELETE" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Link transaction to customer GET https://api-sandbox.payabli.com/api/Customer/link/{customerId}/{transId} Links a customer to a transaction by ID. Reference: https://docs.payabli.com/developers/api-reference/customer/link-customer-to-transaction ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Customer/link/{customerId}/{transId}: get: operationId: link-customer-transaction summary: Link Customer to Transaction description: Links a customer to a transaction by ID. tags: - subpackage_customer parameters: - name: customerId in: path description: >- Payabli-generated customer ID. Maps to "Customer ID" column in PartnerHub. required: true schema: type: integer - name: transId in: path description: ReferenceId for the transaction (PaymentId). required: true schema: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: >- #/components/schemas/type_:PayabliApiResponse00Responsedatanonobject '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:Responsecode: type: integer description: >- Code for the response. Learn more in [API Response Codes](/developers/api-reference/api-responses). title: Responsecode type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:Responsedatanonobject: oneOf: - type: string - type: integer description: The response data. title: Responsedatanonobject type_:PayabliApiResponse00Responsedatanonobject: type: object properties: responseCode: $ref: '#/components/schemas/type_:Responsecode' pageIdentifier: $ref: '#/components/schemas/type_:PageIdentifier' roomId: type: integer format: int64 description: >- Describes the room ID. Only in use on Boarding endpoints, returns `0` when not applicable. isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseText: $ref: '#/components/schemas/type_:ResponseText' responseData: $ref: '#/components/schemas/type_:Responsedatanonobject' required: - responseText title: PayabliApiResponse00Responsedatanonobject type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript LinkCustomerTransaction import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.customer.linkCustomerTransaction(998, "45-as456777hhhhhhhhhh77777777-324"); } main(); ``` ```python LinkCustomerTransaction from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.customer.link_customer_transaction( customer_id=998, trans_id="45-as456777hhhhhhhhhh77777777-324", ) ``` ```csharp LinkCustomerTransaction using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Customer.LinkCustomerTransactionAsync( 998, "45-as456777hhhhhhhhhh77777777-324" ); } } ``` ```go LinkCustomerTransaction package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Customer/link/998/45-as456777hhhhhhhhhh77777777-324" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby LinkCustomerTransaction require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Customer/link/998/45-as456777hhhhhhhhhh77777777-324") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java LinkCustomerTransaction import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Customer/link/998/45-as456777hhhhhhhhhh77777777-324") .header("requestToken", "") .asString(); ``` ```php LinkCustomerTransaction request('GET', 'https://api-sandbox.payabli.com/api/Customer/link/998/45-as456777hhhhhhhhhh77777777-324', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift LinkCustomerTransaction import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Customer/link/998/45-as456777hhhhhhhhhh77777777-324")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Send opt-in POST https://api-sandbox.payabli.com/api/Customer/{customerId}/consent Sends the consent opt-in email to the customer email address in the customer record. Reference: https://docs.payabli.com/developers/api-reference/customer/customer-consent ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Customer/{customerId}/consent: post: operationId: request-consent summary: Request consent opt-in description: >- Sends the consent opt-in email to the customer email address in the customer record. tags: - subpackage_customer parameters: - name: customerId in: path description: >- Payabli-generated customer ID. Maps to "Customer ID" column in PartnerHub. required: true schema: type: integer - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: >- #/components/schemas/type_:PayabliApiResponse00Responsedatanonobject '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:Responsecode: type: integer description: >- Code for the response. Learn more in [API Response Codes](/developers/api-reference/api-responses). title: Responsecode type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:Responsedatanonobject: oneOf: - type: string - type: integer description: The response data. title: Responsedatanonobject type_:PayabliApiResponse00Responsedatanonobject: type: object properties: responseCode: $ref: '#/components/schemas/type_:Responsecode' pageIdentifier: $ref: '#/components/schemas/type_:PageIdentifier' roomId: type: integer format: int64 description: >- Describes the room ID. Only in use on Boarding endpoints, returns `0` when not applicable. isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseText: $ref: '#/components/schemas/type_:ResponseText' responseData: $ref: '#/components/schemas/type_:Responsedatanonobject' required: - responseText title: PayabliApiResponse00Responsedatanonobject type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript Success example import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.customer.requestConsent(998); } main(); ``` ```python Success example from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.customer.request_consent( customer_id=998, ) ``` ```csharp Success example using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Customer.RequestConsentAsync( 998 ); } } ``` ```go Success example package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Customer/998/consent" req, _ := http.NewRequest("POST", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Success example require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Customer/998/consent") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java Success example import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/Customer/998/consent") .header("requestToken", "") .asString(); ``` ```php Success example request('POST', 'https://api-sandbox.payabli.com/api/Customer/998/consent', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift Success example import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Customer/998/consent")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Import customers POST https://api-sandbox.payabli.com/api/Import/customersForm/{entry} Content-Type: multipart/form-data Import a list of customers from a CSV file. See the [Import Guide](/developers/developer-guides/entities-customers#import-customers) for more help and example files. Reference: https://docs.payabli.com/developers/api-reference/customer/import-list-of-customers ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Import/customersForm/{entry}: post: operationId: import-customer summary: Import list of customers description: >- Import a list of customers from a CSV file. See the [Import Guide](/developers/developer-guides/entities-customers#import-customers) for more help and example files. tags: - subpackage_import parameters: - name: entry in: path required: true schema: $ref: '#/components/schemas/type_:Entrypointfield' - name: replaceExisting in: query description: >- Flag indicating to replace existing customer with a new record. Possible values: 0 (do not replace), 1 (replace). Default is 0 required: false schema: type: integer default: 0 - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponseImport' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' requestBody: content: multipart/form-data: schema: type: object properties: file: type: string format: binary required: - file servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:Entrypointfield: type: string description: The entrypoint identifier. title: Entrypointfield type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:Responsecode: type: integer description: >- Code for the response. Learn more in [API Response Codes](/developers/api-reference/api-responses). title: Responsecode type_:PayabliApiResponseImportResponseData: type: object properties: added: type: integer description: The number of records successfully added. errors: type: array items: type: string description: List of errors, if any. rejected: type: integer description: The number of records that were rejected. description: The response data containing the result of the import operation. title: PayabliApiResponseImportResponseData type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponseImport: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' pageIdentifier: $ref: '#/components/schemas/type_:PageIdentifier' responseCode: $ref: '#/components/schemas/type_:Responsecode' responseData: $ref: '#/components/schemas/type_:PayabliApiResponseImportResponseData' description: The response data containing the result of the import operation. responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponseImport type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript ImportCustomer import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.import.importCustomer("8cfec329267", , {}); } main(); ``` ```python ImportCustomer from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.import_.import_customer( entry="8cfec329267", file="example_file", ) ``` ```csharp ImportCustomer using PayabliPayabliApi; using System.Threading.Tasks; using System.IO; using System.Text; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Import.ImportCustomerAsync( "8cfec329267", new ImportCustomerRequest { File = new FileParameter(){ Stream = new MemoryStream(Encoding.UTF8.GetBytes("[bytes]")) } } ); } } ``` ```go ImportCustomer package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Import/customersForm/8cfec329267" payload := strings.NewReader("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"file\"; filename=\"\"\r\nContent-Type: application/octet-stream\r\n\r\n\r\n-----011000010111000001101001--\r\n") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "multipart/form-data; boundary=---011000010111000001101001") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby ImportCustomer require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Import/customersForm/8cfec329267") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' request["Content-Type"] = 'multipart/form-data; boundary=---011000010111000001101001' request.body = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"file\"; filename=\"\"\r\nContent-Type: application/octet-stream\r\n\r\n\r\n-----011000010111000001101001--\r\n" response = http.request(request) puts response.read_body ``` ```java ImportCustomer import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/Import/customersForm/8cfec329267") .header("requestToken", "") .header("Content-Type", "multipart/form-data; boundary=---011000010111000001101001") .body("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"file\"; filename=\"\"\r\nContent-Type: application/octet-stream\r\n\r\n\r\n-----011000010111000001101001--\r\n") .asString(); ``` ```php ImportCustomer request('POST', 'https://api-sandbox.payabli.com/api/Import/customersForm/8cfec329267', [ 'multipart' => [ [ 'name' => 'file', 'filename' => '', 'contents' => null ] ] 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift ImportCustomer import Foundation let headers = [ "requestToken": "", "Content-Type": "multipart/form-data; boundary=---011000010111000001101001" ] let parameters = [ [ "name": "file", "fileName": "" ] ] let boundary = "---011000010111000001101001" var body = "" var error: NSError? = nil for param in parameters { let paramName = param["name"]! body += "--\(boundary)\r\n" body += "Content-Disposition:form-data; name=\"\(paramName)\"" if let filename = param["fileName"] { let contentType = param["content-type"]! let fileContent = String(contentsOfFile: filename, encoding: String.Encoding.utf8) if (error != nil) { print(error as Any) } body += "; filename=\"\(filename)\"\r\n" body += "Content-Type: \(contentType)\r\n\r\n" body += fileContent } else if let paramValue = param["value"] { body += "\r\n\r\n\(paramValue)" } } let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Import/customersForm/8cfec329267")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # List customers by paypoint GET https://api-sandbox.payabli.com/api/Query/customers/{entry} Retrieves a list of customers for a paypoint. Use filters to limit results. Include the `exportFormat` query parameter to return the results as a file instead of a JSON response. Reference: https://docs.payabli.com/developers/api-reference/customer/get-list-of-customers-for-an-entrypoint ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Query/customers/{entry}: get: operationId: list-customers summary: Get list of customers for a paypoint description: >- Retrieves a list of customers for a paypoint. Use filters to limit results. Include the `exportFormat` query parameter to return the results as a file instead of a JSON response. tags: - subpackage_query parameters: - name: entry in: path required: true schema: $ref: '#/components/schemas/type_:Entry' - name: exportFormat in: query required: false schema: $ref: '#/components/schemas/type_:ExportFormat' - name: fromRecord in: query description: >- The number of records to skip before starting to collect the result set. required: false schema: type: integer default: 0 - name: limitRecord in: query description: >- Max number of records to return for the query. Use `0` or negative value to return all records. required: false schema: type: integer default: 20 - name: parameters in: query description: >- Collection of field names, conditions, and values used to filter the query. **You must remove `parameters=` from the request before you send it, otherwise Payabli will ignore the filters.** Because of a technical limitation, you can't make a request that includes filters from the API console on this page. The response won't be filtered. Instead, copy the request, remove `parameters=` and run the request in a different client. For example: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?parameters=totalAmount(gt)=1000&limitRecord=20 should become: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?totalAmount(gt)=1000&limitRecord=20 See [Filters and Conditions Reference](/developers/developer-guides/pay-ops-reporting-engine-overview#filters-and-conditions-reference) for more details. **List of Accepted Field Names:** - `createdDate` (gt, ge, lt, le, eq, ne) - `customernumber` (ne, eq, ct, nct) - `firstname` (ne, eq, ct, nct) - `lastname` (ne, eq, ct, nct) - `name` (ct, nct) - `address` (ne, eq, ct, nct) - `city` (ne, eq, ct, nct) - `country` (ne, eq, ct, nct) - `zip` (ne, eq, ct, nct) - `state` (ne, eq, ct, nct) - `shippingaddress` (ne, eq, ct, nct) - `shippingcity` (ne, eq, ct, nct) - `shippingcountry` (ne, eq, ct, nct) - `shippingzip` (ne, eq, ct, nct) - `shippingstate` (ne, eq, ct, nct) - `phone` (ne, eq, ct, nct) - `email` (ne, eq, ct, nct) - `company` (ne, eq, ct, nct) - `username` (ne, eq, ct, nct) - `balance` (gt, ge, lt, le, eq, ne) - `status` (in, nin, eq, ne) - `additional-xxx` (ne, eq, ct, nct) where xxx is the additional field name - `orgId` (eq) *mandatory when entry=org* - `paypointId` (ne, eq) - `paypointLegal` (ne, eq, ct, nct) - `paypointDba` (ne, eq, ct, nct) - `orgName` (ne, eq, ct, nct) **List of Accepted Comparisons:** - `eq` or empty => equal - `gt` => greater than - `ge` => greater or equal - `lt` => less than - `le` => less or equal - `ne` => not equal - `ct` => contains - `nct` => not contains - `in` => inside array separated by "|" - `nin` => not inside array separated by "|" **Accepted Parameters:** - `limitRecord`: Max number of records for query (default="20", "0" or negative value for all) - `fromRecord`: Initial record in query **Example Usage:** `balance(gt)=20` will return all records with a balance greater than 20.00. required: false schema: type: object additionalProperties: type: string - name: sortBy in: query description: >- The field name to use for sorting results. Use `desc(field_name)` to sort descending by `field_name`, and use `asc(field_name)` to sort ascending by `field_name`. required: false schema: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:QueryCustomerResponse' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:Entry: type: string description: >- The entity's entrypoint identifier. [Learn more](/developers/api-reference/api-overview#entrypoint-vs-entry) title: Entry type_:ExportFormat: type: string enum: - csv - xlsx description: >- Export format for file downloads. When specified, returns data as a file instead of JSON. title: ExportFormat type_:CustomerId: type: integer format: int64 description: The Payabli-generated unique ID for the customer. title: CustomerId type_:CustomerNumberNullable: type: string description: >- User-provided unique identifier for the customer. This is typically the customer ID from your own system. title: CustomerNumberNullable type_:CustomerStatus: type: integer description: |- Customer Status. Possible values: - `-99` Deleted - `0` Inactive - `1` Active - `85` Locked (typically due to multiple failed login attempts) title: CustomerStatus type_:Email: type: string format: email description: Email address. title: Email type_:Shippingaddress: type: string description: The shipping address. title: Shippingaddress type_:Shippingaddressadditional: type: string description: Additional line for shipping address. title: Shippingaddressadditional type_:Shippingcity: type: string description: Shipping city. title: Shippingcity type_:Shippingstate: type: string description: Shipping state or province. title: Shippingstate type_:Shippingzip: type: string description: >- Shipping ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". title: Shippingzip type_:Shippingcountry: type: string description: Shipping address country. title: Shippingcountry type_:Timezone: type: integer description: Timezone, in UTC offset. For example, -5 is Eastern time. title: Timezone type_:Mfa: type: boolean description: When `true`, multi-factor authentication (MFA) is enabled. title: Mfa type_:MfaMode: type: integer title: MfaMode type_:Identifierfields: type: array items: type: string description: >- List of fields acting as customer identifiers, to be used instead of CustomerNumber. title: Identifierfields type_:CreatedAt: type: string format: date-time description: Timestamp of when record was created, in UTC. title: CreatedAt type_:BillingZip: type: string description: Billing address ZIP code. title: BillingZip type_:AdditionalDataMap: type: object additionalProperties: type: string description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalDataMap type_:QueryTransactionPayorData: type: object properties: Identifiers: type: array items: description: Any type description: Array of field names to be used as identifiers. FirstName: type: string description: Customer/Payor first name. LastName: type: string description: Customer/Payor last name. CompanyName: type: string description: Customer's company name. BillingAddress1: type: string description: Customer's billing address. BillingAddress2: type: string description: Additional line for Customer's billing address. BillingCity: type: string description: Customer's billing city. BillingState: type: string description: >- Customer's billing state. Must be 2-letter state code for address in US. BillingZip: $ref: '#/components/schemas/type_:BillingZip' description: Customer's billing ZIP code. BillingCountry: type: string description: Customer's billing country. BillingPhone: type: string description: Customer's phone number. BillingEmail: $ref: '#/components/schemas/type_:Email' description: Customer's email address. CustomerNumber: $ref: '#/components/schemas/type_:CustomerNumberNullable' ShippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' ShippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' ShippingCity: $ref: '#/components/schemas/type_:Shippingcity' ShippingState: $ref: '#/components/schemas/type_:Shippingstate' ShippingZip: $ref: '#/components/schemas/type_:Shippingzip' ShippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' customerId: $ref: '#/components/schemas/type_:CustomerId' customerStatus: $ref: '#/components/schemas/type_:CustomerStatus' AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' title: QueryTransactionPayorData type_:EntrypageId: type: integer format: int64 description: >- If applicable, the internal reference ID to the payment page capturing the payment. title: EntrypageId type_:ExternalPaypointId: type: string description: >- A custom identifier for the paypoint, if applicable. Like `entrypoint` is the Payabli identifier for the merchant, `externalPaypointId` is a custom field you can use to include the merchant's ID from your own systems. title: ExternalPaypointId type_:FileContentFtype: type: string enum: - pdf - doc - docx - jpg - jpeg - png - gif - txt description: The MIME type of the file (if content is provided) title: FileContentFtype type_:FileContent: type: object properties: fContent: type: string description: >- Content of file, Base64-encoded. Ignored if furl is specified. Max upload size is 30 MB. filename: type: string description: The name of the attached file. ftype: $ref: '#/components/schemas/type_:FileContentFtype' description: The MIME type of the file (if content is provided) furl: type: string description: Optional URL provided to show or download the file remotely description: Contains details about a file. Max upload size is 30 MB. title: FileContent type_:Attachments: type: array items: $ref: '#/components/schemas/type_:FileContent' description: >- Array of `fileContent` objects with attached documents. Max upload size is 30 MB. title: Attachments type_:Discount: type: number format: double description: Discount applied to the invoice. title: Discount type_:DutyAmount: type: number format: double description: Duty amount. title: DutyAmount type_:FreightAmount: type: number format: double description: Freight/shipping amount. title: FreightAmount type_:Frequency: type: string enum: - onetime - weekly - every2weeks - every6months - monthly - every3months - annually description: Frequency for operation. title: Frequency type_:InvoiceAmount: type: number format: double description: Invoice total amount. title: InvoiceAmount type_:InvoiceNumber: type: string description: >- Custom number identifying the bill or invoice. Must be unique in paypoint. title: InvoiceNumber type_:Invoicestatus: type: integer description: |- Status for invoice. The accepted status values are: - 0 draft - 1 active - 2 partially paid - 4 paid/complete - 99 cancelled title: Invoicestatus type_:InvoiceType: type: integer description: Type of invoice. Only `0` for one-time invoices is currently supported. title: InvoiceType type_:ItemCommodityCode: type: string description: Item or product commodity code. Max length of 250 characters. title: ItemCommodityCode type_:ItemDescription: type: string description: Item or product description. Max length of 250 characters. title: ItemDescription type_:ItemProductCode: type: string description: Item or product code. Max length of 250 characters. title: ItemProductCode type_:ItemProductName: type: string description: Item or product name. Max length of 250 characters. title: ItemProductName type_:ItemUnitofMeasure: type: string description: Unit of measurement. Max length of 100 characters. title: ItemUnitofMeasure type_:BillItem: type: object properties: itemCategories: type: array items: type: string description: Array of tags classifying item or product. itemCommodityCode: $ref: '#/components/schemas/type_:ItemCommodityCode' itemCost: type: number format: double description: Item or product price per unit. itemDescription: $ref: '#/components/schemas/type_:ItemDescription' itemMode: type: integer description: >- Internal class of item or product: value '0' is only for invoices , '1' for bills and, '2' common for both. itemProductCode: $ref: '#/components/schemas/type_:ItemProductCode' itemProductName: $ref: '#/components/schemas/type_:ItemProductName' itemQty: type: integer description: Quantity of item or product. itemTaxAmount: type: number format: double description: Tax amount applied to item or product. itemTaxRate: type: number format: double description: Tax rate applied to item or product. itemTotalAmount: type: number format: double description: Total amount in item or product. itemUnitOfMeasure: $ref: '#/components/schemas/type_:ItemUnitofMeasure' required: - itemCost title: BillItem type_:BillDataPaymentTerms: type: string enum: - PIA - CIA - UR - NET10 - NET20 - NET30 - NET45 - NET60 - NET90 - EOM - MFI - 5MFI - 10MFI - 15MFI - 20MFI - 2/10NET30 - UF - 10UF - 20UF - 25UF - 50UF description: >- Payment terms for invoice. If no terms are defined, then response data for this field defaults to `NET30`. **Available Values:** - `PIA`: Payment in advance - `CIA`: Cash in advance - `UR`: Upon receipt - `NET10`: 10 days after invoice date - `NET20`: 20 days after invoice date - `NET30`: 30 days after invoice date - `NET45`: 45 days after invoice date - `NET60`: 60 days after invoice date - `NET90`: 90 days after invoice date - `EOM`: Due end of this month - `MFI`: 1st of the month following the invoice date - `5MFI`: 5th of the month following the invoice date - `10MFI`: 10th of the month following the invoice date - `15MFI`: 15th of the month following the invoice date - `20MFI`: 20th of the month following the invoice date - `2/10NET30`: 2% discount if paid within 10 days, otherwise net 30 days - `UF`: Until further notice - `10UF`: 10 days until further notice - `20UF`: 20 days until further notice - `25UF`: 25 days until further notice - `50UF`: 50 days until further notice title: BillDataPaymentTerms type_:PurchaseOrder: type: string description: Purchase order number. title: PurchaseOrder type_:ShippingFromZip: type: string description: Sender shipping ZIP code. title: ShippingFromZip type_:SummaryCommodityCode: type: string description: Commodity code. title: SummaryCommodityCode type_:Tax: type: number format: double description: Tax rate in percent applied to the invoice. title: Tax type_:TermsConditions: type: string description: Custom terms and conditions included in the invoice. title: TermsConditions type_:BillData: type: object properties: AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' attachments: $ref: '#/components/schemas/type_:Attachments' company: type: string description: Company name of the recipient of the invoice. discount: $ref: '#/components/schemas/type_:Discount' dutyAmount: $ref: '#/components/schemas/type_:DutyAmount' firstName: type: string description: First name of the recipient of the invoice. freightAmount: $ref: '#/components/schemas/type_:FreightAmount' frequency: $ref: '#/components/schemas/type_:Frequency' description: Frequency of scheduled invoice. invoiceAmount: $ref: '#/components/schemas/type_:InvoiceAmount' invoiceDate: type: string format: date description: 'Invoice date in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY.' invoiceDueDate: type: string format: date description: >- Invoice due date in one of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceEndDate: type: string format: date description: >- Indicate the date to finish a scheduled invoice cycle (`invoiceType`` = 1) in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceNumber: $ref: '#/components/schemas/type_:InvoiceNumber' description: Invoice number. Identifies the invoice under a paypoint. invoiceStatus: $ref: '#/components/schemas/type_:Invoicestatus' invoiceType: $ref: '#/components/schemas/type_:InvoiceType' items: type: array items: $ref: '#/components/schemas/type_:BillItem' description: Array of line items included in the invoice. lastName: type: string description: Last name of the recipient of the invoice. notes: type: string description: Notes included in the invoice. paymentTerms: $ref: '#/components/schemas/type_:BillDataPaymentTerms' purchaseOrder: $ref: '#/components/schemas/type_:PurchaseOrder' shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' shippingEmail: $ref: '#/components/schemas/type_:Email' description: Shipping recipient's contact email address. shippingFromZip: $ref: '#/components/schemas/type_:ShippingFromZip' shippingPhone: type: string description: Recipient phone number. shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' summaryCommodityCode: $ref: '#/components/schemas/type_:SummaryCommodityCode' tax: $ref: '#/components/schemas/type_:Tax' termsConditions: $ref: '#/components/schemas/type_:TermsConditions' title: BillData type_:LastModified: type: string format: date-time description: Timestamp of when record was last updated, in UTC. title: LastModified type_:Netamountnullable: type: number format: double description: Net amount. title: Netamountnullable type_:OrgParentName: type: string description: The name of the parent organization. title: OrgParentName type_:Accountexp: type: string description: Expiration date of card used in transaction. title: Accountexp type_:Accountid: type: string description: Custom identifier for payment connector. title: Accountid type_:Accounttype: type: string description: Bank account type or card brand. title: Accounttype type_:Accountzip: type: string description: ZIP code for card used in transaction. title: Accountzip type_:BinData: type: object properties: binMatchedLength: type: string description: |- The number of characters from the beginning of the card number that were matched against a Bank Identification Number (BIN) or the Card Range table. binCardBrand: type: string description: |- The card brand. For example, Visa, Mastercard, American Express, Discover. binCardType: type: string description: 'The type of card: Credit or Debit.' binCardCategory: type: string description: >- The category of the card, which indicates the card product. For example: Standard, Gold, Platinum, etc. The binCardCategory for prepaid cards is marked `PREPAID`. binCardIssuer: type: string description: The name of the financial institution that issued the card. binCardIssuerCountry: type: string description: The issuing financial institution's country name. binCardIssuerCountryCodeA2: type: string description: >- The issuing financial institution's two-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIssuerCountryNumber: type: string description: >- The issuing financial institution's ISO standard numeric country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIsRegulated: type: string description: Indicates whether the card is regulated. binCardUseCategory: type: string description: The use category classification for the card. binCardIssuerCountryCodeA3: type: string description: >- The issuing financial institution's three-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. description: >- Object containing information related to the card. This object is `null` unless the payment method is card. If the payment method is Apple Pay, the binData will be related to the DPAN (device primary account number), not the card connected to Apple Pay. title: BinData type_:Holdername: type: string description: Account holder name for the method. title: Holdername type_:Initiator: type: string description: >- **Strongly recommended** The cardholder-initiated transaction (CIT) or merchant-initiated transaction (MIT) indicator for the transaction. If you don't specify a value, Payabli defaults to `merchant`. Available values: - `payor`: For cardholder-initiated transactions - `merchant`: For merchant-initiated transactions See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Initiator type_:Maskedaccount: type: string description: >- Masked card or bank account used in transaction. In the case of Apple Pay, this is a masked DPAN (device primary account number). title: Maskedaccount type_:Orderdescription: type: string description: Text description of the transaction. title: Orderdescription type_:PaymentCategories: type: object properties: amount: type: number format: double description: Price/cost per unit of item or category. description: type: string description: Description of item or category label: type: string description: Name of item or category. qty: type: integer default: 1 description: Quantity of item or category required: - amount - label title: PaymentCategories type_:SplitFundingContent: type: object properties: accountId: type: string description: The accountId for the account the split should be sent to. amount: type: number format: double description: Amount from the transaction to sent to this recipient. description: type: string description: A description for the split. recipientEntryPoint: type: string description: The entrypoint the split should be sent to. title: SplitFundingContent type_:SplitFunding: type: array items: $ref: '#/components/schemas/type_:SplitFundingContent' description: >- Split funding instructions for the transaction. The total amount of the splits must match the total amount of the transaction. title: SplitFunding type_:PaymentDetail: type: object properties: categories: type: array items: $ref: '#/components/schemas/type_:PaymentCategories' description: >- Array of payment categories/line items describing the amount to be paid. **Note**: These categories are for information only and aren't validated against the total amount provided. checkImage: type: object additionalProperties: description: Any type description: Object containing image of paper check. checkNumber: type: string description: >- A check number to be used in the ach transaction. **Required** for payment method = 'check'. currency: type: string description: >- The currency for the transaction, `USD` or `CAD`. If your paypoint is configured for CAD, you must send the `CAD` value in this field, otherwise it defaults to USD, which will cause the transaction to fail. serviceFee: type: number format: double description: >- Service fee to be deducted from the total amount. This amount must be a number, percentages aren't accepted. If you are using a percentage-based fee schedule, you must calculate the value manually. splitFunding: $ref: '#/components/schemas/type_:SplitFunding' description: >- Split funding instructions for the transaction. See [Split a Transaction](/developers/developer-guides/money-in-split-funding) for more. checkUniqueId: type: string description: >- Unique identifier for a processed check image. Required for RDC (Remote Deposit Capture) transactions where `achCode` is `BOC`. Use the `id` value from the [check processing](/developers/api-reference/moneyin/check-capture) response. totalAmount: type: number format: double description: >- Total amount to be charged. If a service fee is sent, then this amount should include the service fee." required: - totalAmount description: Details about the payment. title: PaymentDetail type_:Sequence: type: string description: >- The order of the transaction for cardholder-initiated transaction (CIT) and merchant-initiated transaction (MIT) purposes. This field is automatically detected and populated by Payabli. Available values: - `first`: The first use of the payment method. This is almost always a cardholder-initiated transaction. - `subsequent`: For merchant-initiated transactions after the first use of the payment method. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Sequence type_:Signaturedata: type: string title: Signaturedata type_:Storedmethodid: type: string description: >- Payabli identifier of a tokenized payment method. If this field is used in a request, the `method` field is overridden and the payment is made using the payment token. title: Storedmethodid type_:StoredMethodUsageType: type: string description: >- **Strongly recommended** The usage type for the stored method, used for merchant-initiated transactions (MIT). If you don't specify a value, Payabli defaults to `unscheduled`. Available values: - `unscheduled`: This type is used for transactions that are one-time or otherwise not pre-scheduled. - `subscription`: This type is used for subscription payments. For example, monthly rental fees or ongoing service subscriptions. - `recurring`: This type is used for recurring payments that occur per a set plan. For example, splitting an HOA special assessment over 6 monthly payments. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: StoredMethodUsageType type_:QueryPaymentData: type: object properties: AccountExp: $ref: '#/components/schemas/type_:Accountexp' accountId: $ref: '#/components/schemas/type_:Accountid' AccountType: $ref: '#/components/schemas/type_:Accounttype' AccountZip: $ref: '#/components/schemas/type_:Accountzip' binData: $ref: '#/components/schemas/type_:BinData' HolderName: $ref: '#/components/schemas/type_:Holdername' Initiator: $ref: '#/components/schemas/type_:Initiator' MaskedAccount: $ref: '#/components/schemas/type_:Maskedaccount' orderDescription: $ref: '#/components/schemas/type_:Orderdescription' paymentDetails: $ref: '#/components/schemas/type_:PaymentDetail' Sequence: $ref: '#/components/schemas/type_:Sequence' SignatureData: $ref: '#/components/schemas/type_:Signaturedata' StoredId: $ref: '#/components/schemas/type_:Storedmethodid' description: Identifier of stored payment method used in transaction. StoredMethodUsageType: $ref: '#/components/schemas/type_:StoredMethodUsageType' title: QueryPaymentData type_:Dbaname: type: string description: >- The alternate or common name that this business is doing business under usually referred to as a DBA name. title: Dbaname type_:Entrypointfield: type: string description: The entrypoint identifier. title: Entrypointfield type_:PaypointId: type: integer format: int64 description: The paypoint's ID. Note that this is different than the entryname. title: PaypointId type_:Legalname: type: string description: Business legal name. title: Legalname type_:Source: type: string description: Custom identifier to indicate the transaction or request source. title: Source type_:GeneralEvents: type: object properties: description: type: string description: Event description. eventTime: type: string format: date-time description: Event timestamp, in UTC. extraData: type: object additionalProperties: description: Any type description: Extra data. refData: type: string description: Reference data. source: $ref: '#/components/schemas/type_:Source' description: The event source. title: GeneralEvents type_:SubscriptionQueryRecords: type: object properties: CreatedAt: $ref: '#/components/schemas/type_:CreatedAt' description: Timestamp of when the subscription ws created, in UTC. Customer: $ref: '#/components/schemas/type_:QueryTransactionPayorData' EndDate: type: - string - 'null' format: date-time description: The subscription's end date. EntrypageId: $ref: '#/components/schemas/type_:EntrypageId' ExternalPaypointID: $ref: '#/components/schemas/type_:ExternalPaypointId' FeeAmount: type: number format: double description: Fee applied to the subscription. Frequency: type: string description: The subscription's frequency. IdSub: type: integer format: int64 description: The subscription's ID. InvoiceData: $ref: '#/components/schemas/type_:BillData' LastRun: type: - string - 'null' format: date-time description: The last time the subscription was processed. LastUpdated: $ref: '#/components/schemas/type_:LastModified' description: The last date and time the subscription was updated. LeftCycles: type: integer description: The number of cycles the subscription has left. Method: type: string description: The subscription's payment method. NetAmount: $ref: '#/components/schemas/type_:Netamountnullable' description: The subscription amount, minus any fees. NextDate: type: - string - 'null' format: date-time description: The next date the subscription will be processed. ParentOrgName: $ref: '#/components/schemas/type_:OrgParentName' PaymentData: $ref: '#/components/schemas/type_:QueryPaymentData' PaypointDbaname: $ref: '#/components/schemas/type_:Dbaname' description: The paypoint's DBA name. PaypointEntryname: $ref: '#/components/schemas/type_:Entrypointfield' description: The paypoint's entryname. PaypointId: $ref: '#/components/schemas/type_:PaypointId' PaypointLegalname: $ref: '#/components/schemas/type_:Legalname' description: The paypoint's legal name. PlanId: type: integer description: Payment plan ID. Source: $ref: '#/components/schemas/type_:Source' StartDate: type: - string - 'null' format: date-time description: The subscription start date. SubEvents: type: array items: $ref: '#/components/schemas/type_:GeneralEvents' description: Events associated with the subscription. SubStatus: type: integer description: |- The subscription's status. - 0: Paused - 1: Active TotalAmount: type: number format: double description: The subscription amount, including any fees. TotalCycles: type: integer description: The total number of cycles the subscription is set to run. UntilCancelled: type: boolean description: >- When `true`, the subscription has no explicit end date and will run until canceled. required: - EndDate - LastRun - NextDate - StartDate title: SubscriptionQueryRecords type_:Descriptor: type: string description: >- When the method is a card, this field displays card brand. When the method is ACH, this field displays the account type for ACH (checking or savings). title: Descriptor type_:MethodQueryRecords: type: object properties: bin: type: string description: The bank identification number (BIN). Null when method is ACH. binData: $ref: '#/components/schemas/type_:BinData' descriptor: $ref: '#/components/schemas/type_:Descriptor' expDate: type: string description: >- Expiration date associated to the method (only for card) in format MMYY. holderName: $ref: '#/components/schemas/type_:Holdername' idPmethod: type: string description: Method internal ID lastUpdated: $ref: '#/components/schemas/type_:LastModified' description: Date of last update maskedAccount: $ref: '#/components/schemas/type_:Maskedaccount' method: type: string description: 'Type of payment vehicle: **ach** or **card**' title: MethodQueryRecords type_:AchHolderType: type: string enum: - personal - business default: personal description: 'The bank''s accountholder type: personal or business.' title: AchHolderType type_:AchSecCode: type: string description: >- Standard Entry Class (SEC) code is a three letter code that describes how an ACH payment was authorized. Supported values are: - PPD (Prearranged Payment and Deposit) - Used for credits or debits where an accountholder authorizes a company to initiate either a single or recurring transaction to their personal bank account. Common examples include direct deposit of payroll, mortgage payments, or utility bills. This is the default value for subscription payments. - WEB (Internet-Initiated/Mobile Entry) - Used for debit entries when authorization is obtained from an accountholder via the internet or a wireless network. Common examples are online bill payments, ecommerce purchases, and mobile app payments where the consumer enters their banking information online. - TEL (Telephone-Initiated Entry) - Used for one-time debit entries where authorization is obtained from a consumer via telephone. Common examples are phone-based purchases or bill payments where the consumer provides their banking information over the phone. - CCD (Corporate Credit or Debit) - Used for fund transfers between business accounts. This code is specifically for business-to-business transactions. Common examples include vendor payments and other business-to-business payments. - BOC (Back Office Conversion) - Used to convert paper checks received in-person at a point-of-sale or staffed payment location into electronic ACH debits. Required for Remote Deposit Capture (RDC) transactions. Only supports consumer checks; business, government, and mailed checks aren't eligible. title: AchSecCode type_:BatchNumber: type: string description: >- A unique identifier for the batch. This is generated by Payabli when the batch is created, and follows this format: `paypointId + "_" + serviceName + "_" + batchDate:yyyyMMdd + "_" + Guid.NewGuid()`. Payabli generates the GUID to ensure that the batch number is unique. For example, in this batch number: `123_card_20251008_3f2504e0-4f89-11d3-9a0c-0305e82c3301`, the paypointID is "123", the service is "card", the batch date is "2025-10-08", and the GUID is "3f2504e0-4f89-11d3-9a0c-0305e82c3301". title: BatchNumber type_:TransactionTime: type: string format: date-time description: Timestamp when transaction was submitted, in UTC. title: TransactionTime type_:QueryCFeeTransaction: type: object properties: cFeeTransid: type: string feeAmount: type: number format: double operation: type: string refundId: type: integer format: int64 responseData: type: object additionalProperties: description: Any type settlementStatus: type: integer transactionTime: $ref: '#/components/schemas/type_:TransactionTime' transStatus: type: integer title: QueryCFeeTransaction type_:Device: type: string description: Identifier of registered cloud device used in the transaction. title: Device type_:ExternalProcessorInformation: type: string description: >- Processor information, used for troubleshooting and reporting. This field contains a value when the API key used to make the request has management permissions. title: ExternalProcessorInformation type_:FeeAmount: type: number format: double description: Service fee or sub-charge applied. title: FeeAmount type_:Operation: type: string description: The transaction's operation. title: Operation type_:OrderId: type: string description: Custom identifier for the transaction. title: OrderId type_:Orgid: type: integer format: int64 description: Organization ID. Unique identifier assigned to an org by Payabli. title: Orgid type_:PayorId: type: integer format: int64 description: >- Unique ID for the customer linked to the transaction. This is the same value as the `customerId` used when creating or referencing a customer. title: PayorId type_:PendingFeeAmount: type: number format: double description: >- The difference between the configured pass-through fee and the fee amount sent in the request. When transferring funds, Payabli uses this field to deduct the fee difference and transfer the correct amount to the merchant. When a paypoint is set up to absorb fees, and the pass-through fee sent with the request is less than the configured amount, the difference must be covered by the merchant. See [Fee Configuration](/guides/pay-in-fees-passthrough-overview#fee-configuration) to learn more about pass-through fee settings. title: PendingFeeAmount type_:RefundId: type: integer format: int64 description: Identifier of refund transaction linked to this payment. title: RefundId type_:Authcode: type: string description: Authorization code for the transaction. title: Authcode type_:AvsResponse: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponse type_:AvsResponseText: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponseText type_:CvvResponse: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponse type_:CvvResponseText: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponseText type_:EmvAuthResponseData: type: string description: EMV authorization response data, applicable for card transactions. title: EmvAuthResponseData type_:ResultCodev2: type: string description: >- Unified result code for the transaction. See [Pay In unified response codes](/developers/references/pay-in-unified-response-codes-reference) for more information. title: ResultCodev2 type_:ResultCodeText: type: string description: >- Description of the result code. See [Pay In unified response codes](/developers/references/pay-in-unified-response-codes-reference) for more information. title: ResultCodeText type_:QueryResponseData: type: object properties: authcode: $ref: '#/components/schemas/type_:Authcode' avsresponse: $ref: '#/components/schemas/type_:AvsResponse' avsresponse_text: $ref: '#/components/schemas/type_:AvsResponseText' cvvresponse: $ref: '#/components/schemas/type_:CvvResponse' cvvresponse_text: $ref: '#/components/schemas/type_:CvvResponseText' emv_auth_response_data: $ref: '#/components/schemas/type_:EmvAuthResponseData' orderid: $ref: '#/components/schemas/type_:OrderId' response: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' response_code: type: string description: >- Internal result code processing the transaction. Value 1 indicates successful operation, values 2 and 3 indicate errors. response_code_text: type: string description: >- Text describing the result. If resultCode = 1, will return 'Approved' or a general success message. If resultCode = 2 or 3, will contain the cause of the decline. responsetext: type: string description: >- Text describing the result. If resultCode = 1, will return 'Approved' or a general success message. If resultCode = 2 or 3, will contain the cause of the decline. resultCode: $ref: '#/components/schemas/type_:ResultCodev2' resultCodeText: $ref: '#/components/schemas/type_:ResultCodeText' transactionid: type: string description: The transaction identifier in Payabli. type: type: string description: Type of transaction or operation. description: The transaction's response data. title: QueryResponseData type_:ReturnedId: type: integer format: int64 description: Identifier of return/chargeback transaction linked to this payment. title: ReturnedId type_:QueryTransactionEventsEventData: oneOf: - type: object additionalProperties: description: Any type - type: string description: >- Any data associated to the event received from processor. Contents vary by event type. title: QueryTransactionEventsEventData type_:QueryTransactionEvents: type: object properties: EventData: $ref: '#/components/schemas/type_:QueryTransactionEventsEventData' description: >- Any data associated to the event received from processor. Contents vary by event type. EventTime: type: string format: date-time description: Date and time of event. TransEvent: type: string description: >- Event descriptor. See [TransEvent Reference](/guides/pay-in-transevents-reference) for more details. title: QueryTransactionEvents type_:TransactionQueryRecords: type: object properties: AchHolderType: $ref: '#/components/schemas/type_:AchHolderType' AchSecCode: $ref: '#/components/schemas/type_:AchSecCode' BatchAmount: type: number format: double description: Batch amount. BatchNumber: $ref: '#/components/schemas/type_:BatchNumber' CfeeTransactions: type: array items: $ref: '#/components/schemas/type_:QueryCFeeTransaction' description: >- Service Fee or sub-charge transaction associated to the main transaction. ConnectorName: type: string description: Connector used for transaction. Customer: $ref: '#/components/schemas/type_:QueryTransactionPayorData' DeviceId: $ref: '#/components/schemas/type_:Device' EntrypageId: $ref: '#/components/schemas/type_:EntrypageId' ExternalProcessorInformation: $ref: '#/components/schemas/type_:ExternalProcessorInformation' FeeAmount: $ref: '#/components/schemas/type_:FeeAmount' GatewayTransId: type: string description: Internal identifier used for processing. InvoiceData: $ref: '#/components/schemas/type_:BillData' Method: type: string description: 'Payment method used: card, ach, or wallet.' NetAmount: $ref: '#/components/schemas/type_:Netamountnullable' description: Net amount paid. Operation: $ref: '#/components/schemas/type_:Operation' OrderId: $ref: '#/components/schemas/type_:OrderId' OrgId: $ref: '#/components/schemas/type_:Orgid' description: ID of immediate parent organization. ParentOrgName: $ref: '#/components/schemas/type_:OrgParentName' PaymentData: $ref: '#/components/schemas/type_:QueryPaymentData' PaymentTransId: type: string description: Unique Transaction ID. PayorId: $ref: '#/components/schemas/type_:PayorId' PaypointDbaname: $ref: '#/components/schemas/type_:Dbaname' description: Paypoint's DBA name. PaypointEntryname: $ref: '#/components/schemas/type_:Entrypointfield' description: Paypoint's entryname. PaypointId: type: integer format: int64 description: InternalId for paypoint. PaypointLegalname: $ref: '#/components/schemas/type_:Legalname' description: Paypoint's legal name. PendingFeeAmount: $ref: '#/components/schemas/type_:PendingFeeAmount' RefundId: $ref: '#/components/schemas/type_:RefundId' ResponseData: $ref: '#/components/schemas/type_:QueryResponseData' ReturnedId: $ref: '#/components/schemas/type_:ReturnedId' ScheduleReference: type: integer format: int64 description: Reference to the subscription that originated the transaction. SettlementStatus: type: integer description: >- Settlement status for transaction. See [the docs](/developers/references/money-in-statuses#payment-funding-status) for a full reference. Source: $ref: '#/components/schemas/type_:Source' splitFundingInstructions: $ref: '#/components/schemas/type_:SplitFunding' TotalAmount: type: number format: double description: Transaction total amount (including service fee or sub-charge) TransactionEvents: type: array items: $ref: '#/components/schemas/type_:QueryTransactionEvents' description: Events associated with this transaction. TransactionTime: type: - string - 'null' format: date-time description: Transaction date and time, in UTC. TransAdditionalData: description: Any type TransStatus: type: integer description: >- Status of transaction. See [the docs](/developers/references/money-in-statuses#money-in-transaction-status) for a full reference. required: - TransactionTime title: TransactionQueryRecords type_:CustomerSummaryRecord: type: object properties: numberofTransactions: type: integer description: Number total of transactions or payments recentTransactions: type: array items: $ref: '#/components/schemas/type_:TransactionQueryRecords' description: List of more recent 5 transactions belonging to the customer totalAmountTransactions: type: number format: double description: Total amount in transactions totalNetAmountTransactions: type: number format: double description: Total net amount in transactions title: CustomerSummaryRecord type_:OrgParentId: type: integer format: int64 description: The ID of the org's parent organization. title: OrgParentId type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:OptinStatus: type: integer description: |- Customer's consent status. Allowed status: - 0: Customer hasn't opted in to communications - -1: Customer opt in pending - 1: Customer has opted in to communications title: OptinStatus type_:CustomerQueryRecordsCustomerConsentECommunication: type: object properties: status: $ref: '#/components/schemas/type_:OptinStatus' updatedAt: $ref: '#/components/schemas/type_:LastModified' description: Describes the customer's email communications consent status. title: CustomerQueryRecordsCustomerConsentECommunication type_:CustomerQueryRecordsCustomerConsentSms: type: object properties: status: $ref: '#/components/schemas/type_:OptinStatus' updatedAt: $ref: '#/components/schemas/type_:LastModified' description: Describes the customer's SMS communications consent status. title: CustomerQueryRecordsCustomerConsentSms type_:CustomerQueryRecordsCustomerConsent: type: object properties: eCommunication: $ref: >- #/components/schemas/type_:CustomerQueryRecordsCustomerConsentECommunication description: Describes the customer's email communications consent status. sms: $ref: '#/components/schemas/type_:CustomerQueryRecordsCustomerConsentSms' description: Describes the customer's SMS communications consent status. title: CustomerQueryRecordsCustomerConsent type_:CustomerQueryRecords: type: object properties: customerId: $ref: '#/components/schemas/type_:CustomerId' customerNumber: $ref: '#/components/schemas/type_:CustomerNumberNullable' customerUsername: type: string description: Username for customer. customerStatus: $ref: '#/components/schemas/type_:CustomerStatus' Company: type: string description: Company name. Firstname: type: string description: Customer first name. Lastname: type: string description: Customer last name. Phone: type: string description: Customer phone number. Email: $ref: '#/components/schemas/type_:Email' description: Customer email address. Address: type: string description: Customer address. Address1: type: string description: Additional line for customer address. City: type: string description: Customer city. State: type: string description: Customer state. Zip: type: string description: Customer postal code. Country: type: string description: Customer country. ShippingAddress: $ref: '#/components/schemas/type_:Shippingaddress' ShippingAddress1: $ref: '#/components/schemas/type_:Shippingaddressadditional' ShippingCity: $ref: '#/components/schemas/type_:Shippingcity' ShippingState: $ref: '#/components/schemas/type_:Shippingstate' ShippingZip: $ref: '#/components/schemas/type_:Shippingzip' ShippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' Balance: type: number format: double description: Customer balance. TimeZone: $ref: '#/components/schemas/type_:Timezone' MFA: $ref: '#/components/schemas/type_:Mfa' MFAMode: $ref: '#/components/schemas/type_:MfaMode' snProvider: type: string description: |- Social network linked to customer. Possible values: - `facebook` - `google` - `twitter` - `microsoft` snIdentifier: type: string description: Identifier or token for customer in linked social network. snData: type: string description: >- Additional data provided by the social network related to the customer. LastUpdated: type: string format: date-time description: Date and time of last update. Created: type: string format: date-time description: Date and time created. AdditionalFields: type: object additionalProperties: type: string description: List of additional custom fields in format key:value. IdentifierFields: $ref: '#/components/schemas/type_:Identifierfields' Subscriptions: type: array items: $ref: '#/components/schemas/type_:SubscriptionQueryRecords' description: List of subscriptions associated to the customer. StoredMethods: type: array items: $ref: '#/components/schemas/type_:MethodQueryRecords' description: List of payment methods associated to the customer. customerSummary: $ref: '#/components/schemas/type_:CustomerSummaryRecord' PaypointLegalname: $ref: '#/components/schemas/type_:Legalname' description: Paypoint legal name. PaypointDbaname: $ref: '#/components/schemas/type_:Dbaname' description: Paypoint DBA name. ParentOrgName: $ref: '#/components/schemas/type_:OrgParentName' ParentOrgId: $ref: '#/components/schemas/type_:OrgParentId' PaypointEntryname: $ref: '#/components/schemas/type_:Entrypointfield' pageidentifier: $ref: '#/components/schemas/type_:PageIdentifier' externalPaypointID: $ref: '#/components/schemas/type_:ExternalPaypointId' customerConsent: $ref: '#/components/schemas/type_:CustomerQueryRecordsCustomerConsent' title: CustomerQueryRecords type_:Pagesize: type: integer description: Number of records on each response page. title: Pagesize type_:Totalrecords: type: integer description: Total number of records in response. title: Totalrecords type_:QuerySummary: type: object properties: pageIdentifier: $ref: '#/components/schemas/type_:PageIdentifier' pageSize: $ref: '#/components/schemas/type_:Pagesize' totalAmount: type: number format: double description: Total amount for the records. totalNetAmount: type: number format: double description: Total net amount for the records. totalPages: $ref: '#/components/schemas/type_:Totalrecords' totalRecords: $ref: '#/components/schemas/type_:Totalrecords' title: QuerySummary type_:QueryCustomerResponse: type: object properties: Records: type: array items: $ref: '#/components/schemas/type_:CustomerQueryRecords' Summary: $ref: '#/components/schemas/type_:QuerySummary' title: QueryCustomerResponse type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript example1 import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.query.listCustomers("8cfec329267", { fromRecord: 251, limitRecord: 0, sortBy: "desc(field_name)", }); } main(); ``` ```python example1 from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.query.list_customers( entry="8cfec329267", from_record=251, limit_record=0, sort_by="desc(field_name)", ) ``` ```csharp example1 using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Query.ListCustomersAsync( "8cfec329267", new ListCustomersRequest { FromRecord = 251, LimitRecord = 0, SortBy = "desc(field_name)" } ); } } ``` ```go example1 package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Query/customers/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby example1 require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Query/customers/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java example1 import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Query/customers/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29") .header("requestToken", "") .asString(); ``` ```php example1 request('GET', 'https://api-sandbox.payabli.com/api/Query/customers/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift example1 import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Query/customers/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # List customers by organization GET https://api-sandbox.payabli.com/api/Query/customers/org/{orgId} Retrieves a list of customers for an org. Use filters to limit results. Include the `exportFormat` query parameter to return the results as a file instead of a JSON response. Reference: https://docs.payabli.com/developers/api-reference/customer/get-list-of-customers-for-an-organization ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Query/customers/org/{orgId}: get: operationId: list-customers-org summary: Get list of customers for an org description: >- Retrieves a list of customers for an org. Use filters to limit results. Include the `exportFormat` query parameter to return the results as a file instead of a JSON response. tags: - subpackage_query parameters: - name: orgId in: path description: The numeric identifier for organization, assigned by Payabli. required: true schema: type: integer - name: exportFormat in: query required: false schema: $ref: '#/components/schemas/type_:ExportFormat' - name: fromRecord in: query description: >- The number of records to skip before starting to collect the result set. required: false schema: type: integer default: 0 - name: limitRecord in: query description: >- Max number of records to return for the query. Use `0` or negative value to return all records. required: false schema: type: integer default: 20 - name: parameters in: query description: >- Collection of field names, conditions, and values used to filter the query. **You must remove `parameters=` from the request before you send it, otherwise Payabli will ignore the filters.** Because of a technical limitation, you can't make a request that includes filters from the API console on this page. The response won't be filtered. Instead, copy the request, remove `parameters=` and run the request in a different client. For example: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?parameters=totalAmount(gt)=1000&limitRecord=20 should become: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?totalAmount(gt)=1000&limitRecord=20 See [Filters and Conditions Reference](/developers/developer-guides/pay-ops-reporting-engine-overview#filters-and-conditions-reference) for more details. **List of Accepted Field Names:** - `createdDate` (gt, ge, lt, le, eq, ne) - `customernumber` (ne, eq, ct, nct) - `firstname` (ne, eq, ct, nct) - `lastname` (ne, eq, ct, nct) - `name` (ct, nct) - `address` (ne, eq, ct, nct) - `city` (ne, eq, ct, nct) - `country` (ne, eq, ct, nct) - `zip` (ne, eq, ct, nct) - `state` (ne, eq, ct, nct) - `shippingaddress` (ne, eq, ct, nct) - `shippingcity` (ne, eq, ct, nct) - `shippingcountry` (ne, eq, ct, nct) - `shippingzip` (ne, eq, ct, nct) - `shippingstate` (ne, eq, ct, nct) - `phone` (ne, eq, ct, nct) - `email` (ne, eq, ct, nct) - `company` (ne, eq, ct, nct) - `username` (ne, eq, ct, nct) - `balance` (gt, ge, lt, le, eq, ne) - `status` (in, nin, eq, ne) - `additional-xxx` (ne, eq, ct, nct) where xxx is the additional field name - `orgId` (eq) *mandatory when entry=org* - `paypointId` (ne, eq) - `paypointLegal` (ne, eq, ct, nct) - `paypointDba` (ne, eq, ct, nct) - `orgName` (ne, eq, ct, nct) **List of Accepted Comparisons:** - `eq` or empty => equal - `gt` => greater than - `ge` => greater or equal - `lt` => less than - `le` => less or equal - `ne` => not equal - `ct` => contains - `nct` => not contains - `in` => inside array separated by "|" - `nin` => not inside array separated by "|" **Accepted Parameters:** - `limitRecord`: Max number of records for query (default="20", "0" or negative value for all) - `fromRecord`: Initial record in query **Example Usage:** `balance(gt)=20` will return all records with a balance greater than 20.00. required: false schema: type: object additionalProperties: type: string - name: sortBy in: query description: >- The field name to use for sorting results. Use `desc(field_name)` to sort descending by `field_name`, and use `asc(field_name)` to sort ascending by `field_name`. required: false schema: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:QueryCustomerResponse' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:ExportFormat: type: string enum: - csv - xlsx description: >- Export format for file downloads. When specified, returns data as a file instead of JSON. title: ExportFormat type_:CustomerId: type: integer format: int64 description: The Payabli-generated unique ID for the customer. title: CustomerId type_:CustomerNumberNullable: type: string description: >- User-provided unique identifier for the customer. This is typically the customer ID from your own system. title: CustomerNumberNullable type_:CustomerStatus: type: integer description: |- Customer Status. Possible values: - `-99` Deleted - `0` Inactive - `1` Active - `85` Locked (typically due to multiple failed login attempts) title: CustomerStatus type_:Email: type: string format: email description: Email address. title: Email type_:Shippingaddress: type: string description: The shipping address. title: Shippingaddress type_:Shippingaddressadditional: type: string description: Additional line for shipping address. title: Shippingaddressadditional type_:Shippingcity: type: string description: Shipping city. title: Shippingcity type_:Shippingstate: type: string description: Shipping state or province. title: Shippingstate type_:Shippingzip: type: string description: >- Shipping ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". title: Shippingzip type_:Shippingcountry: type: string description: Shipping address country. title: Shippingcountry type_:Timezone: type: integer description: Timezone, in UTC offset. For example, -5 is Eastern time. title: Timezone type_:Mfa: type: boolean description: When `true`, multi-factor authentication (MFA) is enabled. title: Mfa type_:MfaMode: type: integer title: MfaMode type_:Identifierfields: type: array items: type: string description: >- List of fields acting as customer identifiers, to be used instead of CustomerNumber. title: Identifierfields type_:CreatedAt: type: string format: date-time description: Timestamp of when record was created, in UTC. title: CreatedAt type_:BillingZip: type: string description: Billing address ZIP code. title: BillingZip type_:AdditionalDataMap: type: object additionalProperties: type: string description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalDataMap type_:QueryTransactionPayorData: type: object properties: Identifiers: type: array items: description: Any type description: Array of field names to be used as identifiers. FirstName: type: string description: Customer/Payor first name. LastName: type: string description: Customer/Payor last name. CompanyName: type: string description: Customer's company name. BillingAddress1: type: string description: Customer's billing address. BillingAddress2: type: string description: Additional line for Customer's billing address. BillingCity: type: string description: Customer's billing city. BillingState: type: string description: >- Customer's billing state. Must be 2-letter state code for address in US. BillingZip: $ref: '#/components/schemas/type_:BillingZip' description: Customer's billing ZIP code. BillingCountry: type: string description: Customer's billing country. BillingPhone: type: string description: Customer's phone number. BillingEmail: $ref: '#/components/schemas/type_:Email' description: Customer's email address. CustomerNumber: $ref: '#/components/schemas/type_:CustomerNumberNullable' ShippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' ShippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' ShippingCity: $ref: '#/components/schemas/type_:Shippingcity' ShippingState: $ref: '#/components/schemas/type_:Shippingstate' ShippingZip: $ref: '#/components/schemas/type_:Shippingzip' ShippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' customerId: $ref: '#/components/schemas/type_:CustomerId' customerStatus: $ref: '#/components/schemas/type_:CustomerStatus' AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' title: QueryTransactionPayorData type_:EntrypageId: type: integer format: int64 description: >- If applicable, the internal reference ID to the payment page capturing the payment. title: EntrypageId type_:ExternalPaypointId: type: string description: >- A custom identifier for the paypoint, if applicable. Like `entrypoint` is the Payabli identifier for the merchant, `externalPaypointId` is a custom field you can use to include the merchant's ID from your own systems. title: ExternalPaypointId type_:FileContentFtype: type: string enum: - pdf - doc - docx - jpg - jpeg - png - gif - txt description: The MIME type of the file (if content is provided) title: FileContentFtype type_:FileContent: type: object properties: fContent: type: string description: >- Content of file, Base64-encoded. Ignored if furl is specified. Max upload size is 30 MB. filename: type: string description: The name of the attached file. ftype: $ref: '#/components/schemas/type_:FileContentFtype' description: The MIME type of the file (if content is provided) furl: type: string description: Optional URL provided to show or download the file remotely description: Contains details about a file. Max upload size is 30 MB. title: FileContent type_:Attachments: type: array items: $ref: '#/components/schemas/type_:FileContent' description: >- Array of `fileContent` objects with attached documents. Max upload size is 30 MB. title: Attachments type_:Discount: type: number format: double description: Discount applied to the invoice. title: Discount type_:DutyAmount: type: number format: double description: Duty amount. title: DutyAmount type_:FreightAmount: type: number format: double description: Freight/shipping amount. title: FreightAmount type_:Frequency: type: string enum: - onetime - weekly - every2weeks - every6months - monthly - every3months - annually description: Frequency for operation. title: Frequency type_:InvoiceAmount: type: number format: double description: Invoice total amount. title: InvoiceAmount type_:InvoiceNumber: type: string description: >- Custom number identifying the bill or invoice. Must be unique in paypoint. title: InvoiceNumber type_:Invoicestatus: type: integer description: |- Status for invoice. The accepted status values are: - 0 draft - 1 active - 2 partially paid - 4 paid/complete - 99 cancelled title: Invoicestatus type_:InvoiceType: type: integer description: Type of invoice. Only `0` for one-time invoices is currently supported. title: InvoiceType type_:ItemCommodityCode: type: string description: Item or product commodity code. Max length of 250 characters. title: ItemCommodityCode type_:ItemDescription: type: string description: Item or product description. Max length of 250 characters. title: ItemDescription type_:ItemProductCode: type: string description: Item or product code. Max length of 250 characters. title: ItemProductCode type_:ItemProductName: type: string description: Item or product name. Max length of 250 characters. title: ItemProductName type_:ItemUnitofMeasure: type: string description: Unit of measurement. Max length of 100 characters. title: ItemUnitofMeasure type_:BillItem: type: object properties: itemCategories: type: array items: type: string description: Array of tags classifying item or product. itemCommodityCode: $ref: '#/components/schemas/type_:ItemCommodityCode' itemCost: type: number format: double description: Item or product price per unit. itemDescription: $ref: '#/components/schemas/type_:ItemDescription' itemMode: type: integer description: >- Internal class of item or product: value '0' is only for invoices , '1' for bills and, '2' common for both. itemProductCode: $ref: '#/components/schemas/type_:ItemProductCode' itemProductName: $ref: '#/components/schemas/type_:ItemProductName' itemQty: type: integer description: Quantity of item or product. itemTaxAmount: type: number format: double description: Tax amount applied to item or product. itemTaxRate: type: number format: double description: Tax rate applied to item or product. itemTotalAmount: type: number format: double description: Total amount in item or product. itemUnitOfMeasure: $ref: '#/components/schemas/type_:ItemUnitofMeasure' required: - itemCost title: BillItem type_:BillDataPaymentTerms: type: string enum: - PIA - CIA - UR - NET10 - NET20 - NET30 - NET45 - NET60 - NET90 - EOM - MFI - 5MFI - 10MFI - 15MFI - 20MFI - 2/10NET30 - UF - 10UF - 20UF - 25UF - 50UF description: >- Payment terms for invoice. If no terms are defined, then response data for this field defaults to `NET30`. **Available Values:** - `PIA`: Payment in advance - `CIA`: Cash in advance - `UR`: Upon receipt - `NET10`: 10 days after invoice date - `NET20`: 20 days after invoice date - `NET30`: 30 days after invoice date - `NET45`: 45 days after invoice date - `NET60`: 60 days after invoice date - `NET90`: 90 days after invoice date - `EOM`: Due end of this month - `MFI`: 1st of the month following the invoice date - `5MFI`: 5th of the month following the invoice date - `10MFI`: 10th of the month following the invoice date - `15MFI`: 15th of the month following the invoice date - `20MFI`: 20th of the month following the invoice date - `2/10NET30`: 2% discount if paid within 10 days, otherwise net 30 days - `UF`: Until further notice - `10UF`: 10 days until further notice - `20UF`: 20 days until further notice - `25UF`: 25 days until further notice - `50UF`: 50 days until further notice title: BillDataPaymentTerms type_:PurchaseOrder: type: string description: Purchase order number. title: PurchaseOrder type_:ShippingFromZip: type: string description: Sender shipping ZIP code. title: ShippingFromZip type_:SummaryCommodityCode: type: string description: Commodity code. title: SummaryCommodityCode type_:Tax: type: number format: double description: Tax rate in percent applied to the invoice. title: Tax type_:TermsConditions: type: string description: Custom terms and conditions included in the invoice. title: TermsConditions type_:BillData: type: object properties: AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' attachments: $ref: '#/components/schemas/type_:Attachments' company: type: string description: Company name of the recipient of the invoice. discount: $ref: '#/components/schemas/type_:Discount' dutyAmount: $ref: '#/components/schemas/type_:DutyAmount' firstName: type: string description: First name of the recipient of the invoice. freightAmount: $ref: '#/components/schemas/type_:FreightAmount' frequency: $ref: '#/components/schemas/type_:Frequency' description: Frequency of scheduled invoice. invoiceAmount: $ref: '#/components/schemas/type_:InvoiceAmount' invoiceDate: type: string format: date description: 'Invoice date in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY.' invoiceDueDate: type: string format: date description: >- Invoice due date in one of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceEndDate: type: string format: date description: >- Indicate the date to finish a scheduled invoice cycle (`invoiceType`` = 1) in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceNumber: $ref: '#/components/schemas/type_:InvoiceNumber' description: Invoice number. Identifies the invoice under a paypoint. invoiceStatus: $ref: '#/components/schemas/type_:Invoicestatus' invoiceType: $ref: '#/components/schemas/type_:InvoiceType' items: type: array items: $ref: '#/components/schemas/type_:BillItem' description: Array of line items included in the invoice. lastName: type: string description: Last name of the recipient of the invoice. notes: type: string description: Notes included in the invoice. paymentTerms: $ref: '#/components/schemas/type_:BillDataPaymentTerms' purchaseOrder: $ref: '#/components/schemas/type_:PurchaseOrder' shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' shippingEmail: $ref: '#/components/schemas/type_:Email' description: Shipping recipient's contact email address. shippingFromZip: $ref: '#/components/schemas/type_:ShippingFromZip' shippingPhone: type: string description: Recipient phone number. shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' summaryCommodityCode: $ref: '#/components/schemas/type_:SummaryCommodityCode' tax: $ref: '#/components/schemas/type_:Tax' termsConditions: $ref: '#/components/schemas/type_:TermsConditions' title: BillData type_:LastModified: type: string format: date-time description: Timestamp of when record was last updated, in UTC. title: LastModified type_:Netamountnullable: type: number format: double description: Net amount. title: Netamountnullable type_:OrgParentName: type: string description: The name of the parent organization. title: OrgParentName type_:Accountexp: type: string description: Expiration date of card used in transaction. title: Accountexp type_:Accountid: type: string description: Custom identifier for payment connector. title: Accountid type_:Accounttype: type: string description: Bank account type or card brand. title: Accounttype type_:Accountzip: type: string description: ZIP code for card used in transaction. title: Accountzip type_:BinData: type: object properties: binMatchedLength: type: string description: |- The number of characters from the beginning of the card number that were matched against a Bank Identification Number (BIN) or the Card Range table. binCardBrand: type: string description: |- The card brand. For example, Visa, Mastercard, American Express, Discover. binCardType: type: string description: 'The type of card: Credit or Debit.' binCardCategory: type: string description: >- The category of the card, which indicates the card product. For example: Standard, Gold, Platinum, etc. The binCardCategory for prepaid cards is marked `PREPAID`. binCardIssuer: type: string description: The name of the financial institution that issued the card. binCardIssuerCountry: type: string description: The issuing financial institution's country name. binCardIssuerCountryCodeA2: type: string description: >- The issuing financial institution's two-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIssuerCountryNumber: type: string description: >- The issuing financial institution's ISO standard numeric country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIsRegulated: type: string description: Indicates whether the card is regulated. binCardUseCategory: type: string description: The use category classification for the card. binCardIssuerCountryCodeA3: type: string description: >- The issuing financial institution's three-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. description: >- Object containing information related to the card. This object is `null` unless the payment method is card. If the payment method is Apple Pay, the binData will be related to the DPAN (device primary account number), not the card connected to Apple Pay. title: BinData type_:Holdername: type: string description: Account holder name for the method. title: Holdername type_:Initiator: type: string description: >- **Strongly recommended** The cardholder-initiated transaction (CIT) or merchant-initiated transaction (MIT) indicator for the transaction. If you don't specify a value, Payabli defaults to `merchant`. Available values: - `payor`: For cardholder-initiated transactions - `merchant`: For merchant-initiated transactions See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Initiator type_:Maskedaccount: type: string description: >- Masked card or bank account used in transaction. In the case of Apple Pay, this is a masked DPAN (device primary account number). title: Maskedaccount type_:Orderdescription: type: string description: Text description of the transaction. title: Orderdescription type_:PaymentCategories: type: object properties: amount: type: number format: double description: Price/cost per unit of item or category. description: type: string description: Description of item or category label: type: string description: Name of item or category. qty: type: integer default: 1 description: Quantity of item or category required: - amount - label title: PaymentCategories type_:SplitFundingContent: type: object properties: accountId: type: string description: The accountId for the account the split should be sent to. amount: type: number format: double description: Amount from the transaction to sent to this recipient. description: type: string description: A description for the split. recipientEntryPoint: type: string description: The entrypoint the split should be sent to. title: SplitFundingContent type_:SplitFunding: type: array items: $ref: '#/components/schemas/type_:SplitFundingContent' description: >- Split funding instructions for the transaction. The total amount of the splits must match the total amount of the transaction. title: SplitFunding type_:PaymentDetail: type: object properties: categories: type: array items: $ref: '#/components/schemas/type_:PaymentCategories' description: >- Array of payment categories/line items describing the amount to be paid. **Note**: These categories are for information only and aren't validated against the total amount provided. checkImage: type: object additionalProperties: description: Any type description: Object containing image of paper check. checkNumber: type: string description: >- A check number to be used in the ach transaction. **Required** for payment method = 'check'. currency: type: string description: >- The currency for the transaction, `USD` or `CAD`. If your paypoint is configured for CAD, you must send the `CAD` value in this field, otherwise it defaults to USD, which will cause the transaction to fail. serviceFee: type: number format: double description: >- Service fee to be deducted from the total amount. This amount must be a number, percentages aren't accepted. If you are using a percentage-based fee schedule, you must calculate the value manually. splitFunding: $ref: '#/components/schemas/type_:SplitFunding' description: >- Split funding instructions for the transaction. See [Split a Transaction](/developers/developer-guides/money-in-split-funding) for more. checkUniqueId: type: string description: >- Unique identifier for a processed check image. Required for RDC (Remote Deposit Capture) transactions where `achCode` is `BOC`. Use the `id` value from the [check processing](/developers/api-reference/moneyin/check-capture) response. totalAmount: type: number format: double description: >- Total amount to be charged. If a service fee is sent, then this amount should include the service fee." required: - totalAmount description: Details about the payment. title: PaymentDetail type_:Sequence: type: string description: >- The order of the transaction for cardholder-initiated transaction (CIT) and merchant-initiated transaction (MIT) purposes. This field is automatically detected and populated by Payabli. Available values: - `first`: The first use of the payment method. This is almost always a cardholder-initiated transaction. - `subsequent`: For merchant-initiated transactions after the first use of the payment method. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Sequence type_:Signaturedata: type: string title: Signaturedata type_:Storedmethodid: type: string description: >- Payabli identifier of a tokenized payment method. If this field is used in a request, the `method` field is overridden and the payment is made using the payment token. title: Storedmethodid type_:StoredMethodUsageType: type: string description: >- **Strongly recommended** The usage type for the stored method, used for merchant-initiated transactions (MIT). If you don't specify a value, Payabli defaults to `unscheduled`. Available values: - `unscheduled`: This type is used for transactions that are one-time or otherwise not pre-scheduled. - `subscription`: This type is used for subscription payments. For example, monthly rental fees or ongoing service subscriptions. - `recurring`: This type is used for recurring payments that occur per a set plan. For example, splitting an HOA special assessment over 6 monthly payments. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: StoredMethodUsageType type_:QueryPaymentData: type: object properties: AccountExp: $ref: '#/components/schemas/type_:Accountexp' accountId: $ref: '#/components/schemas/type_:Accountid' AccountType: $ref: '#/components/schemas/type_:Accounttype' AccountZip: $ref: '#/components/schemas/type_:Accountzip' binData: $ref: '#/components/schemas/type_:BinData' HolderName: $ref: '#/components/schemas/type_:Holdername' Initiator: $ref: '#/components/schemas/type_:Initiator' MaskedAccount: $ref: '#/components/schemas/type_:Maskedaccount' orderDescription: $ref: '#/components/schemas/type_:Orderdescription' paymentDetails: $ref: '#/components/schemas/type_:PaymentDetail' Sequence: $ref: '#/components/schemas/type_:Sequence' SignatureData: $ref: '#/components/schemas/type_:Signaturedata' StoredId: $ref: '#/components/schemas/type_:Storedmethodid' description: Identifier of stored payment method used in transaction. StoredMethodUsageType: $ref: '#/components/schemas/type_:StoredMethodUsageType' title: QueryPaymentData type_:Dbaname: type: string description: >- The alternate or common name that this business is doing business under usually referred to as a DBA name. title: Dbaname type_:Entrypointfield: type: string description: The entrypoint identifier. title: Entrypointfield type_:PaypointId: type: integer format: int64 description: The paypoint's ID. Note that this is different than the entryname. title: PaypointId type_:Legalname: type: string description: Business legal name. title: Legalname type_:Source: type: string description: Custom identifier to indicate the transaction or request source. title: Source type_:GeneralEvents: type: object properties: description: type: string description: Event description. eventTime: type: string format: date-time description: Event timestamp, in UTC. extraData: type: object additionalProperties: description: Any type description: Extra data. refData: type: string description: Reference data. source: $ref: '#/components/schemas/type_:Source' description: The event source. title: GeneralEvents type_:SubscriptionQueryRecords: type: object properties: CreatedAt: $ref: '#/components/schemas/type_:CreatedAt' description: Timestamp of when the subscription ws created, in UTC. Customer: $ref: '#/components/schemas/type_:QueryTransactionPayorData' EndDate: type: - string - 'null' format: date-time description: The subscription's end date. EntrypageId: $ref: '#/components/schemas/type_:EntrypageId' ExternalPaypointID: $ref: '#/components/schemas/type_:ExternalPaypointId' FeeAmount: type: number format: double description: Fee applied to the subscription. Frequency: type: string description: The subscription's frequency. IdSub: type: integer format: int64 description: The subscription's ID. InvoiceData: $ref: '#/components/schemas/type_:BillData' LastRun: type: - string - 'null' format: date-time description: The last time the subscription was processed. LastUpdated: $ref: '#/components/schemas/type_:LastModified' description: The last date and time the subscription was updated. LeftCycles: type: integer description: The number of cycles the subscription has left. Method: type: string description: The subscription's payment method. NetAmount: $ref: '#/components/schemas/type_:Netamountnullable' description: The subscription amount, minus any fees. NextDate: type: - string - 'null' format: date-time description: The next date the subscription will be processed. ParentOrgName: $ref: '#/components/schemas/type_:OrgParentName' PaymentData: $ref: '#/components/schemas/type_:QueryPaymentData' PaypointDbaname: $ref: '#/components/schemas/type_:Dbaname' description: The paypoint's DBA name. PaypointEntryname: $ref: '#/components/schemas/type_:Entrypointfield' description: The paypoint's entryname. PaypointId: $ref: '#/components/schemas/type_:PaypointId' PaypointLegalname: $ref: '#/components/schemas/type_:Legalname' description: The paypoint's legal name. PlanId: type: integer description: Payment plan ID. Source: $ref: '#/components/schemas/type_:Source' StartDate: type: - string - 'null' format: date-time description: The subscription start date. SubEvents: type: array items: $ref: '#/components/schemas/type_:GeneralEvents' description: Events associated with the subscription. SubStatus: type: integer description: |- The subscription's status. - 0: Paused - 1: Active TotalAmount: type: number format: double description: The subscription amount, including any fees. TotalCycles: type: integer description: The total number of cycles the subscription is set to run. UntilCancelled: type: boolean description: >- When `true`, the subscription has no explicit end date and will run until canceled. required: - EndDate - LastRun - NextDate - StartDate title: SubscriptionQueryRecords type_:Descriptor: type: string description: >- When the method is a card, this field displays card brand. When the method is ACH, this field displays the account type for ACH (checking or savings). title: Descriptor type_:MethodQueryRecords: type: object properties: bin: type: string description: The bank identification number (BIN). Null when method is ACH. binData: $ref: '#/components/schemas/type_:BinData' descriptor: $ref: '#/components/schemas/type_:Descriptor' expDate: type: string description: >- Expiration date associated to the method (only for card) in format MMYY. holderName: $ref: '#/components/schemas/type_:Holdername' idPmethod: type: string description: Method internal ID lastUpdated: $ref: '#/components/schemas/type_:LastModified' description: Date of last update maskedAccount: $ref: '#/components/schemas/type_:Maskedaccount' method: type: string description: 'Type of payment vehicle: **ach** or **card**' title: MethodQueryRecords type_:AchHolderType: type: string enum: - personal - business default: personal description: 'The bank''s accountholder type: personal or business.' title: AchHolderType type_:AchSecCode: type: string description: >- Standard Entry Class (SEC) code is a three letter code that describes how an ACH payment was authorized. Supported values are: - PPD (Prearranged Payment and Deposit) - Used for credits or debits where an accountholder authorizes a company to initiate either a single or recurring transaction to their personal bank account. Common examples include direct deposit of payroll, mortgage payments, or utility bills. This is the default value for subscription payments. - WEB (Internet-Initiated/Mobile Entry) - Used for debit entries when authorization is obtained from an accountholder via the internet or a wireless network. Common examples are online bill payments, ecommerce purchases, and mobile app payments where the consumer enters their banking information online. - TEL (Telephone-Initiated Entry) - Used for one-time debit entries where authorization is obtained from a consumer via telephone. Common examples are phone-based purchases or bill payments where the consumer provides their banking information over the phone. - CCD (Corporate Credit or Debit) - Used for fund transfers between business accounts. This code is specifically for business-to-business transactions. Common examples include vendor payments and other business-to-business payments. - BOC (Back Office Conversion) - Used to convert paper checks received in-person at a point-of-sale or staffed payment location into electronic ACH debits. Required for Remote Deposit Capture (RDC) transactions. Only supports consumer checks; business, government, and mailed checks aren't eligible. title: AchSecCode type_:BatchNumber: type: string description: >- A unique identifier for the batch. This is generated by Payabli when the batch is created, and follows this format: `paypointId + "_" + serviceName + "_" + batchDate:yyyyMMdd + "_" + Guid.NewGuid()`. Payabli generates the GUID to ensure that the batch number is unique. For example, in this batch number: `123_card_20251008_3f2504e0-4f89-11d3-9a0c-0305e82c3301`, the paypointID is "123", the service is "card", the batch date is "2025-10-08", and the GUID is "3f2504e0-4f89-11d3-9a0c-0305e82c3301". title: BatchNumber type_:TransactionTime: type: string format: date-time description: Timestamp when transaction was submitted, in UTC. title: TransactionTime type_:QueryCFeeTransaction: type: object properties: cFeeTransid: type: string feeAmount: type: number format: double operation: type: string refundId: type: integer format: int64 responseData: type: object additionalProperties: description: Any type settlementStatus: type: integer transactionTime: $ref: '#/components/schemas/type_:TransactionTime' transStatus: type: integer title: QueryCFeeTransaction type_:Device: type: string description: Identifier of registered cloud device used in the transaction. title: Device type_:ExternalProcessorInformation: type: string description: >- Processor information, used for troubleshooting and reporting. This field contains a value when the API key used to make the request has management permissions. title: ExternalProcessorInformation type_:FeeAmount: type: number format: double description: Service fee or sub-charge applied. title: FeeAmount type_:Operation: type: string description: The transaction's operation. title: Operation type_:OrderId: type: string description: Custom identifier for the transaction. title: OrderId type_:Orgid: type: integer format: int64 description: Organization ID. Unique identifier assigned to an org by Payabli. title: Orgid type_:PayorId: type: integer format: int64 description: >- Unique ID for the customer linked to the transaction. This is the same value as the `customerId` used when creating or referencing a customer. title: PayorId type_:PendingFeeAmount: type: number format: double description: >- The difference between the configured pass-through fee and the fee amount sent in the request. When transferring funds, Payabli uses this field to deduct the fee difference and transfer the correct amount to the merchant. When a paypoint is set up to absorb fees, and the pass-through fee sent with the request is less than the configured amount, the difference must be covered by the merchant. See [Fee Configuration](/guides/pay-in-fees-passthrough-overview#fee-configuration) to learn more about pass-through fee settings. title: PendingFeeAmount type_:RefundId: type: integer format: int64 description: Identifier of refund transaction linked to this payment. title: RefundId type_:Authcode: type: string description: Authorization code for the transaction. title: Authcode type_:AvsResponse: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponse type_:AvsResponseText: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponseText type_:CvvResponse: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponse type_:CvvResponseText: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponseText type_:EmvAuthResponseData: type: string description: EMV authorization response data, applicable for card transactions. title: EmvAuthResponseData type_:ResultCodev2: type: string description: >- Unified result code for the transaction. See [Pay In unified response codes](/developers/references/pay-in-unified-response-codes-reference) for more information. title: ResultCodev2 type_:ResultCodeText: type: string description: >- Description of the result code. See [Pay In unified response codes](/developers/references/pay-in-unified-response-codes-reference) for more information. title: ResultCodeText type_:QueryResponseData: type: object properties: authcode: $ref: '#/components/schemas/type_:Authcode' avsresponse: $ref: '#/components/schemas/type_:AvsResponse' avsresponse_text: $ref: '#/components/schemas/type_:AvsResponseText' cvvresponse: $ref: '#/components/schemas/type_:CvvResponse' cvvresponse_text: $ref: '#/components/schemas/type_:CvvResponseText' emv_auth_response_data: $ref: '#/components/schemas/type_:EmvAuthResponseData' orderid: $ref: '#/components/schemas/type_:OrderId' response: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' response_code: type: string description: >- Internal result code processing the transaction. Value 1 indicates successful operation, values 2 and 3 indicate errors. response_code_text: type: string description: >- Text describing the result. If resultCode = 1, will return 'Approved' or a general success message. If resultCode = 2 or 3, will contain the cause of the decline. responsetext: type: string description: >- Text describing the result. If resultCode = 1, will return 'Approved' or a general success message. If resultCode = 2 or 3, will contain the cause of the decline. resultCode: $ref: '#/components/schemas/type_:ResultCodev2' resultCodeText: $ref: '#/components/schemas/type_:ResultCodeText' transactionid: type: string description: The transaction identifier in Payabli. type: type: string description: Type of transaction or operation. description: The transaction's response data. title: QueryResponseData type_:ReturnedId: type: integer format: int64 description: Identifier of return/chargeback transaction linked to this payment. title: ReturnedId type_:QueryTransactionEventsEventData: oneOf: - type: object additionalProperties: description: Any type - type: string description: >- Any data associated to the event received from processor. Contents vary by event type. title: QueryTransactionEventsEventData type_:QueryTransactionEvents: type: object properties: EventData: $ref: '#/components/schemas/type_:QueryTransactionEventsEventData' description: >- Any data associated to the event received from processor. Contents vary by event type. EventTime: type: string format: date-time description: Date and time of event. TransEvent: type: string description: >- Event descriptor. See [TransEvent Reference](/guides/pay-in-transevents-reference) for more details. title: QueryTransactionEvents type_:TransactionQueryRecords: type: object properties: AchHolderType: $ref: '#/components/schemas/type_:AchHolderType' AchSecCode: $ref: '#/components/schemas/type_:AchSecCode' BatchAmount: type: number format: double description: Batch amount. BatchNumber: $ref: '#/components/schemas/type_:BatchNumber' CfeeTransactions: type: array items: $ref: '#/components/schemas/type_:QueryCFeeTransaction' description: >- Service Fee or sub-charge transaction associated to the main transaction. ConnectorName: type: string description: Connector used for transaction. Customer: $ref: '#/components/schemas/type_:QueryTransactionPayorData' DeviceId: $ref: '#/components/schemas/type_:Device' EntrypageId: $ref: '#/components/schemas/type_:EntrypageId' ExternalProcessorInformation: $ref: '#/components/schemas/type_:ExternalProcessorInformation' FeeAmount: $ref: '#/components/schemas/type_:FeeAmount' GatewayTransId: type: string description: Internal identifier used for processing. InvoiceData: $ref: '#/components/schemas/type_:BillData' Method: type: string description: 'Payment method used: card, ach, or wallet.' NetAmount: $ref: '#/components/schemas/type_:Netamountnullable' description: Net amount paid. Operation: $ref: '#/components/schemas/type_:Operation' OrderId: $ref: '#/components/schemas/type_:OrderId' OrgId: $ref: '#/components/schemas/type_:Orgid' description: ID of immediate parent organization. ParentOrgName: $ref: '#/components/schemas/type_:OrgParentName' PaymentData: $ref: '#/components/schemas/type_:QueryPaymentData' PaymentTransId: type: string description: Unique Transaction ID. PayorId: $ref: '#/components/schemas/type_:PayorId' PaypointDbaname: $ref: '#/components/schemas/type_:Dbaname' description: Paypoint's DBA name. PaypointEntryname: $ref: '#/components/schemas/type_:Entrypointfield' description: Paypoint's entryname. PaypointId: type: integer format: int64 description: InternalId for paypoint. PaypointLegalname: $ref: '#/components/schemas/type_:Legalname' description: Paypoint's legal name. PendingFeeAmount: $ref: '#/components/schemas/type_:PendingFeeAmount' RefundId: $ref: '#/components/schemas/type_:RefundId' ResponseData: $ref: '#/components/schemas/type_:QueryResponseData' ReturnedId: $ref: '#/components/schemas/type_:ReturnedId' ScheduleReference: type: integer format: int64 description: Reference to the subscription that originated the transaction. SettlementStatus: type: integer description: >- Settlement status for transaction. See [the docs](/developers/references/money-in-statuses#payment-funding-status) for a full reference. Source: $ref: '#/components/schemas/type_:Source' splitFundingInstructions: $ref: '#/components/schemas/type_:SplitFunding' TotalAmount: type: number format: double description: Transaction total amount (including service fee or sub-charge) TransactionEvents: type: array items: $ref: '#/components/schemas/type_:QueryTransactionEvents' description: Events associated with this transaction. TransactionTime: type: - string - 'null' format: date-time description: Transaction date and time, in UTC. TransAdditionalData: description: Any type TransStatus: type: integer description: >- Status of transaction. See [the docs](/developers/references/money-in-statuses#money-in-transaction-status) for a full reference. required: - TransactionTime title: TransactionQueryRecords type_:CustomerSummaryRecord: type: object properties: numberofTransactions: type: integer description: Number total of transactions or payments recentTransactions: type: array items: $ref: '#/components/schemas/type_:TransactionQueryRecords' description: List of more recent 5 transactions belonging to the customer totalAmountTransactions: type: number format: double description: Total amount in transactions totalNetAmountTransactions: type: number format: double description: Total net amount in transactions title: CustomerSummaryRecord type_:OrgParentId: type: integer format: int64 description: The ID of the org's parent organization. title: OrgParentId type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:OptinStatus: type: integer description: |- Customer's consent status. Allowed status: - 0: Customer hasn't opted in to communications - -1: Customer opt in pending - 1: Customer has opted in to communications title: OptinStatus type_:CustomerQueryRecordsCustomerConsentECommunication: type: object properties: status: $ref: '#/components/schemas/type_:OptinStatus' updatedAt: $ref: '#/components/schemas/type_:LastModified' description: Describes the customer's email communications consent status. title: CustomerQueryRecordsCustomerConsentECommunication type_:CustomerQueryRecordsCustomerConsentSms: type: object properties: status: $ref: '#/components/schemas/type_:OptinStatus' updatedAt: $ref: '#/components/schemas/type_:LastModified' description: Describes the customer's SMS communications consent status. title: CustomerQueryRecordsCustomerConsentSms type_:CustomerQueryRecordsCustomerConsent: type: object properties: eCommunication: $ref: >- #/components/schemas/type_:CustomerQueryRecordsCustomerConsentECommunication description: Describes the customer's email communications consent status. sms: $ref: '#/components/schemas/type_:CustomerQueryRecordsCustomerConsentSms' description: Describes the customer's SMS communications consent status. title: CustomerQueryRecordsCustomerConsent type_:CustomerQueryRecords: type: object properties: customerId: $ref: '#/components/schemas/type_:CustomerId' customerNumber: $ref: '#/components/schemas/type_:CustomerNumberNullable' customerUsername: type: string description: Username for customer. customerStatus: $ref: '#/components/schemas/type_:CustomerStatus' Company: type: string description: Company name. Firstname: type: string description: Customer first name. Lastname: type: string description: Customer last name. Phone: type: string description: Customer phone number. Email: $ref: '#/components/schemas/type_:Email' description: Customer email address. Address: type: string description: Customer address. Address1: type: string description: Additional line for customer address. City: type: string description: Customer city. State: type: string description: Customer state. Zip: type: string description: Customer postal code. Country: type: string description: Customer country. ShippingAddress: $ref: '#/components/schemas/type_:Shippingaddress' ShippingAddress1: $ref: '#/components/schemas/type_:Shippingaddressadditional' ShippingCity: $ref: '#/components/schemas/type_:Shippingcity' ShippingState: $ref: '#/components/schemas/type_:Shippingstate' ShippingZip: $ref: '#/components/schemas/type_:Shippingzip' ShippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' Balance: type: number format: double description: Customer balance. TimeZone: $ref: '#/components/schemas/type_:Timezone' MFA: $ref: '#/components/schemas/type_:Mfa' MFAMode: $ref: '#/components/schemas/type_:MfaMode' snProvider: type: string description: |- Social network linked to customer. Possible values: - `facebook` - `google` - `twitter` - `microsoft` snIdentifier: type: string description: Identifier or token for customer in linked social network. snData: type: string description: >- Additional data provided by the social network related to the customer. LastUpdated: type: string format: date-time description: Date and time of last update. Created: type: string format: date-time description: Date and time created. AdditionalFields: type: object additionalProperties: type: string description: List of additional custom fields in format key:value. IdentifierFields: $ref: '#/components/schemas/type_:Identifierfields' Subscriptions: type: array items: $ref: '#/components/schemas/type_:SubscriptionQueryRecords' description: List of subscriptions associated to the customer. StoredMethods: type: array items: $ref: '#/components/schemas/type_:MethodQueryRecords' description: List of payment methods associated to the customer. customerSummary: $ref: '#/components/schemas/type_:CustomerSummaryRecord' PaypointLegalname: $ref: '#/components/schemas/type_:Legalname' description: Paypoint legal name. PaypointDbaname: $ref: '#/components/schemas/type_:Dbaname' description: Paypoint DBA name. ParentOrgName: $ref: '#/components/schemas/type_:OrgParentName' ParentOrgId: $ref: '#/components/schemas/type_:OrgParentId' PaypointEntryname: $ref: '#/components/schemas/type_:Entrypointfield' pageidentifier: $ref: '#/components/schemas/type_:PageIdentifier' externalPaypointID: $ref: '#/components/schemas/type_:ExternalPaypointId' customerConsent: $ref: '#/components/schemas/type_:CustomerQueryRecordsCustomerConsent' title: CustomerQueryRecords type_:Pagesize: type: integer description: Number of records on each response page. title: Pagesize type_:Totalrecords: type: integer description: Total number of records in response. title: Totalrecords type_:QuerySummary: type: object properties: pageIdentifier: $ref: '#/components/schemas/type_:PageIdentifier' pageSize: $ref: '#/components/schemas/type_:Pagesize' totalAmount: type: number format: double description: Total amount for the records. totalNetAmount: type: number format: double description: Total net amount for the records. totalPages: $ref: '#/components/schemas/type_:Totalrecords' totalRecords: $ref: '#/components/schemas/type_:Totalrecords' title: QuerySummary type_:QueryCustomerResponse: type: object properties: Records: type: array items: $ref: '#/components/schemas/type_:CustomerQueryRecords' Summary: $ref: '#/components/schemas/type_:QuerySummary' title: QueryCustomerResponse type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript example1 import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.query.listCustomersOrg(123, { fromRecord: 251, limitRecord: 0, sortBy: "desc(field_name)", }); } main(); ``` ```python example1 from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.query.list_customers_org( org_id=123, from_record=251, limit_record=0, sort_by="desc(field_name)", ) ``` ```csharp example1 using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Query.ListCustomersOrgAsync( 123, new ListCustomersOrgRequest { FromRecord = 251, LimitRecord = 0, SortBy = "desc(field_name)" } ); } } ``` ```go example1 package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Query/customers/org/123?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby example1 require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Query/customers/org/123?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java example1 import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Query/customers/org/123?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29") .header("requestToken", "") .asString(); ``` ```php example1 request('GET', 'https://api-sandbox.payabli.com/api/Query/customers/org/123?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift example1 import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Query/customers/org/123?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Export customers for paypoint GET https://api-sandbox.payabli.com/api/Export/customers/{format}/{entry} Export a list of customers for an entrypoint. Use filters to limit results. Reference: https://docs.payabli.com/developers/api-reference/customer/export-list-of-customers-for-entrypoint ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Export/customers/{format}/{entry}: get: operationId: export-customers summary: Export list of customers for entrypoint description: >- Export a list of customers for an entrypoint. Use filters to limit results. tags: - subpackage_export parameters: - name: format in: path description: 'Format for the export, either XLSX or CSV. ' required: true schema: $ref: '#/components/schemas/type_export:ExportFormat1' - name: entry in: path description: >- The paypoint's entrypoint identifier. [Learn more](/developers/api-reference/api-overview#entrypoint-vs-entry) required: true schema: type: string - name: columnsExport in: query required: false schema: type: string - name: fromRecord in: query description: >- The number of records to skip before starting to collect the result set. required: false schema: type: integer default: 0 - name: limitRecord in: query description: >- The number of records to return for the query. The maximum is 30,000 records. When this parameter isn't sent, the API returns up to 25,000 records. required: false schema: type: integer default: 25000 - name: parameters in: query description: >- Collection of field names, conditions, and values used to filter the query. **You must remove `parameters=` from the request before you send it, otherwise Payabli will ignore the filters.** Because of a technical limitation, you can't make a request that includes filters from the API console on this page. The response won't be filtered. Instead, copy the request, remove `parameters=` and run the request in a different client. For example: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?parameters=totalAmount(gt)=1000&limitRecord=20 should become: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?totalAmount(gt)=1000&limitRecord=20 See [Filters and Conditions Reference](/developers/developer-guides/pay-ops-reporting-engine-overview#filters-and-conditions-reference) for help. **List of field names accepted:** - `createdDate` (gt, ge, lt, le, eq, ne) - `customernumber` (ne, eq, ct, nct) - `firstname` (ne, eq, ct, nct) - `lastname` (ne, eq, ct, nct) - `name` (ct, nct) - `address` (ne, eq, ct, nct) - `city` (ne, eq, ct, nct) - `country` (ne, eq, ct, nct) - `zip` (ne, eq, ct, nct) - `state` (ne, eq, ct, nct) - `shippingaddress` (ne, eq, ct, nct) - `shippingcity` (ne, eq, ct, nct) - `shippingcountry` (ne, eq, ct, nct) - `shippingzip` (ne, eq, ct, nct) - `shippingstate` (ne, eq, ct, nct) - `phone` (ne, eq, ct, nct) - `email` (ne, eq, ct, nct) - `company` (ne, eq, ct, nct) - `username` (ne, eq, ct, nct) - `balance` (gt, ge, lt, le, eq, ne) - `status` (in, nin, eq, ne) - `additional-xxx` (ne, eq, ct, nct) where xxx is the additional field name - `orgId` (eq) *mandatory when entry=org* - `paypointId` (ne, eq) - `paypointLegal` (ne, eq, ct, nct) - `paypointDba` (ne, eq, ct, nct) - `orgName` (ne, eq, ct, nct) **List of comparison accepted - enclosed between parentheses:** - eq or empty => equal - gt => greater than - ge => greater or equal - lt => less than - le => less or equal - ne => not equal - ct => contains - nct => not contains - in => inside array separated by "|" - nin => not inside array separated by "|" **List of parameters accepted:** - limitRecord: max number of records for query (default="20", "0" or negative value for all) - fromRecord: initial record in query **Example:** balance(gt)=20 return all records with balance greater than 20.00 required: false schema: type: object additionalProperties: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:File' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_export:ExportFormat1: type: string enum: - csv - xlsx title: ExportFormat1 type_:File: type: object additionalProperties: description: Any type description: >- A file containing the response data, in the format specified in the request. title: File type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.export.exportCustomers("8cfec329267", "csv", { columnsExport: "BatchDate:Batch_Date,PaypointName:Legal_name", fromRecord: 251, limitRecord: 1000, }); } main(); ``` ```python from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.export.export_customers( entry="8cfec329267", format="csv", columns_export="BatchDate:Batch_Date,PaypointName:Legal_name", from_record=251, limit_record=1000, ) ``` ```csharp using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Export.ExportCustomersAsync( ExportFormat1.Csv, "8cfec329267", new ExportCustomersRequest { ColumnsExport = "BatchDate:Batch_Date,PaypointName:Legal_name", FromRecord = 251, LimitRecord = 1000 } ); } } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Export/customers/csv/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Export/customers/csv/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Export/customers/csv/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000") .header("requestToken", "") .asString(); ``` ```php request('GET', 'https://api-sandbox.payabli.com/api/Export/customers/csv/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Export/customers/csv/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Export customers by org GET https://api-sandbox.payabli.com/api/Export/customers/{format}/org/{orgId} Exports a list of customers for an organization. Use filters to limit results. Reference: https://docs.payabli.com/developers/api-reference/customer/export-list-of-customers-for-organization ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Export/customers/{format}/org/{orgId}: get: operationId: export-customers-org summary: Export list of customers for organization description: >- Exports a list of customers for an organization. Use filters to limit results. tags: - subpackage_export parameters: - name: format in: path description: 'Format for the export, either XLSX or CSV. ' required: true schema: $ref: '#/components/schemas/type_export:ExportFormat1' - name: orgId in: path description: The numeric identifier for organization, assigned by Payabli. required: true schema: type: integer - name: columnsExport in: query required: false schema: type: string - name: fromRecord in: query description: >- The number of records to skip before starting to collect the result set. required: false schema: type: integer default: 0 - name: limitRecord in: query description: >- The number of records to return for the query. The maximum is 30,000 records. When this parameter isn't sent, the API returns up to 25,000 records. required: false schema: type: integer default: 25000 - name: parameters in: query description: >- Collection of field names, conditions, and values used to filter the query. **You must remove `parameters=` from the request before you send it, otherwise Payabli will ignore the filters.** Because of a technical limitation, you can't make a request that includes filters from the API console on this page. The response won't be filtered. Instead, copy the request, remove `parameters=` and run the request in a different client. For example: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?parameters=totalAmount(gt)=1000&limitRecord=20 should become: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?totalAmount(gt)=1000&limitRecord=20 See [Filters and Conditions Reference](/developers/developer-guides/pay-ops-reporting-engine-overview#filters-and-conditions-reference) for help. **List of field names accepted:** - `createdDate` (gt, ge, lt, le, eq, ne) - `customernumber` (ne, eq, ct, nct) - `firstname` (ne, eq, ct, nct) - `lastname` (ne, eq, ct, nct) - `name` (ct, nct) - `address` (ne, eq, ct, nct) - `city` (ne, eq, ct, nct) - `country` (ne, eq, ct, nct) - `zip` (ne, eq, ct, nct) - `state` (ne, eq, ct, nct) - `shippingaddress` (ne, eq, ct, nct) - `shippingcity` (ne, eq, ct, nct) - `shippingcountry` (ne, eq, ct, nct) - `shippingzip` (ne, eq, ct, nct) - `shippingstate` (ne, eq, ct, nct) - `phone` (ne, eq, ct, nct) - `email` (ne, eq, ct, nct) - `company` (ne, eq, ct, nct) - `username` (ne, eq, ct, nct) - `balance` (gt, ge, lt, le, eq, ne) - `status` (in, nin, eq, ne) - `additional-xxx` (ne, eq, ct, nct) where xxx is the additional field name - `orgId` (eq) *mandatory when entry=org* - `paypointId` (ne, eq) - `paypointLegal` (ne, eq, ct, nct) - `paypointDba` (ne, eq, ct, nct) - `orgName` (ne, eq, ct, nct) **List of comparison accepted - enclosed between parentheses:** - eq or empty => equal - gt => greater than - ge => greater or equal - lt => less than - le => less or equal - ne => not equal - ct => contains - nct => not contains - in => inside array separated by "|" - nin => not inside array separated by "|" **List of parameters accepted:** - limitRecord: max number of records for query (default="20", "0" or negative value for all) - fromRecord: initial record in query **Example:** balance(gt)=20 return all records with balance greater than 20.00 required: false schema: type: object additionalProperties: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:File' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_export:ExportFormat1: type: string enum: - csv - xlsx title: ExportFormat1 type_:File: type: object additionalProperties: description: Any type description: >- A file containing the response data, in the format specified in the request. title: File type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.export.exportCustomersOrg("csv", 123, { columnsExport: "BatchDate:Batch_Date,PaypointName:Legal_name", fromRecord: 251, limitRecord: 1000, }); } main(); ``` ```python from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.export.export_customers_org( format="csv", org_id=123, columns_export="BatchDate:Batch_Date,PaypointName:Legal_name", from_record=251, limit_record=1000, ) ``` ```csharp using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Export.ExportCustomersOrgAsync( ExportFormat1.Csv, 123, new ExportCustomersOrgRequest { ColumnsExport = "BatchDate:Batch_Date,PaypointName:Legal_name", FromRecord = 251, LimitRecord = 1000 } ); } } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Export/customers/csv/org/123?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Export/customers/csv/org/123?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Export/customers/csv/org/123?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000") .header("requestToken", "") .asString(); ``` ```php request('GET', 'https://api-sandbox.payabli.com/api/Export/customers/csv/org/123?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Export/customers/csv/org/123?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Get customer stats GET https://api-sandbox.payabli.com/api/Statistic/customerbasic/{mode}/{freq}/{customerId} Retrieves the basic statistics for a customer for a specific time period, grouped by a selected frequency. Reference: https://docs.payabli.com/developers/api-reference/customer/get-basic-statistics-for-a-customer ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Statistic/customerbasic/{mode}/{freq}/{customerId}: get: operationId: customer-basic-stats summary: Get basic statistics for a customer description: >- Retrieves the basic statistics for a customer for a specific time period, grouped by a selected frequency. tags: - subpackage_statistic parameters: - name: mode in: path description: |- Mode for request. Allowed values: - `ytd` - Year To Date - `mtd` - Month To Date - `wtd` - Week To Date - `today` - All current day - `m12` - Last 12 months - `d30` - Last 30 days - `h24` - Last 24 hours - `lasty` - Last Year - `lastm` - Last Month - `lastw` - Last Week - `yesterday` - Last Day required: true schema: type: string - name: freq in: path description: |- Frequency to group series. Allowed values: - `m` - monthly - `w` - weekly - `d` - daily - `h` - hourly For example, `w` groups the results by week. required: true schema: type: string - name: customerId in: path description: >- Payabli-generated customer ID. Maps to "Customer ID" column in PartnerHub. required: true schema: type: integer - name: parameters in: query description: List of parameters. required: false schema: type: object additionalProperties: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: type: array items: $ref: >- #/components/schemas/type_statistic:SubscriptionStatsQueryRecord '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_statistic:SubscriptionStatsQueryRecord: type: object properties: interval: type: string description: Time interval identifier count: type: integer description: Number of subscriptions volume: type: number format: double description: Subscription volume required: - interval - count - volume title: SubscriptionStatsQueryRecord type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript CustomerBasicStatsExample import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.statistic.customerBasicStats(998, "m", "ytd", {}); } main(); ``` ```python CustomerBasicStatsExample from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.statistic.customer_basic_stats( customer_id=998, freq="m", mode="ytd", ) ``` ```csharp CustomerBasicStatsExample using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Statistic.CustomerBasicStatsAsync( "ytd", "m", 998, new CustomerBasicStatsRequest() ); } } ``` ```go CustomerBasicStatsExample package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Statistic/customerbasic/ytd/m/998" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby CustomerBasicStatsExample require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Statistic/customerbasic/ytd/m/998") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java CustomerBasicStatsExample import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Statistic/customerbasic/ytd/m/998") .header("requestToken", "") .asString(); ``` ```php CustomerBasicStatsExample request('GET', 'https://api-sandbox.payabli.com/api/Statistic/customerbasic/ytd/m/998', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift CustomerBasicStatsExample import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Statistic/customerbasic/ytd/m/998")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Register device POST https://api-sandbox.payabli.com/api/Cloud/register/{entry} Content-Type: application/json Register a cloud device to an entrypoint. See [Devices Quickstart](/developers/developer-guides/devices-quickstart#devices-quickstart) for a complete guide. Reference: https://docs.payabli.com/developers/api-reference/cloud/register-cloud-device ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Cloud/register/{entry}: post: operationId: add-device summary: Register cloud device description: >- Register a cloud device to an entrypoint. See [Devices Quickstart](/developers/developer-guides/devices-quickstart#devices-quickstart) for a complete guide. tags: - subpackage_cloud parameters: - name: entry in: path description: >- The paypoint's entrypoint identifier. [Learn more](/developers/api-reference/api-overview#entrypoint-vs-entry) required: true schema: type: string - name: requestToken in: header required: true schema: type: string - name: idempotencyKey in: header required: false schema: $ref: '#/components/schemas/type_:IdempotencyKey' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_cloud:AddDeviceResponse' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' requestBody: content: application/json: schema: type: object properties: description: type: string description: >- Description or name for the device. This can be anything, but Payabli recommends entering the name of the paypoint, or some other easy to identify descriptor. If you have several devices for one paypoint, you can give them descriptions like "Cashier 1" and "Cashier 2", or "Front Desk" and "Back Office" registrationCode: type: string description: >- The device registration code or serial number, depending on the model. - Ingenico devices: This is the activation code that's displayed on the device screen during setup. - PAX A920 device: This code is the serial number on the back of the device. servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:IdempotencyKey: type: string description: >- _Optional but recommended_ A unique ID that you can include to prevent duplicating objects or transactions in the case that a request is sent more than once. This key isn't generated in Payabli, you must generate it yourself. This key persists for 2 minutes. After 2 minutes, you can reuse the key if needed. title: IdempotencyKey type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_cloud:AddDeviceResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseText: $ref: '#/components/schemas/type_:ResponseText' pageIdentifier: $ref: '#/components/schemas/type_:PageIdentifier' responseData: type: string description: |- If `isSuccess` = true, this contains the device identifier. If `isSuccess` = false, this contains the reason for the error. required: - responseText title: AddDeviceResponse type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript Register import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.cloud.addDevice("8cfec329267", { description: "Front Desk POS", registrationCode: "YS7DS5", }); } main(); ``` ```python Register from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.cloud.add_device( entry="8cfec329267", description="Front Desk POS", registration_code="YS7DS5", ) ``` ```csharp Register using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Cloud.AddDeviceAsync( "8cfec329267", new DeviceEntry { Description = "Front Desk POS", RegistrationCode = "YS7DS5" } ); } } ``` ```go Register package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Cloud/register/8cfec329267" payload := strings.NewReader("{\n \"description\": \"Front Desk POS\",\n \"registrationCode\": \"YS7DS5\"\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Register require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Cloud/register/8cfec329267") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"description\": \"Front Desk POS\",\n \"registrationCode\": \"YS7DS5\"\n}" response = http.request(request) puts response.read_body ``` ```java Register import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/Cloud/register/8cfec329267") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"description\": \"Front Desk POS\",\n \"registrationCode\": \"YS7DS5\"\n}") .asString(); ``` ```php Register request('POST', 'https://api-sandbox.payabli.com/api/Cloud/register/8cfec329267', [ 'body' => '{ "description": "Front Desk POS", "registrationCode": "YS7DS5" }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift Register import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "description": "Front Desk POS", "registrationCode": "YS7DS5" ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Cloud/register/8cfec329267")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # List devices GET https://api-sandbox.payabli.com/api/Cloud/list/{entry} Get a list of cloud devices registered to an entrypoint. Reference: https://docs.payabli.com/developers/api-reference/cloud/list-registered-devices-in-cloud ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Cloud/list/{entry}: get: operationId: list-device summary: List registered devices in cloud description: Get a list of cloud devices registered to an entrypoint. tags: - subpackage_cloud parameters: - name: entry in: path description: >- The paypoint's entrypoint identifier. [Learn more](/developers/api-reference/api-overview#entrypoint-vs-entry) required: true schema: type: string - name: forceRefresh in: query description: >- When `true`, the request retrieves an updated list of devices from the processor instead of returning a cached list of devices. required: false schema: type: boolean - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:CloudQueryApiResponse' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:PoiDevice: type: object properties: connected: type: boolean description: The device connection status. dateDeRegistered: type: string format: date-time description: The date the device was unregistered. dateRegistered: type: string format: date-time description: The date the device was registered. deviceId: type: string description: The device identifier. deviceLicense: type: string description: Device license. This is typically the same as `deviceId`. deviceNickName: type: string description: Device description provided during registration. lastConnectedDate: type: string format: date-time description: Last connected date. lastDisconnectedDate: type: string format: date-time description: Last disconnected date. lastTransactionDate: type: string format: date-time description: Last transaction date. make: type: string description: The device manufacturer. model: type: string description: The device model. registered: type: boolean description: The device registration status. serialNumber: type: string description: The device serial number. description: >- Information about the point of interaction device (also known as a terminal or cloud device) used to process the transaction. title: PoiDevice type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:CloudQueryApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseList: type: array items: $ref: '#/components/schemas/type_:PoiDevice' description: List of devices and history of registration. responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText description: >- Object containing details about cloud devices and their registration history. title: CloudQueryApiResponse type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript ListDevices import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.cloud.listDevice("8cfec329267", {}); } main(); ``` ```python ListDevices from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.cloud.list_device( entry="8cfec329267", ) ``` ```csharp ListDevices using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Cloud.ListDeviceAsync( "8cfec329267", new ListDeviceRequest() ); } } ``` ```go ListDevices package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Cloud/list/8cfec329267" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby ListDevices require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Cloud/list/8cfec329267") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java ListDevices import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Cloud/list/8cfec329267") .header("requestToken", "") .asString(); ``` ```php ListDevices request('GET', 'https://api-sandbox.payabli.com/api/Cloud/list/8cfec329267', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift ListDevices import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Cloud/list/8cfec329267")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Get device history GET https://api-sandbox.payabli.com/api/Cloud/history/{entry}/{deviceId} Retrieve the registration history for a device. Reference: https://docs.payabli.com/developers/api-reference/cloud/get-registration-history-for-device ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Cloud/history/{entry}/{deviceId}: get: operationId: history-device summary: Get registration history for device description: 'Retrieve the registration history for a device. ' tags: - subpackage_cloud parameters: - name: entry in: path description: >- The paypoint's entrypoint identifier. [Learn more](/developers/api-reference/api-overview#entrypoint-vs-entry) required: true schema: type: string - name: deviceId in: path description: 'ID of the cloud device. ' required: true schema: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:CloudQueryApiResponse' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:PoiDevice: type: object properties: connected: type: boolean description: The device connection status. dateDeRegistered: type: string format: date-time description: The date the device was unregistered. dateRegistered: type: string format: date-time description: The date the device was registered. deviceId: type: string description: The device identifier. deviceLicense: type: string description: Device license. This is typically the same as `deviceId`. deviceNickName: type: string description: Device description provided during registration. lastConnectedDate: type: string format: date-time description: Last connected date. lastDisconnectedDate: type: string format: date-time description: Last disconnected date. lastTransactionDate: type: string format: date-time description: Last transaction date. make: type: string description: The device manufacturer. model: type: string description: The device model. registered: type: boolean description: The device registration status. serialNumber: type: string description: The device serial number. description: >- Information about the point of interaction device (also known as a terminal or cloud device) used to process the transaction. title: PoiDevice type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:CloudQueryApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseList: type: array items: $ref: '#/components/schemas/type_:PoiDevice' description: List of devices and history of registration. responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText description: >- Object containing details about cloud devices and their registration history. title: CloudQueryApiResponse type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript Example response for GET requests for devices. import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.cloud.historyDevice("WXGDWB", "8cfec329267"); } main(); ``` ```python Example response for GET requests for devices. from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.cloud.history_device( device_id="WXGDWB", entry="8cfec329267", ) ``` ```csharp Example response for GET requests for devices. using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Cloud.HistoryDeviceAsync( "8cfec329267", "WXGDWB" ); } } ``` ```go Example response for GET requests for devices. package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Cloud/history/8cfec329267/WXGDWB" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Example response for GET requests for devices. require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Cloud/history/8cfec329267/WXGDWB") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java Example response for GET requests for devices. import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Cloud/history/8cfec329267/WXGDWB") .header("requestToken", "") .asString(); ``` ```php Example response for GET requests for devices. request('GET', 'https://api-sandbox.payabli.com/api/Cloud/history/8cfec329267/WXGDWB', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift Example response for GET requests for devices. import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Cloud/history/8cfec329267/WXGDWB")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Unregister device DELETE https://api-sandbox.payabli.com/api/Cloud/register/{entry}/{deviceId} Remove a cloud device from an entrypoint. Reference: https://docs.payabli.com/developers/api-reference/cloud/unregister-cloud-device ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Cloud/register/{entry}/{deviceId}: delete: operationId: remove-device summary: Unregister cloud device description: Remove a cloud device from an entrypoint. tags: - subpackage_cloud parameters: - name: entry in: path description: >- The paypoint's entrypoint identifier. [Learn more](/developers/api-reference/api-overview#entrypoint-vs-entry) required: true schema: type: string - name: deviceId in: path description: 'ID of the cloud device. ' required: true schema: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_cloud:RemoveDeviceResponse' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_cloud:RemoveDeviceResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseText: $ref: '#/components/schemas/type_:ResponseText' pageIdentifier: $ref: '#/components/schemas/type_:PageIdentifier' responseData: type: string description: |- If `isSuccess` = true, this contains the device identifier. If `isSuccess` = false, this contains the reason for the error. required: - responseText title: RemoveDeviceResponse type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript Unregister import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.cloud.removeDevice("6c361c7d-674c-44cc-b790-382b75d1xxx", "8cfec329267"); } main(); ``` ```python Unregister from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.cloud.remove_device( device_id="6c361c7d-674c-44cc-b790-382b75d1xxx", entry="8cfec329267", ) ``` ```csharp Unregister using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Cloud.RemoveDeviceAsync( "8cfec329267", "6c361c7d-674c-44cc-b790-382b75d1xxx" ); } } ``` ```go Unregister package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Cloud/register/8cfec329267/6c361c7d-674c-44cc-b790-382b75d1xxx" req, _ := http.NewRequest("DELETE", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Unregister require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Cloud/register/8cfec329267/6c361c7d-674c-44cc-b790-382b75d1xxx") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Delete.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java Unregister import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.delete("https://api-sandbox.payabli.com/api/Cloud/register/8cfec329267/6c361c7d-674c-44cc-b790-382b75d1xxx") .header("requestToken", "") .asString(); ``` ```php Unregister request('DELETE', 'https://api-sandbox.payabli.com/api/Cloud/register/8cfec329267/6c361c7d-674c-44cc-b790-382b75d1xxx', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift Unregister import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Cloud/register/8cfec329267/6c361c7d-674c-44cc-b790-382b75d1xxx")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "DELETE" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Create invoice POST https://api-sandbox.payabli.com/api/Invoice/{entry} Content-Type: application/json Creates an invoice in an entrypoint. Reference: https://docs.payabli.com/developers/api-reference/invoice/add-invoice ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Invoice/{entry}: post: operationId: add-invoice summary: Add invoice description: Creates an invoice in an entrypoint. tags: - subpackage_invoice parameters: - name: entry in: path description: >- The paypoint's entrypoint identifier. [Learn more](/developers/api-reference/api-overview#entrypoint-vs-entry) required: true schema: type: string - name: forceCustomerCreation in: query required: false schema: $ref: '#/components/schemas/type_:ForceCustomerCreation' - name: requestToken in: header required: true schema: type: string - name: idempotencyKey in: header required: false schema: $ref: '#/components/schemas/type_:IdempotencyKey' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_invoice:InvoiceResponseWithoutData' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/type_invoice:InvoiceDataRequest' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:ForceCustomerCreation: type: boolean description: >- When `true`, the request creates a new customer record, regardless of whether customer identifiers match an existing customer. Defaults to `false`. title: ForceCustomerCreation type_:IdempotencyKey: type: string description: >- _Optional but recommended_ A unique ID that you can include to prevent duplicating objects or transactions in the case that a request is sent more than once. This key isn't generated in Payabli, you must generate it yourself. This key persists for 2 minutes. After 2 minutes, you can reuse the key if needed. title: IdempotencyKey type_:AdditionalData: type: object additionalProperties: type: object additionalProperties: description: Any type description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. If you are using [custom identifiers](/developers/developer-guides/entities-customers), pass those in this object. Max length for a value is 100 characters. Example usage: ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalData type_:BillingAddressNullable: type: string description: Billing address. title: BillingAddressNullable type_:BillingAddressAddtlNullable: type: string description: Additional line for the billing address. title: BillingAddressAddtlNullable type_:BillingCityNullable: type: string description: Billing city. title: BillingCityNullable type_:BillingCountryNullable: type: string description: Billing address country. title: BillingCountryNullable type_:Email: type: string format: email description: Email address. title: Email type_:PhoneNumber: type: string description: Phone number. title: PhoneNumber type_:BillingStateNullable: type: string description: Billing state. Must be 2-letter state code for address in US. title: BillingStateNullable type_:BillingZip: type: string description: Billing address ZIP code. title: BillingZip type_:CustomerId: type: integer format: int64 description: The Payabli-generated unique ID for the customer. title: CustomerId type_:CustomerNumberNullable: type: string description: >- User-provided unique identifier for the customer. This is typically the customer ID from your own system. title: CustomerNumberNullable type_:Identifierfields: type: array items: type: string description: >- List of fields acting as customer identifiers, to be used instead of CustomerNumber. title: Identifierfields type_:Shippingaddress: type: string description: The shipping address. title: Shippingaddress type_:Shippingaddressadditional: type: string description: Additional line for shipping address. title: Shippingaddressadditional type_:Shippingcity: type: string description: Shipping city. title: Shippingcity type_:Shippingcountry: type: string description: Shipping address country. title: Shippingcountry type_:Shippingstate: type: string description: Shipping state or province. title: Shippingstate type_:Shippingzip: type: string description: >- Shipping ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". title: Shippingzip type_:PayorDataRequest: type: object properties: additionalData: $ref: '#/components/schemas/type_:AdditionalData' billingAddress1: $ref: '#/components/schemas/type_:BillingAddressNullable' billingAddress2: $ref: '#/components/schemas/type_:BillingAddressAddtlNullable' billingCity: $ref: '#/components/schemas/type_:BillingCityNullable' billingCountry: $ref: '#/components/schemas/type_:BillingCountryNullable' billingEmail: $ref: '#/components/schemas/type_:Email' billingPhone: $ref: '#/components/schemas/type_:PhoneNumber' billingState: $ref: '#/components/schemas/type_:BillingStateNullable' billingZip: $ref: '#/components/schemas/type_:BillingZip' description: >- Customer's billing ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". company: type: string description: Customer's company name. customerId: $ref: '#/components/schemas/type_:CustomerId' customerNumber: $ref: '#/components/schemas/type_:CustomerNumberNullable' firstName: type: string description: Customer/Payor first name. identifierFields: $ref: '#/components/schemas/type_:Identifierfields' lastName: type: string description: Customer/Payor last name. shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' description: >- Customer information. May be required, depending on the paypoint's settings. Required for subscriptions. title: PayorDataRequest type_:AdditionalDataMap: type: object additionalProperties: type: string description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalDataMap type_:FileContentFtype: type: string enum: - pdf - doc - docx - jpg - jpeg - png - gif - txt description: The MIME type of the file (if content is provided) title: FileContentFtype type_:FileContent: type: object properties: fContent: type: string description: >- Content of file, Base64-encoded. Ignored if furl is specified. Max upload size is 30 MB. filename: type: string description: The name of the attached file. ftype: $ref: '#/components/schemas/type_:FileContentFtype' description: The MIME type of the file (if content is provided) furl: type: string description: Optional URL provided to show or download the file remotely description: Contains details about a file. Max upload size is 30 MB. title: FileContent type_:Attachments: type: array items: $ref: '#/components/schemas/type_:FileContent' description: >- Array of `fileContent` objects with attached documents. Max upload size is 30 MB. title: Attachments type_:Discount: type: number format: double description: Discount applied to the invoice. title: Discount type_:DutyAmount: type: number format: double description: Duty amount. title: DutyAmount type_:FreightAmount: type: number format: double description: Freight/shipping amount. title: FreightAmount type_:Frequency: type: string enum: - onetime - weekly - every2weeks - every6months - monthly - every3months - annually description: Frequency for operation. title: Frequency type_:InvoiceAmount: type: number format: double description: Invoice total amount. title: InvoiceAmount type_:InvoiceNumber: type: string description: >- Custom number identifying the bill or invoice. Must be unique in paypoint. title: InvoiceNumber type_:Invoicestatus: type: integer description: |- Status for invoice. The accepted status values are: - 0 draft - 1 active - 2 partially paid - 4 paid/complete - 99 cancelled title: Invoicestatus type_:InvoiceType: type: integer description: Type of invoice. Only `0` for one-time invoices is currently supported. title: InvoiceType type_:ItemCommodityCode: type: string description: Item or product commodity code. Max length of 250 characters. title: ItemCommodityCode type_:ItemDescription: type: string description: Item or product description. Max length of 250 characters. title: ItemDescription type_:ItemProductCode: type: string description: Item or product code. Max length of 250 characters. title: ItemProductCode type_:ItemProductName: type: string description: Item or product name. Max length of 250 characters. title: ItemProductName type_:ItemUnitofMeasure: type: string description: Unit of measurement. Max length of 100 characters. title: ItemUnitofMeasure type_:BillItem: type: object properties: itemCategories: type: array items: type: string description: Array of tags classifying item or product. itemCommodityCode: $ref: '#/components/schemas/type_:ItemCommodityCode' itemCost: type: number format: double description: Item or product price per unit. itemDescription: $ref: '#/components/schemas/type_:ItemDescription' itemMode: type: integer description: >- Internal class of item or product: value '0' is only for invoices , '1' for bills and, '2' common for both. itemProductCode: $ref: '#/components/schemas/type_:ItemProductCode' itemProductName: $ref: '#/components/schemas/type_:ItemProductName' itemQty: type: integer description: Quantity of item or product. itemTaxAmount: type: number format: double description: Tax amount applied to item or product. itemTaxRate: type: number format: double description: Tax rate applied to item or product. itemTotalAmount: type: number format: double description: Total amount in item or product. itemUnitOfMeasure: $ref: '#/components/schemas/type_:ItemUnitofMeasure' required: - itemCost title: BillItem type_:BillDataPaymentTerms: type: string enum: - PIA - CIA - UR - NET10 - NET20 - NET30 - NET45 - NET60 - NET90 - EOM - MFI - 5MFI - 10MFI - 15MFI - 20MFI - 2/10NET30 - UF - 10UF - 20UF - 25UF - 50UF description: >- Payment terms for invoice. If no terms are defined, then response data for this field defaults to `NET30`. **Available Values:** - `PIA`: Payment in advance - `CIA`: Cash in advance - `UR`: Upon receipt - `NET10`: 10 days after invoice date - `NET20`: 20 days after invoice date - `NET30`: 30 days after invoice date - `NET45`: 45 days after invoice date - `NET60`: 60 days after invoice date - `NET90`: 90 days after invoice date - `EOM`: Due end of this month - `MFI`: 1st of the month following the invoice date - `5MFI`: 5th of the month following the invoice date - `10MFI`: 10th of the month following the invoice date - `15MFI`: 15th of the month following the invoice date - `20MFI`: 20th of the month following the invoice date - `2/10NET30`: 2% discount if paid within 10 days, otherwise net 30 days - `UF`: Until further notice - `10UF`: 10 days until further notice - `20UF`: 20 days until further notice - `25UF`: 25 days until further notice - `50UF`: 50 days until further notice title: BillDataPaymentTerms type_:PurchaseOrder: type: string description: Purchase order number. title: PurchaseOrder type_:ShippingFromZip: type: string description: Sender shipping ZIP code. title: ShippingFromZip type_:SummaryCommodityCode: type: string description: Commodity code. title: SummaryCommodityCode type_:Tax: type: number format: double description: Tax rate in percent applied to the invoice. title: Tax type_:TermsConditions: type: string description: Custom terms and conditions included in the invoice. title: TermsConditions type_:BillData: type: object properties: AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' attachments: $ref: '#/components/schemas/type_:Attachments' company: type: string description: Company name of the recipient of the invoice. discount: $ref: '#/components/schemas/type_:Discount' dutyAmount: $ref: '#/components/schemas/type_:DutyAmount' firstName: type: string description: First name of the recipient of the invoice. freightAmount: $ref: '#/components/schemas/type_:FreightAmount' frequency: $ref: '#/components/schemas/type_:Frequency' description: Frequency of scheduled invoice. invoiceAmount: $ref: '#/components/schemas/type_:InvoiceAmount' invoiceDate: type: string format: date description: 'Invoice date in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY.' invoiceDueDate: type: string format: date description: >- Invoice due date in one of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceEndDate: type: string format: date description: >- Indicate the date to finish a scheduled invoice cycle (`invoiceType`` = 1) in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceNumber: $ref: '#/components/schemas/type_:InvoiceNumber' description: Invoice number. Identifies the invoice under a paypoint. invoiceStatus: $ref: '#/components/schemas/type_:Invoicestatus' invoiceType: $ref: '#/components/schemas/type_:InvoiceType' items: type: array items: $ref: '#/components/schemas/type_:BillItem' description: Array of line items included in the invoice. lastName: type: string description: Last name of the recipient of the invoice. notes: type: string description: Notes included in the invoice. paymentTerms: $ref: '#/components/schemas/type_:BillDataPaymentTerms' purchaseOrder: $ref: '#/components/schemas/type_:PurchaseOrder' shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' shippingEmail: $ref: '#/components/schemas/type_:Email' description: Shipping recipient's contact email address. shippingFromZip: $ref: '#/components/schemas/type_:ShippingFromZip' shippingPhone: type: string description: Recipient phone number. shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' summaryCommodityCode: $ref: '#/components/schemas/type_:SummaryCommodityCode' tax: $ref: '#/components/schemas/type_:Tax' termsConditions: $ref: '#/components/schemas/type_:TermsConditions' title: BillData type_:BillOptions: type: object properties: includePaylink: type: boolean description: Flag to indicate if the scheduled invoice includes a payment link. includePdf: type: boolean description: >- Flag to indicate if the scheduled invoice includes a PDF version of invoice title: BillOptions type_invoice:InvoiceDataRequest: type: object properties: customerData: $ref: '#/components/schemas/type_:PayorDataRequest' description: >- Object describing the customer/payor. Required for POST requests. Which fields are required depends on the paypoint's custom identifier settings. invoiceData: $ref: '#/components/schemas/type_:BillData' description: Object describing the invoice. Required for POST requests. scheduledOptions: $ref: '#/components/schemas/type_:BillOptions' description: Object with options for scheduled invoices. title: InvoiceDataRequest type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsecode: type: integer description: >- Code for the response. Learn more in [API Response Codes](/developers/api-reference/api-responses). title: Responsecode type_:Responsedatanonobject: oneOf: - type: string - type: integer description: The response data. title: Responsedatanonobject type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:RoomIdNotInUse: type: integer format: int64 description: Field not in use on this endpoint. It always returns `0`. title: RoomIdNotInUse type_invoice:InvoiceResponseWithoutData: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseCode: $ref: '#/components/schemas/type_:Responsecode' responseData: $ref: '#/components/schemas/type_:Responsedatanonobject' description: >- If `isSuccess` = true, this contains the identifier of the invoice. If `isSuccess` = false, this contains the reason for the failure. responseText: $ref: '#/components/schemas/type_:ResponseText' pageidentifier: oneOf: - $ref: '#/components/schemas/type_:PageIdentifier' - type: 'null' roomId: $ref: '#/components/schemas/type_:RoomIdNotInUse' required: - isSuccess - responseCode - responseData - responseText - pageidentifier - roomId description: Response schema for invoice operations. title: InvoiceResponseWithoutData type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript AddInvoice import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.invoice.addInvoice("8cfec329267", { body: { customerData: { customerNumber: "3", firstName: "Tamara", lastName: "Bagratoni", }, invoiceData: { discount: 10, frequency: "onetime", invoiceAmount: 982.37, invoiceDate: "2025-10-19", invoiceNumber: "INV-3", invoiceStatus: 1, invoiceType: 0, items: [ { itemCost: 100, itemDescription: "Consultation for Georgian tours", itemMode: 1, itemProductName: "Adventure Consult", itemQty: 1, itemTotalAmount: 1, }, { itemCost: 882.37, itemDescription: "Deposit for trip planning", itemProductName: "Deposit ", itemQty: 1, itemTotalAmount: 1, }, ], }, }, }); } main(); ``` ```python AddInvoice from payabli import payabli, PayorDataRequest, BillData, BillItem import datetime client = payabli( api_key="YOUR_API_KEY_HERE", ) client.invoice.add_invoice( entry="8cfec329267", customer_data=PayorDataRequest( customer_number="3", first_name="Tamara", last_name="Bagratoni", ), invoice_data=BillData( discount=10, frequency="onetime", invoice_amount=982.37, invoice_date=datetime.date.fromisoformat("2025-10-19"), invoice_number="INV-3", invoice_status=1, invoice_type=0, items=[ BillItem( item_cost=100, item_description="Consultation for Georgian tours", item_mode=1, item_product_name="Adventure Consult", item_qty=1, item_total_amount=1, ), BillItem( item_cost=882.37, item_description="Deposit for trip planning", item_product_name="Deposit ", item_qty=1, item_total_amount=1, ) ], ), ) ``` ```csharp AddInvoice using PayabliPayabliApi; using System.Threading.Tasks; using System; using System.Collections.Generic; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Invoice.AddInvoiceAsync( "8cfec329267", new AddInvoiceRequest { Body = new InvoiceDataRequest { CustomerData = new PayorDataRequest { CustomerNumber = "3", FirstName = "Tamara", LastName = "Bagratoni" }, InvoiceData = new BillData { Discount = 10, Frequency = Frequency.OneTime, InvoiceAmount = 982.37, InvoiceDate = DateOnly.Parse("2025-10-19"), InvoiceNumber = "INV-3", InvoiceStatus = 1, InvoiceType = 0, Items = new List(){ new BillItem { ItemCost = 100, ItemDescription = "Consultation for Georgian tours", ItemMode = 1, ItemProductName = "Adventure Consult", ItemQty = 1, ItemTotalAmount = 1 }, new BillItem { ItemCost = 882.37, ItemDescription = "Deposit for trip planning", ItemProductName = "Deposit ", ItemQty = 1, ItemTotalAmount = 1 }, } } } } ); } } ``` ```go AddInvoice package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Invoice/8cfec329267" payload := strings.NewReader("{\n \"customerData\": {\n \"customerNumber\": \"3\",\n \"firstName\": \"Tamara\",\n \"lastName\": \"Bagratoni\"\n },\n \"invoiceData\": {\n \"discount\": 10,\n \"frequency\": \"onetime\",\n \"invoiceAmount\": 982.37,\n \"invoiceDate\": \"2025-10-19\",\n \"invoiceNumber\": \"INV-3\",\n \"invoiceStatus\": 1,\n \"invoiceType\": 0,\n \"items\": [\n {\n \"itemCost\": 100,\n \"itemDescription\": \"Consultation for Georgian tours\",\n \"itemMode\": 1,\n \"itemProductName\": \"Adventure Consult\",\n \"itemQty\": 1,\n \"itemTotalAmount\": 1\n },\n {\n \"itemCost\": 882.37,\n \"itemDescription\": \"Deposit for trip planning\",\n \"itemProductName\": \"Deposit \",\n \"itemQty\": 1,\n \"itemTotalAmount\": 1\n }\n ]\n }\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby AddInvoice require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Invoice/8cfec329267") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"customerData\": {\n \"customerNumber\": \"3\",\n \"firstName\": \"Tamara\",\n \"lastName\": \"Bagratoni\"\n },\n \"invoiceData\": {\n \"discount\": 10,\n \"frequency\": \"onetime\",\n \"invoiceAmount\": 982.37,\n \"invoiceDate\": \"2025-10-19\",\n \"invoiceNumber\": \"INV-3\",\n \"invoiceStatus\": 1,\n \"invoiceType\": 0,\n \"items\": [\n {\n \"itemCost\": 100,\n \"itemDescription\": \"Consultation for Georgian tours\",\n \"itemMode\": 1,\n \"itemProductName\": \"Adventure Consult\",\n \"itemQty\": 1,\n \"itemTotalAmount\": 1\n },\n {\n \"itemCost\": 882.37,\n \"itemDescription\": \"Deposit for trip planning\",\n \"itemProductName\": \"Deposit \",\n \"itemQty\": 1,\n \"itemTotalAmount\": 1\n }\n ]\n }\n}" response = http.request(request) puts response.read_body ``` ```java AddInvoice import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/Invoice/8cfec329267") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"customerData\": {\n \"customerNumber\": \"3\",\n \"firstName\": \"Tamara\",\n \"lastName\": \"Bagratoni\"\n },\n \"invoiceData\": {\n \"discount\": 10,\n \"frequency\": \"onetime\",\n \"invoiceAmount\": 982.37,\n \"invoiceDate\": \"2025-10-19\",\n \"invoiceNumber\": \"INV-3\",\n \"invoiceStatus\": 1,\n \"invoiceType\": 0,\n \"items\": [\n {\n \"itemCost\": 100,\n \"itemDescription\": \"Consultation for Georgian tours\",\n \"itemMode\": 1,\n \"itemProductName\": \"Adventure Consult\",\n \"itemQty\": 1,\n \"itemTotalAmount\": 1\n },\n {\n \"itemCost\": 882.37,\n \"itemDescription\": \"Deposit for trip planning\",\n \"itemProductName\": \"Deposit \",\n \"itemQty\": 1,\n \"itemTotalAmount\": 1\n }\n ]\n }\n}") .asString(); ``` ```php AddInvoice request('POST', 'https://api-sandbox.payabli.com/api/Invoice/8cfec329267', [ 'body' => '{ "customerData": { "customerNumber": "3", "firstName": "Tamara", "lastName": "Bagratoni" }, "invoiceData": { "discount": 10, "frequency": "onetime", "invoiceAmount": 982.37, "invoiceDate": "2025-10-19", "invoiceNumber": "INV-3", "invoiceStatus": 1, "invoiceType": 0, "items": [ { "itemCost": 100, "itemDescription": "Consultation for Georgian tours", "itemMode": 1, "itemProductName": "Adventure Consult", "itemQty": 1, "itemTotalAmount": 1 }, { "itemCost": 882.37, "itemDescription": "Deposit for trip planning", "itemProductName": "Deposit ", "itemQty": 1, "itemTotalAmount": 1 } ] } }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift AddInvoice import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "customerData": [ "customerNumber": "3", "firstName": "Tamara", "lastName": "Bagratoni" ], "invoiceData": [ "discount": 10, "frequency": "onetime", "invoiceAmount": 982.37, "invoiceDate": "2025-10-19", "invoiceNumber": "INV-3", "invoiceStatus": 1, "invoiceType": 0, "items": [ [ "itemCost": 100, "itemDescription": "Consultation for Georgian tours", "itemMode": 1, "itemProductName": "Adventure Consult", "itemQty": 1, "itemTotalAmount": 1 ], [ "itemCost": 882.37, "itemDescription": "Deposit for trip planning", "itemProductName": "Deposit ", "itemQty": 1, "itemTotalAmount": 1 ] ] ] ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Invoice/8cfec329267")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Get invoice GET https://api-sandbox.payabli.com/api/Invoice/{idInvoice} Retrieves a single invoice by ID. Reference: https://docs.payabli.com/developers/api-reference/invoice/get-invoice ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Invoice/{idInvoice}: get: operationId: get-invoice summary: Get invoice description: Retrieves a single invoice by ID. tags: - subpackage_invoice parameters: - name: idInvoice in: path description: Invoice ID required: true schema: type: integer - name: requestToken in: header required: true schema: type: string responses: '200': description: Success. Fields marked optional may return `null` if not set. content: application/json: schema: $ref: '#/components/schemas/type_invoice:GetInvoiceRecord' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_invoice:InvoiceId: type: integer format: int64 description: Identifier of invoice. title: InvoiceId type_:CustomerId: type: integer format: int64 description: The Payabli-generated unique ID for the customer. title: CustomerId type_:PaypointId: type: integer format: int64 description: The paypoint's ID. Note that this is different than the entryname. title: PaypointId type_:InvoiceNumber: type: string description: >- Custom number identifying the bill or invoice. Must be unique in paypoint. title: InvoiceNumber type_:CreatedAt: type: string format: date-time description: Timestamp of when record was created, in UTC. title: CreatedAt type_:Invoicestatus: type: integer description: |- Status for invoice. The accepted status values are: - 0 draft - 1 active - 2 partially paid - 4 paid/complete - 99 cancelled title: Invoicestatus type_:InvoiceType: type: integer description: Type of invoice. Only `0` for one-time invoices is currently supported. title: InvoiceType type_:Frequency: type: string enum: - onetime - weekly - every2weeks - every6months - monthly - every3months - annually description: Frequency for operation. title: Frequency type_:Terms: type: string description: >- Payment terms for invoice. If no terms are defined, then response data for this field defaults to `NET30`. **Available Values:** - `PIA`: Payment in advance - `CIA`: Cash in advance - `UR`: Upon receipt - `NET10`: 10 days after invoice date - `NET20`: 20 days after invoice date - `NET30`: 30 days after invoice date - `NET45`: 45 days after invoice date - `NET60`: 60 days after invoice date - `NET90`: 90 days after invoice date - `EOM`: Due end of this month - `MFI`: 1st of the month following the invoice date - `5MFI`: 5th of the month following the invoice date - `10MFI`: 10th of the month following the invoice date - `15MFI`: 15th of the month following the invoice date - `20MFI`: 20th of the month following the invoice date - `2/10NET30`: 2% discount if paid within 10 days, otherwise net 30 days - `UF`: Until further notice - `10UF`: 10 days until further notice - `20UF`: 20 days until further notice - `25UF`: 25 days until further notice - `50UF`: 50 days until further notice title: Terms type_:TermsConditions: type: string description: Custom terms and conditions included in the invoice. title: TermsConditions type_:Tax: type: number format: double description: Tax rate in percent applied to the invoice. title: Tax type_:Discount: type: number format: double description: Discount applied to the invoice. title: Discount type_:InvoiceAmount: type: number format: double description: Invoice total amount. title: InvoiceAmount type_invoice:InvoicePaidAmount: type: number format: double description: Amount partially paid to the invoice. title: InvoicePaidAmount type_:FreightAmount: type: number format: double description: Freight/shipping amount. title: FreightAmount type_:DutyAmount: type: number format: double description: Duty amount. title: DutyAmount type_:PurchaseOrder: type: string description: Purchase order number. title: PurchaseOrder type_:Shippingaddress: type: string description: The shipping address. title: Shippingaddress type_:Shippingaddressadditional: type: string description: Additional line for shipping address. title: Shippingaddressadditional type_:Shippingcity: type: string description: Shipping city. title: Shippingcity type_:Shippingstate: type: string description: Shipping state or province. title: Shippingstate type_:Shippingzip: type: string description: >- Shipping ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". title: Shippingzip type_:ShippingFromZip: type: string description: Sender shipping ZIP code. title: ShippingFromZip type_:Shippingcountry: type: string description: Shipping address country. title: Shippingcountry type_:Email: type: string format: email description: Email address. title: Email type_:SummaryCommodityCode: type: string description: Commodity code. title: SummaryCommodityCode type_:ItemCommodityCode: type: string description: Item or product commodity code. Max length of 250 characters. title: ItemCommodityCode type_:ItemDescription: type: string description: Item or product description. Max length of 250 characters. title: ItemDescription type_:ItemProductCode: type: string description: Item or product code. Max length of 250 characters. title: ItemProductCode type_:ItemProductName: type: string description: Item or product name. Max length of 250 characters. title: ItemProductName type_:ItemUnitofMeasure: type: string description: Unit of measurement. Max length of 100 characters. title: ItemUnitofMeasure type_:BillItem: type: object properties: itemCategories: type: array items: type: string description: Array of tags classifying item or product. itemCommodityCode: $ref: '#/components/schemas/type_:ItemCommodityCode' itemCost: type: number format: double description: Item or product price per unit. itemDescription: $ref: '#/components/schemas/type_:ItemDescription' itemMode: type: integer description: >- Internal class of item or product: value '0' is only for invoices , '1' for bills and, '2' common for both. itemProductCode: $ref: '#/components/schemas/type_:ItemProductCode' itemProductName: $ref: '#/components/schemas/type_:ItemProductName' itemQty: type: integer description: Quantity of item or product. itemTaxAmount: type: number format: double description: Tax amount applied to item or product. itemTaxRate: type: number format: double description: Tax rate applied to item or product. itemTotalAmount: type: number format: double description: Total amount in item or product. itemUnitOfMeasure: $ref: '#/components/schemas/type_:ItemUnitofMeasure' required: - itemCost title: BillItem type_:AdditionalDataMap: type: object additionalProperties: type: string description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalDataMap type_:BillingAddressNullable: type: string description: Billing address. title: BillingAddressNullable type_:BillingAddressAddtlNullable: type: string description: Additional line for the billing address. title: BillingAddressAddtlNullable type_:BillingCityNullable: type: string description: Billing city. title: BillingCityNullable type_:BillingCountryNullable: type: string description: Billing address country. title: BillingCountryNullable type_:PhoneNumber: type: string description: Phone number. title: PhoneNumber type_:BillingStateNullable: type: string description: Billing state. Must be 2-letter state code for address in US. title: BillingStateNullable type_:BillingZip: type: string description: Billing address ZIP code. title: BillingZip type_:CustomerNumberNullable: type: string description: >- User-provided unique identifier for the customer. This is typically the customer ID from your own system. title: CustomerNumberNullable type_:CustomerStatus: type: integer description: |- Customer Status. Possible values: - `-99` Deleted - `0` Inactive - `1` Active - `85` Locked (typically due to multiple failed login attempts) title: CustomerStatus type_:Identifierfields: type: array items: type: string description: >- List of fields acting as customer identifiers, to be used instead of CustomerNumber. title: Identifierfields type_:PayorDataResponse: type: object properties: AdditionalData: oneOf: - $ref: '#/components/schemas/type_:AdditionalDataMap' - type: 'null' BillingAddress1: oneOf: - $ref: '#/components/schemas/type_:BillingAddressNullable' - type: 'null' BillingAddress2: oneOf: - $ref: '#/components/schemas/type_:BillingAddressAddtlNullable' - type: 'null' BillingCity: oneOf: - $ref: '#/components/schemas/type_:BillingCityNullable' - type: 'null' BillingCountry: oneOf: - $ref: '#/components/schemas/type_:BillingCountryNullable' - type: 'null' BillingEmail: oneOf: - $ref: '#/components/schemas/type_:Email' - type: 'null' BillingPhone: oneOf: - $ref: '#/components/schemas/type_:PhoneNumber' - type: 'null' BillingState: oneOf: - $ref: '#/components/schemas/type_:BillingStateNullable' - type: 'null' BillingZip: oneOf: - $ref: '#/components/schemas/type_:BillingZip' - type: 'null' description: >- Customer's billing ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". CompanyName: type: - string - 'null' description: Customer's company name. customerId: oneOf: - $ref: '#/components/schemas/type_:CustomerId' - type: 'null' CustomerNumber: oneOf: - $ref: '#/components/schemas/type_:CustomerNumberNullable' - type: 'null' customerStatus: oneOf: - $ref: '#/components/schemas/type_:CustomerStatus' - type: 'null' description: >- Customer status. This is used to determine if the customer is active or inactive. FirstName: type: - string - 'null' description: Customer/Payor first name. Identifiers: oneOf: - $ref: '#/components/schemas/type_:Identifierfields' - type: 'null' LastName: type: - string - 'null' description: Customer/Payor last name. ShippingAddress1: oneOf: - $ref: '#/components/schemas/type_:Shippingaddress' - type: 'null' ShippingAddress2: oneOf: - $ref: '#/components/schemas/type_:Shippingaddressadditional' - type: 'null' ShippingCity: oneOf: - $ref: '#/components/schemas/type_:Shippingcity' - type: 'null' ShippingCountry: oneOf: - $ref: '#/components/schemas/type_:Shippingcountry' - type: 'null' ShippingState: oneOf: - $ref: '#/components/schemas/type_:Shippingstate' - type: 'null' ShippingZip: oneOf: - $ref: '#/components/schemas/type_:Shippingzip' - type: 'null' required: - AdditionalData - BillingAddress1 - BillingAddress2 - BillingCity - BillingCountry - BillingEmail - BillingPhone - BillingState - BillingZip - CompanyName - customerId - CustomerNumber - customerStatus - FirstName - Identifiers - LastName - ShippingAddress1 - ShippingAddress2 - ShippingCity - ShippingCountry - ShippingState - ShippingZip description: Customer information. title: PayorDataResponse type_:PaylinkId: type: string description: Identifier of payment link associated to the invoice or bill. title: PaylinkId type_:Source: type: string description: Custom identifier to indicate the transaction or request source. title: Source type_:GeneralEvents: type: object properties: description: type: string description: Event description. eventTime: type: string format: date-time description: Event timestamp, in UTC. extraData: type: object additionalProperties: description: Any type description: Extra data. refData: type: string description: Reference data. source: $ref: '#/components/schemas/type_:Source' description: The event source. title: GeneralEvents type_:BillEvents: type: array items: $ref: '#/components/schemas/type_:GeneralEvents' description: >- Array of event objects with information related to events associated to the invoice. title: BillEvents type_:BillOptions: type: object properties: includePaylink: type: boolean description: Flag to indicate if the scheduled invoice includes a payment link. includePdf: type: boolean description: >- Flag to indicate if the scheduled invoice includes a PDF version of invoice title: BillOptions type_:Dbaname: type: string description: >- The alternate or common name that this business is doing business under usually referred to as a DBA name. title: Dbaname type_:Entrypointfield: type: string description: The entrypoint identifier. title: Entrypointfield type_:OrgParentName: type: string description: The name of the parent organization. title: OrgParentName type_:PairFiles: type: object properties: originalName: type: string description: Original filename zipName: type: string description: >- Filename assigned to zipped file. This is the name to use for reference in the API functions to get files in attachments. descriptor: type: string description: Descriptor of the file. title: PairFiles type_:DocumentsRef: type: object properties: filelist: type: array items: $ref: '#/components/schemas/type_:PairFiles' description: Array of objects describing files contained in the ZIP file. zipfile: type: string description: Zip file containing attachments. title: DocumentsRef type_:ExternalPaypointId: type: string description: >- A custom identifier for the paypoint, if applicable. Like `entrypoint` is the Payabli identifier for the merchant, `externalPaypointId` is a custom field you can use to include the merchant's ID from your own systems. title: ExternalPaypointId type_invoice:GetInvoiceRecord: type: object properties: invoiceId: $ref: '#/components/schemas/type_invoice:InvoiceId' customerId: $ref: '#/components/schemas/type_:CustomerId' paypointId: $ref: '#/components/schemas/type_:PaypointId' invoiceNumber: $ref: '#/components/schemas/type_:InvoiceNumber' invoiceDate: type: - string - 'null' format: date invoiceDueDate: type: - string - 'null' format: date invoiceSentDate: type: - string - 'null' format: date-time invoiceEndDate: type: - string - 'null' format: date lastPaymentDate: type: - string - 'null' format: date-time createdAt: $ref: '#/components/schemas/type_:CreatedAt' invoiceStatus: $ref: '#/components/schemas/type_:Invoicestatus' invoiceType: $ref: '#/components/schemas/type_:InvoiceType' frequency: $ref: '#/components/schemas/type_:Frequency' paymentTerms: $ref: '#/components/schemas/type_:Terms' termsConditions: oneOf: - $ref: '#/components/schemas/type_:TermsConditions' - type: 'null' notes: type: - string - 'null' tax: $ref: '#/components/schemas/type_:Tax' discount: $ref: '#/components/schemas/type_:Discount' invoiceAmount: $ref: '#/components/schemas/type_:InvoiceAmount' invoicePaidAmount: $ref: '#/components/schemas/type_invoice:InvoicePaidAmount' freightAmount: $ref: '#/components/schemas/type_:FreightAmount' dutyAmount: $ref: '#/components/schemas/type_:DutyAmount' purchaseOrder: $ref: '#/components/schemas/type_:PurchaseOrder' firstName: type: string description: First name of the recipient of the invoice. lastName: type: string description: Last name of the recipient of the invoice. company: type: string description: Company name of the recipient of the invoice. shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' shippingFromZip: $ref: '#/components/schemas/type_:ShippingFromZip' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' shippingEmail: $ref: '#/components/schemas/type_:Email' shippingPhone: type: string summaryCommodityCode: $ref: '#/components/schemas/type_:SummaryCommodityCode' items: type: array items: $ref: '#/components/schemas/type_:BillItem' Customer: $ref: '#/components/schemas/type_:PayorDataResponse' paylinkId: $ref: '#/components/schemas/type_:PaylinkId' billEvents: $ref: '#/components/schemas/type_:BillEvents' scheduledOptions: $ref: '#/components/schemas/type_:BillOptions' PaypointLegalname: type: string PaypointDbaname: $ref: '#/components/schemas/type_:Dbaname' PaypointEntryname: $ref: '#/components/schemas/type_:Entrypointfield' ParentOrgName: $ref: '#/components/schemas/type_:OrgParentName' AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' DocumentsRef: $ref: '#/components/schemas/type_:DocumentsRef' externalPaypointID: $ref: '#/components/schemas/type_:ExternalPaypointId' required: - invoiceId - customerId - paypointId - invoiceNumber - invoiceDate - invoiceDueDate - invoiceSentDate - invoiceEndDate - lastPaymentDate - createdAt - invoiceStatus - invoiceType - frequency - paymentTerms - termsConditions - notes - invoiceAmount - invoicePaidAmount - purchaseOrder - shippingAddress1 - shippingAddress2 - shippingCity - shippingState - shippingZip - shippingFromZip - shippingCountry - shippingEmail - shippingPhone - summaryCommodityCode - items - Customer - paylinkId - scheduledOptions - PaypointLegalname - PaypointDbaname - PaypointEntryname - ParentOrgName - DocumentsRef title: GetInvoiceRecord type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript GetDetails import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.invoice.getInvoice(23548884); } main(); ``` ```python GetDetails from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.invoice.get_invoice( id_invoice=23548884, ) ``` ```csharp GetDetails using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Invoice.GetInvoiceAsync( 23548884 ); } } ``` ```go GetDetails package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Invoice/23548884" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby GetDetails require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Invoice/23548884") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java GetDetails import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Invoice/23548884") .header("requestToken", "") .asString(); ``` ```php GetDetails request('GET', 'https://api-sandbox.payabli.com/api/Invoice/23548884', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift GetDetails import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Invoice/23548884")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Update invoice PUT https://api-sandbox.payabli.com/api/Invoice/{idInvoice} Content-Type: application/json Updates details for a single invoice in an entrypoint. Reference: https://docs.payabli.com/developers/api-reference/invoice/update-invoice ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Invoice/{idInvoice}: put: operationId: edit-invoice summary: Update invoice description: Updates details for a single invoice in an entrypoint. tags: - subpackage_invoice parameters: - name: idInvoice in: path description: Invoice ID required: true schema: type: integer - name: forceCustomerCreation in: query description: >- When `true`, the request creates a new customer record, regardless of whether customer identifiers match an existing customer. required: false schema: type: boolean default: false - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_invoice:InvoiceResponseWithoutData' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/type_invoice:InvoiceDataRequest' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:AdditionalData: type: object additionalProperties: type: object additionalProperties: description: Any type description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. If you are using [custom identifiers](/developers/developer-guides/entities-customers), pass those in this object. Max length for a value is 100 characters. Example usage: ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalData type_:BillingAddressNullable: type: string description: Billing address. title: BillingAddressNullable type_:BillingAddressAddtlNullable: type: string description: Additional line for the billing address. title: BillingAddressAddtlNullable type_:BillingCityNullable: type: string description: Billing city. title: BillingCityNullable type_:BillingCountryNullable: type: string description: Billing address country. title: BillingCountryNullable type_:Email: type: string format: email description: Email address. title: Email type_:PhoneNumber: type: string description: Phone number. title: PhoneNumber type_:BillingStateNullable: type: string description: Billing state. Must be 2-letter state code for address in US. title: BillingStateNullable type_:BillingZip: type: string description: Billing address ZIP code. title: BillingZip type_:CustomerId: type: integer format: int64 description: The Payabli-generated unique ID for the customer. title: CustomerId type_:CustomerNumberNullable: type: string description: >- User-provided unique identifier for the customer. This is typically the customer ID from your own system. title: CustomerNumberNullable type_:Identifierfields: type: array items: type: string description: >- List of fields acting as customer identifiers, to be used instead of CustomerNumber. title: Identifierfields type_:Shippingaddress: type: string description: The shipping address. title: Shippingaddress type_:Shippingaddressadditional: type: string description: Additional line for shipping address. title: Shippingaddressadditional type_:Shippingcity: type: string description: Shipping city. title: Shippingcity type_:Shippingcountry: type: string description: Shipping address country. title: Shippingcountry type_:Shippingstate: type: string description: Shipping state or province. title: Shippingstate type_:Shippingzip: type: string description: >- Shipping ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". title: Shippingzip type_:PayorDataRequest: type: object properties: additionalData: $ref: '#/components/schemas/type_:AdditionalData' billingAddress1: $ref: '#/components/schemas/type_:BillingAddressNullable' billingAddress2: $ref: '#/components/schemas/type_:BillingAddressAddtlNullable' billingCity: $ref: '#/components/schemas/type_:BillingCityNullable' billingCountry: $ref: '#/components/schemas/type_:BillingCountryNullable' billingEmail: $ref: '#/components/schemas/type_:Email' billingPhone: $ref: '#/components/schemas/type_:PhoneNumber' billingState: $ref: '#/components/schemas/type_:BillingStateNullable' billingZip: $ref: '#/components/schemas/type_:BillingZip' description: >- Customer's billing ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". company: type: string description: Customer's company name. customerId: $ref: '#/components/schemas/type_:CustomerId' customerNumber: $ref: '#/components/schemas/type_:CustomerNumberNullable' firstName: type: string description: Customer/Payor first name. identifierFields: $ref: '#/components/schemas/type_:Identifierfields' lastName: type: string description: Customer/Payor last name. shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' description: >- Customer information. May be required, depending on the paypoint's settings. Required for subscriptions. title: PayorDataRequest type_:AdditionalDataMap: type: object additionalProperties: type: string description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalDataMap type_:FileContentFtype: type: string enum: - pdf - doc - docx - jpg - jpeg - png - gif - txt description: The MIME type of the file (if content is provided) title: FileContentFtype type_:FileContent: type: object properties: fContent: type: string description: >- Content of file, Base64-encoded. Ignored if furl is specified. Max upload size is 30 MB. filename: type: string description: The name of the attached file. ftype: $ref: '#/components/schemas/type_:FileContentFtype' description: The MIME type of the file (if content is provided) furl: type: string description: Optional URL provided to show or download the file remotely description: Contains details about a file. Max upload size is 30 MB. title: FileContent type_:Attachments: type: array items: $ref: '#/components/schemas/type_:FileContent' description: >- Array of `fileContent` objects with attached documents. Max upload size is 30 MB. title: Attachments type_:Discount: type: number format: double description: Discount applied to the invoice. title: Discount type_:DutyAmount: type: number format: double description: Duty amount. title: DutyAmount type_:FreightAmount: type: number format: double description: Freight/shipping amount. title: FreightAmount type_:Frequency: type: string enum: - onetime - weekly - every2weeks - every6months - monthly - every3months - annually description: Frequency for operation. title: Frequency type_:InvoiceAmount: type: number format: double description: Invoice total amount. title: InvoiceAmount type_:InvoiceNumber: type: string description: >- Custom number identifying the bill or invoice. Must be unique in paypoint. title: InvoiceNumber type_:Invoicestatus: type: integer description: |- Status for invoice. The accepted status values are: - 0 draft - 1 active - 2 partially paid - 4 paid/complete - 99 cancelled title: Invoicestatus type_:InvoiceType: type: integer description: Type of invoice. Only `0` for one-time invoices is currently supported. title: InvoiceType type_:ItemCommodityCode: type: string description: Item or product commodity code. Max length of 250 characters. title: ItemCommodityCode type_:ItemDescription: type: string description: Item or product description. Max length of 250 characters. title: ItemDescription type_:ItemProductCode: type: string description: Item or product code. Max length of 250 characters. title: ItemProductCode type_:ItemProductName: type: string description: Item or product name. Max length of 250 characters. title: ItemProductName type_:ItemUnitofMeasure: type: string description: Unit of measurement. Max length of 100 characters. title: ItemUnitofMeasure type_:BillItem: type: object properties: itemCategories: type: array items: type: string description: Array of tags classifying item or product. itemCommodityCode: $ref: '#/components/schemas/type_:ItemCommodityCode' itemCost: type: number format: double description: Item or product price per unit. itemDescription: $ref: '#/components/schemas/type_:ItemDescription' itemMode: type: integer description: >- Internal class of item or product: value '0' is only for invoices , '1' for bills and, '2' common for both. itemProductCode: $ref: '#/components/schemas/type_:ItemProductCode' itemProductName: $ref: '#/components/schemas/type_:ItemProductName' itemQty: type: integer description: Quantity of item or product. itemTaxAmount: type: number format: double description: Tax amount applied to item or product. itemTaxRate: type: number format: double description: Tax rate applied to item or product. itemTotalAmount: type: number format: double description: Total amount in item or product. itemUnitOfMeasure: $ref: '#/components/schemas/type_:ItemUnitofMeasure' required: - itemCost title: BillItem type_:BillDataPaymentTerms: type: string enum: - PIA - CIA - UR - NET10 - NET20 - NET30 - NET45 - NET60 - NET90 - EOM - MFI - 5MFI - 10MFI - 15MFI - 20MFI - 2/10NET30 - UF - 10UF - 20UF - 25UF - 50UF description: >- Payment terms for invoice. If no terms are defined, then response data for this field defaults to `NET30`. **Available Values:** - `PIA`: Payment in advance - `CIA`: Cash in advance - `UR`: Upon receipt - `NET10`: 10 days after invoice date - `NET20`: 20 days after invoice date - `NET30`: 30 days after invoice date - `NET45`: 45 days after invoice date - `NET60`: 60 days after invoice date - `NET90`: 90 days after invoice date - `EOM`: Due end of this month - `MFI`: 1st of the month following the invoice date - `5MFI`: 5th of the month following the invoice date - `10MFI`: 10th of the month following the invoice date - `15MFI`: 15th of the month following the invoice date - `20MFI`: 20th of the month following the invoice date - `2/10NET30`: 2% discount if paid within 10 days, otherwise net 30 days - `UF`: Until further notice - `10UF`: 10 days until further notice - `20UF`: 20 days until further notice - `25UF`: 25 days until further notice - `50UF`: 50 days until further notice title: BillDataPaymentTerms type_:PurchaseOrder: type: string description: Purchase order number. title: PurchaseOrder type_:ShippingFromZip: type: string description: Sender shipping ZIP code. title: ShippingFromZip type_:SummaryCommodityCode: type: string description: Commodity code. title: SummaryCommodityCode type_:Tax: type: number format: double description: Tax rate in percent applied to the invoice. title: Tax type_:TermsConditions: type: string description: Custom terms and conditions included in the invoice. title: TermsConditions type_:BillData: type: object properties: AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' attachments: $ref: '#/components/schemas/type_:Attachments' company: type: string description: Company name of the recipient of the invoice. discount: $ref: '#/components/schemas/type_:Discount' dutyAmount: $ref: '#/components/schemas/type_:DutyAmount' firstName: type: string description: First name of the recipient of the invoice. freightAmount: $ref: '#/components/schemas/type_:FreightAmount' frequency: $ref: '#/components/schemas/type_:Frequency' description: Frequency of scheduled invoice. invoiceAmount: $ref: '#/components/schemas/type_:InvoiceAmount' invoiceDate: type: string format: date description: 'Invoice date in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY.' invoiceDueDate: type: string format: date description: >- Invoice due date in one of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceEndDate: type: string format: date description: >- Indicate the date to finish a scheduled invoice cycle (`invoiceType`` = 1) in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceNumber: $ref: '#/components/schemas/type_:InvoiceNumber' description: Invoice number. Identifies the invoice under a paypoint. invoiceStatus: $ref: '#/components/schemas/type_:Invoicestatus' invoiceType: $ref: '#/components/schemas/type_:InvoiceType' items: type: array items: $ref: '#/components/schemas/type_:BillItem' description: Array of line items included in the invoice. lastName: type: string description: Last name of the recipient of the invoice. notes: type: string description: Notes included in the invoice. paymentTerms: $ref: '#/components/schemas/type_:BillDataPaymentTerms' purchaseOrder: $ref: '#/components/schemas/type_:PurchaseOrder' shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' shippingEmail: $ref: '#/components/schemas/type_:Email' description: Shipping recipient's contact email address. shippingFromZip: $ref: '#/components/schemas/type_:ShippingFromZip' shippingPhone: type: string description: Recipient phone number. shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' summaryCommodityCode: $ref: '#/components/schemas/type_:SummaryCommodityCode' tax: $ref: '#/components/schemas/type_:Tax' termsConditions: $ref: '#/components/schemas/type_:TermsConditions' title: BillData type_:BillOptions: type: object properties: includePaylink: type: boolean description: Flag to indicate if the scheduled invoice includes a payment link. includePdf: type: boolean description: >- Flag to indicate if the scheduled invoice includes a PDF version of invoice title: BillOptions type_invoice:InvoiceDataRequest: type: object properties: customerData: $ref: '#/components/schemas/type_:PayorDataRequest' description: >- Object describing the customer/payor. Required for POST requests. Which fields are required depends on the paypoint's custom identifier settings. invoiceData: $ref: '#/components/schemas/type_:BillData' description: Object describing the invoice. Required for POST requests. scheduledOptions: $ref: '#/components/schemas/type_:BillOptions' description: Object with options for scheduled invoices. title: InvoiceDataRequest type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsecode: type: integer description: >- Code for the response. Learn more in [API Response Codes](/developers/api-reference/api-responses). title: Responsecode type_:Responsedatanonobject: oneOf: - type: string - type: integer description: The response data. title: Responsedatanonobject type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:RoomIdNotInUse: type: integer format: int64 description: Field not in use on this endpoint. It always returns `0`. title: RoomIdNotInUse type_invoice:InvoiceResponseWithoutData: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseCode: $ref: '#/components/schemas/type_:Responsecode' responseData: $ref: '#/components/schemas/type_:Responsedatanonobject' description: >- If `isSuccess` = true, this contains the identifier of the invoice. If `isSuccess` = false, this contains the reason for the failure. responseText: $ref: '#/components/schemas/type_:ResponseText' pageidentifier: oneOf: - $ref: '#/components/schemas/type_:PageIdentifier' - type: 'null' roomId: $ref: '#/components/schemas/type_:RoomIdNotInUse' required: - isSuccess - responseCode - responseData - responseText - pageidentifier - roomId description: Response schema for invoice operations. title: InvoiceResponseWithoutData type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript UpdateInvoice import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.invoice.editInvoice(332, { body: { invoiceData: { invoiceAmount: 982.37, invoiceDate: "2025-10-19", invoiceNumber: "INV-6", items: [ { itemCost: 882.37, itemDescription: "Deposit for trip planning", itemProductName: "Deposit", itemQty: 1, }, ], }, }, }); } main(); ``` ```python UpdateInvoice from payabli import payabli, BillData, BillItem import datetime client = payabli( api_key="YOUR_API_KEY_HERE", ) client.invoice.edit_invoice( id_invoice=332, invoice_data=BillData( invoice_amount=982.37, invoice_date=datetime.date.fromisoformat("2025-10-19"), invoice_number="INV-6", items=[ BillItem( item_cost=882.37, item_description="Deposit for trip planning", item_product_name="Deposit", item_qty=1, ) ], ), ) ``` ```csharp UpdateInvoice using PayabliPayabliApi; using System.Threading.Tasks; using System; using System.Collections.Generic; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Invoice.EditInvoiceAsync( 332, new EditInvoiceRequest { Body = new InvoiceDataRequest { InvoiceData = new BillData { InvoiceAmount = 982.37, InvoiceDate = DateOnly.Parse("2025-10-19"), InvoiceNumber = "INV-6", Items = new List(){ new BillItem { ItemCost = 882.37, ItemDescription = "Deposit for trip planning", ItemProductName = "Deposit", ItemQty = 1 }, } } } } ); } } ``` ```go UpdateInvoice package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Invoice/332" payload := strings.NewReader("{\n \"invoiceData\": {\n \"invoiceAmount\": 982.37,\n \"invoiceDate\": \"2025-10-19\",\n \"invoiceNumber\": \"INV-6\",\n \"items\": [\n {\n \"itemCost\": 882.37,\n \"itemDescription\": \"Deposit for trip planning\",\n \"itemProductName\": \"Deposit\",\n \"itemQty\": 1\n }\n ]\n }\n}") req, _ := http.NewRequest("PUT", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby UpdateInvoice require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Invoice/332") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Put.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"invoiceData\": {\n \"invoiceAmount\": 982.37,\n \"invoiceDate\": \"2025-10-19\",\n \"invoiceNumber\": \"INV-6\",\n \"items\": [\n {\n \"itemCost\": 882.37,\n \"itemDescription\": \"Deposit for trip planning\",\n \"itemProductName\": \"Deposit\",\n \"itemQty\": 1\n }\n ]\n }\n}" response = http.request(request) puts response.read_body ``` ```java UpdateInvoice import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.put("https://api-sandbox.payabli.com/api/Invoice/332") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"invoiceData\": {\n \"invoiceAmount\": 982.37,\n \"invoiceDate\": \"2025-10-19\",\n \"invoiceNumber\": \"INV-6\",\n \"items\": [\n {\n \"itemCost\": 882.37,\n \"itemDescription\": \"Deposit for trip planning\",\n \"itemProductName\": \"Deposit\",\n \"itemQty\": 1\n }\n ]\n }\n}") .asString(); ``` ```php UpdateInvoice request('PUT', 'https://api-sandbox.payabli.com/api/Invoice/332', [ 'body' => '{ "invoiceData": { "invoiceAmount": 982.37, "invoiceDate": "2025-10-19", "invoiceNumber": "INV-6", "items": [ { "itemCost": 882.37, "itemDescription": "Deposit for trip planning", "itemProductName": "Deposit", "itemQty": 1 } ] } }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift UpdateInvoice import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = ["invoiceData": [ "invoiceAmount": 982.37, "invoiceDate": "2025-10-19", "invoiceNumber": "INV-6", "items": [ [ "itemCost": 882.37, "itemDescription": "Deposit for trip planning", "itemProductName": "Deposit", "itemQty": 1 ] ] ]] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Invoice/332")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "PUT" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Delete invoice DELETE https://api-sandbox.payabli.com/api/Invoice/{idInvoice} Deletes a single invoice from an entrypoint. Reference: https://docs.payabli.com/developers/api-reference/invoice/delete-invoice ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Invoice/{idInvoice}: delete: operationId: delete-invoice summary: Delete invoice description: Deletes a single invoice from an entrypoint. tags: - subpackage_invoice parameters: - name: idInvoice in: path description: Invoice ID required: true schema: type: integer - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_invoice:InvoiceResponseWithoutData' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsecode: type: integer description: >- Code for the response. Learn more in [API Response Codes](/developers/api-reference/api-responses). title: Responsecode type_:Responsedatanonobject: oneOf: - type: string - type: integer description: The response data. title: Responsedatanonobject type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:RoomIdNotInUse: type: integer format: int64 description: Field not in use on this endpoint. It always returns `0`. title: RoomIdNotInUse type_invoice:InvoiceResponseWithoutData: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseCode: $ref: '#/components/schemas/type_:Responsecode' responseData: $ref: '#/components/schemas/type_:Responsedatanonobject' description: >- If `isSuccess` = true, this contains the identifier of the invoice. If `isSuccess` = false, this contains the reason for the failure. responseText: $ref: '#/components/schemas/type_:ResponseText' pageidentifier: oneOf: - $ref: '#/components/schemas/type_:PageIdentifier' - type: 'null' roomId: $ref: '#/components/schemas/type_:RoomIdNotInUse' required: - isSuccess - responseCode - responseData - responseText - pageidentifier - roomId description: Response schema for invoice operations. title: InvoiceResponseWithoutData type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript DeleteInvoice import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.invoice.deleteInvoice(23548884); } main(); ``` ```python DeleteInvoice from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.invoice.delete_invoice( id_invoice=23548884, ) ``` ```csharp DeleteInvoice using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Invoice.DeleteInvoiceAsync( 23548884 ); } } ``` ```go DeleteInvoice package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Invoice/23548884" req, _ := http.NewRequest("DELETE", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby DeleteInvoice require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Invoice/23548884") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Delete.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java DeleteInvoice import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.delete("https://api-sandbox.payabli.com/api/Invoice/23548884") .header("requestToken", "") .asString(); ``` ```php DeleteInvoice request('DELETE', 'https://api-sandbox.payabli.com/api/Invoice/23548884', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift DeleteInvoice import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Invoice/23548884")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "DELETE" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Send invoice GET https://api-sandbox.payabli.com/api/Invoice/send/{idInvoice} Sends an invoice from an entrypoint via email. Reference: https://docs.payabli.com/developers/api-reference/invoice/send-invoice-via-email ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Invoice/send/{idInvoice}: get: operationId: send-invoice summary: Send invoice via email description: Sends an invoice from an entrypoint via email. tags: - subpackage_invoice parameters: - name: idInvoice in: path description: Invoice ID required: true schema: type: integer - name: attachfile in: query description: When `true`, attaches a PDF version of invoice to the email. required: false schema: type: boolean default: false - name: mail2 in: query description: >- Email address where the invoice will be sent to. If this parameter isn't included, Payabli uses the email address on file for the customer owner of the invoice. required: false schema: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_invoice:SendInvoiceResponse' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_invoice:SendInvoiceResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - isSuccess - responseText title: SendInvoiceResponse type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript SendInvoice import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.invoice.sendInvoice(23548884, { attachfile: true, mail2: "tamara@example.com", }); } main(); ``` ```python SendInvoice from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.invoice.send_invoice( id_invoice=23548884, attachfile=True, mail_2="tamara@example.com", ) ``` ```csharp SendInvoice using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Invoice.SendInvoiceAsync( 23548884, new SendInvoiceRequest { Attachfile = true, Mail2 = "tamara@example.com" } ); } } ``` ```go SendInvoice package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Invoice/send/23548884?attachfile=true&mail2=tamara%40example.com" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby SendInvoice require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Invoice/send/23548884?attachfile=true&mail2=tamara%40example.com") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java SendInvoice import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Invoice/send/23548884?attachfile=true&mail2=tamara%40example.com") .header("requestToken", "") .asString(); ``` ```php SendInvoice request('GET', 'https://api-sandbox.payabli.com/api/Invoice/send/23548884?attachfile=true&mail2=tamara%40example.com', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift SendInvoice import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Invoice/send/23548884?attachfile=true&mail2=tamara%40example.com")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Get invoice attachment GET https://api-sandbox.payabli.com/api/Invoice/attachedFileFromInvoice/{idInvoice}/{filename} Retrieves a file attached to an invoice. Reference: https://docs.payabli.com/developers/api-reference/invoice/get-attached-file-from-an-invoice ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Invoice/attachedFileFromInvoice/{idInvoice}/{filename}: get: operationId: get-attached-file-from-invoice summary: Get attached file from an invoice description: Retrieves a file attached to an invoice. tags: - subpackage_invoice parameters: - name: idInvoice in: path description: Invoice ID required: true schema: type: integer - name: filename in: path description: >- The filename in Payabli. Filename is `zipName` in the response to a request to `/api/Invoice/{idInvoice}`. Here, the filename is `0_Bill.pdf``. ``` "DocumentsRef": { "zipfile": "inva_269.zip", "filelist": [ { "originalName": "Bill.pdf", "zipName": "0_Bill.pdf", "descriptor": null } ] } ``` required: true schema: type: string - name: returnObject in: query description: >- When `true`, the request returns the file content as a Base64-encoded string. required: false schema: type: boolean default: false - name: requestToken in: header required: true schema: type: string responses: '200': description: >- A successful response returns a binary file when `returnObject` is `false`. When `returnObject` is `true`, the response contains the file content as a Base64-encoded string in an object. Due to technical limitations, only the object response is documented here. content: application/json: schema: $ref: '#/components/schemas/type_:FileContent' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:FileContentFtype: type: string enum: - pdf - doc - docx - jpg - jpeg - png - gif - txt description: The MIME type of the file (if content is provided) title: FileContentFtype type_:FileContent: type: object properties: fContent: type: string description: >- Content of file, Base64-encoded. Ignored if furl is specified. Max upload size is 30 MB. filename: type: string description: The name of the attached file. ftype: $ref: '#/components/schemas/type_:FileContentFtype' description: The MIME type of the file (if content is provided) furl: type: string description: Optional URL provided to show or download the file remotely description: Contains details about a file. Max upload size is 30 MB. title: FileContent type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.invoice.getAttachedFileFromInvoice(1, "filename", {}); } main(); ``` ```python from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.invoice.get_attached_file_from_invoice( id_invoice=1, filename="filename", ) ``` ```csharp using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Invoice.GetAttachedFileFromInvoiceAsync( 1, "filename", new GetAttachedFileFromInvoiceRequest() ); } } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Invoice/attachedFileFromInvoice/1/filename" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Invoice/attachedFileFromInvoice/1/filename") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Invoice/attachedFileFromInvoice/1/filename") .header("requestToken", "") .asString(); ``` ```php request('GET', 'https://api-sandbox.payabli.com/api/Invoice/attachedFileFromInvoice/1/filename', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Invoice/attachedFileFromInvoice/1/filename")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Delete invoice attachment DELETE https://api-sandbox.payabli.com/api/Invoice/attachedFileFromInvoice/{idInvoice}/{filename} Deletes an invoice that's attached to a file. Reference: https://docs.payabli.com/developers/api-reference/invoice/delete-attached-file-from-invoice ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Invoice/attachedFileFromInvoice/{idInvoice}/{filename}: delete: operationId: delete-attached-from-invoice summary: Delete attached file from invoice description: Deletes an invoice that's attached to a file. tags: - subpackage_invoice parameters: - name: idInvoice in: path description: Invoice ID required: true schema: type: integer - name: filename in: path description: >- The filename in Payabli. Filename is `zipName` in response to a request to `/api/Invoice/{idInvoice}`. Here, the filename is `0_Bill.pdf``. "DocumentsRef": { "zipfile": "inva_269.zip", "filelist": [ { "originalName": "Bill.pdf", "zipName": "0_Bill.pdf", "descriptor": null } ] } required: true schema: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_invoice:InvoiceResponseWithoutData' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsecode: type: integer description: >- Code for the response. Learn more in [API Response Codes](/developers/api-reference/api-responses). title: Responsecode type_:Responsedatanonobject: oneOf: - type: string - type: integer description: The response data. title: Responsedatanonobject type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:RoomIdNotInUse: type: integer format: int64 description: Field not in use on this endpoint. It always returns `0`. title: RoomIdNotInUse type_invoice:InvoiceResponseWithoutData: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseCode: $ref: '#/components/schemas/type_:Responsecode' responseData: $ref: '#/components/schemas/type_:Responsedatanonobject' description: >- If `isSuccess` = true, this contains the identifier of the invoice. If `isSuccess` = false, this contains the reason for the failure. responseText: $ref: '#/components/schemas/type_:ResponseText' pageidentifier: oneOf: - $ref: '#/components/schemas/type_:PageIdentifier' - type: 'null' roomId: $ref: '#/components/schemas/type_:RoomIdNotInUse' required: - isSuccess - responseCode - responseData - responseText - pageidentifier - roomId description: Response schema for invoice operations. title: InvoiceResponseWithoutData type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript DeleteAttachedFromInvoice import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.invoice.deleteAttachedFromInvoice("0_Bill.pdf", 23548884); } main(); ``` ```python DeleteAttachedFromInvoice from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.invoice.delete_attached_from_invoice( filename="0_Bill.pdf", id_invoice=23548884, ) ``` ```csharp DeleteAttachedFromInvoice using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Invoice.DeleteAttachedFromInvoiceAsync( 23548884, "0_Bill.pdf" ); } } ``` ```go DeleteAttachedFromInvoice package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Invoice/attachedFileFromInvoice/23548884/0_Bill.pdf" req, _ := http.NewRequest("DELETE", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby DeleteAttachedFromInvoice require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Invoice/attachedFileFromInvoice/23548884/0_Bill.pdf") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Delete.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java DeleteAttachedFromInvoice import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.delete("https://api-sandbox.payabli.com/api/Invoice/attachedFileFromInvoice/23548884/0_Bill.pdf") .header("requestToken", "") .asString(); ``` ```php DeleteAttachedFromInvoice request('DELETE', 'https://api-sandbox.payabli.com/api/Invoice/attachedFileFromInvoice/23548884/0_Bill.pdf', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift DeleteAttachedFromInvoice import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Invoice/attachedFileFromInvoice/23548884/0_Bill.pdf")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "DELETE" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Get next invoice number GET https://api-sandbox.payabli.com/api/Invoice/getNumber/{entry} Retrieves the next available invoice number for a paypoint. Reference: https://docs.payabli.com/developers/api-reference/invoice/get-next-invoicenumber-for-entrypoint ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Invoice/getNumber/{entry}: get: operationId: get-invoice-number summary: Get next InvoiceNumber for entrypoint description: Retrieves the next available invoice number for a paypoint. tags: - subpackage_invoice parameters: - name: entry in: path description: >- The paypoint's entrypoint identifier. [Learn more](/developers/api-reference/api-overview#entrypoint-vs-entry) required: true schema: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_invoice:InvoiceNumberResponse' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_invoice:InvoiceNumberResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseText: $ref: '#/components/schemas/type_:ResponseText' responseData: type: string description: >- If `isSuccess` = true, this contains the next available invoice number in the format defined by paypoint settings. If `isSuccess` = false, this contains the reason for the error. required: - isSuccess - responseText - responseData description: >- Response schema for operations for sending invoices or getting next invoice number. title: InvoiceNumberResponse type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript GetNextInvoiceNumber import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.invoice.getInvoiceNumber("8cfec329267"); } main(); ``` ```python GetNextInvoiceNumber from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.invoice.get_invoice_number( entry="8cfec329267", ) ``` ```csharp GetNextInvoiceNumber using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Invoice.GetInvoiceNumberAsync( "8cfec329267" ); } } ``` ```go GetNextInvoiceNumber package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Invoice/getNumber/8cfec329267" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby GetNextInvoiceNumber require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Invoice/getNumber/8cfec329267") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java GetNextInvoiceNumber import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Invoice/getNumber/8cfec329267") .header("requestToken", "") .asString(); ``` ```php GetNextInvoiceNumber request('GET', 'https://api-sandbox.payabli.com/api/Invoice/getNumber/8cfec329267', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift GetNextInvoiceNumber import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Invoice/getNumber/8cfec329267")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # List invoices by paypoint GET https://api-sandbox.payabli.com/api/Query/invoices/{entry} Returns a list of invoices for an entrypoint. Use filters to limit results. Include the `exportFormat` query parameter to return the results as a file instead of a JSON response. Reference: https://docs.payabli.com/developers/api-reference/invoice/get-list-of-invoices-for-an-entrypoint ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Query/invoices/{entry}: get: operationId: list-invoices summary: Get list of invoices for an entrypoint description: >- Returns a list of invoices for an entrypoint. Use filters to limit results. Include the `exportFormat` query parameter to return the results as a file instead of a JSON response. tags: - subpackage_invoice parameters: - name: entry in: path description: >- The paypoint's entrypoint identifier. [Learn more](/developers/api-reference/api-overview#entrypoint-vs-entry) required: true schema: type: string - name: exportFormat in: query required: false schema: $ref: '#/components/schemas/type_:ExportFormat' - name: fromRecord in: query description: >- The number of records to skip before starting to collect the result set. required: false schema: type: integer default: 0 - name: limitRecord in: query description: >- Max number of records to return for the query. Use `0` or negative value to return all records. required: false schema: type: integer default: 20 - name: parameters in: query description: >- Collection of field names, conditions, and values used to filter the query See [Filters and Conditions Reference](/developers/developer-guides/pay-ops-reporting-engine-overview#filters-and-conditions-reference) for help. List of field names accepted: - `invoiceDate` (gt, ge, lt, le, eq, ne) - `dueDate` (gt, ge, lt, le, eq, ne) - `sentDate` (gt, ge, lt, le, eq, ne) - `frequency` (in, nin,ne, eq) - `invoiceType` (eq, ne) - `payTerms` (in, nin, eq, ne) - `paypointId` (ne, eq) - `totalAmount` (gt, ge, lt, le, eq, ne) - `paidAmount` (gt, ge, lt, le, eq, ne) - `status` (in, nin, eq, ne) - `invoiceNumber` (ct, nct, eq, ne) - `purchaseOrder` (ct, nct, eq, ne) - `itemProductCode` (ct, nct) - `itemDescription` (ct, nct) - `customerFirstname` (ct, nct, eq, ne) - `customerLastname` (ct, nct, eq, ne) - `customerName` (ct, nct) - `customerId` (eq, ne) - `customerNumber` (ct, nct, eq, ne) - `customerCompanyname` (ct, nct, eq, ne) - `customerAddress` (ct, nct, eq, ne) - `customerCity` (ct, nct, eq, ne) - `customerZip` (ct, nct, eq, ne) - `customerState` (ct, nct, eq, ne) - `customerCountry` (ct, nct, eq, ne) - `customerPhone` (ct, nct, eq, ne) - `customerEmail` (ct, nct, eq, ne) - `customerShippingAddress` (ct, nct, eq, ne) - `customerShippingCity` (ct, nct, eq, ne) - `customerShippingZip` (ct, nct, eq, ne) - `customerShippingState` (ct, nct, eq, ne) - `customerShippingCountry` (ct, nct, eq, ne) - `orgId` (eq) - `paylinkId` (ne, eq) - `paypointLegal` (ne, eq, ct, nct) - `paypointDba` (ne, eq, ct, nct) - `orgName` (ne, eq, ct, nct) - `additional-xxx` (ne, eq, ct, nct) where xxx is the additional field name List of comparison accepted - enclosed between parentheses: - eq or empty => equal - gt => greater than - ge => greater or equal - lt => less than - le => less or equal - ne => not equal - ct => contains - nct => not contains - in => inside array - nin => not inside array List of parameters accepted: - limitRecord : max number of records for query (default="20", "0" or negative value for all) - fromRecord : initial record in query Example: totalAmount(gt)=20 return all records with totalAmount greater than 20.00 required: false schema: type: object additionalProperties: type: string - name: sortBy in: query description: >- The field name to use for sorting results. Use `desc(field_name)` to sort descending by `field_name`, and use `asc(field_name)` to sort ascending by `field_name`. required: false schema: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success. Fields marked optional may return `null` if not set. content: application/json: schema: $ref: '#/components/schemas/type_invoice:QueryInvoiceResponse' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:ExportFormat: type: string enum: - csv - xlsx description: >- Export format for file downloads. When specified, returns data as a file instead of JSON. title: ExportFormat type_invoice:InvoiceId: type: integer format: int64 description: Identifier of invoice. title: InvoiceId type_:CustomerId: type: integer format: int64 description: The Payabli-generated unique ID for the customer. title: CustomerId type_:PaypointId: type: integer format: int64 description: The paypoint's ID. Note that this is different than the entryname. title: PaypointId type_:InvoiceNumber: type: string description: >- Custom number identifying the bill or invoice. Must be unique in paypoint. title: InvoiceNumber type_:CreatedAt: type: string format: date-time description: Timestamp of when record was created, in UTC. title: CreatedAt type_:Invoicestatus: type: integer description: |- Status for invoice. The accepted status values are: - 0 draft - 1 active - 2 partially paid - 4 paid/complete - 99 cancelled title: Invoicestatus type_:InvoiceType: type: integer description: Type of invoice. Only `0` for one-time invoices is currently supported. title: InvoiceType type_:Frequency: type: string enum: - onetime - weekly - every2weeks - every6months - monthly - every3months - annually description: Frequency for operation. title: Frequency type_:Terms: type: string description: >- Payment terms for invoice. If no terms are defined, then response data for this field defaults to `NET30`. **Available Values:** - `PIA`: Payment in advance - `CIA`: Cash in advance - `UR`: Upon receipt - `NET10`: 10 days after invoice date - `NET20`: 20 days after invoice date - `NET30`: 30 days after invoice date - `NET45`: 45 days after invoice date - `NET60`: 60 days after invoice date - `NET90`: 90 days after invoice date - `EOM`: Due end of this month - `MFI`: 1st of the month following the invoice date - `5MFI`: 5th of the month following the invoice date - `10MFI`: 10th of the month following the invoice date - `15MFI`: 15th of the month following the invoice date - `20MFI`: 20th of the month following the invoice date - `2/10NET30`: 2% discount if paid within 10 days, otherwise net 30 days - `UF`: Until further notice - `10UF`: 10 days until further notice - `20UF`: 20 days until further notice - `25UF`: 25 days until further notice - `50UF`: 50 days until further notice title: Terms type_:TermsConditions: type: string description: Custom terms and conditions included in the invoice. title: TermsConditions type_:Tax: type: number format: double description: Tax rate in percent applied to the invoice. title: Tax type_:Discount: type: number format: double description: Discount applied to the invoice. title: Discount type_:InvoiceAmount: type: number format: double description: Invoice total amount. title: InvoiceAmount type_invoice:InvoicePaidAmount: type: number format: double description: Amount partially paid to the invoice. title: InvoicePaidAmount type_:FreightAmount: type: number format: double description: Freight/shipping amount. title: FreightAmount type_:DutyAmount: type: number format: double description: Duty amount. title: DutyAmount type_:PurchaseOrder: type: string description: Purchase order number. title: PurchaseOrder type_:Shippingaddress: type: string description: The shipping address. title: Shippingaddress type_:Shippingaddressadditional: type: string description: Additional line for shipping address. title: Shippingaddressadditional type_:Shippingcity: type: string description: Shipping city. title: Shippingcity type_:Shippingstate: type: string description: Shipping state or province. title: Shippingstate type_:Shippingzip: type: string description: >- Shipping ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". title: Shippingzip type_:ShippingFromZip: type: string description: Sender shipping ZIP code. title: ShippingFromZip type_:Shippingcountry: type: string description: Shipping address country. title: Shippingcountry type_:Email: type: string format: email description: Email address. title: Email type_:SummaryCommodityCode: type: string description: Commodity code. title: SummaryCommodityCode type_:ItemCommodityCode: type: string description: Item or product commodity code. Max length of 250 characters. title: ItemCommodityCode type_:ItemDescription: type: string description: Item or product description. Max length of 250 characters. title: ItemDescription type_:ItemProductCode: type: string description: Item or product code. Max length of 250 characters. title: ItemProductCode type_:ItemProductName: type: string description: Item or product name. Max length of 250 characters. title: ItemProductName type_:ItemUnitofMeasure: type: string description: Unit of measurement. Max length of 100 characters. title: ItemUnitofMeasure type_:BillItem: type: object properties: itemCategories: type: array items: type: string description: Array of tags classifying item or product. itemCommodityCode: $ref: '#/components/schemas/type_:ItemCommodityCode' itemCost: type: number format: double description: Item or product price per unit. itemDescription: $ref: '#/components/schemas/type_:ItemDescription' itemMode: type: integer description: >- Internal class of item or product: value '0' is only for invoices , '1' for bills and, '2' common for both. itemProductCode: $ref: '#/components/schemas/type_:ItemProductCode' itemProductName: $ref: '#/components/schemas/type_:ItemProductName' itemQty: type: integer description: Quantity of item or product. itemTaxAmount: type: number format: double description: Tax amount applied to item or product. itemTaxRate: type: number format: double description: Tax rate applied to item or product. itemTotalAmount: type: number format: double description: Total amount in item or product. itemUnitOfMeasure: $ref: '#/components/schemas/type_:ItemUnitofMeasure' required: - itemCost title: BillItem type_:AdditionalDataMap: type: object additionalProperties: type: string description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalDataMap type_:BillingAddressNullable: type: string description: Billing address. title: BillingAddressNullable type_:BillingAddressAddtlNullable: type: string description: Additional line for the billing address. title: BillingAddressAddtlNullable type_:BillingCityNullable: type: string description: Billing city. title: BillingCityNullable type_:BillingCountryNullable: type: string description: Billing address country. title: BillingCountryNullable type_:PhoneNumber: type: string description: Phone number. title: PhoneNumber type_:BillingStateNullable: type: string description: Billing state. Must be 2-letter state code for address in US. title: BillingStateNullable type_:BillingZip: type: string description: Billing address ZIP code. title: BillingZip type_:CustomerNumberNullable: type: string description: >- User-provided unique identifier for the customer. This is typically the customer ID from your own system. title: CustomerNumberNullable type_:CustomerStatus: type: integer description: |- Customer Status. Possible values: - `-99` Deleted - `0` Inactive - `1` Active - `85` Locked (typically due to multiple failed login attempts) title: CustomerStatus type_:Identifierfields: type: array items: type: string description: >- List of fields acting as customer identifiers, to be used instead of CustomerNumber. title: Identifierfields type_:PayorDataResponse: type: object properties: AdditionalData: oneOf: - $ref: '#/components/schemas/type_:AdditionalDataMap' - type: 'null' BillingAddress1: oneOf: - $ref: '#/components/schemas/type_:BillingAddressNullable' - type: 'null' BillingAddress2: oneOf: - $ref: '#/components/schemas/type_:BillingAddressAddtlNullable' - type: 'null' BillingCity: oneOf: - $ref: '#/components/schemas/type_:BillingCityNullable' - type: 'null' BillingCountry: oneOf: - $ref: '#/components/schemas/type_:BillingCountryNullable' - type: 'null' BillingEmail: oneOf: - $ref: '#/components/schemas/type_:Email' - type: 'null' BillingPhone: oneOf: - $ref: '#/components/schemas/type_:PhoneNumber' - type: 'null' BillingState: oneOf: - $ref: '#/components/schemas/type_:BillingStateNullable' - type: 'null' BillingZip: oneOf: - $ref: '#/components/schemas/type_:BillingZip' - type: 'null' description: >- Customer's billing ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". CompanyName: type: - string - 'null' description: Customer's company name. customerId: oneOf: - $ref: '#/components/schemas/type_:CustomerId' - type: 'null' CustomerNumber: oneOf: - $ref: '#/components/schemas/type_:CustomerNumberNullable' - type: 'null' customerStatus: oneOf: - $ref: '#/components/schemas/type_:CustomerStatus' - type: 'null' description: >- Customer status. This is used to determine if the customer is active or inactive. FirstName: type: - string - 'null' description: Customer/Payor first name. Identifiers: oneOf: - $ref: '#/components/schemas/type_:Identifierfields' - type: 'null' LastName: type: - string - 'null' description: Customer/Payor last name. ShippingAddress1: oneOf: - $ref: '#/components/schemas/type_:Shippingaddress' - type: 'null' ShippingAddress2: oneOf: - $ref: '#/components/schemas/type_:Shippingaddressadditional' - type: 'null' ShippingCity: oneOf: - $ref: '#/components/schemas/type_:Shippingcity' - type: 'null' ShippingCountry: oneOf: - $ref: '#/components/schemas/type_:Shippingcountry' - type: 'null' ShippingState: oneOf: - $ref: '#/components/schemas/type_:Shippingstate' - type: 'null' ShippingZip: oneOf: - $ref: '#/components/schemas/type_:Shippingzip' - type: 'null' required: - AdditionalData - BillingAddress1 - BillingAddress2 - BillingCity - BillingCountry - BillingEmail - BillingPhone - BillingState - BillingZip - CompanyName - customerId - CustomerNumber - customerStatus - FirstName - Identifiers - LastName - ShippingAddress1 - ShippingAddress2 - ShippingCity - ShippingCountry - ShippingState - ShippingZip description: Customer information. title: PayorDataResponse type_:Source: type: string description: Custom identifier to indicate the transaction or request source. title: Source type_:GeneralEvents: type: object properties: description: type: string description: Event description. eventTime: type: string format: date-time description: Event timestamp, in UTC. extraData: type: object additionalProperties: description: Any type description: Extra data. refData: type: string description: Reference data. source: $ref: '#/components/schemas/type_:Source' description: The event source. title: GeneralEvents type_:BillEvents: type: array items: $ref: '#/components/schemas/type_:GeneralEvents' description: >- Array of event objects with information related to events associated to the invoice. title: BillEvents type_:BillOptions: type: object properties: includePaylink: type: boolean description: Flag to indicate if the scheduled invoice includes a payment link. includePdf: type: boolean description: >- Flag to indicate if the scheduled invoice includes a PDF version of invoice title: BillOptions type_:Legalname: type: string description: Business legal name. title: Legalname type_:Dbaname: type: string description: >- The alternate or common name that this business is doing business under usually referred to as a DBA name. title: Dbaname type_:Entrypointfield: type: string description: The entrypoint identifier. title: Entrypointfield type_:Orgid: type: integer format: int64 description: Organization ID. Unique identifier assigned to an org by Payabli. title: Orgid type_:OrgParentName: type: string description: The name of the parent organization. title: OrgParentName type_:PairFiles: type: object properties: originalName: type: string description: Original filename zipName: type: string description: >- Filename assigned to zipped file. This is the name to use for reference in the API functions to get files in attachments. descriptor: type: string description: Descriptor of the file. title: PairFiles type_:DocumentsRef: type: object properties: filelist: type: array items: $ref: '#/components/schemas/type_:PairFiles' description: Array of objects describing files contained in the ZIP file. zipfile: type: string description: Zip file containing attachments. title: DocumentsRef type_:ExternalPaypointId: type: string description: >- A custom identifier for the paypoint, if applicable. Like `entrypoint` is the Payabli identifier for the merchant, `externalPaypointId` is a custom field you can use to include the merchant's ID from your own systems. title: ExternalPaypointId type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_invoice:QueryInvoiceResponseRecordsItem: type: object properties: invoiceId: $ref: '#/components/schemas/type_invoice:InvoiceId' customerId: $ref: '#/components/schemas/type_:CustomerId' paypointId: $ref: '#/components/schemas/type_:PaypointId' invoiceNumber: $ref: '#/components/schemas/type_:InvoiceNumber' invoiceDate: type: - string - 'null' format: date description: 'Invoice date in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY.' invoiceDueDate: type: - string - 'null' format: date description: >- Invoice due date in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceSentDate: type: - string - 'null' format: date description: >- Invoice sent date in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceEndDate: type: - string - 'null' format: date description: The end date for a scheduled invoice cycle (`invoiceType` = 1). lastPaymentDate: type: - string - 'null' format: date-time description: Timestamp of last payment. createdAt: $ref: '#/components/schemas/type_:CreatedAt' invoiceStatus: $ref: '#/components/schemas/type_:Invoicestatus' invoiceType: $ref: '#/components/schemas/type_:InvoiceType' frequency: $ref: '#/components/schemas/type_:Frequency' description: Frequency of scheduled invoice. paymentTerms: $ref: '#/components/schemas/type_:Terms' termsConditions: oneOf: - $ref: '#/components/schemas/type_:TermsConditions' - type: 'null' notes: type: - string - 'null' description: Invoice notes. tax: $ref: '#/components/schemas/type_:Tax' discount: $ref: '#/components/schemas/type_:Discount' invoiceAmount: $ref: '#/components/schemas/type_:InvoiceAmount' invoicePaidAmount: $ref: '#/components/schemas/type_invoice:InvoicePaidAmount' freightAmount: $ref: '#/components/schemas/type_:FreightAmount' dutyAmount: $ref: '#/components/schemas/type_:DutyAmount' purchaseOrder: oneOf: - $ref: '#/components/schemas/type_:PurchaseOrder' - type: 'null' firstName: type: string description: First name of the recipient of the invoice. lastName: type: string description: Last name of the recipient of the invoice. company: type: - string - 'null' description: Company name of the recipient of the invoice. shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' shippingFromZip: $ref: '#/components/schemas/type_:ShippingFromZip' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' shippingEmail: $ref: '#/components/schemas/type_:Email' description: Shipping recipient's contact email address. shippingPhone: type: string description: Recipient phone number. summaryCommodityCode: oneOf: - $ref: '#/components/schemas/type_:SummaryCommodityCode' - type: 'null' items: type: array items: $ref: '#/components/schemas/type_:BillItem' description: Array of line items included in the invoice. Customer: $ref: '#/components/schemas/type_:PayorDataResponse' paylinkId: type: string billEvents: $ref: '#/components/schemas/type_:BillEvents' scheduledOptions: oneOf: - $ref: '#/components/schemas/type_:BillOptions' - type: 'null' description: Object with options for scheduled invoices. PaypointLegalname: $ref: '#/components/schemas/type_:Legalname' description: Paypoint's legal name. PaypointDbaname: $ref: '#/components/schemas/type_:Dbaname' description: Paypoint's DBA name. PaypointEntryname: $ref: '#/components/schemas/type_:Entrypointfield' description: Paypoint's entryname. ParentOrgId: $ref: '#/components/schemas/type_:Orgid' ParentOrgName: $ref: '#/components/schemas/type_:OrgParentName' AdditionalData: type: - object - 'null' additionalProperties: description: Any type description: >- Custom list of key:value pairs. This field is used to store any data related to the invoice or for your system. DocumentsRef: oneOf: - $ref: '#/components/schemas/type_:DocumentsRef' - type: 'null' description: Object containing attachments associated to the invoice. externalPaypointID: $ref: '#/components/schemas/type_:ExternalPaypointId' pageIdentifier: oneOf: - $ref: '#/components/schemas/type_:PageIdentifier' - type: 'null' required: - invoiceId - customerId - paypointId - invoiceNumber - invoiceDate - invoiceDueDate - invoiceSentDate - invoiceEndDate - lastPaymentDate - createdAt - invoiceStatus - invoiceType - frequency - paymentTerms - termsConditions - notes - invoiceAmount - invoicePaidAmount - purchaseOrder - firstName - lastName - company - shippingAddress1 - shippingAddress2 - shippingCity - shippingState - shippingZip - shippingFromZip - shippingCountry - shippingEmail - shippingPhone - summaryCommodityCode - items - Customer - paylinkId - scheduledOptions - PaypointLegalname - PaypointDbaname - PaypointEntryname - ParentOrgId - ParentOrgName - AdditionalData - DocumentsRef - externalPaypointID - pageIdentifier title: QueryInvoiceResponseRecordsItem type_:Pagesize: type: integer description: Number of records on each response page. title: Pagesize type_:Totalrecords: type: integer description: Total number of records in response. title: Totalrecords type_:QuerySummary: type: object properties: pageIdentifier: $ref: '#/components/schemas/type_:PageIdentifier' pageSize: $ref: '#/components/schemas/type_:Pagesize' totalAmount: type: number format: double description: Total amount for the records. totalNetAmount: type: number format: double description: Total net amount for the records. totalPages: $ref: '#/components/schemas/type_:Totalrecords' totalRecords: $ref: '#/components/schemas/type_:Totalrecords' title: QuerySummary type_invoice:QueryInvoiceResponse: type: object properties: Records: type: array items: $ref: '#/components/schemas/type_invoice:QueryInvoiceResponseRecordsItem' Summary: $ref: '#/components/schemas/type_:QuerySummary' required: - Records - Summary title: QueryInvoiceResponse type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript InvoiceQueryResponse import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.invoice.listInvoices("8cfec329267", { fromRecord: 251, limitRecord: 0, sortBy: "desc(field_name)", }); } main(); ``` ```python InvoiceQueryResponse from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.invoice.list_invoices( entry="8cfec329267", from_record=251, limit_record=0, sort_by="desc(field_name)", ) ``` ```csharp InvoiceQueryResponse using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Invoice.ListInvoicesAsync( "8cfec329267", new ListInvoicesRequest { FromRecord = 251, LimitRecord = 0, SortBy = "desc(field_name)" } ); } } ``` ```go InvoiceQueryResponse package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Query/invoices/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby InvoiceQueryResponse require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Query/invoices/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java InvoiceQueryResponse import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Query/invoices/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29") .header("requestToken", "") .asString(); ``` ```php InvoiceQueryResponse request('GET', 'https://api-sandbox.payabli.com/api/Query/invoices/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift InvoiceQueryResponse import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Query/invoices/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # List invoices by organization GET https://api-sandbox.payabli.com/api/Query/invoices/org/{orgId} Returns a list of invoices for an org. Use filters to limit results. Include the `exportFormat` query parameter to return the results as a file instead of a JSON response. Reference: https://docs.payabli.com/developers/api-reference/invoice/get-list-of-invoices-for-an-organization ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Query/invoices/org/{orgId}: get: operationId: list-invoices-org summary: Get list of invoices for an organization description: >- Returns a list of invoices for an org. Use filters to limit results. Include the `exportFormat` query parameter to return the results as a file instead of a JSON response. tags: - subpackage_invoice parameters: - name: orgId in: path description: The numeric identifier for organization, assigned by Payabli. required: true schema: type: integer - name: exportFormat in: query required: false schema: $ref: '#/components/schemas/type_:ExportFormat' - name: fromRecord in: query description: >- The number of records to skip before starting to collect the result set. required: false schema: type: integer default: 0 - name: limitRecord in: query description: >- Max number of records to return for the query. Use `0` or negative value to return all records. required: false schema: type: integer default: 20 - name: parameters in: query description: >- Collection of field names, conditions, and values used to filter the query See [Filters and Conditions Reference](/developers/developer-guides/pay-ops-reporting-engine-overview#filters-and-conditions-reference) for help. List of field names accepted: - `invoiceDate` (gt, ge, lt, le, eq, ne) - `dueDate` (gt, ge, lt, le, eq, ne) - `sentDate` (gt, ge, lt, le, eq, ne) - `frequency` (in, nin,ne, eq) - `invoiceType` (eq, ne) - `payTerms` (in, nin, eq, ne) - `paypointId` (ne, eq) - `totalAmount` (gt, ge, lt, le, eq, ne) - `paidAmount` (gt, ge, lt, le, eq, ne) - `status` (in, nin, eq, ne) - `invoiceNumber` (ct, nct, eq, ne) - `purchaseOrder` (ct, nct, eq, ne) - `itemProductCode` (ct, nct) - `itemDescription` (ct, nct) - `customerFirstname` (ct, nct, eq, ne) - `customerLastname` (ct, nct, eq, ne) - `customerName` (ct, nct) - `customerId` (eq, ne) - `customerNumber` (ct, nct, eq, ne) - `customerCompanyname` (ct, nct, eq, ne) - `customerAddress` (ct, nct, eq, ne) - `customerCity` (ct, nct, eq, ne) - `customerZip` (ct, nct, eq, ne) - `customerState` (ct, nct, eq, ne) - `customerCountry` (ct, nct, eq, ne) - `customerPhone` (ct, nct, eq, ne) - `customerEmail` (ct, nct, eq, ne) - `customerShippingAddress` (ct, nct, eq, ne) - `customerShippingCity` (ct, nct, eq, ne) - `customerShippingZip` (ct, nct, eq, ne) - `customerShippingState` (ct, nct, eq, ne) - `customerShippingCountry` (ct, nct, eq, ne) - `orgId` (eq) - `paylinkId` (ne, eq) - `paypointLegal` (ne, eq, ct, nct) - `paypointDba` (ne, eq, ct, nct) - `orgName` (ne, eq, ct, nct) - `additional-xxx` (ne, eq, ct, nct) where xxx is the additional field name List of comparison accepted - enclosed between parentheses: - eq or empty => equal - gt => greater than - ge => greater or equal - lt => less than - le => less or equal - ne => not equal - ct => contains - nct => not contains - in => inside array - nin => not inside array List of parameters accepted: - limitRecord : max number of records for query (default="20", "0" or negative value for all) - fromRecord : initial record in query Example: totalAmount(gt)=20 return all records with totalAmount greater than 20.00 required: false schema: type: object additionalProperties: type: string - name: sortBy in: query description: >- The field name to use for sorting results. Use `desc(field_name)` to sort descending by `field_name`, and use `asc(field_name)` to sort ascending by `field_name`. required: false schema: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success. Fields marked optional may return `null` if not set. content: application/json: schema: $ref: '#/components/schemas/type_invoice:QueryInvoiceResponse' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:ExportFormat: type: string enum: - csv - xlsx description: >- Export format for file downloads. When specified, returns data as a file instead of JSON. title: ExportFormat type_invoice:InvoiceId: type: integer format: int64 description: Identifier of invoice. title: InvoiceId type_:CustomerId: type: integer format: int64 description: The Payabli-generated unique ID for the customer. title: CustomerId type_:PaypointId: type: integer format: int64 description: The paypoint's ID. Note that this is different than the entryname. title: PaypointId type_:InvoiceNumber: type: string description: >- Custom number identifying the bill or invoice. Must be unique in paypoint. title: InvoiceNumber type_:CreatedAt: type: string format: date-time description: Timestamp of when record was created, in UTC. title: CreatedAt type_:Invoicestatus: type: integer description: |- Status for invoice. The accepted status values are: - 0 draft - 1 active - 2 partially paid - 4 paid/complete - 99 cancelled title: Invoicestatus type_:InvoiceType: type: integer description: Type of invoice. Only `0` for one-time invoices is currently supported. title: InvoiceType type_:Frequency: type: string enum: - onetime - weekly - every2weeks - every6months - monthly - every3months - annually description: Frequency for operation. title: Frequency type_:Terms: type: string description: >- Payment terms for invoice. If no terms are defined, then response data for this field defaults to `NET30`. **Available Values:** - `PIA`: Payment in advance - `CIA`: Cash in advance - `UR`: Upon receipt - `NET10`: 10 days after invoice date - `NET20`: 20 days after invoice date - `NET30`: 30 days after invoice date - `NET45`: 45 days after invoice date - `NET60`: 60 days after invoice date - `NET90`: 90 days after invoice date - `EOM`: Due end of this month - `MFI`: 1st of the month following the invoice date - `5MFI`: 5th of the month following the invoice date - `10MFI`: 10th of the month following the invoice date - `15MFI`: 15th of the month following the invoice date - `20MFI`: 20th of the month following the invoice date - `2/10NET30`: 2% discount if paid within 10 days, otherwise net 30 days - `UF`: Until further notice - `10UF`: 10 days until further notice - `20UF`: 20 days until further notice - `25UF`: 25 days until further notice - `50UF`: 50 days until further notice title: Terms type_:TermsConditions: type: string description: Custom terms and conditions included in the invoice. title: TermsConditions type_:Tax: type: number format: double description: Tax rate in percent applied to the invoice. title: Tax type_:Discount: type: number format: double description: Discount applied to the invoice. title: Discount type_:InvoiceAmount: type: number format: double description: Invoice total amount. title: InvoiceAmount type_invoice:InvoicePaidAmount: type: number format: double description: Amount partially paid to the invoice. title: InvoicePaidAmount type_:FreightAmount: type: number format: double description: Freight/shipping amount. title: FreightAmount type_:DutyAmount: type: number format: double description: Duty amount. title: DutyAmount type_:PurchaseOrder: type: string description: Purchase order number. title: PurchaseOrder type_:Shippingaddress: type: string description: The shipping address. title: Shippingaddress type_:Shippingaddressadditional: type: string description: Additional line for shipping address. title: Shippingaddressadditional type_:Shippingcity: type: string description: Shipping city. title: Shippingcity type_:Shippingstate: type: string description: Shipping state or province. title: Shippingstate type_:Shippingzip: type: string description: >- Shipping ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". title: Shippingzip type_:ShippingFromZip: type: string description: Sender shipping ZIP code. title: ShippingFromZip type_:Shippingcountry: type: string description: Shipping address country. title: Shippingcountry type_:Email: type: string format: email description: Email address. title: Email type_:SummaryCommodityCode: type: string description: Commodity code. title: SummaryCommodityCode type_:ItemCommodityCode: type: string description: Item or product commodity code. Max length of 250 characters. title: ItemCommodityCode type_:ItemDescription: type: string description: Item or product description. Max length of 250 characters. title: ItemDescription type_:ItemProductCode: type: string description: Item or product code. Max length of 250 characters. title: ItemProductCode type_:ItemProductName: type: string description: Item or product name. Max length of 250 characters. title: ItemProductName type_:ItemUnitofMeasure: type: string description: Unit of measurement. Max length of 100 characters. title: ItemUnitofMeasure type_:BillItem: type: object properties: itemCategories: type: array items: type: string description: Array of tags classifying item or product. itemCommodityCode: $ref: '#/components/schemas/type_:ItemCommodityCode' itemCost: type: number format: double description: Item or product price per unit. itemDescription: $ref: '#/components/schemas/type_:ItemDescription' itemMode: type: integer description: >- Internal class of item or product: value '0' is only for invoices , '1' for bills and, '2' common for both. itemProductCode: $ref: '#/components/schemas/type_:ItemProductCode' itemProductName: $ref: '#/components/schemas/type_:ItemProductName' itemQty: type: integer description: Quantity of item or product. itemTaxAmount: type: number format: double description: Tax amount applied to item or product. itemTaxRate: type: number format: double description: Tax rate applied to item or product. itemTotalAmount: type: number format: double description: Total amount in item or product. itemUnitOfMeasure: $ref: '#/components/schemas/type_:ItemUnitofMeasure' required: - itemCost title: BillItem type_:AdditionalDataMap: type: object additionalProperties: type: string description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalDataMap type_:BillingAddressNullable: type: string description: Billing address. title: BillingAddressNullable type_:BillingAddressAddtlNullable: type: string description: Additional line for the billing address. title: BillingAddressAddtlNullable type_:BillingCityNullable: type: string description: Billing city. title: BillingCityNullable type_:BillingCountryNullable: type: string description: Billing address country. title: BillingCountryNullable type_:PhoneNumber: type: string description: Phone number. title: PhoneNumber type_:BillingStateNullable: type: string description: Billing state. Must be 2-letter state code for address in US. title: BillingStateNullable type_:BillingZip: type: string description: Billing address ZIP code. title: BillingZip type_:CustomerNumberNullable: type: string description: >- User-provided unique identifier for the customer. This is typically the customer ID from your own system. title: CustomerNumberNullable type_:CustomerStatus: type: integer description: |- Customer Status. Possible values: - `-99` Deleted - `0` Inactive - `1` Active - `85` Locked (typically due to multiple failed login attempts) title: CustomerStatus type_:Identifierfields: type: array items: type: string description: >- List of fields acting as customer identifiers, to be used instead of CustomerNumber. title: Identifierfields type_:PayorDataResponse: type: object properties: AdditionalData: oneOf: - $ref: '#/components/schemas/type_:AdditionalDataMap' - type: 'null' BillingAddress1: oneOf: - $ref: '#/components/schemas/type_:BillingAddressNullable' - type: 'null' BillingAddress2: oneOf: - $ref: '#/components/schemas/type_:BillingAddressAddtlNullable' - type: 'null' BillingCity: oneOf: - $ref: '#/components/schemas/type_:BillingCityNullable' - type: 'null' BillingCountry: oneOf: - $ref: '#/components/schemas/type_:BillingCountryNullable' - type: 'null' BillingEmail: oneOf: - $ref: '#/components/schemas/type_:Email' - type: 'null' BillingPhone: oneOf: - $ref: '#/components/schemas/type_:PhoneNumber' - type: 'null' BillingState: oneOf: - $ref: '#/components/schemas/type_:BillingStateNullable' - type: 'null' BillingZip: oneOf: - $ref: '#/components/schemas/type_:BillingZip' - type: 'null' description: >- Customer's billing ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". CompanyName: type: - string - 'null' description: Customer's company name. customerId: oneOf: - $ref: '#/components/schemas/type_:CustomerId' - type: 'null' CustomerNumber: oneOf: - $ref: '#/components/schemas/type_:CustomerNumberNullable' - type: 'null' customerStatus: oneOf: - $ref: '#/components/schemas/type_:CustomerStatus' - type: 'null' description: >- Customer status. This is used to determine if the customer is active or inactive. FirstName: type: - string - 'null' description: Customer/Payor first name. Identifiers: oneOf: - $ref: '#/components/schemas/type_:Identifierfields' - type: 'null' LastName: type: - string - 'null' description: Customer/Payor last name. ShippingAddress1: oneOf: - $ref: '#/components/schemas/type_:Shippingaddress' - type: 'null' ShippingAddress2: oneOf: - $ref: '#/components/schemas/type_:Shippingaddressadditional' - type: 'null' ShippingCity: oneOf: - $ref: '#/components/schemas/type_:Shippingcity' - type: 'null' ShippingCountry: oneOf: - $ref: '#/components/schemas/type_:Shippingcountry' - type: 'null' ShippingState: oneOf: - $ref: '#/components/schemas/type_:Shippingstate' - type: 'null' ShippingZip: oneOf: - $ref: '#/components/schemas/type_:Shippingzip' - type: 'null' required: - AdditionalData - BillingAddress1 - BillingAddress2 - BillingCity - BillingCountry - BillingEmail - BillingPhone - BillingState - BillingZip - CompanyName - customerId - CustomerNumber - customerStatus - FirstName - Identifiers - LastName - ShippingAddress1 - ShippingAddress2 - ShippingCity - ShippingCountry - ShippingState - ShippingZip description: Customer information. title: PayorDataResponse type_:Source: type: string description: Custom identifier to indicate the transaction or request source. title: Source type_:GeneralEvents: type: object properties: description: type: string description: Event description. eventTime: type: string format: date-time description: Event timestamp, in UTC. extraData: type: object additionalProperties: description: Any type description: Extra data. refData: type: string description: Reference data. source: $ref: '#/components/schemas/type_:Source' description: The event source. title: GeneralEvents type_:BillEvents: type: array items: $ref: '#/components/schemas/type_:GeneralEvents' description: >- Array of event objects with information related to events associated to the invoice. title: BillEvents type_:BillOptions: type: object properties: includePaylink: type: boolean description: Flag to indicate if the scheduled invoice includes a payment link. includePdf: type: boolean description: >- Flag to indicate if the scheduled invoice includes a PDF version of invoice title: BillOptions type_:Legalname: type: string description: Business legal name. title: Legalname type_:Dbaname: type: string description: >- The alternate or common name that this business is doing business under usually referred to as a DBA name. title: Dbaname type_:Entrypointfield: type: string description: The entrypoint identifier. title: Entrypointfield type_:Orgid: type: integer format: int64 description: Organization ID. Unique identifier assigned to an org by Payabli. title: Orgid type_:OrgParentName: type: string description: The name of the parent organization. title: OrgParentName type_:PairFiles: type: object properties: originalName: type: string description: Original filename zipName: type: string description: >- Filename assigned to zipped file. This is the name to use for reference in the API functions to get files in attachments. descriptor: type: string description: Descriptor of the file. title: PairFiles type_:DocumentsRef: type: object properties: filelist: type: array items: $ref: '#/components/schemas/type_:PairFiles' description: Array of objects describing files contained in the ZIP file. zipfile: type: string description: Zip file containing attachments. title: DocumentsRef type_:ExternalPaypointId: type: string description: >- A custom identifier for the paypoint, if applicable. Like `entrypoint` is the Payabli identifier for the merchant, `externalPaypointId` is a custom field you can use to include the merchant's ID from your own systems. title: ExternalPaypointId type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_invoice:QueryInvoiceResponseRecordsItem: type: object properties: invoiceId: $ref: '#/components/schemas/type_invoice:InvoiceId' customerId: $ref: '#/components/schemas/type_:CustomerId' paypointId: $ref: '#/components/schemas/type_:PaypointId' invoiceNumber: $ref: '#/components/schemas/type_:InvoiceNumber' invoiceDate: type: - string - 'null' format: date description: 'Invoice date in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY.' invoiceDueDate: type: - string - 'null' format: date description: >- Invoice due date in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceSentDate: type: - string - 'null' format: date description: >- Invoice sent date in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceEndDate: type: - string - 'null' format: date description: The end date for a scheduled invoice cycle (`invoiceType` = 1). lastPaymentDate: type: - string - 'null' format: date-time description: Timestamp of last payment. createdAt: $ref: '#/components/schemas/type_:CreatedAt' invoiceStatus: $ref: '#/components/schemas/type_:Invoicestatus' invoiceType: $ref: '#/components/schemas/type_:InvoiceType' frequency: $ref: '#/components/schemas/type_:Frequency' description: Frequency of scheduled invoice. paymentTerms: $ref: '#/components/schemas/type_:Terms' termsConditions: oneOf: - $ref: '#/components/schemas/type_:TermsConditions' - type: 'null' notes: type: - string - 'null' description: Invoice notes. tax: $ref: '#/components/schemas/type_:Tax' discount: $ref: '#/components/schemas/type_:Discount' invoiceAmount: $ref: '#/components/schemas/type_:InvoiceAmount' invoicePaidAmount: $ref: '#/components/schemas/type_invoice:InvoicePaidAmount' freightAmount: $ref: '#/components/schemas/type_:FreightAmount' dutyAmount: $ref: '#/components/schemas/type_:DutyAmount' purchaseOrder: oneOf: - $ref: '#/components/schemas/type_:PurchaseOrder' - type: 'null' firstName: type: string description: First name of the recipient of the invoice. lastName: type: string description: Last name of the recipient of the invoice. company: type: - string - 'null' description: Company name of the recipient of the invoice. shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' shippingFromZip: $ref: '#/components/schemas/type_:ShippingFromZip' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' shippingEmail: $ref: '#/components/schemas/type_:Email' description: Shipping recipient's contact email address. shippingPhone: type: string description: Recipient phone number. summaryCommodityCode: oneOf: - $ref: '#/components/schemas/type_:SummaryCommodityCode' - type: 'null' items: type: array items: $ref: '#/components/schemas/type_:BillItem' description: Array of line items included in the invoice. Customer: $ref: '#/components/schemas/type_:PayorDataResponse' paylinkId: type: string billEvents: $ref: '#/components/schemas/type_:BillEvents' scheduledOptions: oneOf: - $ref: '#/components/schemas/type_:BillOptions' - type: 'null' description: Object with options for scheduled invoices. PaypointLegalname: $ref: '#/components/schemas/type_:Legalname' description: Paypoint's legal name. PaypointDbaname: $ref: '#/components/schemas/type_:Dbaname' description: Paypoint's DBA name. PaypointEntryname: $ref: '#/components/schemas/type_:Entrypointfield' description: Paypoint's entryname. ParentOrgId: $ref: '#/components/schemas/type_:Orgid' ParentOrgName: $ref: '#/components/schemas/type_:OrgParentName' AdditionalData: type: - object - 'null' additionalProperties: description: Any type description: >- Custom list of key:value pairs. This field is used to store any data related to the invoice or for your system. DocumentsRef: oneOf: - $ref: '#/components/schemas/type_:DocumentsRef' - type: 'null' description: Object containing attachments associated to the invoice. externalPaypointID: $ref: '#/components/schemas/type_:ExternalPaypointId' pageIdentifier: oneOf: - $ref: '#/components/schemas/type_:PageIdentifier' - type: 'null' required: - invoiceId - customerId - paypointId - invoiceNumber - invoiceDate - invoiceDueDate - invoiceSentDate - invoiceEndDate - lastPaymentDate - createdAt - invoiceStatus - invoiceType - frequency - paymentTerms - termsConditions - notes - invoiceAmount - invoicePaidAmount - purchaseOrder - firstName - lastName - company - shippingAddress1 - shippingAddress2 - shippingCity - shippingState - shippingZip - shippingFromZip - shippingCountry - shippingEmail - shippingPhone - summaryCommodityCode - items - Customer - paylinkId - scheduledOptions - PaypointLegalname - PaypointDbaname - PaypointEntryname - ParentOrgId - ParentOrgName - AdditionalData - DocumentsRef - externalPaypointID - pageIdentifier title: QueryInvoiceResponseRecordsItem type_:Pagesize: type: integer description: Number of records on each response page. title: Pagesize type_:Totalrecords: type: integer description: Total number of records in response. title: Totalrecords type_:QuerySummary: type: object properties: pageIdentifier: $ref: '#/components/schemas/type_:PageIdentifier' pageSize: $ref: '#/components/schemas/type_:Pagesize' totalAmount: type: number format: double description: Total amount for the records. totalNetAmount: type: number format: double description: Total net amount for the records. totalPages: $ref: '#/components/schemas/type_:Totalrecords' totalRecords: $ref: '#/components/schemas/type_:Totalrecords' title: QuerySummary type_invoice:QueryInvoiceResponse: type: object properties: Records: type: array items: $ref: '#/components/schemas/type_invoice:QueryInvoiceResponseRecordsItem' Summary: $ref: '#/components/schemas/type_:QuerySummary' required: - Records - Summary title: QueryInvoiceResponse type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript Example response for invoice queries. import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.invoice.listInvoicesOrg(123, { fromRecord: 251, limitRecord: 0, sortBy: "desc(field_name)", }); } main(); ``` ```python Example response for invoice queries. from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.invoice.list_invoices_org( org_id=123, from_record=251, limit_record=0, sort_by="desc(field_name)", ) ``` ```csharp Example response for invoice queries. using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Invoice.ListInvoicesOrgAsync( 123, new ListInvoicesOrgRequest { FromRecord = 251, LimitRecord = 0, SortBy = "desc(field_name)" } ); } } ``` ```go Example response for invoice queries. package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Query/invoices/org/123?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Example response for invoice queries. require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Query/invoices/org/123?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java Example response for invoice queries. import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Query/invoices/org/123?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29") .header("requestToken", "") .asString(); ``` ```php Example response for invoice queries. request('GET', 'https://api-sandbox.payabli.com/api/Query/invoices/org/123?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift Example response for invoice queries. import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Query/invoices/org/123?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Export invoices by paypoint GET https://api-sandbox.payabli.com/api/Export/invoices/{format}/{entry} Export list of invoices for an entrypoint. Use filters to limit results. Reference: https://docs.payabli.com/developers/api-reference/invoice/export-list-of-invoices-for-an-entrypoint ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Export/invoices/{format}/{entry}: get: operationId: export-invoices summary: Export list of invoices for an entrypoint description: Export list of invoices for an entrypoint. Use filters to limit results. tags: - subpackage_export parameters: - name: format in: path description: 'Format for the export, either XLSX or CSV. ' required: true schema: $ref: '#/components/schemas/type_export:ExportFormat1' - name: entry in: path description: >- The paypoint's entrypoint identifier. [Learn more](/developers/api-reference/api-overview#entrypoint-vs-entry) required: true schema: type: string - name: columnsExport in: query required: false schema: type: string - name: fromRecord in: query description: >- The number of records to skip before starting to collect the result set. required: false schema: type: integer default: 0 - name: limitRecord in: query description: >- The number of records to return for the query. The maximum is 30,000 records. When this parameter isn't sent, the API returns up to 25,000 records. required: false schema: type: integer default: 25000 - name: parameters in: query description: >- Collection of field names, conditions, and values used to filter the query **You must remove `parameters=` from the request before you send it, otherwise Payabli will ignore the filters.** Because of a technical limitation, you can't make a request that includes filters from the API console on this page. The response won't be filtered. Instead, copy the request, remove `parameters=` and run the request in a different client. For example: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?parameters=totalAmount(gt)=1000&limitRecord=20 should become: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?totalAmount(gt)=1000&limitRecord=20 See [Filters and Conditions Reference](/developers/developer-guides/pay-ops-reporting-engine-overview#filters-and-conditions-reference) for help. List of field names accepted: - `invoiceDate` (gt, ge, lt, le, eq, ne) - `dueDate` (gt, ge, lt, le, eq, ne) - `sentDate` (gt, ge, lt, le, eq, ne) - `frequency` (in, nin,ne, eq) - `invoiceType` (eq, ne) - `payTerms` (in, nin, eq, ne) - `paypointId` (ne, eq) - `totalAmount` (gt, ge, lt, le, eq, ne) - `paidAmount` (gt, ge, lt, le, eq, ne) - `status` (in, nin, eq, ne) - `invoiceNumber` (ct, nct, eq, ne) - `purchaseOrder` (ct, nct, eq, ne) - `itemProductCode` (ct, nct) - `itemDescription` (ct, nct) - `customerFirstname` (ct, nct, eq, ne) - `customerLastname` (ct, nct, eq, ne) - `customerName` (ct, nct) - `customerId` (eq, ne) - `customerNumber` (ct, nct, eq, ne) - `customerCompanyname` (ct, nct, eq, ne) - `customerAddress` (ct, nct, eq, ne) - `customerCity` (ct, nct, eq, ne) - `customerZip` (ct, nct, eq, ne) - `customerState` (ct, nct, eq, ne) - `customerCountry` (ct, nct, eq, ne) - `customerPhone` (ct, nct, eq, ne) - `customerEmail` (ct, nct, eq, ne) - `customerShippingAddress` (ct, nct, eq, ne) - `customerShippingCity` (ct, nct, eq, ne) - `customerShippingZip` (ct, nct, eq, ne) - `customerShippingState` (ct, nct, eq, ne) - `customerShippingCountry` (ct, nct, eq, ne) - `orgId` (eq) - `paylinkId` (ne, eq) - `paypointLegal` (ne, eq, ct, nct) - `paypointDba` (ne, eq, ct, nct) - `orgName` (ne, eq, ct, nct) - `additional-xxx` (ne, eq, ct, nct) where xxx is the additional field name List of comparison accepted - enclosed between parentheses: - eq or empty => equal - gt => greater than - ge => greater or equal - lt => less than - le => less or equal - ne => not equal - ct => contains - nct => not contains - in => inside array - nin => not inside array List of parameters accepted: - `limitRecord` : max number of records for query (default="20", "0" or negative value for all) - `fromRecord` : initial record in query Example: `totalAmount(gt)=20` returns all records with `totalAmount` greater than 20.00 required: false schema: type: object additionalProperties: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:File' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_export:ExportFormat1: type: string enum: - csv - xlsx title: ExportFormat1 type_:File: type: object additionalProperties: description: Any type description: >- A file containing the response data, in the format specified in the request. title: File type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.export.exportInvoices("8cfec329267", "csv", { columnsExport: "BatchDate:Batch_Date,PaypointName:Legal_name", fromRecord: 251, limitRecord: 1000, }); } main(); ``` ```python from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.export.export_invoices( entry="8cfec329267", format="csv", columns_export="BatchDate:Batch_Date,PaypointName:Legal_name", from_record=251, limit_record=1000, ) ``` ```csharp using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Export.ExportInvoicesAsync( ExportFormat1.Csv, "8cfec329267", new ExportInvoicesRequest { ColumnsExport = "BatchDate:Batch_Date,PaypointName:Legal_name", FromRecord = 251, LimitRecord = 1000 } ); } } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Export/invoices/csv/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Export/invoices/csv/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Export/invoices/csv/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000") .header("requestToken", "") .asString(); ``` ```php request('GET', 'https://api-sandbox.payabli.com/api/Export/invoices/csv/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Export/invoices/csv/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Export invoices by org GET https://api-sandbox.payabli.com/api/Export/invoices/{format}/org/{orgId} Export a list of invoices for an organization. Use filters to limit results. Reference: https://docs.payabli.com/developers/api-reference/invoice/export-list-of-invoices-for-an-organization ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Export/invoices/{format}/org/{orgId}: get: operationId: export-invoices-org summary: Export list of invoices for an organization description: >- Export a list of invoices for an organization. Use filters to limit results. tags: - subpackage_export parameters: - name: format in: path description: 'Format for the export, either XLSX or CSV. ' required: true schema: $ref: '#/components/schemas/type_export:ExportFormat1' - name: orgId in: path description: The numeric identifier for organization, assigned by Payabli. required: true schema: type: integer - name: columnsExport in: query required: false schema: type: string - name: fromRecord in: query description: >- The number of records to skip before starting to collect the result set. required: false schema: type: integer default: 0 - name: limitRecord in: query description: >- The number of records to return for the query. The maximum is 30,000 records. When this parameter isn't sent, the API returns up to 25,000 records. required: false schema: type: integer default: 25000 - name: parameters in: query description: >- Collection of field names, conditions, and values used to filter the query **You must remove `parameters=` from the request before you send it, otherwise Payabli will ignore the filters.** Because of a technical limitation, you can't make a request that includes filters from the API console on this page. The response won't be filtered. Instead, copy the request, remove `parameters=` and run the request in a different client. For example: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?parameters=totalAmount(gt)=1000&limitRecord=20 should become: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?totalAmount(gt)=1000&limitRecord=20 See [Filters and Conditions Reference](/developers/developer-guides/pay-ops-reporting-engine-overview#filters-and-conditions-reference) for help. List of field names accepted: - `invoiceDate` (gt, ge, lt, le, eq, ne) - `dueDate` (gt, ge, lt, le, eq, ne) - `sentDate` (gt, ge, lt, le, eq, ne) - `frequency` (in, nin,ne, eq) - `invoiceType` (eq, ne) - `payTerms` (in, nin, eq, ne) - `paypointId` (ne, eq) - `totalAmount` (gt, ge, lt, le, eq, ne) - `paidAmount` (gt, ge, lt, le, eq, ne) - `status` (in, nin, eq, ne) - `invoiceNumber` (ct, nct, eq, ne) - `purchaseOrder` (ct, nct, eq, ne) - `itemProductCode` (ct, nct) - `itemDescription` (ct, nct) - `customerFirstname` (ct, nct, eq, ne) - `customerLastname` (ct, nct, eq, ne) - `customerName` (ct, nct) - `customerId` (eq, ne) - `customerNumber` (ct, nct, eq, ne) - `customerCompanyname` (ct, nct, eq, ne) - `customerAddress` (ct, nct, eq, ne) - `customerCity` (ct, nct, eq, ne) - `customerZip` (ct, nct, eq, ne) - `customerState` (ct, nct, eq, ne) - `customerCountry` (ct, nct, eq, ne) - `customerPhone` (ct, nct, eq, ne) - `customerEmail` (ct, nct, eq, ne) - `customerShippingAddress` (ct, nct, eq, ne) - `customerShippingCity` (ct, nct, eq, ne) - `customerShippingZip` (ct, nct, eq, ne) - `customerShippingState` (ct, nct, eq, ne) - `customerShippingCountry` (ct, nct, eq, ne) - `orgId` (eq) - `paylinkId` (ne, eq) - `paypointLegal` (ne, eq, ct, nct) - `paypointDba` (ne, eq, ct, nct) - `orgName` (ne, eq, ct, nct) - `additional-xxx` (ne, eq, ct, nct) where xxx is the additional field name List of comparison accepted - enclosed between parentheses: - eq or empty => equal - gt => greater than - ge => greater or equal - lt => less than - le => less or equal - ne => not equal - ct => contains - nct => not contains - in => inside array - nin => not inside array List of parameters accepted: - limitRecord : max number of records for query (default="20", "0" or negative value for all) - fromRecord : initial record in query Example: totalAmount(gt)=20 return all records with totalAmount greater than 20.00 required: false schema: type: object additionalProperties: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:File' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_export:ExportFormat1: type: string enum: - csv - xlsx title: ExportFormat1 type_:File: type: object additionalProperties: description: Any type description: >- A file containing the response data, in the format specified in the request. title: File type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.export.exportInvoicesOrg("csv", 123, { columnsExport: "BatchDate:Batch_Date,PaypointName:Legal_name", fromRecord: 251, limitRecord: 1000, }); } main(); ``` ```python from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.export.export_invoices_org( format="csv", org_id=123, columns_export="BatchDate:Batch_Date,PaypointName:Legal_name", from_record=251, limit_record=1000, ) ``` ```csharp using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Export.ExportInvoicesOrgAsync( ExportFormat1.Csv, 123, new ExportInvoicesOrgRequest { ColumnsExport = "BatchDate:Batch_Date,PaypointName:Legal_name", FromRecord = 251, LimitRecord = 1000 } ); } } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Export/invoices/csv/org/123?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Export/invoices/csv/org/123?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Export/invoices/csv/org/123?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000") .header("requestToken", "") .asString(); ``` ```php request('GET', 'https://api-sandbox.payabli.com/api/Export/invoices/csv/org/123?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Export/invoices/csv/org/123?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Get invoice PDF GET https://api-sandbox.payabli.com/api/Export/invoicePdf/{idInvoice} Export a single invoice in PDF format. Reference: https://docs.payabli.com/developers/api-reference/invoice/export-invoice-pdf ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Export/invoicePdf/{idInvoice}: get: operationId: get-invoice-pdf summary: Export Invoice PDF description: Export a single invoice in PDF format. tags: - subpackage_invoice parameters: - name: idInvoice in: path description: Invoice ID required: true schema: type: integer - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:File' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:File: type: object additionalProperties: description: Any type description: >- A file containing the response data, in the format specified in the request. title: File type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.invoice.getInvoicePdf(23548884); } main(); ``` ```python from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.invoice.get_invoice_pdf( id_invoice=23548884, ) ``` ```csharp using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Invoice.GetInvoicePdfAsync( 23548884 ); } } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Export/invoicePdf/23548884" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Export/invoicePdf/23548884") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Export/invoicePdf/23548884") .header("requestToken", "") .asString(); ``` ```php request('GET', 'https://api-sandbox.payabli.com/api/Export/invoicePdf/23548884', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Export/invoicePdf/23548884")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Create payment page POST https://api-sandbox.payabli.com/api/Paypoint/{entry} Content-Type: application/json Creates a new payment page for a paypoint. Note: this operation doesn't create a new paypoint, just a payment page for an existing paypoint. Paypoints are created by the Payabli team when a boarding application is approved. Reference: https://docs.payabli.com/developers/api-reference/hostedpaymentpages/create-a-payment-page ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Paypoint/{entry}: post: operationId: new-page summary: Create payment page description: >- Creates a new payment page for a paypoint. Note: this operation doesn't create a new paypoint, just a payment page for an existing paypoint. Paypoints are created by the Payabli team when a boarding application is approved. tags: - subpackage_hostedPaymentPages parameters: - name: entry in: path description: >- The paypoint's entrypoint identifier. [Learn more](/developers/api-reference/api-overview#entrypoint-vs-entry) required: true schema: type: string - name: requestToken in: header required: true schema: type: string - name: idempotencyKey in: header required: false schema: $ref: '#/components/schemas/type_:IdempotencyKey' responses: '200': description: Success content: application/json: schema: $ref: >- #/components/schemas/type_:PayabliApiResponse00Responsedatanonobject '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/type_:PayabliPages' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:IdempotencyKey: type: string description: >- _Optional but recommended_ A unique ID that you can include to prevent duplicating objects or transactions in the case that a request is sent more than once. This key isn't generated in Payabli, you must generate it yourself. This key persists for 2 minutes. After 2 minutes, you can reuse the key if needed. title: IdempotencyKey type_:AdditionalData: type: object additionalProperties: type: object additionalProperties: description: Any type description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. If you are using [custom identifiers](/developers/developer-guides/entities-customers), pass those in this object. Max length for a value is 100 characters. Example usage: ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalData type_:PayabliCredentials: type: object properties: accountId: type: string cfeeFix: type: number format: double cfeeFloat: type: number format: double cfeeMax: type: number format: double cfeeMin: type: number format: double maxticket: type: number format: double minticket: type: number format: double mode: type: integer description: >- The payment mode supported by this service. `0` for one-time payments, `1` for recurring payments, `2` for both. referenceId: type: integer format: int64 service: type: string description: >- The payment service that this credential applies to. A paypoint can support multiple services, each represented by its own credential object in the array. Possible values are `card` (credit/debit card), `ach` (ACH bank transfer), `check` (paper check), `vcard` (virtual card), `cloud` (card-present), `cash`, `managed` (managed payment service), and `wallet`. title: PayabliCredentials type_:Order: type: integer description: Order of element or section in container. title: Order type_:PayCategory: type: object properties: description: type: string label: type: string name: type: string optionalPay: type: boolean order: $ref: '#/components/schemas/type_:Order' quantity: type: integer showDescription: type: boolean type: type: string value: type: string title: PayCategory type_:Enabled: type: boolean description: Toggles whether the section or element is enabled. title: Enabled type_:AmountElement: type: object properties: categories: type: array items: $ref: '#/components/schemas/type_:PayCategory' enabled: $ref: '#/components/schemas/type_:Enabled' order: $ref: '#/components/schemas/type_:Order' title: AmountElement type_:Finishtype: type: object properties: calendar: type: boolean description: Flag to enable 'calendar' option untilCancelled: type: boolean description: Flag to enable 'untilCancelled' option title: Finishtype type_:FrequencyList: type: object properties: annually: type: boolean description: Enable or disable frequency every2Weeks: type: boolean description: Enable or disable frequency every3Months: type: boolean description: Enable or disable frequency every6Months: type: boolean description: Enable or disable frequency monthly: type: boolean description: Enable or disable frequency onetime: type: boolean description: Enable or disable frequency weekly: type: boolean description: Enable or disable frequency title: FrequencyList type_:AutoElement: type: object properties: enabled: $ref: '#/components/schemas/type_:Enabled' finish: $ref: '#/components/schemas/type_:Finishtype' description: Type of end date frequency: $ref: '#/components/schemas/type_:FrequencyList' description: accepted frequencies for autopay frequencySelected: type: string description: Value of pre-selected frequency header: type: string description: Header text for section order: $ref: '#/components/schemas/type_:Order' startDate: type: string description: Range of days enabled in calendar. Leave empty to enable all days. title: AutoElement type_:ContactElement: type: object properties: emailLabel: type: string description: Custom content for email enabled: $ref: '#/components/schemas/type_:Enabled' header: type: string description: Header text for section order: $ref: '#/components/schemas/type_:Order' paymentIcons: type: boolean description: Flag indicating if icons for accepted card brands will be shown phoneLabel: type: string description: Custom content for phone number title: ContactElement type_:LabelElement: type: object properties: enabled: $ref: '#/components/schemas/type_:Enabled' label: type: string description: Label to display for section or element order: $ref: '#/components/schemas/type_:Order' title: LabelElement type_:InvoiceElement: type: object properties: enabled: $ref: '#/components/schemas/type_:Enabled' invoiceLink: $ref: '#/components/schemas/type_:LabelElement' description: Link to invoice order: $ref: '#/components/schemas/type_:Order' viewInvoiceDetails: $ref: '#/components/schemas/type_:LabelElement' description: Link to view invoice details title: InvoiceElement type_:Element: type: object properties: enabled: $ref: '#/components/schemas/type_:Enabled' order: $ref: '#/components/schemas/type_:Order' title: Element type_:NoteElement: type: object properties: enabled: $ref: '#/components/schemas/type_:Enabled' header: type: string description: Header text for section order: $ref: '#/components/schemas/type_:Order' placeholder: type: string description: Placeholder text for input field value: type: string description: Pre-populated value for input field title: NoteElement type_:PageElement: type: object properties: description: type: string description: Page description in header enabled: $ref: '#/components/schemas/type_:Enabled' header: type: string description: Page header order: $ref: '#/components/schemas/type_:Order' title: PageElement type_:MethodsList: type: object properties: amex: type: boolean description: When `true`, American Express is accepted. applePay: type: boolean description: When `true`, Apple Pay is accepted. googlePay: type: boolean description: When `true`, Google Pay is accepted. discover: type: boolean description: When `true`, Discover is accepted. eCheck: type: boolean description: When `true`, ACH is accepted. mastercard: type: boolean description: When `true`, Mastercard is accepted. visa: type: boolean description: When `true`, Visa is accepted. title: MethodsList type_:MethodElementSettingsApplePayButtonStyle: type: string enum: - black - white-outline - white default: black description: >- The Apple Pay button style. See [Apple Pay Button Style](/developers/developer-guides/hosted-payment-page-apple-pay#param-applepay-button-style) for more information. title: MethodElementSettingsApplePayButtonStyle type_:MethodElementSettingsApplePayButtonType: type: string enum: - plain - buy - donate - check-out - book - continue - top-up - order - rent - support - contribute - tip - pay default: pay description: >- The text on Apple Pay button. See [Apple Pay Button Type](/developers/developer-guides/hosted-payment-page-apple-pay#param-applepay-button-type) for more information. title: MethodElementSettingsApplePayButtonType type_:MethodElementSettingsApplePayLanguage: type: string enum: - en-US - ar-AB - ca-ES - zh-CN - zh-HK - zh-TW - hr-HR - cs-CZ - da-DK - de-DE - nl-NL - en-AU - en-GB - fi-FI - fr-CA - fr-FR - el-GR - he-IL - hi-IN - hu-HU - id-ID - it-IT - ja-JP - ko-KR - ms-MY - nb-NO - pl-PL - pt-BR - pt-PT - ro-RO - ru-RU - sk-SK - es-MX - es-ES - sv-SE - th-TH - tr-TR - uk-UA - vi-VN default: en-US description: >- The Apple Pay button locale. See [Apple Pay Button Language](/developers/developer-guides/hosted-payment-page-apple-pay#param-applepay-language) for more information. title: MethodElementSettingsApplePayLanguage type_:MethodElementSettingsApplePay: type: object properties: buttonStyle: $ref: '#/components/schemas/type_:MethodElementSettingsApplePayButtonStyle' description: >- The Apple Pay button style. See [Apple Pay Button Style](/developers/developer-guides/hosted-payment-page-apple-pay#param-applepay-button-style) for more information. buttonType: $ref: '#/components/schemas/type_:MethodElementSettingsApplePayButtonType' description: >- The text on Apple Pay button. See [Apple Pay Button Type](/developers/developer-guides/hosted-payment-page-apple-pay#param-applepay-button-type) for more information. language: $ref: '#/components/schemas/type_:MethodElementSettingsApplePayLanguage' description: >- The Apple Pay button locale. See [Apple Pay Button Language](/developers/developer-guides/hosted-payment-page-apple-pay#param-applepay-language) for more information. title: MethodElementSettingsApplePay type_:MethodElementSettings: type: object properties: applePay: $ref: '#/components/schemas/type_:MethodElementSettingsApplePay' description: Settings for wallet payment methods. title: MethodElementSettings type_:MethodElement: type: object properties: allMethodsChecked: type: boolean description: Flag indicating if all allowed payment methods will be pre-selected. enabled: $ref: '#/components/schemas/type_:Enabled' header: type: string description: Header text for section methods: $ref: '#/components/schemas/type_:MethodsList' order: $ref: '#/components/schemas/type_:Order' settings: $ref: '#/components/schemas/type_:MethodElementSettings' description: Settings for wallet payment methods. title: MethodElement type_:PayorFields: type: object properties: display: type: boolean description: Flag indicating if the input field will show in container fixed: type: boolean description: Flag indicating if the value in input field is read-only or not. identifier: type: boolean description: Flag indicating if the input field is a customer identifier label: type: string description: Label to display for field name: type: string description: >- Name of field to show. Should be one of the standard customer fields or a custom field name order: $ref: '#/components/schemas/type_:Order' required: type: boolean description: Flag indicating if the input field is required for validation validation: type: string description: |- Type of validation to apply to the input field Accepted values: - alpha for alphabetical - numbers for numeric - text for alphanumeric - email for masked email address input - phone for US phone numbers value: type: string description: Pre-populated value for field width: type: integer description: >- Numeric value indicating the size of input relative to the container. Accepted values: - 4 = 1/3 - 6 = 1/2 - 8 = 2/3 - 12 = 3/3 title: PayorFields type_:PayorElement: type: object properties: enabled: $ref: '#/components/schemas/type_:Enabled' fields: type: array items: $ref: '#/components/schemas/type_:PayorFields' description: Array of Customer/Payor fields to show in section header: type: string description: Custom header text for section order: $ref: '#/components/schemas/type_:Order' title: PayorElement type_:HeaderElement: type: object properties: enabled: $ref: '#/components/schemas/type_:Enabled' header: type: string description: Header text for section order: $ref: '#/components/schemas/type_:Order' title: HeaderElement type_:Subdomain: type: string description: >- Refers to the payment page identifier. If provided, then the transaction is linked to the payment page. title: Subdomain type_:PageContent: type: object properties: amount: $ref: '#/components/schemas/type_:AmountElement' description: Amount section of payment page autopay: $ref: '#/components/schemas/type_:AutoElement' description: Autopay section of payment page contactUs: $ref: '#/components/schemas/type_:ContactElement' description: ContactUs section of payment page entry: type: string description: Identifier of entry point owner of page invoices: $ref: '#/components/schemas/type_:InvoiceElement' description: Invoices section of payment page logo: $ref: '#/components/schemas/type_:Element' description: Logo section of payment page messageBeforePaying: $ref: '#/components/schemas/type_:LabelElement' description: Message section of payment page name: type: string description: Descriptor of page notes: $ref: '#/components/schemas/type_:NoteElement' description: Notes section of payment page page: $ref: '#/components/schemas/type_:PageElement' description: Page header section of payment page paymentButton: $ref: '#/components/schemas/type_:LabelElement' description: Payment button section of payment page paymentMethods: $ref: '#/components/schemas/type_:MethodElement' description: Payment methods section of payment page payor: $ref: '#/components/schemas/type_:PayorElement' description: Customer/Payor section of payment page review: $ref: '#/components/schemas/type_:HeaderElement' description: Review section of payment page subdomain: $ref: '#/components/schemas/type_:Subdomain' description: Unique identifier assigned to the page. title: PageContent type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:FileContentFtype: type: string enum: - pdf - doc - docx - jpg - jpeg - png - gif - txt description: The MIME type of the file (if content is provided) title: FileContentFtype type_:FileContent: type: object properties: fContent: type: string description: >- Content of file, Base64-encoded. Ignored if furl is specified. Max upload size is 30 MB. filename: type: string description: The name of the attached file. ftype: $ref: '#/components/schemas/type_:FileContentFtype' description: The MIME type of the file (if content is provided) furl: type: string description: Optional URL provided to show or download the file remotely description: Contains details about a file. Max upload size is 30 MB. title: FileContent type_:ButtonElementSize: type: string enum: - sm - md - lg description: Specify size of custom payment button title: ButtonElementSize type_:ButtonElement: type: object properties: label: type: string description: Label for custom payment button size: $ref: '#/components/schemas/type_:ButtonElementSize' description: Specify size of custom payment button required: - label title: ButtonElement type_:PageSetting: type: object properties: color: type: string description: 'An HTML color code in format #RRGGBB' customCssUrl: type: string description: Complete URL to a custom CSS file to be loaded with the page language: type: string description: Two-letter code following ISO 639-1 pageLogo: $ref: '#/components/schemas/type_:FileContent' description: Object containing logo file to upload/ use in page paymentButton: $ref: '#/components/schemas/type_:ButtonElement' redirectAfterApprove: type: boolean description: >- Flag indicating if the capability for redirection in the page will be activated redirectAfterApproveUrl: type: string description: Complete URL where the page will be redirected after completion title: PageSetting type_:DisplayProperty: type: object properties: display: type: boolean description: When `true`, the field is displayed on the receipt. Fixed: type: boolean description: This field is unused. name: type: string description: The field's name. title: DisplayProperty type_:SettingElement: type: object properties: enabled: $ref: '#/components/schemas/type_:Enabled' fields: type: array items: $ref: '#/components/schemas/type_:DisplayProperty' description: Fields to display on the reciept. order: $ref: '#/components/schemas/type_:Order' sendAuto: type: boolean default: true description: >- When `true`, Payabli automatically sends the receipt to the payor email address. sendManual: type: boolean default: false description: >- When `true`, you must send the reciept to the payor manually using the [/MoneyIn/sendreceipt/\{transId\}](/developers/api-reference/moneyin/send-receipt-for-transaction) endpoint. title: SettingElement type_:ReceiptContent: type: object properties: amount: $ref: '#/components/schemas/type_:Element' description: Section amount of payment receipt contactUs: $ref: '#/components/schemas/type_:Element' description: Section contactUs of payment receipt details: $ref: '#/components/schemas/type_:Element' description: Section payment details of payment receipt logo: $ref: '#/components/schemas/type_:Element' description: Section logo of payment receipt messageBeforeButton: $ref: '#/components/schemas/type_:LabelElement' description: Section message of payment receipt page: $ref: '#/components/schemas/type_:PageElement' description: Section page of payment receipt paymentButton: $ref: '#/components/schemas/type_:LabelElement' description: Section payment button of payment receipt paymentInformation: $ref: '#/components/schemas/type_:Element' description: Section payment information of payment receipt settings: $ref: '#/components/schemas/type_:SettingElement' description: The receipt's settings. description: Object containing receipt body configuration title: ReceiptContent type_:PayabliPages: type: object properties: AdditionalData: $ref: '#/components/schemas/type_:AdditionalData' credentials: type: array items: $ref: '#/components/schemas/type_:PayabliCredentials' description: Array of credential objects with active services for the page lastAccess: type: string format: date-time description: Timestamp of last access to page structure pageContent: $ref: '#/components/schemas/type_:PageContent' description: Sections of page pageIdentifier: $ref: '#/components/schemas/type_:PageIdentifier' pageSettings: $ref: '#/components/schemas/type_:PageSetting' description: Settings of page published: type: integer description: >- Flag indicating if page is active to accept payments. `0` for false, `1` for true. receiptContent: $ref: '#/components/schemas/type_:ReceiptContent' description: Sections of payment receipt subdomain: $ref: '#/components/schemas/type_:Subdomain' description: Page identifier. Must be unique in platform. totalAmount: type: number format: double description: Total amount to pay in this page validationCode: type: string description: Base64 encoded image of CAPTCHA associated to this page load title: PayabliPages type_:Responsecode: type: integer description: >- Code for the response. Learn more in [API Response Codes](/developers/api-reference/api-responses). title: Responsecode type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:Responsedatanonobject: oneOf: - type: string - type: integer description: The response data. title: Responsedatanonobject type_:PayabliApiResponse00Responsedatanonobject: type: object properties: responseCode: $ref: '#/components/schemas/type_:Responsecode' pageIdentifier: $ref: '#/components/schemas/type_:PageIdentifier' roomId: type: integer format: int64 description: >- Describes the room ID. Only in use on Boarding endpoints, returns `0` when not applicable. isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseText: $ref: '#/components/schemas/type_:ResponseText' responseData: $ref: '#/components/schemas/type_:Responsedatanonobject' required: - responseText title: PayabliApiResponse00Responsedatanonobject type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.hostedPaymentPages.newPage("8cfec329267", { idempotencyKey: "6B29FC40-CA47-1067-B31D-00DD010662DA", body: {}, }); } main(); ``` ```python from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.hosted_payment_pages.new_page( entry="8cfec329267", idempotency_key="6B29FC40-CA47-1067-B31D-00DD010662DA", ) ``` ```csharp using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.HostedPaymentPages.NewPageAsync( "8cfec329267", new NewPageRequest { IdempotencyKey = "6B29FC40-CA47-1067-B31D-00DD010662DA", Body = new PayabliPages() } ); } } ``` ```go package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Paypoint/8cfec329267" payload := strings.NewReader("{}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("idempotencyKey", "6B29FC40-CA47-1067-B31D-00DD010662DA") req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Paypoint/8cfec329267") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["idempotencyKey"] = '6B29FC40-CA47-1067-B31D-00DD010662DA' request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{}" response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/Paypoint/8cfec329267") .header("idempotencyKey", "6B29FC40-CA47-1067-B31D-00DD010662DA") .header("requestToken", "") .header("Content-Type", "application/json") .body("{}") .asString(); ``` ```php request('POST', 'https://api-sandbox.payabli.com/api/Paypoint/8cfec329267', [ 'body' => '{}', 'headers' => [ 'Content-Type' => 'application/json', 'idempotencyKey' => '6B29FC40-CA47-1067-B31D-00DD010662DA', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift import Foundation let headers = [ "idempotencyKey": "6B29FC40-CA47-1067-B31D-00DD010662DA", "requestToken": "", "Content-Type": "application/json" ] let parameters = [] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Paypoint/8cfec329267")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Get payment page GET https://api-sandbox.payabli.com/api/Paypoint/{entry}/{subdomain} Gets the details for single payment page for a paypoint. Reference: https://docs.payabli.com/developers/api-reference/hostedpaymentpages/get-payment-page-details ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Paypoint/{entry}/{subdomain}: get: operationId: get-page summary: Get payment page details description: 'Gets the details for single payment page for a paypoint. ' tags: - subpackage_paypoint parameters: - name: entry in: path description: >- The paypoint's entrypoint identifier. [Learn more](/developers/api-reference/api-overview#entrypoint-vs-entry) required: true schema: type: string - name: subdomain in: path description: >- Payment page identifier. The subdomain value is the last portion of the payment page URL. For example, in`https://paypages-sandbox.payabli.com/513823dc10/pay-your-fees-1`, the subdomain is `pay-your-fees-1`. required: true schema: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:PayabliPages' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:AdditionalData: type: object additionalProperties: type: object additionalProperties: description: Any type description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. If you are using [custom identifiers](/developers/developer-guides/entities-customers), pass those in this object. Max length for a value is 100 characters. Example usage: ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalData type_:PayabliCredentials: type: object properties: accountId: type: string cfeeFix: type: number format: double cfeeFloat: type: number format: double cfeeMax: type: number format: double cfeeMin: type: number format: double maxticket: type: number format: double minticket: type: number format: double mode: type: integer description: >- The payment mode supported by this service. `0` for one-time payments, `1` for recurring payments, `2` for both. referenceId: type: integer format: int64 service: type: string description: >- The payment service that this credential applies to. A paypoint can support multiple services, each represented by its own credential object in the array. Possible values are `card` (credit/debit card), `ach` (ACH bank transfer), `check` (paper check), `vcard` (virtual card), `cloud` (card-present), `cash`, `managed` (managed payment service), and `wallet`. title: PayabliCredentials type_:Order: type: integer description: Order of element or section in container. title: Order type_:PayCategory: type: object properties: description: type: string label: type: string name: type: string optionalPay: type: boolean order: $ref: '#/components/schemas/type_:Order' quantity: type: integer showDescription: type: boolean type: type: string value: type: string title: PayCategory type_:Enabled: type: boolean description: Toggles whether the section or element is enabled. title: Enabled type_:AmountElement: type: object properties: categories: type: array items: $ref: '#/components/schemas/type_:PayCategory' enabled: $ref: '#/components/schemas/type_:Enabled' order: $ref: '#/components/schemas/type_:Order' title: AmountElement type_:Finishtype: type: object properties: calendar: type: boolean description: Flag to enable 'calendar' option untilCancelled: type: boolean description: Flag to enable 'untilCancelled' option title: Finishtype type_:FrequencyList: type: object properties: annually: type: boolean description: Enable or disable frequency every2Weeks: type: boolean description: Enable or disable frequency every3Months: type: boolean description: Enable or disable frequency every6Months: type: boolean description: Enable or disable frequency monthly: type: boolean description: Enable or disable frequency onetime: type: boolean description: Enable or disable frequency weekly: type: boolean description: Enable or disable frequency title: FrequencyList type_:AutoElement: type: object properties: enabled: $ref: '#/components/schemas/type_:Enabled' finish: $ref: '#/components/schemas/type_:Finishtype' description: Type of end date frequency: $ref: '#/components/schemas/type_:FrequencyList' description: accepted frequencies for autopay frequencySelected: type: string description: Value of pre-selected frequency header: type: string description: Header text for section order: $ref: '#/components/schemas/type_:Order' startDate: type: string description: Range of days enabled in calendar. Leave empty to enable all days. title: AutoElement type_:ContactElement: type: object properties: emailLabel: type: string description: Custom content for email enabled: $ref: '#/components/schemas/type_:Enabled' header: type: string description: Header text for section order: $ref: '#/components/schemas/type_:Order' paymentIcons: type: boolean description: Flag indicating if icons for accepted card brands will be shown phoneLabel: type: string description: Custom content for phone number title: ContactElement type_:LabelElement: type: object properties: enabled: $ref: '#/components/schemas/type_:Enabled' label: type: string description: Label to display for section or element order: $ref: '#/components/schemas/type_:Order' title: LabelElement type_:InvoiceElement: type: object properties: enabled: $ref: '#/components/schemas/type_:Enabled' invoiceLink: $ref: '#/components/schemas/type_:LabelElement' description: Link to invoice order: $ref: '#/components/schemas/type_:Order' viewInvoiceDetails: $ref: '#/components/schemas/type_:LabelElement' description: Link to view invoice details title: InvoiceElement type_:Element: type: object properties: enabled: $ref: '#/components/schemas/type_:Enabled' order: $ref: '#/components/schemas/type_:Order' title: Element type_:NoteElement: type: object properties: enabled: $ref: '#/components/schemas/type_:Enabled' header: type: string description: Header text for section order: $ref: '#/components/schemas/type_:Order' placeholder: type: string description: Placeholder text for input field value: type: string description: Pre-populated value for input field title: NoteElement type_:PageElement: type: object properties: description: type: string description: Page description in header enabled: $ref: '#/components/schemas/type_:Enabled' header: type: string description: Page header order: $ref: '#/components/schemas/type_:Order' title: PageElement type_:MethodsList: type: object properties: amex: type: boolean description: When `true`, American Express is accepted. applePay: type: boolean description: When `true`, Apple Pay is accepted. googlePay: type: boolean description: When `true`, Google Pay is accepted. discover: type: boolean description: When `true`, Discover is accepted. eCheck: type: boolean description: When `true`, ACH is accepted. mastercard: type: boolean description: When `true`, Mastercard is accepted. visa: type: boolean description: When `true`, Visa is accepted. title: MethodsList type_:MethodElementSettingsApplePayButtonStyle: type: string enum: - black - white-outline - white default: black description: >- The Apple Pay button style. See [Apple Pay Button Style](/developers/developer-guides/hosted-payment-page-apple-pay#param-applepay-button-style) for more information. title: MethodElementSettingsApplePayButtonStyle type_:MethodElementSettingsApplePayButtonType: type: string enum: - plain - buy - donate - check-out - book - continue - top-up - order - rent - support - contribute - tip - pay default: pay description: >- The text on Apple Pay button. See [Apple Pay Button Type](/developers/developer-guides/hosted-payment-page-apple-pay#param-applepay-button-type) for more information. title: MethodElementSettingsApplePayButtonType type_:MethodElementSettingsApplePayLanguage: type: string enum: - en-US - ar-AB - ca-ES - zh-CN - zh-HK - zh-TW - hr-HR - cs-CZ - da-DK - de-DE - nl-NL - en-AU - en-GB - fi-FI - fr-CA - fr-FR - el-GR - he-IL - hi-IN - hu-HU - id-ID - it-IT - ja-JP - ko-KR - ms-MY - nb-NO - pl-PL - pt-BR - pt-PT - ro-RO - ru-RU - sk-SK - es-MX - es-ES - sv-SE - th-TH - tr-TR - uk-UA - vi-VN default: en-US description: >- The Apple Pay button locale. See [Apple Pay Button Language](/developers/developer-guides/hosted-payment-page-apple-pay#param-applepay-language) for more information. title: MethodElementSettingsApplePayLanguage type_:MethodElementSettingsApplePay: type: object properties: buttonStyle: $ref: '#/components/schemas/type_:MethodElementSettingsApplePayButtonStyle' description: >- The Apple Pay button style. See [Apple Pay Button Style](/developers/developer-guides/hosted-payment-page-apple-pay#param-applepay-button-style) for more information. buttonType: $ref: '#/components/schemas/type_:MethodElementSettingsApplePayButtonType' description: >- The text on Apple Pay button. See [Apple Pay Button Type](/developers/developer-guides/hosted-payment-page-apple-pay#param-applepay-button-type) for more information. language: $ref: '#/components/schemas/type_:MethodElementSettingsApplePayLanguage' description: >- The Apple Pay button locale. See [Apple Pay Button Language](/developers/developer-guides/hosted-payment-page-apple-pay#param-applepay-language) for more information. title: MethodElementSettingsApplePay type_:MethodElementSettings: type: object properties: applePay: $ref: '#/components/schemas/type_:MethodElementSettingsApplePay' description: Settings for wallet payment methods. title: MethodElementSettings type_:MethodElement: type: object properties: allMethodsChecked: type: boolean description: Flag indicating if all allowed payment methods will be pre-selected. enabled: $ref: '#/components/schemas/type_:Enabled' header: type: string description: Header text for section methods: $ref: '#/components/schemas/type_:MethodsList' order: $ref: '#/components/schemas/type_:Order' settings: $ref: '#/components/schemas/type_:MethodElementSettings' description: Settings for wallet payment methods. title: MethodElement type_:PayorFields: type: object properties: display: type: boolean description: Flag indicating if the input field will show in container fixed: type: boolean description: Flag indicating if the value in input field is read-only or not. identifier: type: boolean description: Flag indicating if the input field is a customer identifier label: type: string description: Label to display for field name: type: string description: >- Name of field to show. Should be one of the standard customer fields or a custom field name order: $ref: '#/components/schemas/type_:Order' required: type: boolean description: Flag indicating if the input field is required for validation validation: type: string description: |- Type of validation to apply to the input field Accepted values: - alpha for alphabetical - numbers for numeric - text for alphanumeric - email for masked email address input - phone for US phone numbers value: type: string description: Pre-populated value for field width: type: integer description: >- Numeric value indicating the size of input relative to the container. Accepted values: - 4 = 1/3 - 6 = 1/2 - 8 = 2/3 - 12 = 3/3 title: PayorFields type_:PayorElement: type: object properties: enabled: $ref: '#/components/schemas/type_:Enabled' fields: type: array items: $ref: '#/components/schemas/type_:PayorFields' description: Array of Customer/Payor fields to show in section header: type: string description: Custom header text for section order: $ref: '#/components/schemas/type_:Order' title: PayorElement type_:HeaderElement: type: object properties: enabled: $ref: '#/components/schemas/type_:Enabled' header: type: string description: Header text for section order: $ref: '#/components/schemas/type_:Order' title: HeaderElement type_:Subdomain: type: string description: >- Refers to the payment page identifier. If provided, then the transaction is linked to the payment page. title: Subdomain type_:PageContent: type: object properties: amount: $ref: '#/components/schemas/type_:AmountElement' description: Amount section of payment page autopay: $ref: '#/components/schemas/type_:AutoElement' description: Autopay section of payment page contactUs: $ref: '#/components/schemas/type_:ContactElement' description: ContactUs section of payment page entry: type: string description: Identifier of entry point owner of page invoices: $ref: '#/components/schemas/type_:InvoiceElement' description: Invoices section of payment page logo: $ref: '#/components/schemas/type_:Element' description: Logo section of payment page messageBeforePaying: $ref: '#/components/schemas/type_:LabelElement' description: Message section of payment page name: type: string description: Descriptor of page notes: $ref: '#/components/schemas/type_:NoteElement' description: Notes section of payment page page: $ref: '#/components/schemas/type_:PageElement' description: Page header section of payment page paymentButton: $ref: '#/components/schemas/type_:LabelElement' description: Payment button section of payment page paymentMethods: $ref: '#/components/schemas/type_:MethodElement' description: Payment methods section of payment page payor: $ref: '#/components/schemas/type_:PayorElement' description: Customer/Payor section of payment page review: $ref: '#/components/schemas/type_:HeaderElement' description: Review section of payment page subdomain: $ref: '#/components/schemas/type_:Subdomain' description: Unique identifier assigned to the page. title: PageContent type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:FileContentFtype: type: string enum: - pdf - doc - docx - jpg - jpeg - png - gif - txt description: The MIME type of the file (if content is provided) title: FileContentFtype type_:FileContent: type: object properties: fContent: type: string description: >- Content of file, Base64-encoded. Ignored if furl is specified. Max upload size is 30 MB. filename: type: string description: The name of the attached file. ftype: $ref: '#/components/schemas/type_:FileContentFtype' description: The MIME type of the file (if content is provided) furl: type: string description: Optional URL provided to show or download the file remotely description: Contains details about a file. Max upload size is 30 MB. title: FileContent type_:ButtonElementSize: type: string enum: - sm - md - lg description: Specify size of custom payment button title: ButtonElementSize type_:ButtonElement: type: object properties: label: type: string description: Label for custom payment button size: $ref: '#/components/schemas/type_:ButtonElementSize' description: Specify size of custom payment button required: - label title: ButtonElement type_:PageSetting: type: object properties: color: type: string description: 'An HTML color code in format #RRGGBB' customCssUrl: type: string description: Complete URL to a custom CSS file to be loaded with the page language: type: string description: Two-letter code following ISO 639-1 pageLogo: $ref: '#/components/schemas/type_:FileContent' description: Object containing logo file to upload/ use in page paymentButton: $ref: '#/components/schemas/type_:ButtonElement' redirectAfterApprove: type: boolean description: >- Flag indicating if the capability for redirection in the page will be activated redirectAfterApproveUrl: type: string description: Complete URL where the page will be redirected after completion title: PageSetting type_:DisplayProperty: type: object properties: display: type: boolean description: When `true`, the field is displayed on the receipt. Fixed: type: boolean description: This field is unused. name: type: string description: The field's name. title: DisplayProperty type_:SettingElement: type: object properties: enabled: $ref: '#/components/schemas/type_:Enabled' fields: type: array items: $ref: '#/components/schemas/type_:DisplayProperty' description: Fields to display on the reciept. order: $ref: '#/components/schemas/type_:Order' sendAuto: type: boolean default: true description: >- When `true`, Payabli automatically sends the receipt to the payor email address. sendManual: type: boolean default: false description: >- When `true`, you must send the reciept to the payor manually using the [/MoneyIn/sendreceipt/\{transId\}](/developers/api-reference/moneyin/send-receipt-for-transaction) endpoint. title: SettingElement type_:ReceiptContent: type: object properties: amount: $ref: '#/components/schemas/type_:Element' description: Section amount of payment receipt contactUs: $ref: '#/components/schemas/type_:Element' description: Section contactUs of payment receipt details: $ref: '#/components/schemas/type_:Element' description: Section payment details of payment receipt logo: $ref: '#/components/schemas/type_:Element' description: Section logo of payment receipt messageBeforeButton: $ref: '#/components/schemas/type_:LabelElement' description: Section message of payment receipt page: $ref: '#/components/schemas/type_:PageElement' description: Section page of payment receipt paymentButton: $ref: '#/components/schemas/type_:LabelElement' description: Section payment button of payment receipt paymentInformation: $ref: '#/components/schemas/type_:Element' description: Section payment information of payment receipt settings: $ref: '#/components/schemas/type_:SettingElement' description: The receipt's settings. description: Object containing receipt body configuration title: ReceiptContent type_:PayabliPages: type: object properties: AdditionalData: $ref: '#/components/schemas/type_:AdditionalData' credentials: type: array items: $ref: '#/components/schemas/type_:PayabliCredentials' description: Array of credential objects with active services for the page lastAccess: type: string format: date-time description: Timestamp of last access to page structure pageContent: $ref: '#/components/schemas/type_:PageContent' description: Sections of page pageIdentifier: $ref: '#/components/schemas/type_:PageIdentifier' pageSettings: $ref: '#/components/schemas/type_:PageSetting' description: Settings of page published: type: integer description: >- Flag indicating if page is active to accept payments. `0` for false, `1` for true. receiptContent: $ref: '#/components/schemas/type_:ReceiptContent' description: Sections of payment receipt subdomain: $ref: '#/components/schemas/type_:Subdomain' description: Page identifier. Must be unique in platform. totalAmount: type: number format: double description: Total amount to pay in this page validationCode: type: string description: Base64 encoded image of CAPTCHA associated to this page load title: PayabliPages type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.paypoint.getPage("8cfec329267", "pay-your-fees-1"); } main(); ``` ```python from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.paypoint.get_page( entry="8cfec329267", subdomain="pay-your-fees-1", ) ``` ```csharp using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Paypoint.GetPageAsync( "8cfec329267", "pay-your-fees-1" ); } } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Paypoint/8cfec329267/pay-your-fees-1" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Paypoint/8cfec329267/pay-your-fees-1") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Paypoint/8cfec329267/pay-your-fees-1") .header("requestToken", "") .asString(); ``` ```php request('GET', 'https://api-sandbox.payabli.com/api/Paypoint/8cfec329267/pay-your-fees-1', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Paypoint/8cfec329267/pay-your-fees-1")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Get all page details GET https://api-sandbox.payabli.com/api/Paypoint/load/{entry}/{subdomain} Loads all of a payment page's details including `pageIdentifier` and `validationCode`. This endpoint requires an `application` API token. Reference: https://docs.payabli.com/developers/api-reference/hostedpaymentpages/get-all-payment-page-details ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Paypoint/load/{entry}/{subdomain}: get: operationId: load-page summary: Get all payment page details description: >- Loads all of a payment page's details including `pageIdentifier` and `validationCode`. This endpoint requires an `application` API token. tags: - subpackage_hostedPaymentPages parameters: - name: entry in: path description: >- The paypoint's entrypoint identifier. [Learn more](/developers/api-reference/api-overview#entrypoint-vs-entry) required: true schema: type: string - name: subdomain in: path description: >- Payment page identifier. The subdomain value is the last part of the payment page URL. For example, in`https://paypages-sandbox.payabli.com/513823dc10/pay-your-fees-1`, the subdomain is `pay-your-fees-1`. required: true schema: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:PayabliPages' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:AdditionalData: type: object additionalProperties: type: object additionalProperties: description: Any type description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. If you are using [custom identifiers](/developers/developer-guides/entities-customers), pass those in this object. Max length for a value is 100 characters. Example usage: ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalData type_:PayabliCredentials: type: object properties: accountId: type: string cfeeFix: type: number format: double cfeeFloat: type: number format: double cfeeMax: type: number format: double cfeeMin: type: number format: double maxticket: type: number format: double minticket: type: number format: double mode: type: integer description: >- The payment mode supported by this service. `0` for one-time payments, `1` for recurring payments, `2` for both. referenceId: type: integer format: int64 service: type: string description: >- The payment service that this credential applies to. A paypoint can support multiple services, each represented by its own credential object in the array. Possible values are `card` (credit/debit card), `ach` (ACH bank transfer), `check` (paper check), `vcard` (virtual card), `cloud` (card-present), `cash`, `managed` (managed payment service), and `wallet`. title: PayabliCredentials type_:Order: type: integer description: Order of element or section in container. title: Order type_:PayCategory: type: object properties: description: type: string label: type: string name: type: string optionalPay: type: boolean order: $ref: '#/components/schemas/type_:Order' quantity: type: integer showDescription: type: boolean type: type: string value: type: string title: PayCategory type_:Enabled: type: boolean description: Toggles whether the section or element is enabled. title: Enabled type_:AmountElement: type: object properties: categories: type: array items: $ref: '#/components/schemas/type_:PayCategory' enabled: $ref: '#/components/schemas/type_:Enabled' order: $ref: '#/components/schemas/type_:Order' title: AmountElement type_:Finishtype: type: object properties: calendar: type: boolean description: Flag to enable 'calendar' option untilCancelled: type: boolean description: Flag to enable 'untilCancelled' option title: Finishtype type_:FrequencyList: type: object properties: annually: type: boolean description: Enable or disable frequency every2Weeks: type: boolean description: Enable or disable frequency every3Months: type: boolean description: Enable or disable frequency every6Months: type: boolean description: Enable or disable frequency monthly: type: boolean description: Enable or disable frequency onetime: type: boolean description: Enable or disable frequency weekly: type: boolean description: Enable or disable frequency title: FrequencyList type_:AutoElement: type: object properties: enabled: $ref: '#/components/schemas/type_:Enabled' finish: $ref: '#/components/schemas/type_:Finishtype' description: Type of end date frequency: $ref: '#/components/schemas/type_:FrequencyList' description: accepted frequencies for autopay frequencySelected: type: string description: Value of pre-selected frequency header: type: string description: Header text for section order: $ref: '#/components/schemas/type_:Order' startDate: type: string description: Range of days enabled in calendar. Leave empty to enable all days. title: AutoElement type_:ContactElement: type: object properties: emailLabel: type: string description: Custom content for email enabled: $ref: '#/components/schemas/type_:Enabled' header: type: string description: Header text for section order: $ref: '#/components/schemas/type_:Order' paymentIcons: type: boolean description: Flag indicating if icons for accepted card brands will be shown phoneLabel: type: string description: Custom content for phone number title: ContactElement type_:LabelElement: type: object properties: enabled: $ref: '#/components/schemas/type_:Enabled' label: type: string description: Label to display for section or element order: $ref: '#/components/schemas/type_:Order' title: LabelElement type_:InvoiceElement: type: object properties: enabled: $ref: '#/components/schemas/type_:Enabled' invoiceLink: $ref: '#/components/schemas/type_:LabelElement' description: Link to invoice order: $ref: '#/components/schemas/type_:Order' viewInvoiceDetails: $ref: '#/components/schemas/type_:LabelElement' description: Link to view invoice details title: InvoiceElement type_:Element: type: object properties: enabled: $ref: '#/components/schemas/type_:Enabled' order: $ref: '#/components/schemas/type_:Order' title: Element type_:NoteElement: type: object properties: enabled: $ref: '#/components/schemas/type_:Enabled' header: type: string description: Header text for section order: $ref: '#/components/schemas/type_:Order' placeholder: type: string description: Placeholder text for input field value: type: string description: Pre-populated value for input field title: NoteElement type_:PageElement: type: object properties: description: type: string description: Page description in header enabled: $ref: '#/components/schemas/type_:Enabled' header: type: string description: Page header order: $ref: '#/components/schemas/type_:Order' title: PageElement type_:MethodsList: type: object properties: amex: type: boolean description: When `true`, American Express is accepted. applePay: type: boolean description: When `true`, Apple Pay is accepted. googlePay: type: boolean description: When `true`, Google Pay is accepted. discover: type: boolean description: When `true`, Discover is accepted. eCheck: type: boolean description: When `true`, ACH is accepted. mastercard: type: boolean description: When `true`, Mastercard is accepted. visa: type: boolean description: When `true`, Visa is accepted. title: MethodsList type_:MethodElementSettingsApplePayButtonStyle: type: string enum: - black - white-outline - white default: black description: >- The Apple Pay button style. See [Apple Pay Button Style](/developers/developer-guides/hosted-payment-page-apple-pay#param-applepay-button-style) for more information. title: MethodElementSettingsApplePayButtonStyle type_:MethodElementSettingsApplePayButtonType: type: string enum: - plain - buy - donate - check-out - book - continue - top-up - order - rent - support - contribute - tip - pay default: pay description: >- The text on Apple Pay button. See [Apple Pay Button Type](/developers/developer-guides/hosted-payment-page-apple-pay#param-applepay-button-type) for more information. title: MethodElementSettingsApplePayButtonType type_:MethodElementSettingsApplePayLanguage: type: string enum: - en-US - ar-AB - ca-ES - zh-CN - zh-HK - zh-TW - hr-HR - cs-CZ - da-DK - de-DE - nl-NL - en-AU - en-GB - fi-FI - fr-CA - fr-FR - el-GR - he-IL - hi-IN - hu-HU - id-ID - it-IT - ja-JP - ko-KR - ms-MY - nb-NO - pl-PL - pt-BR - pt-PT - ro-RO - ru-RU - sk-SK - es-MX - es-ES - sv-SE - th-TH - tr-TR - uk-UA - vi-VN default: en-US description: >- The Apple Pay button locale. See [Apple Pay Button Language](/developers/developer-guides/hosted-payment-page-apple-pay#param-applepay-language) for more information. title: MethodElementSettingsApplePayLanguage type_:MethodElementSettingsApplePay: type: object properties: buttonStyle: $ref: '#/components/schemas/type_:MethodElementSettingsApplePayButtonStyle' description: >- The Apple Pay button style. See [Apple Pay Button Style](/developers/developer-guides/hosted-payment-page-apple-pay#param-applepay-button-style) for more information. buttonType: $ref: '#/components/schemas/type_:MethodElementSettingsApplePayButtonType' description: >- The text on Apple Pay button. See [Apple Pay Button Type](/developers/developer-guides/hosted-payment-page-apple-pay#param-applepay-button-type) for more information. language: $ref: '#/components/schemas/type_:MethodElementSettingsApplePayLanguage' description: >- The Apple Pay button locale. See [Apple Pay Button Language](/developers/developer-guides/hosted-payment-page-apple-pay#param-applepay-language) for more information. title: MethodElementSettingsApplePay type_:MethodElementSettings: type: object properties: applePay: $ref: '#/components/schemas/type_:MethodElementSettingsApplePay' description: Settings for wallet payment methods. title: MethodElementSettings type_:MethodElement: type: object properties: allMethodsChecked: type: boolean description: Flag indicating if all allowed payment methods will be pre-selected. enabled: $ref: '#/components/schemas/type_:Enabled' header: type: string description: Header text for section methods: $ref: '#/components/schemas/type_:MethodsList' order: $ref: '#/components/schemas/type_:Order' settings: $ref: '#/components/schemas/type_:MethodElementSettings' description: Settings for wallet payment methods. title: MethodElement type_:PayorFields: type: object properties: display: type: boolean description: Flag indicating if the input field will show in container fixed: type: boolean description: Flag indicating if the value in input field is read-only or not. identifier: type: boolean description: Flag indicating if the input field is a customer identifier label: type: string description: Label to display for field name: type: string description: >- Name of field to show. Should be one of the standard customer fields or a custom field name order: $ref: '#/components/schemas/type_:Order' required: type: boolean description: Flag indicating if the input field is required for validation validation: type: string description: |- Type of validation to apply to the input field Accepted values: - alpha for alphabetical - numbers for numeric - text for alphanumeric - email for masked email address input - phone for US phone numbers value: type: string description: Pre-populated value for field width: type: integer description: >- Numeric value indicating the size of input relative to the container. Accepted values: - 4 = 1/3 - 6 = 1/2 - 8 = 2/3 - 12 = 3/3 title: PayorFields type_:PayorElement: type: object properties: enabled: $ref: '#/components/schemas/type_:Enabled' fields: type: array items: $ref: '#/components/schemas/type_:PayorFields' description: Array of Customer/Payor fields to show in section header: type: string description: Custom header text for section order: $ref: '#/components/schemas/type_:Order' title: PayorElement type_:HeaderElement: type: object properties: enabled: $ref: '#/components/schemas/type_:Enabled' header: type: string description: Header text for section order: $ref: '#/components/schemas/type_:Order' title: HeaderElement type_:Subdomain: type: string description: >- Refers to the payment page identifier. If provided, then the transaction is linked to the payment page. title: Subdomain type_:PageContent: type: object properties: amount: $ref: '#/components/schemas/type_:AmountElement' description: Amount section of payment page autopay: $ref: '#/components/schemas/type_:AutoElement' description: Autopay section of payment page contactUs: $ref: '#/components/schemas/type_:ContactElement' description: ContactUs section of payment page entry: type: string description: Identifier of entry point owner of page invoices: $ref: '#/components/schemas/type_:InvoiceElement' description: Invoices section of payment page logo: $ref: '#/components/schemas/type_:Element' description: Logo section of payment page messageBeforePaying: $ref: '#/components/schemas/type_:LabelElement' description: Message section of payment page name: type: string description: Descriptor of page notes: $ref: '#/components/schemas/type_:NoteElement' description: Notes section of payment page page: $ref: '#/components/schemas/type_:PageElement' description: Page header section of payment page paymentButton: $ref: '#/components/schemas/type_:LabelElement' description: Payment button section of payment page paymentMethods: $ref: '#/components/schemas/type_:MethodElement' description: Payment methods section of payment page payor: $ref: '#/components/schemas/type_:PayorElement' description: Customer/Payor section of payment page review: $ref: '#/components/schemas/type_:HeaderElement' description: Review section of payment page subdomain: $ref: '#/components/schemas/type_:Subdomain' description: Unique identifier assigned to the page. title: PageContent type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:FileContentFtype: type: string enum: - pdf - doc - docx - jpg - jpeg - png - gif - txt description: The MIME type of the file (if content is provided) title: FileContentFtype type_:FileContent: type: object properties: fContent: type: string description: >- Content of file, Base64-encoded. Ignored if furl is specified. Max upload size is 30 MB. filename: type: string description: The name of the attached file. ftype: $ref: '#/components/schemas/type_:FileContentFtype' description: The MIME type of the file (if content is provided) furl: type: string description: Optional URL provided to show or download the file remotely description: Contains details about a file. Max upload size is 30 MB. title: FileContent type_:ButtonElementSize: type: string enum: - sm - md - lg description: Specify size of custom payment button title: ButtonElementSize type_:ButtonElement: type: object properties: label: type: string description: Label for custom payment button size: $ref: '#/components/schemas/type_:ButtonElementSize' description: Specify size of custom payment button required: - label title: ButtonElement type_:PageSetting: type: object properties: color: type: string description: 'An HTML color code in format #RRGGBB' customCssUrl: type: string description: Complete URL to a custom CSS file to be loaded with the page language: type: string description: Two-letter code following ISO 639-1 pageLogo: $ref: '#/components/schemas/type_:FileContent' description: Object containing logo file to upload/ use in page paymentButton: $ref: '#/components/schemas/type_:ButtonElement' redirectAfterApprove: type: boolean description: >- Flag indicating if the capability for redirection in the page will be activated redirectAfterApproveUrl: type: string description: Complete URL where the page will be redirected after completion title: PageSetting type_:DisplayProperty: type: object properties: display: type: boolean description: When `true`, the field is displayed on the receipt. Fixed: type: boolean description: This field is unused. name: type: string description: The field's name. title: DisplayProperty type_:SettingElement: type: object properties: enabled: $ref: '#/components/schemas/type_:Enabled' fields: type: array items: $ref: '#/components/schemas/type_:DisplayProperty' description: Fields to display on the reciept. order: $ref: '#/components/schemas/type_:Order' sendAuto: type: boolean default: true description: >- When `true`, Payabli automatically sends the receipt to the payor email address. sendManual: type: boolean default: false description: >- When `true`, you must send the reciept to the payor manually using the [/MoneyIn/sendreceipt/\{transId\}](/developers/api-reference/moneyin/send-receipt-for-transaction) endpoint. title: SettingElement type_:ReceiptContent: type: object properties: amount: $ref: '#/components/schemas/type_:Element' description: Section amount of payment receipt contactUs: $ref: '#/components/schemas/type_:Element' description: Section contactUs of payment receipt details: $ref: '#/components/schemas/type_:Element' description: Section payment details of payment receipt logo: $ref: '#/components/schemas/type_:Element' description: Section logo of payment receipt messageBeforeButton: $ref: '#/components/schemas/type_:LabelElement' description: Section message of payment receipt page: $ref: '#/components/schemas/type_:PageElement' description: Section page of payment receipt paymentButton: $ref: '#/components/schemas/type_:LabelElement' description: Section payment button of payment receipt paymentInformation: $ref: '#/components/schemas/type_:Element' description: Section payment information of payment receipt settings: $ref: '#/components/schemas/type_:SettingElement' description: The receipt's settings. description: Object containing receipt body configuration title: ReceiptContent type_:PayabliPages: type: object properties: AdditionalData: $ref: '#/components/schemas/type_:AdditionalData' credentials: type: array items: $ref: '#/components/schemas/type_:PayabliCredentials' description: Array of credential objects with active services for the page lastAccess: type: string format: date-time description: Timestamp of last access to page structure pageContent: $ref: '#/components/schemas/type_:PageContent' description: Sections of page pageIdentifier: $ref: '#/components/schemas/type_:PageIdentifier' pageSettings: $ref: '#/components/schemas/type_:PageSetting' description: Settings of page published: type: integer description: >- Flag indicating if page is active to accept payments. `0` for false, `1` for true. receiptContent: $ref: '#/components/schemas/type_:ReceiptContent' description: Sections of payment receipt subdomain: $ref: '#/components/schemas/type_:Subdomain' description: Page identifier. Must be unique in platform. totalAmount: type: number format: double description: Total amount to pay in this page validationCode: type: string description: Base64 encoded image of CAPTCHA associated to this page load title: PayabliPages type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.hostedPaymentPages.loadPage("8cfec329267", "pay-your-fees-1"); } main(); ``` ```python from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.hosted_payment_pages.load_page( entry="8cfec329267", subdomain="pay-your-fees-1", ) ``` ```csharp using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.HostedPaymentPages.LoadPageAsync( "8cfec329267", "pay-your-fees-1" ); } } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Paypoint/load/8cfec329267/pay-your-fees-1" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Paypoint/load/8cfec329267/pay-your-fees-1") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Paypoint/load/8cfec329267/pay-your-fees-1") .header("requestToken", "") .asString(); ``` ```php request('GET', 'https://api-sandbox.payabli.com/api/Paypoint/load/8cfec329267/pay-your-fees-1', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Paypoint/load/8cfec329267/pay-your-fees-1")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Update payment page PUT https://api-sandbox.payabli.com/api/Paypoint/{entry}/{subdomain} Content-Type: application/json Updates a payment page in a paypoint. Reference: https://docs.payabli.com/developers/api-reference/hostedpaymentpages/update-a-payment-page ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Paypoint/{entry}/{subdomain}: put: operationId: save-page summary: Update a payment page description: Updates a payment page in a paypoint. tags: - subpackage_hostedPaymentPages parameters: - name: entry in: path description: >- The paypoint's entrypoint identifier. [Learn more](/developers/api-reference/api-overview#entrypoint-vs-entry) required: true schema: type: string - name: subdomain in: path description: >- Payment page identifier. The subdomain value is the last part of the payment page URL. For example, in`https://paypages-sandbox.payabli.com/513823dc10/pay-your-fees-1`, the subdomain is `pay-your-fees-1`. required: true schema: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: >- #/components/schemas/type_:PayabliApiResponse00Responsedatanonobject '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/type_:PayabliPages' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:AdditionalData: type: object additionalProperties: type: object additionalProperties: description: Any type description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. If you are using [custom identifiers](/developers/developer-guides/entities-customers), pass those in this object. Max length for a value is 100 characters. Example usage: ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalData type_:PayabliCredentials: type: object properties: accountId: type: string cfeeFix: type: number format: double cfeeFloat: type: number format: double cfeeMax: type: number format: double cfeeMin: type: number format: double maxticket: type: number format: double minticket: type: number format: double mode: type: integer description: >- The payment mode supported by this service. `0` for one-time payments, `1` for recurring payments, `2` for both. referenceId: type: integer format: int64 service: type: string description: >- The payment service that this credential applies to. A paypoint can support multiple services, each represented by its own credential object in the array. Possible values are `card` (credit/debit card), `ach` (ACH bank transfer), `check` (paper check), `vcard` (virtual card), `cloud` (card-present), `cash`, `managed` (managed payment service), and `wallet`. title: PayabliCredentials type_:Order: type: integer description: Order of element or section in container. title: Order type_:PayCategory: type: object properties: description: type: string label: type: string name: type: string optionalPay: type: boolean order: $ref: '#/components/schemas/type_:Order' quantity: type: integer showDescription: type: boolean type: type: string value: type: string title: PayCategory type_:Enabled: type: boolean description: Toggles whether the section or element is enabled. title: Enabled type_:AmountElement: type: object properties: categories: type: array items: $ref: '#/components/schemas/type_:PayCategory' enabled: $ref: '#/components/schemas/type_:Enabled' order: $ref: '#/components/schemas/type_:Order' title: AmountElement type_:Finishtype: type: object properties: calendar: type: boolean description: Flag to enable 'calendar' option untilCancelled: type: boolean description: Flag to enable 'untilCancelled' option title: Finishtype type_:FrequencyList: type: object properties: annually: type: boolean description: Enable or disable frequency every2Weeks: type: boolean description: Enable or disable frequency every3Months: type: boolean description: Enable or disable frequency every6Months: type: boolean description: Enable or disable frequency monthly: type: boolean description: Enable or disable frequency onetime: type: boolean description: Enable or disable frequency weekly: type: boolean description: Enable or disable frequency title: FrequencyList type_:AutoElement: type: object properties: enabled: $ref: '#/components/schemas/type_:Enabled' finish: $ref: '#/components/schemas/type_:Finishtype' description: Type of end date frequency: $ref: '#/components/schemas/type_:FrequencyList' description: accepted frequencies for autopay frequencySelected: type: string description: Value of pre-selected frequency header: type: string description: Header text for section order: $ref: '#/components/schemas/type_:Order' startDate: type: string description: Range of days enabled in calendar. Leave empty to enable all days. title: AutoElement type_:ContactElement: type: object properties: emailLabel: type: string description: Custom content for email enabled: $ref: '#/components/schemas/type_:Enabled' header: type: string description: Header text for section order: $ref: '#/components/schemas/type_:Order' paymentIcons: type: boolean description: Flag indicating if icons for accepted card brands will be shown phoneLabel: type: string description: Custom content for phone number title: ContactElement type_:LabelElement: type: object properties: enabled: $ref: '#/components/schemas/type_:Enabled' label: type: string description: Label to display for section or element order: $ref: '#/components/schemas/type_:Order' title: LabelElement type_:InvoiceElement: type: object properties: enabled: $ref: '#/components/schemas/type_:Enabled' invoiceLink: $ref: '#/components/schemas/type_:LabelElement' description: Link to invoice order: $ref: '#/components/schemas/type_:Order' viewInvoiceDetails: $ref: '#/components/schemas/type_:LabelElement' description: Link to view invoice details title: InvoiceElement type_:Element: type: object properties: enabled: $ref: '#/components/schemas/type_:Enabled' order: $ref: '#/components/schemas/type_:Order' title: Element type_:NoteElement: type: object properties: enabled: $ref: '#/components/schemas/type_:Enabled' header: type: string description: Header text for section order: $ref: '#/components/schemas/type_:Order' placeholder: type: string description: Placeholder text for input field value: type: string description: Pre-populated value for input field title: NoteElement type_:PageElement: type: object properties: description: type: string description: Page description in header enabled: $ref: '#/components/schemas/type_:Enabled' header: type: string description: Page header order: $ref: '#/components/schemas/type_:Order' title: PageElement type_:MethodsList: type: object properties: amex: type: boolean description: When `true`, American Express is accepted. applePay: type: boolean description: When `true`, Apple Pay is accepted. googlePay: type: boolean description: When `true`, Google Pay is accepted. discover: type: boolean description: When `true`, Discover is accepted. eCheck: type: boolean description: When `true`, ACH is accepted. mastercard: type: boolean description: When `true`, Mastercard is accepted. visa: type: boolean description: When `true`, Visa is accepted. title: MethodsList type_:MethodElementSettingsApplePayButtonStyle: type: string enum: - black - white-outline - white default: black description: >- The Apple Pay button style. See [Apple Pay Button Style](/developers/developer-guides/hosted-payment-page-apple-pay#param-applepay-button-style) for more information. title: MethodElementSettingsApplePayButtonStyle type_:MethodElementSettingsApplePayButtonType: type: string enum: - plain - buy - donate - check-out - book - continue - top-up - order - rent - support - contribute - tip - pay default: pay description: >- The text on Apple Pay button. See [Apple Pay Button Type](/developers/developer-guides/hosted-payment-page-apple-pay#param-applepay-button-type) for more information. title: MethodElementSettingsApplePayButtonType type_:MethodElementSettingsApplePayLanguage: type: string enum: - en-US - ar-AB - ca-ES - zh-CN - zh-HK - zh-TW - hr-HR - cs-CZ - da-DK - de-DE - nl-NL - en-AU - en-GB - fi-FI - fr-CA - fr-FR - el-GR - he-IL - hi-IN - hu-HU - id-ID - it-IT - ja-JP - ko-KR - ms-MY - nb-NO - pl-PL - pt-BR - pt-PT - ro-RO - ru-RU - sk-SK - es-MX - es-ES - sv-SE - th-TH - tr-TR - uk-UA - vi-VN default: en-US description: >- The Apple Pay button locale. See [Apple Pay Button Language](/developers/developer-guides/hosted-payment-page-apple-pay#param-applepay-language) for more information. title: MethodElementSettingsApplePayLanguage type_:MethodElementSettingsApplePay: type: object properties: buttonStyle: $ref: '#/components/schemas/type_:MethodElementSettingsApplePayButtonStyle' description: >- The Apple Pay button style. See [Apple Pay Button Style](/developers/developer-guides/hosted-payment-page-apple-pay#param-applepay-button-style) for more information. buttonType: $ref: '#/components/schemas/type_:MethodElementSettingsApplePayButtonType' description: >- The text on Apple Pay button. See [Apple Pay Button Type](/developers/developer-guides/hosted-payment-page-apple-pay#param-applepay-button-type) for more information. language: $ref: '#/components/schemas/type_:MethodElementSettingsApplePayLanguage' description: >- The Apple Pay button locale. See [Apple Pay Button Language](/developers/developer-guides/hosted-payment-page-apple-pay#param-applepay-language) for more information. title: MethodElementSettingsApplePay type_:MethodElementSettings: type: object properties: applePay: $ref: '#/components/schemas/type_:MethodElementSettingsApplePay' description: Settings for wallet payment methods. title: MethodElementSettings type_:MethodElement: type: object properties: allMethodsChecked: type: boolean description: Flag indicating if all allowed payment methods will be pre-selected. enabled: $ref: '#/components/schemas/type_:Enabled' header: type: string description: Header text for section methods: $ref: '#/components/schemas/type_:MethodsList' order: $ref: '#/components/schemas/type_:Order' settings: $ref: '#/components/schemas/type_:MethodElementSettings' description: Settings for wallet payment methods. title: MethodElement type_:PayorFields: type: object properties: display: type: boolean description: Flag indicating if the input field will show in container fixed: type: boolean description: Flag indicating if the value in input field is read-only or not. identifier: type: boolean description: Flag indicating if the input field is a customer identifier label: type: string description: Label to display for field name: type: string description: >- Name of field to show. Should be one of the standard customer fields or a custom field name order: $ref: '#/components/schemas/type_:Order' required: type: boolean description: Flag indicating if the input field is required for validation validation: type: string description: |- Type of validation to apply to the input field Accepted values: - alpha for alphabetical - numbers for numeric - text for alphanumeric - email for masked email address input - phone for US phone numbers value: type: string description: Pre-populated value for field width: type: integer description: >- Numeric value indicating the size of input relative to the container. Accepted values: - 4 = 1/3 - 6 = 1/2 - 8 = 2/3 - 12 = 3/3 title: PayorFields type_:PayorElement: type: object properties: enabled: $ref: '#/components/schemas/type_:Enabled' fields: type: array items: $ref: '#/components/schemas/type_:PayorFields' description: Array of Customer/Payor fields to show in section header: type: string description: Custom header text for section order: $ref: '#/components/schemas/type_:Order' title: PayorElement type_:HeaderElement: type: object properties: enabled: $ref: '#/components/schemas/type_:Enabled' header: type: string description: Header text for section order: $ref: '#/components/schemas/type_:Order' title: HeaderElement type_:Subdomain: type: string description: >- Refers to the payment page identifier. If provided, then the transaction is linked to the payment page. title: Subdomain type_:PageContent: type: object properties: amount: $ref: '#/components/schemas/type_:AmountElement' description: Amount section of payment page autopay: $ref: '#/components/schemas/type_:AutoElement' description: Autopay section of payment page contactUs: $ref: '#/components/schemas/type_:ContactElement' description: ContactUs section of payment page entry: type: string description: Identifier of entry point owner of page invoices: $ref: '#/components/schemas/type_:InvoiceElement' description: Invoices section of payment page logo: $ref: '#/components/schemas/type_:Element' description: Logo section of payment page messageBeforePaying: $ref: '#/components/schemas/type_:LabelElement' description: Message section of payment page name: type: string description: Descriptor of page notes: $ref: '#/components/schemas/type_:NoteElement' description: Notes section of payment page page: $ref: '#/components/schemas/type_:PageElement' description: Page header section of payment page paymentButton: $ref: '#/components/schemas/type_:LabelElement' description: Payment button section of payment page paymentMethods: $ref: '#/components/schemas/type_:MethodElement' description: Payment methods section of payment page payor: $ref: '#/components/schemas/type_:PayorElement' description: Customer/Payor section of payment page review: $ref: '#/components/schemas/type_:HeaderElement' description: Review section of payment page subdomain: $ref: '#/components/schemas/type_:Subdomain' description: Unique identifier assigned to the page. title: PageContent type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:FileContentFtype: type: string enum: - pdf - doc - docx - jpg - jpeg - png - gif - txt description: The MIME type of the file (if content is provided) title: FileContentFtype type_:FileContent: type: object properties: fContent: type: string description: >- Content of file, Base64-encoded. Ignored if furl is specified. Max upload size is 30 MB. filename: type: string description: The name of the attached file. ftype: $ref: '#/components/schemas/type_:FileContentFtype' description: The MIME type of the file (if content is provided) furl: type: string description: Optional URL provided to show or download the file remotely description: Contains details about a file. Max upload size is 30 MB. title: FileContent type_:ButtonElementSize: type: string enum: - sm - md - lg description: Specify size of custom payment button title: ButtonElementSize type_:ButtonElement: type: object properties: label: type: string description: Label for custom payment button size: $ref: '#/components/schemas/type_:ButtonElementSize' description: Specify size of custom payment button required: - label title: ButtonElement type_:PageSetting: type: object properties: color: type: string description: 'An HTML color code in format #RRGGBB' customCssUrl: type: string description: Complete URL to a custom CSS file to be loaded with the page language: type: string description: Two-letter code following ISO 639-1 pageLogo: $ref: '#/components/schemas/type_:FileContent' description: Object containing logo file to upload/ use in page paymentButton: $ref: '#/components/schemas/type_:ButtonElement' redirectAfterApprove: type: boolean description: >- Flag indicating if the capability for redirection in the page will be activated redirectAfterApproveUrl: type: string description: Complete URL where the page will be redirected after completion title: PageSetting type_:DisplayProperty: type: object properties: display: type: boolean description: When `true`, the field is displayed on the receipt. Fixed: type: boolean description: This field is unused. name: type: string description: The field's name. title: DisplayProperty type_:SettingElement: type: object properties: enabled: $ref: '#/components/schemas/type_:Enabled' fields: type: array items: $ref: '#/components/schemas/type_:DisplayProperty' description: Fields to display on the reciept. order: $ref: '#/components/schemas/type_:Order' sendAuto: type: boolean default: true description: >- When `true`, Payabli automatically sends the receipt to the payor email address. sendManual: type: boolean default: false description: >- When `true`, you must send the reciept to the payor manually using the [/MoneyIn/sendreceipt/\{transId\}](/developers/api-reference/moneyin/send-receipt-for-transaction) endpoint. title: SettingElement type_:ReceiptContent: type: object properties: amount: $ref: '#/components/schemas/type_:Element' description: Section amount of payment receipt contactUs: $ref: '#/components/schemas/type_:Element' description: Section contactUs of payment receipt details: $ref: '#/components/schemas/type_:Element' description: Section payment details of payment receipt logo: $ref: '#/components/schemas/type_:Element' description: Section logo of payment receipt messageBeforeButton: $ref: '#/components/schemas/type_:LabelElement' description: Section message of payment receipt page: $ref: '#/components/schemas/type_:PageElement' description: Section page of payment receipt paymentButton: $ref: '#/components/schemas/type_:LabelElement' description: Section payment button of payment receipt paymentInformation: $ref: '#/components/schemas/type_:Element' description: Section payment information of payment receipt settings: $ref: '#/components/schemas/type_:SettingElement' description: The receipt's settings. description: Object containing receipt body configuration title: ReceiptContent type_:PayabliPages: type: object properties: AdditionalData: $ref: '#/components/schemas/type_:AdditionalData' credentials: type: array items: $ref: '#/components/schemas/type_:PayabliCredentials' description: Array of credential objects with active services for the page lastAccess: type: string format: date-time description: Timestamp of last access to page structure pageContent: $ref: '#/components/schemas/type_:PageContent' description: Sections of page pageIdentifier: $ref: '#/components/schemas/type_:PageIdentifier' pageSettings: $ref: '#/components/schemas/type_:PageSetting' description: Settings of page published: type: integer description: >- Flag indicating if page is active to accept payments. `0` for false, `1` for true. receiptContent: $ref: '#/components/schemas/type_:ReceiptContent' description: Sections of payment receipt subdomain: $ref: '#/components/schemas/type_:Subdomain' description: Page identifier. Must be unique in platform. totalAmount: type: number format: double description: Total amount to pay in this page validationCode: type: string description: Base64 encoded image of CAPTCHA associated to this page load title: PayabliPages type_:Responsecode: type: integer description: >- Code for the response. Learn more in [API Response Codes](/developers/api-reference/api-responses). title: Responsecode type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:Responsedatanonobject: oneOf: - type: string - type: integer description: The response data. title: Responsedatanonobject type_:PayabliApiResponse00Responsedatanonobject: type: object properties: responseCode: $ref: '#/components/schemas/type_:Responsecode' pageIdentifier: $ref: '#/components/schemas/type_:PageIdentifier' roomId: type: integer format: int64 description: >- Describes the room ID. Only in use on Boarding endpoints, returns `0` when not applicable. isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseText: $ref: '#/components/schemas/type_:ResponseText' responseData: $ref: '#/components/schemas/type_:Responsedatanonobject' required: - responseText title: PayabliApiResponse00Responsedatanonobject type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript Example import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.hostedPaymentPages.savePage("8cfec329267", "pay-your-fees-1", {}); } main(); ``` ```python Example from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.hosted_payment_pages.save_page( entry="8cfec329267", subdomain_="pay-your-fees-1", ) ``` ```csharp Example using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.HostedPaymentPages.SavePageAsync( "8cfec329267", "pay-your-fees-1", new PayabliPages() ); } } ``` ```go Example package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Paypoint/8cfec329267/pay-your-fees-1" payload := strings.NewReader("{}") req, _ := http.NewRequest("PUT", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Example require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Paypoint/8cfec329267/pay-your-fees-1") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Put.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{}" response = http.request(request) puts response.read_body ``` ```java Example import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.put("https://api-sandbox.payabli.com/api/Paypoint/8cfec329267/pay-your-fees-1") .header("requestToken", "") .header("Content-Type", "application/json") .body("{}") .asString(); ``` ```php Example request('PUT', 'https://api-sandbox.payabli.com/api/Paypoint/8cfec329267/pay-your-fees-1', [ 'body' => '{}', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift Example import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = [] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Paypoint/8cfec329267/pay-your-fees-1")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "PUT" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Delete payment page DELETE https://api-sandbox.payabli.com/api/Paypoint/{entry}/{subdomain} Deletes a payment page in a paypoint. Reference: https://docs.payabli.com/developers/api-reference/hostedpaymentpages/delete-a-payment-page ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Paypoint/{entry}/{subdomain}: delete: operationId: remove-page summary: Delete a payment page description: Deletes a payment page in a paypoint. tags: - subpackage_paypoint parameters: - name: entry in: path description: >- The paypoint's entrypoint identifier. [Learn more](/developers/api-reference/api-overview#entrypoint-vs-entry) required: true schema: type: string - name: subdomain in: path description: >- Payment page identifier. The subdomain value is the last portion of the payment page URL. For example, in`https://paypages-sandbox.payabli.com/513823dc10/pay-your-fees-1`, the subdomain is `pay-your-fees-1`. required: true schema: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponseGeneric2Part' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponseGeneric2Part: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponseGeneric2Part type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.paypoint.removePage("8cfec329267", "pay-your-fees-1"); } main(); ``` ```python from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.paypoint.remove_page( entry="8cfec329267", subdomain="pay-your-fees-1", ) ``` ```csharp using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Paypoint.RemovePageAsync( "8cfec329267", "pay-your-fees-1" ); } } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Paypoint/8cfec329267/pay-your-fees-1" req, _ := http.NewRequest("DELETE", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Paypoint/8cfec329267/pay-your-fees-1") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Delete.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.delete("https://api-sandbox.payabli.com/api/Paypoint/8cfec329267/pay-your-fees-1") .header("requestToken", "") .asString(); ``` ```php request('DELETE', 'https://api-sandbox.payabli.com/api/Paypoint/8cfec329267/pay-your-fees-1', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Paypoint/8cfec329267/pay-your-fees-1")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "DELETE" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Get dispute record GET https://api-sandbox.payabli.com/api/ChargeBacks/read/{Id} Retrieves a chargeback record and its details. Reference: https://docs.payabli.com/developers/api-reference/chargebacks/get-chargeback-record ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /ChargeBacks/read/{Id}: get: operationId: get-chargeback summary: Get chargeback or ACH return record description: Retrieves a chargeback record and its details. tags: - subpackage_chargeBacks parameters: - name: Id in: path description: >- ID of the chargeback or return record. This is returned as `chargebackId` in the [RecievedChargeback](/developers/developer-guides/webhook-payloads#receivedChargeback) and [ReceivedAchReturn](/developers/developer-guides/webhook-payloads#receivedachreturn) webhook notifications. required: true schema: type: integer format: int64 - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_chargeBacks:ChargebackQueryRecords' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:Accounttype: type: string description: Bank account type or card brand. title: Accounttype type_:CreatedAt: type: string format: date-time description: Timestamp of when record was created, in UTC. title: CreatedAt type_:Replyby: type: string format: date-time description: Time that a response to a chargeback is due, in UTC. title: Replyby type_:OrderId: type: string description: Custom identifier for the transaction. title: OrderId type_:Netamountnullable: type: number format: double description: Net amount. title: Netamountnullable type_:TransactionTime: type: string format: date-time description: Timestamp when transaction was submitted, in UTC. title: TransactionTime type_:BillingZip: type: string description: Billing address ZIP code. title: BillingZip type_:Email: type: string format: email description: Email address. title: Email type_:CustomerNumberNullable: type: string description: >- User-provided unique identifier for the customer. This is typically the customer ID from your own system. title: CustomerNumberNullable type_:Shippingaddress: type: string description: The shipping address. title: Shippingaddress type_:Shippingaddressadditional: type: string description: Additional line for shipping address. title: Shippingaddressadditional type_:Shippingcity: type: string description: Shipping city. title: Shippingcity type_:Shippingstate: type: string description: Shipping state or province. title: Shippingstate type_:Shippingzip: type: string description: >- Shipping ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". title: Shippingzip type_:Shippingcountry: type: string description: Shipping address country. title: Shippingcountry type_:CustomerId: type: integer format: int64 description: The Payabli-generated unique ID for the customer. title: CustomerId type_:CustomerStatus: type: integer description: |- Customer Status. Possible values: - `-99` Deleted - `0` Inactive - `1` Active - `85` Locked (typically due to multiple failed login attempts) title: CustomerStatus type_:AdditionalDataMap: type: object additionalProperties: type: string description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalDataMap type_:QueryTransactionPayorData: type: object properties: Identifiers: type: array items: description: Any type description: Array of field names to be used as identifiers. FirstName: type: string description: Customer/Payor first name. LastName: type: string description: Customer/Payor last name. CompanyName: type: string description: Customer's company name. BillingAddress1: type: string description: Customer's billing address. BillingAddress2: type: string description: Additional line for Customer's billing address. BillingCity: type: string description: Customer's billing city. BillingState: type: string description: >- Customer's billing state. Must be 2-letter state code for address in US. BillingZip: $ref: '#/components/schemas/type_:BillingZip' description: Customer's billing ZIP code. BillingCountry: type: string description: Customer's billing country. BillingPhone: type: string description: Customer's phone number. BillingEmail: $ref: '#/components/schemas/type_:Email' description: Customer's email address. CustomerNumber: $ref: '#/components/schemas/type_:CustomerNumberNullable' ShippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' ShippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' ShippingCity: $ref: '#/components/schemas/type_:Shippingcity' ShippingState: $ref: '#/components/schemas/type_:Shippingstate' ShippingZip: $ref: '#/components/schemas/type_:Shippingzip' ShippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' customerId: $ref: '#/components/schemas/type_:CustomerId' customerStatus: $ref: '#/components/schemas/type_:CustomerStatus' AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' title: QueryTransactionPayorData type_:Accountexp: type: string description: Expiration date of card used in transaction. title: Accountexp type_:Accountid: type: string description: Custom identifier for payment connector. title: Accountid type_:Accountzip: type: string description: ZIP code for card used in transaction. title: Accountzip type_:BinData: type: object properties: binMatchedLength: type: string description: |- The number of characters from the beginning of the card number that were matched against a Bank Identification Number (BIN) or the Card Range table. binCardBrand: type: string description: |- The card brand. For example, Visa, Mastercard, American Express, Discover. binCardType: type: string description: 'The type of card: Credit or Debit.' binCardCategory: type: string description: >- The category of the card, which indicates the card product. For example: Standard, Gold, Platinum, etc. The binCardCategory for prepaid cards is marked `PREPAID`. binCardIssuer: type: string description: The name of the financial institution that issued the card. binCardIssuerCountry: type: string description: The issuing financial institution's country name. binCardIssuerCountryCodeA2: type: string description: >- The issuing financial institution's two-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIssuerCountryNumber: type: string description: >- The issuing financial institution's ISO standard numeric country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIsRegulated: type: string description: Indicates whether the card is regulated. binCardUseCategory: type: string description: The use category classification for the card. binCardIssuerCountryCodeA3: type: string description: >- The issuing financial institution's three-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. description: >- Object containing information related to the card. This object is `null` unless the payment method is card. If the payment method is Apple Pay, the binData will be related to the DPAN (device primary account number), not the card connected to Apple Pay. title: BinData type_:Holdername: type: string description: Account holder name for the method. title: Holdername type_:Initiator: type: string description: >- **Strongly recommended** The cardholder-initiated transaction (CIT) or merchant-initiated transaction (MIT) indicator for the transaction. If you don't specify a value, Payabli defaults to `merchant`. Available values: - `payor`: For cardholder-initiated transactions - `merchant`: For merchant-initiated transactions See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Initiator type_:Maskedaccount: type: string description: >- Masked card or bank account used in transaction. In the case of Apple Pay, this is a masked DPAN (device primary account number). title: Maskedaccount type_:Orderdescription: type: string description: Text description of the transaction. title: Orderdescription type_:PaymentCategories: type: object properties: amount: type: number format: double description: Price/cost per unit of item or category. description: type: string description: Description of item or category label: type: string description: Name of item or category. qty: type: integer default: 1 description: Quantity of item or category required: - amount - label title: PaymentCategories type_:SplitFundingContent: type: object properties: accountId: type: string description: The accountId for the account the split should be sent to. amount: type: number format: double description: Amount from the transaction to sent to this recipient. description: type: string description: A description for the split. recipientEntryPoint: type: string description: The entrypoint the split should be sent to. title: SplitFundingContent type_:SplitFunding: type: array items: $ref: '#/components/schemas/type_:SplitFundingContent' description: >- Split funding instructions for the transaction. The total amount of the splits must match the total amount of the transaction. title: SplitFunding type_:PaymentDetail: type: object properties: categories: type: array items: $ref: '#/components/schemas/type_:PaymentCategories' description: >- Array of payment categories/line items describing the amount to be paid. **Note**: These categories are for information only and aren't validated against the total amount provided. checkImage: type: object additionalProperties: description: Any type description: Object containing image of paper check. checkNumber: type: string description: >- A check number to be used in the ach transaction. **Required** for payment method = 'check'. currency: type: string description: >- The currency for the transaction, `USD` or `CAD`. If your paypoint is configured for CAD, you must send the `CAD` value in this field, otherwise it defaults to USD, which will cause the transaction to fail. serviceFee: type: number format: double description: >- Service fee to be deducted from the total amount. This amount must be a number, percentages aren't accepted. If you are using a percentage-based fee schedule, you must calculate the value manually. splitFunding: $ref: '#/components/schemas/type_:SplitFunding' description: >- Split funding instructions for the transaction. See [Split a Transaction](/developers/developer-guides/money-in-split-funding) for more. checkUniqueId: type: string description: >- Unique identifier for a processed check image. Required for RDC (Remote Deposit Capture) transactions where `achCode` is `BOC`. Use the `id` value from the [check processing](/developers/api-reference/moneyin/check-capture) response. totalAmount: type: number format: double description: >- Total amount to be charged. If a service fee is sent, then this amount should include the service fee." required: - totalAmount description: Details about the payment. title: PaymentDetail type_:Sequence: type: string description: >- The order of the transaction for cardholder-initiated transaction (CIT) and merchant-initiated transaction (MIT) purposes. This field is automatically detected and populated by Payabli. Available values: - `first`: The first use of the payment method. This is almost always a cardholder-initiated transaction. - `subsequent`: For merchant-initiated transactions after the first use of the payment method. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Sequence type_:Signaturedata: type: string title: Signaturedata type_:Storedmethodid: type: string description: >- Payabli identifier of a tokenized payment method. If this field is used in a request, the `method` field is overridden and the payment is made using the payment token. title: Storedmethodid type_:StoredMethodUsageType: type: string description: >- **Strongly recommended** The usage type for the stored method, used for merchant-initiated transactions (MIT). If you don't specify a value, Payabli defaults to `unscheduled`. Available values: - `unscheduled`: This type is used for transactions that are one-time or otherwise not pre-scheduled. - `subscription`: This type is used for subscription payments. For example, monthly rental fees or ongoing service subscriptions. - `recurring`: This type is used for recurring payments that occur per a set plan. For example, splitting an HOA special assessment over 6 monthly payments. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: StoredMethodUsageType type_:QueryPaymentData: type: object properties: AccountExp: $ref: '#/components/schemas/type_:Accountexp' accountId: $ref: '#/components/schemas/type_:Accountid' AccountType: $ref: '#/components/schemas/type_:Accounttype' AccountZip: $ref: '#/components/schemas/type_:Accountzip' binData: $ref: '#/components/schemas/type_:BinData' HolderName: $ref: '#/components/schemas/type_:Holdername' Initiator: $ref: '#/components/schemas/type_:Initiator' MaskedAccount: $ref: '#/components/schemas/type_:Maskedaccount' orderDescription: $ref: '#/components/schemas/type_:Orderdescription' paymentDetails: $ref: '#/components/schemas/type_:PaymentDetail' Sequence: $ref: '#/components/schemas/type_:Sequence' SignatureData: $ref: '#/components/schemas/type_:Signaturedata' StoredId: $ref: '#/components/schemas/type_:Storedmethodid' description: Identifier of stored payment method used in transaction. StoredMethodUsageType: $ref: '#/components/schemas/type_:StoredMethodUsageType' title: QueryPaymentData type_:Legalname: type: string description: Business legal name. title: Legalname type_:Dbaname: type: string description: >- The alternate or common name that this business is doing business under usually referred to as a DBA name. title: Dbaname type_:OrgParentName: type: string description: The name of the parent organization. title: OrgParentName type_:Entrypointfield: type: string description: The entrypoint identifier. title: Entrypointfield type_:PairFiles: type: object properties: originalName: type: string description: Original filename zipName: type: string description: >- Filename assigned to zipped file. This is the name to use for reference in the API functions to get files in attachments. descriptor: type: string description: Descriptor of the file. title: PairFiles type_:BoardingApplicationAttachments: type: object properties: filelist: type: array items: $ref: '#/components/schemas/type_:PairFiles' description: Array of objects describing files contained in the ZIP file. zipfile: type: string description: Zip file containing attachments. title: BoardingApplicationAttachments type_chargeBacks:ChargeBackResponse: type: object properties: attachments: $ref: '#/components/schemas/type_:BoardingApplicationAttachments' description: Object with attached files to response contactEmail: $ref: '#/components/schemas/type_:Email' description: Email of response submitter. contactName: type: string description: Name of response submitter createdAt: $ref: '#/components/schemas/type_:CreatedAt' description: Timestamp when response was submitted, in UTC. id: type: integer format: int64 description: Chargeback response identifier notes: type: string description: Response notes title: ChargeBackResponse type_:AchHolderType: type: string enum: - personal - business default: personal description: 'The bank''s accountholder type: personal or business.' title: AchHolderType type_:AchSecCode: type: string description: >- Standard Entry Class (SEC) code is a three letter code that describes how an ACH payment was authorized. Supported values are: - PPD (Prearranged Payment and Deposit) - Used for credits or debits where an accountholder authorizes a company to initiate either a single or recurring transaction to their personal bank account. Common examples include direct deposit of payroll, mortgage payments, or utility bills. This is the default value for subscription payments. - WEB (Internet-Initiated/Mobile Entry) - Used for debit entries when authorization is obtained from an accountholder via the internet or a wireless network. Common examples are online bill payments, ecommerce purchases, and mobile app payments where the consumer enters their banking information online. - TEL (Telephone-Initiated Entry) - Used for one-time debit entries where authorization is obtained from a consumer via telephone. Common examples are phone-based purchases or bill payments where the consumer provides their banking information over the phone. - CCD (Corporate Credit or Debit) - Used for fund transfers between business accounts. This code is specifically for business-to-business transactions. Common examples include vendor payments and other business-to-business payments. - BOC (Back Office Conversion) - Used to convert paper checks received in-person at a point-of-sale or staffed payment location into electronic ACH debits. Required for Remote Deposit Capture (RDC) transactions. Only supports consumer checks; business, government, and mailed checks aren't eligible. title: AchSecCode type_:BatchNumber: type: string description: >- A unique identifier for the batch. This is generated by Payabli when the batch is created, and follows this format: `paypointId + "_" + serviceName + "_" + batchDate:yyyyMMdd + "_" + Guid.NewGuid()`. Payabli generates the GUID to ensure that the batch number is unique. For example, in this batch number: `123_card_20251008_3f2504e0-4f89-11d3-9a0c-0305e82c3301`, the paypointID is "123", the service is "card", the batch date is "2025-10-08", and the GUID is "3f2504e0-4f89-11d3-9a0c-0305e82c3301". title: BatchNumber type_:QueryCFeeTransaction: type: object properties: cFeeTransid: type: string feeAmount: type: number format: double operation: type: string refundId: type: integer format: int64 responseData: type: object additionalProperties: description: Any type settlementStatus: type: integer transactionTime: $ref: '#/components/schemas/type_:TransactionTime' transStatus: type: integer title: QueryCFeeTransaction type_:Device: type: string description: Identifier of registered cloud device used in the transaction. title: Device type_:EntrypageId: type: integer format: int64 description: >- If applicable, the internal reference ID to the payment page capturing the payment. title: EntrypageId type_:ExternalProcessorInformation: type: string description: >- Processor information, used for troubleshooting and reporting. This field contains a value when the API key used to make the request has management permissions. title: ExternalProcessorInformation type_:FeeAmount: type: number format: double description: Service fee or sub-charge applied. title: FeeAmount type_:FileContentFtype: type: string enum: - pdf - doc - docx - jpg - jpeg - png - gif - txt description: The MIME type of the file (if content is provided) title: FileContentFtype type_:FileContent: type: object properties: fContent: type: string description: >- Content of file, Base64-encoded. Ignored if furl is specified. Max upload size is 30 MB. filename: type: string description: The name of the attached file. ftype: $ref: '#/components/schemas/type_:FileContentFtype' description: The MIME type of the file (if content is provided) furl: type: string description: Optional URL provided to show or download the file remotely description: Contains details about a file. Max upload size is 30 MB. title: FileContent type_:Attachments: type: array items: $ref: '#/components/schemas/type_:FileContent' description: >- Array of `fileContent` objects with attached documents. Max upload size is 30 MB. title: Attachments type_:Discount: type: number format: double description: Discount applied to the invoice. title: Discount type_:DutyAmount: type: number format: double description: Duty amount. title: DutyAmount type_:FreightAmount: type: number format: double description: Freight/shipping amount. title: FreightAmount type_:Frequency: type: string enum: - onetime - weekly - every2weeks - every6months - monthly - every3months - annually description: Frequency for operation. title: Frequency type_:InvoiceAmount: type: number format: double description: Invoice total amount. title: InvoiceAmount type_:InvoiceNumber: type: string description: >- Custom number identifying the bill or invoice. Must be unique in paypoint. title: InvoiceNumber type_:Invoicestatus: type: integer description: |- Status for invoice. The accepted status values are: - 0 draft - 1 active - 2 partially paid - 4 paid/complete - 99 cancelled title: Invoicestatus type_:InvoiceType: type: integer description: Type of invoice. Only `0` for one-time invoices is currently supported. title: InvoiceType type_:ItemCommodityCode: type: string description: Item or product commodity code. Max length of 250 characters. title: ItemCommodityCode type_:ItemDescription: type: string description: Item or product description. Max length of 250 characters. title: ItemDescription type_:ItemProductCode: type: string description: Item or product code. Max length of 250 characters. title: ItemProductCode type_:ItemProductName: type: string description: Item or product name. Max length of 250 characters. title: ItemProductName type_:ItemUnitofMeasure: type: string description: Unit of measurement. Max length of 100 characters. title: ItemUnitofMeasure type_:BillItem: type: object properties: itemCategories: type: array items: type: string description: Array of tags classifying item or product. itemCommodityCode: $ref: '#/components/schemas/type_:ItemCommodityCode' itemCost: type: number format: double description: Item or product price per unit. itemDescription: $ref: '#/components/schemas/type_:ItemDescription' itemMode: type: integer description: >- Internal class of item or product: value '0' is only for invoices , '1' for bills and, '2' common for both. itemProductCode: $ref: '#/components/schemas/type_:ItemProductCode' itemProductName: $ref: '#/components/schemas/type_:ItemProductName' itemQty: type: integer description: Quantity of item or product. itemTaxAmount: type: number format: double description: Tax amount applied to item or product. itemTaxRate: type: number format: double description: Tax rate applied to item or product. itemTotalAmount: type: number format: double description: Total amount in item or product. itemUnitOfMeasure: $ref: '#/components/schemas/type_:ItemUnitofMeasure' required: - itemCost title: BillItem type_:BillDataPaymentTerms: type: string enum: - PIA - CIA - UR - NET10 - NET20 - NET30 - NET45 - NET60 - NET90 - EOM - MFI - 5MFI - 10MFI - 15MFI - 20MFI - 2/10NET30 - UF - 10UF - 20UF - 25UF - 50UF description: >- Payment terms for invoice. If no terms are defined, then response data for this field defaults to `NET30`. **Available Values:** - `PIA`: Payment in advance - `CIA`: Cash in advance - `UR`: Upon receipt - `NET10`: 10 days after invoice date - `NET20`: 20 days after invoice date - `NET30`: 30 days after invoice date - `NET45`: 45 days after invoice date - `NET60`: 60 days after invoice date - `NET90`: 90 days after invoice date - `EOM`: Due end of this month - `MFI`: 1st of the month following the invoice date - `5MFI`: 5th of the month following the invoice date - `10MFI`: 10th of the month following the invoice date - `15MFI`: 15th of the month following the invoice date - `20MFI`: 20th of the month following the invoice date - `2/10NET30`: 2% discount if paid within 10 days, otherwise net 30 days - `UF`: Until further notice - `10UF`: 10 days until further notice - `20UF`: 20 days until further notice - `25UF`: 25 days until further notice - `50UF`: 50 days until further notice title: BillDataPaymentTerms type_:PurchaseOrder: type: string description: Purchase order number. title: PurchaseOrder type_:ShippingFromZip: type: string description: Sender shipping ZIP code. title: ShippingFromZip type_:SummaryCommodityCode: type: string description: Commodity code. title: SummaryCommodityCode type_:Tax: type: number format: double description: Tax rate in percent applied to the invoice. title: Tax type_:TermsConditions: type: string description: Custom terms and conditions included in the invoice. title: TermsConditions type_:BillData: type: object properties: AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' attachments: $ref: '#/components/schemas/type_:Attachments' company: type: string description: Company name of the recipient of the invoice. discount: $ref: '#/components/schemas/type_:Discount' dutyAmount: $ref: '#/components/schemas/type_:DutyAmount' firstName: type: string description: First name of the recipient of the invoice. freightAmount: $ref: '#/components/schemas/type_:FreightAmount' frequency: $ref: '#/components/schemas/type_:Frequency' description: Frequency of scheduled invoice. invoiceAmount: $ref: '#/components/schemas/type_:InvoiceAmount' invoiceDate: type: string format: date description: 'Invoice date in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY.' invoiceDueDate: type: string format: date description: >- Invoice due date in one of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceEndDate: type: string format: date description: >- Indicate the date to finish a scheduled invoice cycle (`invoiceType`` = 1) in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceNumber: $ref: '#/components/schemas/type_:InvoiceNumber' description: Invoice number. Identifies the invoice under a paypoint. invoiceStatus: $ref: '#/components/schemas/type_:Invoicestatus' invoiceType: $ref: '#/components/schemas/type_:InvoiceType' items: type: array items: $ref: '#/components/schemas/type_:BillItem' description: Array of line items included in the invoice. lastName: type: string description: Last name of the recipient of the invoice. notes: type: string description: Notes included in the invoice. paymentTerms: $ref: '#/components/schemas/type_:BillDataPaymentTerms' purchaseOrder: $ref: '#/components/schemas/type_:PurchaseOrder' shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' shippingEmail: $ref: '#/components/schemas/type_:Email' description: Shipping recipient's contact email address. shippingFromZip: $ref: '#/components/schemas/type_:ShippingFromZip' shippingPhone: type: string description: Recipient phone number. shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' summaryCommodityCode: $ref: '#/components/schemas/type_:SummaryCommodityCode' tax: $ref: '#/components/schemas/type_:Tax' termsConditions: $ref: '#/components/schemas/type_:TermsConditions' title: BillData type_:Operation: type: string description: The transaction's operation. title: Operation type_:Orgid: type: integer format: int64 description: Organization ID. Unique identifier assigned to an org by Payabli. title: Orgid type_:PayorId: type: integer format: int64 description: >- Unique ID for the customer linked to the transaction. This is the same value as the `customerId` used when creating or referencing a customer. title: PayorId type_:PendingFeeAmount: type: number format: double description: >- The difference between the configured pass-through fee and the fee amount sent in the request. When transferring funds, Payabli uses this field to deduct the fee difference and transfer the correct amount to the merchant. When a paypoint is set up to absorb fees, and the pass-through fee sent with the request is less than the configured amount, the difference must be covered by the merchant. See [Fee Configuration](/guides/pay-in-fees-passthrough-overview#fee-configuration) to learn more about pass-through fee settings. title: PendingFeeAmount type_:RefundId: type: integer format: int64 description: Identifier of refund transaction linked to this payment. title: RefundId type_:Authcode: type: string description: Authorization code for the transaction. title: Authcode type_:AvsResponse: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponse type_:AvsResponseText: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponseText type_:CvvResponse: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponse type_:CvvResponseText: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponseText type_:EmvAuthResponseData: type: string description: EMV authorization response data, applicable for card transactions. title: EmvAuthResponseData type_:ResultCodev2: type: string description: >- Unified result code for the transaction. See [Pay In unified response codes](/developers/references/pay-in-unified-response-codes-reference) for more information. title: ResultCodev2 type_:ResultCodeText: type: string description: >- Description of the result code. See [Pay In unified response codes](/developers/references/pay-in-unified-response-codes-reference) for more information. title: ResultCodeText type_:QueryResponseData: type: object properties: authcode: $ref: '#/components/schemas/type_:Authcode' avsresponse: $ref: '#/components/schemas/type_:AvsResponse' avsresponse_text: $ref: '#/components/schemas/type_:AvsResponseText' cvvresponse: $ref: '#/components/schemas/type_:CvvResponse' cvvresponse_text: $ref: '#/components/schemas/type_:CvvResponseText' emv_auth_response_data: $ref: '#/components/schemas/type_:EmvAuthResponseData' orderid: $ref: '#/components/schemas/type_:OrderId' response: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' response_code: type: string description: >- Internal result code processing the transaction. Value 1 indicates successful operation, values 2 and 3 indicate errors. response_code_text: type: string description: >- Text describing the result. If resultCode = 1, will return 'Approved' or a general success message. If resultCode = 2 or 3, will contain the cause of the decline. responsetext: type: string description: >- Text describing the result. If resultCode = 1, will return 'Approved' or a general success message. If resultCode = 2 or 3, will contain the cause of the decline. resultCode: $ref: '#/components/schemas/type_:ResultCodev2' resultCodeText: $ref: '#/components/schemas/type_:ResultCodeText' transactionid: type: string description: The transaction identifier in Payabli. type: type: string description: Type of transaction or operation. description: The transaction's response data. title: QueryResponseData type_:ReturnedId: type: integer format: int64 description: Identifier of return/chargeback transaction linked to this payment. title: ReturnedId type_:Source: type: string description: Custom identifier to indicate the transaction or request source. title: Source type_:QueryTransactionEventsEventData: oneOf: - type: object additionalProperties: description: Any type - type: string description: >- Any data associated to the event received from processor. Contents vary by event type. title: QueryTransactionEventsEventData type_:QueryTransactionEvents: type: object properties: EventData: $ref: '#/components/schemas/type_:QueryTransactionEventsEventData' description: >- Any data associated to the event received from processor. Contents vary by event type. EventTime: type: string format: date-time description: Date and time of event. TransEvent: type: string description: >- Event descriptor. See [TransEvent Reference](/guides/pay-in-transevents-reference) for more details. title: QueryTransactionEvents type_:TransactionQueryRecords: type: object properties: AchHolderType: $ref: '#/components/schemas/type_:AchHolderType' AchSecCode: $ref: '#/components/schemas/type_:AchSecCode' BatchAmount: type: number format: double description: Batch amount. BatchNumber: $ref: '#/components/schemas/type_:BatchNumber' CfeeTransactions: type: array items: $ref: '#/components/schemas/type_:QueryCFeeTransaction' description: >- Service Fee or sub-charge transaction associated to the main transaction. ConnectorName: type: string description: Connector used for transaction. Customer: $ref: '#/components/schemas/type_:QueryTransactionPayorData' DeviceId: $ref: '#/components/schemas/type_:Device' EntrypageId: $ref: '#/components/schemas/type_:EntrypageId' ExternalProcessorInformation: $ref: '#/components/schemas/type_:ExternalProcessorInformation' FeeAmount: $ref: '#/components/schemas/type_:FeeAmount' GatewayTransId: type: string description: Internal identifier used for processing. InvoiceData: $ref: '#/components/schemas/type_:BillData' Method: type: string description: 'Payment method used: card, ach, or wallet.' NetAmount: $ref: '#/components/schemas/type_:Netamountnullable' description: Net amount paid. Operation: $ref: '#/components/schemas/type_:Operation' OrderId: $ref: '#/components/schemas/type_:OrderId' OrgId: $ref: '#/components/schemas/type_:Orgid' description: ID of immediate parent organization. ParentOrgName: $ref: '#/components/schemas/type_:OrgParentName' PaymentData: $ref: '#/components/schemas/type_:QueryPaymentData' PaymentTransId: type: string description: Unique Transaction ID. PayorId: $ref: '#/components/schemas/type_:PayorId' PaypointDbaname: $ref: '#/components/schemas/type_:Dbaname' description: Paypoint's DBA name. PaypointEntryname: $ref: '#/components/schemas/type_:Entrypointfield' description: Paypoint's entryname. PaypointId: type: integer format: int64 description: InternalId for paypoint. PaypointLegalname: $ref: '#/components/schemas/type_:Legalname' description: Paypoint's legal name. PendingFeeAmount: $ref: '#/components/schemas/type_:PendingFeeAmount' RefundId: $ref: '#/components/schemas/type_:RefundId' ResponseData: $ref: '#/components/schemas/type_:QueryResponseData' ReturnedId: $ref: '#/components/schemas/type_:ReturnedId' ScheduleReference: type: integer format: int64 description: Reference to the subscription that originated the transaction. SettlementStatus: type: integer description: >- Settlement status for transaction. See [the docs](/developers/references/money-in-statuses#payment-funding-status) for a full reference. Source: $ref: '#/components/schemas/type_:Source' splitFundingInstructions: $ref: '#/components/schemas/type_:SplitFunding' TotalAmount: type: number format: double description: Transaction total amount (including service fee or sub-charge) TransactionEvents: type: array items: $ref: '#/components/schemas/type_:QueryTransactionEvents' description: Events associated with this transaction. TransactionTime: type: - string - 'null' format: date-time description: Transaction date and time, in UTC. TransAdditionalData: description: Any type TransStatus: type: integer description: >- Status of transaction. See [the docs](/developers/references/money-in-statuses#money-in-transaction-status) for a full reference. required: - TransactionTime title: TransactionQueryRecords type_:ExternalPaypointId: type: string description: >- A custom identifier for the paypoint, if applicable. Like `entrypoint` is the Payabli identifier for the merchant, `externalPaypointId` is a custom field you can use to include the merchant's ID from your own systems. title: ExternalPaypointId type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_chargeBacks:ChargebackMessage: type: object properties: Id: type: integer description: Message identifier. RoomId: type: integer description: Room identifier for the message. UserId: type: integer description: User identifier who sent the message. UserName: type: string description: Name of the user who sent the message. Content: type: string description: Content of the message. CreatedAt: type: string format: date-time description: Timestamp when the message was created. MessageType: type: integer description: Type of message. MessageProperties: type: object additionalProperties: type: string description: Additional properties of the message. required: - Id - RoomId - UserId - UserName - Content - CreatedAt - MessageType title: ChargebackMessage type_chargeBacks:ChargebackQueryRecords: type: object properties: Id: type: integer format: int64 description: Identifier of chargeback or return. ChargebackDate: type: string format: date-time description: Date of chargeback in format YYYY-MM-DD or MM/DD/YYYY. CaseNumber: type: string description: Number of case assigned to the chargeback. ReasonCode: type: string description: R code for returned ACH or custom code identifying the reason. Reason: type: string description: Text describing the chargeback or ACH return reason. ReferenceNumber: type: string description: Processor reference number to the chargeback. LastFour: type: string description: >- Last 4 digits of card or bank account involved in chargeback or return. AccountType: $ref: '#/components/schemas/type_:Accounttype' Status: type: integer description: |- Status for chargeback or ACH return - 0: Open (chargebacks only) - 1: Pending (chargebacks only) - 2: Closed-Won (chargebacks only) - 3: Closed-Lost (chargebacks only) - 4: ACH Return (ACH only) - 5: ACH Dispute, Not Authorized (ACH only) Method: type: string description: 'Type of payment vehicle: **ach** or **card**.' CreatedAt: $ref: '#/components/schemas/type_:CreatedAt' description: Timestamp when the register was created, in UTC. ReplyBy: $ref: '#/components/schemas/type_:Replyby' PaymentTransId: type: string description: ReferenceId of the transaction in Payabli. ScheduleReference: type: integer format: int64 description: Reference to the subscription originating the transaction. OrderId: $ref: '#/components/schemas/type_:OrderId' NetAmount: $ref: '#/components/schemas/type_:Netamountnullable' description: Net amount in chargeback or ACH return. TransactionTime: $ref: '#/components/schemas/type_:TransactionTime' Customer: $ref: '#/components/schemas/type_:QueryTransactionPayorData' PaymentData: $ref: '#/components/schemas/type_:QueryPaymentData' PaypointLegalname: $ref: '#/components/schemas/type_:Legalname' description: The paypoint's legal name. PaypointDbaname: $ref: '#/components/schemas/type_:Dbaname' description: The paypoint's DBA name. ParentOrgName: $ref: '#/components/schemas/type_:OrgParentName' ParentOrgId: type: integer format: int64 description: The ID of the parent organization. PaypointEntryname: $ref: '#/components/schemas/type_:Entrypointfield' description: The paypoint's entryname. Responses: type: array items: $ref: '#/components/schemas/type_chargeBacks:ChargeBackResponse' description: Chargeback response records. Transaction: $ref: '#/components/schemas/type_:TransactionQueryRecords' externalPaypointID: $ref: '#/components/schemas/type_:ExternalPaypointId' pageidentifier: $ref: '#/components/schemas/type_:PageIdentifier' messages: type: array items: $ref: '#/components/schemas/type_chargeBacks:ChargebackMessage' description: Messages related to the chargeback. ServiceGroup: type: string description: Service group classification. DisputeType: type: string description: Type of dispute classification. ProcessorName: type: string description: Name of the payment processor. required: - Id - ChargebackDate - CaseNumber - ReasonCode - Reason - ReferenceNumber - LastFour - AccountType - Status - Method - CreatedAt - ReplyBy - PaymentTransId - OrderId - TransactionTime - Customer - PaymentData - PaypointLegalname - PaypointDbaname - ParentOrgName - ParentOrgId - PaypointEntryname - Responses - Transaction - messages - ServiceGroup - DisputeType - ProcessorName title: ChargebackQueryRecords type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript GetChargeback import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.chargeBacks.getChargeback(1000000); } main(); ``` ```python GetChargeback from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.charge_backs.get_chargeback( id=1000000, ) ``` ```csharp GetChargeback using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.ChargeBacks.GetChargebackAsync( 1000000L ); } } ``` ```go GetChargeback package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/ChargeBacks/read/1000000" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby GetChargeback require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/ChargeBacks/read/1000000") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java GetChargeback import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/ChargeBacks/read/1000000") .header("requestToken", "") .asString(); ``` ```php GetChargeback request('GET', 'https://api-sandbox.payabli.com/api/ChargeBacks/read/1000000', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift GetChargeback import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/ChargeBacks/read/1000000")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Add response to dispute POST https://api-sandbox.payabli.com/api/ChargeBacks/response/{Id} Content-Type: application/json Add a response to a chargeback or ACH return. Reference: https://docs.payabli.com/developers/api-reference/chargebacks/add-response-to-chargeback-or-return ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /ChargeBacks/response/{Id}: post: operationId: add-response summary: Add response to chargeback or return description: Add a response to a chargeback or ACH return. tags: - subpackage_chargeBacks parameters: - name: Id in: path description: ID of the chargeback or return record. required: true schema: type: integer format: int64 - name: requestToken in: header required: true schema: type: string - name: idempotencyKey in: header required: false schema: $ref: '#/components/schemas/type_:IdempotencyKey' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_chargeBacks:AddResponseResponse' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' requestBody: content: application/json: schema: type: object properties: attachments: $ref: '#/components/schemas/type_:Attachments' description: Array of attached files to response. contactEmail: $ref: '#/components/schemas/type_:Email' description: Email of response submitter. contactName: type: string description: Name of response submitter notes: type: string description: Response notes servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:IdempotencyKey: type: string description: >- _Optional but recommended_ A unique ID that you can include to prevent duplicating objects or transactions in the case that a request is sent more than once. This key isn't generated in Payabli, you must generate it yourself. This key persists for 2 minutes. After 2 minutes, you can reuse the key if needed. title: IdempotencyKey type_:FileContentFtype: type: string enum: - pdf - doc - docx - jpg - jpeg - png - gif - txt description: The MIME type of the file (if content is provided) title: FileContentFtype type_:FileContent: type: object properties: fContent: type: string description: >- Content of file, Base64-encoded. Ignored if furl is specified. Max upload size is 30 MB. filename: type: string description: The name of the attached file. ftype: $ref: '#/components/schemas/type_:FileContentFtype' description: The MIME type of the file (if content is provided) furl: type: string description: Optional URL provided to show or download the file remotely description: Contains details about a file. Max upload size is 30 MB. title: FileContent type_:Attachments: type: array items: $ref: '#/components/schemas/type_:FileContent' description: >- Array of `fileContent` objects with attached documents. Max upload size is 30 MB. title: Attachments type_:Email: type: string format: email description: Email address. title: Email type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_chargeBacks:AddResponseResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseText: $ref: '#/components/schemas/type_:ResponseText' responseData: type: integer description: >- If `isSuccess` = true, this contains the chargeback identifier. If `isSuccess` = false, this contains the reason for the error. required: - responseText title: AddResponseResponse type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript General success response example for chargebacks. import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.chargeBacks.addResponse(1000000, { idempotencyKey: "6B29FC40-CA47-1067-B31D-00DD010662DA", }); } main(); ``` ```python General success response example for chargebacks. from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.charge_backs.add_response( id=1000000, idempotency_key="6B29FC40-CA47-1067-B31D-00DD010662DA", ) ``` ```csharp General success response example for chargebacks. using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.ChargeBacks.AddResponseAsync( 1000000L, new ResponseChargeBack { IdempotencyKey = "6B29FC40-CA47-1067-B31D-00DD010662DA" } ); } } ``` ```go General success response example for chargebacks. package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/ChargeBacks/response/1000000" payload := strings.NewReader("{}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("idempotencyKey", "6B29FC40-CA47-1067-B31D-00DD010662DA") req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby General success response example for chargebacks. require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/ChargeBacks/response/1000000") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["idempotencyKey"] = '6B29FC40-CA47-1067-B31D-00DD010662DA' request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{}" response = http.request(request) puts response.read_body ``` ```java General success response example for chargebacks. import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/ChargeBacks/response/1000000") .header("idempotencyKey", "6B29FC40-CA47-1067-B31D-00DD010662DA") .header("requestToken", "") .header("Content-Type", "application/json") .body("{}") .asString(); ``` ```php General success response example for chargebacks. request('POST', 'https://api-sandbox.payabli.com/api/ChargeBacks/response/1000000', [ 'body' => '{}', 'headers' => [ 'Content-Type' => 'application/json', 'idempotencyKey' => '6B29FC40-CA47-1067-B31D-00DD010662DA', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift General success response example for chargebacks. import Foundation let headers = [ "idempotencyKey": "6B29FC40-CA47-1067-B31D-00DD010662DA", "requestToken": "", "Content-Type": "application/json" ] let parameters = [] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/ChargeBacks/response/1000000")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Get dispute attachment GET https://api-sandbox.payabli.com/api/ChargeBacks/getChargebackAttachments/{Id}/{fileName} Retrieves a chargeback attachment file by its file name. Reference: https://docs.payabli.com/developers/api-reference/chargebacks/get-attachments-from-chargeback ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /ChargeBacks/getChargebackAttachments/{Id}/{fileName}: get: operationId: get-chargeback-attachment summary: Get ChargeBack attachment by fileName description: Retrieves a chargeback attachment file by its file name. tags: - subpackage_chargeBacks parameters: - name: Id in: path description: The ID of chargeback or return record. required: true schema: type: integer format: int64 - name: fileName in: path description: The chargeback attachment's file name. required: true schema: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: OK content: application/json: schema: type: object properties: {} '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.chargeBacks.getChargebackAttachment(1000000, "fileName"); } main(); ``` ```python from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.charge_backs.get_chargeback_attachment( id=1000000, file_name="fileName", ) ``` ```csharp using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.ChargeBacks.GetChargebackAttachmentAsync( 1000000L, "fileName" ); } } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/ChargeBacks/getChargebackAttachments/1000000/fileName" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/ChargeBacks/getChargebackAttachments/1000000/fileName") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/ChargeBacks/getChargebackAttachments/1000000/fileName") .header("requestToken", "") .asString(); ``` ```php request('GET', 'https://api-sandbox.payabli.com/api/ChargeBacks/getChargebackAttachments/1000000/fileName', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/ChargeBacks/getChargebackAttachments/1000000/fileName")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # List disputes by paypoint GET https://api-sandbox.payabli.com/api/Query/chargebacks/{entry} Retrieves a list of chargebacks and returned transactions for a paypoint. Use filters to limit results. Include the `exportFormat` query parameter to return the results as a file instead of a JSON response. Reference: https://docs.payabli.com/developers/api-reference/chargebacks/get-list-of-chargebacks-and-returned-transactions-for-an-entrypoint ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Query/chargebacks/{entry}: get: operationId: list-chargebacks summary: Get list of chargebacks and returned transactions for a paypoint description: >- Retrieves a list of chargebacks and returned transactions for a paypoint. Use filters to limit results. Include the `exportFormat` query parameter to return the results as a file instead of a JSON response. tags: - subpackage_query parameters: - name: entry in: path required: true schema: $ref: '#/components/schemas/type_:Entry' - name: exportFormat in: query required: false schema: $ref: '#/components/schemas/type_:ExportFormat' - name: fromRecord in: query description: >- The number of records to skip before starting to collect the result set. required: false schema: type: integer default: 0 - name: limitRecord in: query description: >- Max number of records to return for the query. Use `0` or negative value to return all records. required: false schema: type: integer default: 20 - name: parameters in: query description: >- Collection of field names, conditions, and values used to filter the query. **You must remove `parameters=` from the request before you send it, otherwise Payabli will ignore the filters.** Because of a technical limitation, you can't make a request that includes filters from the API console on this page. The response won't be filtered. Instead, copy the request, remove `parameters=` and run the request in a different client. For example: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?parameters=totalAmount(gt)=1000&limitRecord=20 should become: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?totalAmount(gt)=1000&limitRecord=20 See [Filters and Conditions Reference](/developers/developer-guides/pay-ops-reporting-engine-overview#filters-and-conditions-reference) for help. **List of field names accepted:** - `chargebackDate` (gt, ge, lt, le, eq, ne) - `transId` (ne, eq, ct, nct) - `method` (in, nin, eq, ne) - `netAmount` (gt, ge, lt, le, eq, ne) - `reasonCode` (in, nin, eq, ne) - `reason` (ct, nct, eq, ne) - `replyDate` (gt, ge, lt, le, eq, ne) - `caseNumber` (ct, nct, eq, ne) - `status` (in, nin, eq, ne) - `accountType` (in, nin, eq, ne) - `payaccountLastfour` (nct, ct) - `payaccountType` (ne, eq, in, nin) - `customerFirstname` (ct, nct, eq, ne) - `customerLastname` (ct, nct, eq, ne) - `customerName` (ct, nct) - `customerId` (eq, ne) - `customerNumber` (ct, nct, eq, ne) - `customerCompanyname` (ct, nct, eq, ne) - `customerAddress` (ct, nct, eq, ne) - `customerCity` (ct, nct, eq, ne) - `customerZip` (ct, nct, eq, ne) - `customerState` (ct, nct, eq, ne) - `customerCountry` (ct, nct, eq, ne) - `customerPhone` (ct, nct, eq, ne) - `customerEmail` (ct, nct, eq, ne) - `customerShippingAddress` (ct, nct, eq, ne) - `customerShippingCity` (ct, nct, eq, ne) - `customerShippingZip` (ct, nct, eq, ne) - `customerShippingState` (ct, nct, eq, ne) - `customerShippingCountry` (ct, nct, eq, ne) - `orgId` (eq) *mandatory when entry=org* - `paypointId` (ne, eq) - `paypointLegal` (ne, eq, ct, nct) - `paypointDba` (ne, eq, ct, nct) - `orgName` (ne, eq, ct, nct) - `additional-xxx` (ne, eq, ct, nct) where xxx is the additional field name **List of comparison accepted - enclosed between parentheses:** - `eq` or empty => equal - `gt` => greater than - `ge` => greater or equal - `lt` => less than - `le` => less or equal - `ne` => not equal - `ct` => contains - `nct` => not contains - `in` => inside array separated by "|" - `nin` => not inside array separated by "|" **List of parameters accepted:** - `limitRecord`: max number of records for query (default="20", "0" or negative value for all) - `fromRecord`: initial record in query Example: `netAmount(gt)=20` returns all records with a `netAmount` greater than 20.00 required: false schema: type: object additionalProperties: type: string - name: sortBy in: query description: >- The field name to use for sorting results. Use `desc(field_name)` to sort descending by `field_name`, and use `asc(field_name)` to sort ascending by `field_name`. required: false schema: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:QueryChargebacksResponse' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:Entry: type: string description: >- The entity's entrypoint identifier. [Learn more](/developers/api-reference/api-overview#entrypoint-vs-entry) title: Entry type_:ExportFormat: type: string enum: - csv - xlsx description: >- Export format for file downloads. When specified, returns data as a file instead of JSON. title: ExportFormat type_:CreatedAt: type: string format: date-time description: Timestamp of when record was created, in UTC. title: CreatedAt type_:BillingZip: type: string description: Billing address ZIP code. title: BillingZip type_:Email: type: string format: email description: Email address. title: Email type_:CustomerNumberNullable: type: string description: >- User-provided unique identifier for the customer. This is typically the customer ID from your own system. title: CustomerNumberNullable type_:Shippingaddress: type: string description: The shipping address. title: Shippingaddress type_:Shippingaddressadditional: type: string description: Additional line for shipping address. title: Shippingaddressadditional type_:Shippingcity: type: string description: Shipping city. title: Shippingcity type_:Shippingstate: type: string description: Shipping state or province. title: Shippingstate type_:Shippingzip: type: string description: >- Shipping ZIP code. For Pay In functions, this field supports 5-digit and 9-digit ZIP codes and alphanumeric Canadian postal codes. For example: "37615-1234" or "37615". title: Shippingzip type_:Shippingcountry: type: string description: Shipping address country. title: Shippingcountry type_:CustomerId: type: integer format: int64 description: The Payabli-generated unique ID for the customer. title: CustomerId type_:CustomerStatus: type: integer description: |- Customer Status. Possible values: - `-99` Deleted - `0` Inactive - `1` Active - `85` Locked (typically due to multiple failed login attempts) title: CustomerStatus type_:AdditionalDataMap: type: object additionalProperties: type: string description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalDataMap type_:QueryTransactionPayorData: type: object properties: Identifiers: type: array items: description: Any type description: Array of field names to be used as identifiers. FirstName: type: string description: Customer/Payor first name. LastName: type: string description: Customer/Payor last name. CompanyName: type: string description: Customer's company name. BillingAddress1: type: string description: Customer's billing address. BillingAddress2: type: string description: Additional line for Customer's billing address. BillingCity: type: string description: Customer's billing city. BillingState: type: string description: >- Customer's billing state. Must be 2-letter state code for address in US. BillingZip: $ref: '#/components/schemas/type_:BillingZip' description: Customer's billing ZIP code. BillingCountry: type: string description: Customer's billing country. BillingPhone: type: string description: Customer's phone number. BillingEmail: $ref: '#/components/schemas/type_:Email' description: Customer's email address. CustomerNumber: $ref: '#/components/schemas/type_:CustomerNumberNullable' ShippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' ShippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' ShippingCity: $ref: '#/components/schemas/type_:Shippingcity' ShippingState: $ref: '#/components/schemas/type_:Shippingstate' ShippingZip: $ref: '#/components/schemas/type_:Shippingzip' ShippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' customerId: $ref: '#/components/schemas/type_:CustomerId' customerStatus: $ref: '#/components/schemas/type_:CustomerStatus' AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' title: QueryTransactionPayorData type_:ExternalPaypointId: type: string description: >- A custom identifier for the paypoint, if applicable. Like `entrypoint` is the Payabli identifier for the merchant, `externalPaypointId` is a custom field you can use to include the merchant's ID from your own systems. title: ExternalPaypointId type_:OrderId: type: string description: Custom identifier for the transaction. title: OrderId type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:OrgParentName: type: string description: The name of the parent organization. title: OrgParentName type_:Accountexp: type: string description: Expiration date of card used in transaction. title: Accountexp type_:Accountid: type: string description: Custom identifier for payment connector. title: Accountid type_:Accounttype: type: string description: Bank account type or card brand. title: Accounttype type_:Accountzip: type: string description: ZIP code for card used in transaction. title: Accountzip type_:BinData: type: object properties: binMatchedLength: type: string description: |- The number of characters from the beginning of the card number that were matched against a Bank Identification Number (BIN) or the Card Range table. binCardBrand: type: string description: |- The card brand. For example, Visa, Mastercard, American Express, Discover. binCardType: type: string description: 'The type of card: Credit or Debit.' binCardCategory: type: string description: >- The category of the card, which indicates the card product. For example: Standard, Gold, Platinum, etc. The binCardCategory for prepaid cards is marked `PREPAID`. binCardIssuer: type: string description: The name of the financial institution that issued the card. binCardIssuerCountry: type: string description: The issuing financial institution's country name. binCardIssuerCountryCodeA2: type: string description: >- The issuing financial institution's two-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIssuerCountryNumber: type: string description: >- The issuing financial institution's ISO standard numeric country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. binCardIsRegulated: type: string description: Indicates whether the card is regulated. binCardUseCategory: type: string description: The use category classification for the card. binCardIssuerCountryCodeA3: type: string description: >- The issuing financial institution's three-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes. description: >- Object containing information related to the card. This object is `null` unless the payment method is card. If the payment method is Apple Pay, the binData will be related to the DPAN (device primary account number), not the card connected to Apple Pay. title: BinData type_:Holdername: type: string description: Account holder name for the method. title: Holdername type_:Initiator: type: string description: >- **Strongly recommended** The cardholder-initiated transaction (CIT) or merchant-initiated transaction (MIT) indicator for the transaction. If you don't specify a value, Payabli defaults to `merchant`. Available values: - `payor`: For cardholder-initiated transactions - `merchant`: For merchant-initiated transactions See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Initiator type_:Maskedaccount: type: string description: >- Masked card or bank account used in transaction. In the case of Apple Pay, this is a masked DPAN (device primary account number). title: Maskedaccount type_:Orderdescription: type: string description: Text description of the transaction. title: Orderdescription type_:PaymentCategories: type: object properties: amount: type: number format: double description: Price/cost per unit of item or category. description: type: string description: Description of item or category label: type: string description: Name of item or category. qty: type: integer default: 1 description: Quantity of item or category required: - amount - label title: PaymentCategories type_:SplitFundingContent: type: object properties: accountId: type: string description: The accountId for the account the split should be sent to. amount: type: number format: double description: Amount from the transaction to sent to this recipient. description: type: string description: A description for the split. recipientEntryPoint: type: string description: The entrypoint the split should be sent to. title: SplitFundingContent type_:SplitFunding: type: array items: $ref: '#/components/schemas/type_:SplitFundingContent' description: >- Split funding instructions for the transaction. The total amount of the splits must match the total amount of the transaction. title: SplitFunding type_:PaymentDetail: type: object properties: categories: type: array items: $ref: '#/components/schemas/type_:PaymentCategories' description: >- Array of payment categories/line items describing the amount to be paid. **Note**: These categories are for information only and aren't validated against the total amount provided. checkImage: type: object additionalProperties: description: Any type description: Object containing image of paper check. checkNumber: type: string description: >- A check number to be used in the ach transaction. **Required** for payment method = 'check'. currency: type: string description: >- The currency for the transaction, `USD` or `CAD`. If your paypoint is configured for CAD, you must send the `CAD` value in this field, otherwise it defaults to USD, which will cause the transaction to fail. serviceFee: type: number format: double description: >- Service fee to be deducted from the total amount. This amount must be a number, percentages aren't accepted. If you are using a percentage-based fee schedule, you must calculate the value manually. splitFunding: $ref: '#/components/schemas/type_:SplitFunding' description: >- Split funding instructions for the transaction. See [Split a Transaction](/developers/developer-guides/money-in-split-funding) for more. checkUniqueId: type: string description: >- Unique identifier for a processed check image. Required for RDC (Remote Deposit Capture) transactions where `achCode` is `BOC`. Use the `id` value from the [check processing](/developers/api-reference/moneyin/check-capture) response. totalAmount: type: number format: double description: >- Total amount to be charged. If a service fee is sent, then this amount should include the service fee." required: - totalAmount description: Details about the payment. title: PaymentDetail type_:Sequence: type: string description: >- The order of the transaction for cardholder-initiated transaction (CIT) and merchant-initiated transaction (MIT) purposes. This field is automatically detected and populated by Payabli. Available values: - `first`: The first use of the payment method. This is almost always a cardholder-initiated transaction. - `subsequent`: For merchant-initiated transactions after the first use of the payment method. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Sequence type_:Signaturedata: type: string title: Signaturedata type_:Storedmethodid: type: string description: >- Payabli identifier of a tokenized payment method. If this field is used in a request, the `method` field is overridden and the payment is made using the payment token. title: Storedmethodid type_:StoredMethodUsageType: type: string description: >- **Strongly recommended** The usage type for the stored method, used for merchant-initiated transactions (MIT). If you don't specify a value, Payabli defaults to `unscheduled`. Available values: - `unscheduled`: This type is used for transactions that are one-time or otherwise not pre-scheduled. - `subscription`: This type is used for subscription payments. For example, monthly rental fees or ongoing service subscriptions. - `recurring`: This type is used for recurring payments that occur per a set plan. For example, splitting an HOA special assessment over 6 monthly payments. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: StoredMethodUsageType type_:QueryPaymentData: type: object properties: AccountExp: $ref: '#/components/schemas/type_:Accountexp' accountId: $ref: '#/components/schemas/type_:Accountid' AccountType: $ref: '#/components/schemas/type_:Accounttype' AccountZip: $ref: '#/components/schemas/type_:Accountzip' binData: $ref: '#/components/schemas/type_:BinData' HolderName: $ref: '#/components/schemas/type_:Holdername' Initiator: $ref: '#/components/schemas/type_:Initiator' MaskedAccount: $ref: '#/components/schemas/type_:Maskedaccount' orderDescription: $ref: '#/components/schemas/type_:Orderdescription' paymentDetails: $ref: '#/components/schemas/type_:PaymentDetail' Sequence: $ref: '#/components/schemas/type_:Sequence' SignatureData: $ref: '#/components/schemas/type_:Signaturedata' StoredId: $ref: '#/components/schemas/type_:Storedmethodid' description: Identifier of stored payment method used in transaction. StoredMethodUsageType: $ref: '#/components/schemas/type_:StoredMethodUsageType' title: QueryPaymentData type_:Dbaname: type: string description: >- The alternate or common name that this business is doing business under usually referred to as a DBA name. title: Dbaname type_:Entrypointfield: type: string description: The entrypoint identifier. title: Entrypointfield type_:Legalname: type: string description: Business legal name. title: Legalname type_:Replyby: type: string format: date-time description: Time that a response to a chargeback is due, in UTC. title: Replyby type_:AchHolderType: type: string enum: - personal - business default: personal description: 'The bank''s accountholder type: personal or business.' title: AchHolderType type_:AchSecCode: type: string description: >- Standard Entry Class (SEC) code is a three letter code that describes how an ACH payment was authorized. Supported values are: - PPD (Prearranged Payment and Deposit) - Used for credits or debits where an accountholder authorizes a company to initiate either a single or recurring transaction to their personal bank account. Common examples include direct deposit of payroll, mortgage payments, or utility bills. This is the default value for subscription payments. - WEB (Internet-Initiated/Mobile Entry) - Used for debit entries when authorization is obtained from an accountholder via the internet or a wireless network. Common examples are online bill payments, ecommerce purchases, and mobile app payments where the consumer enters their banking information online. - TEL (Telephone-Initiated Entry) - Used for one-time debit entries where authorization is obtained from a consumer via telephone. Common examples are phone-based purchases or bill payments where the consumer provides their banking information over the phone. - CCD (Corporate Credit or Debit) - Used for fund transfers between business accounts. This code is specifically for business-to-business transactions. Common examples include vendor payments and other business-to-business payments. - BOC (Back Office Conversion) - Used to convert paper checks received in-person at a point-of-sale or staffed payment location into electronic ACH debits. Required for Remote Deposit Capture (RDC) transactions. Only supports consumer checks; business, government, and mailed checks aren't eligible. title: AchSecCode type_:BatchNumber: type: string description: >- A unique identifier for the batch. This is generated by Payabli when the batch is created, and follows this format: `paypointId + "_" + serviceName + "_" + batchDate:yyyyMMdd + "_" + Guid.NewGuid()`. Payabli generates the GUID to ensure that the batch number is unique. For example, in this batch number: `123_card_20251008_3f2504e0-4f89-11d3-9a0c-0305e82c3301`, the paypointID is "123", the service is "card", the batch date is "2025-10-08", and the GUID is "3f2504e0-4f89-11d3-9a0c-0305e82c3301". title: BatchNumber type_:TransactionTime: type: string format: date-time description: Timestamp when transaction was submitted, in UTC. title: TransactionTime type_:QueryCFeeTransaction: type: object properties: cFeeTransid: type: string feeAmount: type: number format: double operation: type: string refundId: type: integer format: int64 responseData: type: object additionalProperties: description: Any type settlementStatus: type: integer transactionTime: $ref: '#/components/schemas/type_:TransactionTime' transStatus: type: integer title: QueryCFeeTransaction type_:Device: type: string description: Identifier of registered cloud device used in the transaction. title: Device type_:EntrypageId: type: integer format: int64 description: >- If applicable, the internal reference ID to the payment page capturing the payment. title: EntrypageId type_:ExternalProcessorInformation: type: string description: >- Processor information, used for troubleshooting and reporting. This field contains a value when the API key used to make the request has management permissions. title: ExternalProcessorInformation type_:FeeAmount: type: number format: double description: Service fee or sub-charge applied. title: FeeAmount type_:FileContentFtype: type: string enum: - pdf - doc - docx - jpg - jpeg - png - gif - txt description: The MIME type of the file (if content is provided) title: FileContentFtype type_:FileContent: type: object properties: fContent: type: string description: >- Content of file, Base64-encoded. Ignored if furl is specified. Max upload size is 30 MB. filename: type: string description: The name of the attached file. ftype: $ref: '#/components/schemas/type_:FileContentFtype' description: The MIME type of the file (if content is provided) furl: type: string description: Optional URL provided to show or download the file remotely description: Contains details about a file. Max upload size is 30 MB. title: FileContent type_:Attachments: type: array items: $ref: '#/components/schemas/type_:FileContent' description: >- Array of `fileContent` objects with attached documents. Max upload size is 30 MB. title: Attachments type_:Discount: type: number format: double description: Discount applied to the invoice. title: Discount type_:DutyAmount: type: number format: double description: Duty amount. title: DutyAmount type_:FreightAmount: type: number format: double description: Freight/shipping amount. title: FreightAmount type_:Frequency: type: string enum: - onetime - weekly - every2weeks - every6months - monthly - every3months - annually description: Frequency for operation. title: Frequency type_:InvoiceAmount: type: number format: double description: Invoice total amount. title: InvoiceAmount type_:InvoiceNumber: type: string description: >- Custom number identifying the bill or invoice. Must be unique in paypoint. title: InvoiceNumber type_:Invoicestatus: type: integer description: |- Status for invoice. The accepted status values are: - 0 draft - 1 active - 2 partially paid - 4 paid/complete - 99 cancelled title: Invoicestatus type_:InvoiceType: type: integer description: Type of invoice. Only `0` for one-time invoices is currently supported. title: InvoiceType type_:ItemCommodityCode: type: string description: Item or product commodity code. Max length of 250 characters. title: ItemCommodityCode type_:ItemDescription: type: string description: Item or product description. Max length of 250 characters. title: ItemDescription type_:ItemProductCode: type: string description: Item or product code. Max length of 250 characters. title: ItemProductCode type_:ItemProductName: type: string description: Item or product name. Max length of 250 characters. title: ItemProductName type_:ItemUnitofMeasure: type: string description: Unit of measurement. Max length of 100 characters. title: ItemUnitofMeasure type_:BillItem: type: object properties: itemCategories: type: array items: type: string description: Array of tags classifying item or product. itemCommodityCode: $ref: '#/components/schemas/type_:ItemCommodityCode' itemCost: type: number format: double description: Item or product price per unit. itemDescription: $ref: '#/components/schemas/type_:ItemDescription' itemMode: type: integer description: >- Internal class of item or product: value '0' is only for invoices , '1' for bills and, '2' common for both. itemProductCode: $ref: '#/components/schemas/type_:ItemProductCode' itemProductName: $ref: '#/components/schemas/type_:ItemProductName' itemQty: type: integer description: Quantity of item or product. itemTaxAmount: type: number format: double description: Tax amount applied to item or product. itemTaxRate: type: number format: double description: Tax rate applied to item or product. itemTotalAmount: type: number format: double description: Total amount in item or product. itemUnitOfMeasure: $ref: '#/components/schemas/type_:ItemUnitofMeasure' required: - itemCost title: BillItem type_:BillDataPaymentTerms: type: string enum: - PIA - CIA - UR - NET10 - NET20 - NET30 - NET45 - NET60 - NET90 - EOM - MFI - 5MFI - 10MFI - 15MFI - 20MFI - 2/10NET30 - UF - 10UF - 20UF - 25UF - 50UF description: >- Payment terms for invoice. If no terms are defined, then response data for this field defaults to `NET30`. **Available Values:** - `PIA`: Payment in advance - `CIA`: Cash in advance - `UR`: Upon receipt - `NET10`: 10 days after invoice date - `NET20`: 20 days after invoice date - `NET30`: 30 days after invoice date - `NET45`: 45 days after invoice date - `NET60`: 60 days after invoice date - `NET90`: 90 days after invoice date - `EOM`: Due end of this month - `MFI`: 1st of the month following the invoice date - `5MFI`: 5th of the month following the invoice date - `10MFI`: 10th of the month following the invoice date - `15MFI`: 15th of the month following the invoice date - `20MFI`: 20th of the month following the invoice date - `2/10NET30`: 2% discount if paid within 10 days, otherwise net 30 days - `UF`: Until further notice - `10UF`: 10 days until further notice - `20UF`: 20 days until further notice - `25UF`: 25 days until further notice - `50UF`: 50 days until further notice title: BillDataPaymentTerms type_:PurchaseOrder: type: string description: Purchase order number. title: PurchaseOrder type_:ShippingFromZip: type: string description: Sender shipping ZIP code. title: ShippingFromZip type_:SummaryCommodityCode: type: string description: Commodity code. title: SummaryCommodityCode type_:Tax: type: number format: double description: Tax rate in percent applied to the invoice. title: Tax type_:TermsConditions: type: string description: Custom terms and conditions included in the invoice. title: TermsConditions type_:BillData: type: object properties: AdditionalData: $ref: '#/components/schemas/type_:AdditionalDataMap' attachments: $ref: '#/components/schemas/type_:Attachments' company: type: string description: Company name of the recipient of the invoice. discount: $ref: '#/components/schemas/type_:Discount' dutyAmount: $ref: '#/components/schemas/type_:DutyAmount' firstName: type: string description: First name of the recipient of the invoice. freightAmount: $ref: '#/components/schemas/type_:FreightAmount' frequency: $ref: '#/components/schemas/type_:Frequency' description: Frequency of scheduled invoice. invoiceAmount: $ref: '#/components/schemas/type_:InvoiceAmount' invoiceDate: type: string format: date description: 'Invoice date in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY.' invoiceDueDate: type: string format: date description: >- Invoice due date in one of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceEndDate: type: string format: date description: >- Indicate the date to finish a scheduled invoice cycle (`invoiceType`` = 1) in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. invoiceNumber: $ref: '#/components/schemas/type_:InvoiceNumber' description: Invoice number. Identifies the invoice under a paypoint. invoiceStatus: $ref: '#/components/schemas/type_:Invoicestatus' invoiceType: $ref: '#/components/schemas/type_:InvoiceType' items: type: array items: $ref: '#/components/schemas/type_:BillItem' description: Array of line items included in the invoice. lastName: type: string description: Last name of the recipient of the invoice. notes: type: string description: Notes included in the invoice. paymentTerms: $ref: '#/components/schemas/type_:BillDataPaymentTerms' purchaseOrder: $ref: '#/components/schemas/type_:PurchaseOrder' shippingAddress1: $ref: '#/components/schemas/type_:Shippingaddress' shippingAddress2: $ref: '#/components/schemas/type_:Shippingaddressadditional' shippingCity: $ref: '#/components/schemas/type_:Shippingcity' shippingCountry: $ref: '#/components/schemas/type_:Shippingcountry' shippingEmail: $ref: '#/components/schemas/type_:Email' description: Shipping recipient's contact email address. shippingFromZip: $ref: '#/components/schemas/type_:ShippingFromZip' shippingPhone: type: string description: Recipient phone number. shippingState: $ref: '#/components/schemas/type_:Shippingstate' shippingZip: $ref: '#/components/schemas/type_:Shippingzip' summaryCommodityCode: $ref: '#/components/schemas/type_:SummaryCommodityCode' tax: $ref: '#/components/schemas/type_:Tax' termsConditions: $ref: '#/components/schemas/type_:TermsConditions' title: BillData type_:Netamountnullable: type: number format: double description: Net amount. title: Netamountnullable type_:Operation: type: string description: The transaction's operation. title: Operation type_:Orgid: type: integer format: int64 description: Organization ID. Unique identifier assigned to an org by Payabli. title: Orgid type_:PayorId: type: integer format: int64 description: >- Unique ID for the customer linked to the transaction. This is the same value as the `customerId` used when creating or referencing a customer. title: PayorId type_:PendingFeeAmount: type: number format: double description: >- The difference between the configured pass-through fee and the fee amount sent in the request. When transferring funds, Payabli uses this field to deduct the fee difference and transfer the correct amount to the merchant. When a paypoint is set up to absorb fees, and the pass-through fee sent with the request is less than the configured amount, the difference must be covered by the merchant. See [Fee Configuration](/guides/pay-in-fees-passthrough-overview#fee-configuration) to learn more about pass-through fee settings. title: PendingFeeAmount type_:RefundId: type: integer format: int64 description: Identifier of refund transaction linked to this payment. title: RefundId type_:Authcode: type: string description: Authorization code for the transaction. title: Authcode type_:AvsResponse: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponse type_:AvsResponseText: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponseText type_:CvvResponse: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponse type_:CvvResponseText: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponseText type_:EmvAuthResponseData: type: string description: EMV authorization response data, applicable for card transactions. title: EmvAuthResponseData type_:ResultCodev2: type: string description: >- Unified result code for the transaction. See [Pay In unified response codes](/developers/references/pay-in-unified-response-codes-reference) for more information. title: ResultCodev2 type_:ResultCodeText: type: string description: >- Description of the result code. See [Pay In unified response codes](/developers/references/pay-in-unified-response-codes-reference) for more information. title: ResultCodeText type_:QueryResponseData: type: object properties: authcode: $ref: '#/components/schemas/type_:Authcode' avsresponse: $ref: '#/components/schemas/type_:AvsResponse' avsresponse_text: $ref: '#/components/schemas/type_:AvsResponseText' cvvresponse: $ref: '#/components/schemas/type_:CvvResponse' cvvresponse_text: $ref: '#/components/schemas/type_:CvvResponseText' emv_auth_response_data: $ref: '#/components/schemas/type_:EmvAuthResponseData' orderid: $ref: '#/components/schemas/type_:OrderId' response: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' response_code: type: string description: >- Internal result code processing the transaction. Value 1 indicates successful operation, values 2 and 3 indicate errors. response_code_text: type: string description: >- Text describing the result. If resultCode = 1, will return 'Approved' or a general success message. If resultCode = 2 or 3, will contain the cause of the decline. responsetext: type: string description: >- Text describing the result. If resultCode = 1, will return 'Approved' or a general success message. If resultCode = 2 or 3, will contain the cause of the decline. resultCode: $ref: '#/components/schemas/type_:ResultCodev2' resultCodeText: $ref: '#/components/schemas/type_:ResultCodeText' transactionid: type: string description: The transaction identifier in Payabli. type: type: string description: Type of transaction or operation. description: The transaction's response data. title: QueryResponseData type_:ReturnedId: type: integer format: int64 description: Identifier of return/chargeback transaction linked to this payment. title: ReturnedId type_:Source: type: string description: Custom identifier to indicate the transaction or request source. title: Source type_:QueryTransactionEventsEventData: oneOf: - type: object additionalProperties: description: Any type - type: string description: >- Any data associated to the event received from processor. Contents vary by event type. title: QueryTransactionEventsEventData type_:QueryTransactionEvents: type: object properties: EventData: $ref: '#/components/schemas/type_:QueryTransactionEventsEventData' description: >- Any data associated to the event received from processor. Contents vary by event type. EventTime: type: string format: date-time description: Date and time of event. TransEvent: type: string description: >- Event descriptor. See [TransEvent Reference](/guides/pay-in-transevents-reference) for more details. title: QueryTransactionEvents type_:TransactionQueryRecords: type: object properties: AchHolderType: $ref: '#/components/schemas/type_:AchHolderType' AchSecCode: $ref: '#/components/schemas/type_:AchSecCode' BatchAmount: type: number format: double description: Batch amount. BatchNumber: $ref: '#/components/schemas/type_:BatchNumber' CfeeTransactions: type: array items: $ref: '#/components/schemas/type_:QueryCFeeTransaction' description: >- Service Fee or sub-charge transaction associated to the main transaction. ConnectorName: type: string description: Connector used for transaction. Customer: $ref: '#/components/schemas/type_:QueryTransactionPayorData' DeviceId: $ref: '#/components/schemas/type_:Device' EntrypageId: $ref: '#/components/schemas/type_:EntrypageId' ExternalProcessorInformation: $ref: '#/components/schemas/type_:ExternalProcessorInformation' FeeAmount: $ref: '#/components/schemas/type_:FeeAmount' GatewayTransId: type: string description: Internal identifier used for processing. InvoiceData: $ref: '#/components/schemas/type_:BillData' Method: type: string description: 'Payment method used: card, ach, or wallet.' NetAmount: $ref: '#/components/schemas/type_:Netamountnullable' description: Net amount paid. Operation: $ref: '#/components/schemas/type_:Operation' OrderId: $ref: '#/components/schemas/type_:OrderId' OrgId: $ref: '#/components/schemas/type_:Orgid' description: ID of immediate parent organization. ParentOrgName: $ref: '#/components/schemas/type_:OrgParentName' PaymentData: $ref: '#/components/schemas/type_:QueryPaymentData' PaymentTransId: type: string description: Unique Transaction ID. PayorId: $ref: '#/components/schemas/type_:PayorId' PaypointDbaname: $ref: '#/components/schemas/type_:Dbaname' description: Paypoint's DBA name. PaypointEntryname: $ref: '#/components/schemas/type_:Entrypointfield' description: Paypoint's entryname. PaypointId: type: integer format: int64 description: InternalId for paypoint. PaypointLegalname: $ref: '#/components/schemas/type_:Legalname' description: Paypoint's legal name. PendingFeeAmount: $ref: '#/components/schemas/type_:PendingFeeAmount' RefundId: $ref: '#/components/schemas/type_:RefundId' ResponseData: $ref: '#/components/schemas/type_:QueryResponseData' ReturnedId: $ref: '#/components/schemas/type_:ReturnedId' ScheduleReference: type: integer format: int64 description: Reference to the subscription that originated the transaction. SettlementStatus: type: integer description: >- Settlement status for transaction. See [the docs](/developers/references/money-in-statuses#payment-funding-status) for a full reference. Source: $ref: '#/components/schemas/type_:Source' splitFundingInstructions: $ref: '#/components/schemas/type_:SplitFunding' TotalAmount: type: number format: double description: Transaction total amount (including service fee or sub-charge) TransactionEvents: type: array items: $ref: '#/components/schemas/type_:QueryTransactionEvents' description: Events associated with this transaction. TransactionTime: type: - string - 'null' format: date-time description: Transaction date and time, in UTC. TransAdditionalData: description: Any type TransStatus: type: integer description: >- Status of transaction. See [the docs](/developers/references/money-in-statuses#money-in-transaction-status) for a full reference. required: - TransactionTime title: TransactionQueryRecords type_:QueryChargebacksResponseRecordsItem: type: object properties: AccountType: type: string description: Type of account. CaseNumber: type: string description: Case number of the chargeback. ChargebackDate: type: string format: date-time description: Date of the chargeback. CreatedAt: $ref: '#/components/schemas/type_:CreatedAt' Customer: $ref: '#/components/schemas/type_:QueryTransactionPayorData' externalPaypointID: $ref: '#/components/schemas/type_:ExternalPaypointId' Id: type: integer description: Unique identifier of the record. LastFour: type: string description: Last four digits of the account number. Method: type: string description: Method of payment. NetAmount: type: number format: double description: Net amount after deductions. OrderId: $ref: '#/components/schemas/type_:OrderId' pageidentifier: $ref: '#/components/schemas/type_:PageIdentifier' ParentOrgName: $ref: '#/components/schemas/type_:OrgParentName' PaymentData: $ref: '#/components/schemas/type_:QueryPaymentData' description: Payment data associated with the transaction. PaymentTransId: type: string description: Transaction ID for the payment. PaypointDbaname: $ref: '#/components/schemas/type_:Dbaname' description: The 'Doing Business As' (DBA) name of the paypoint. PaypointEntryname: $ref: '#/components/schemas/type_:Entrypointfield' description: Entryname for the paypoint. PaypointLegalname: $ref: '#/components/schemas/type_:Legalname' description: Legal name of the paypoint. Reason: type: string description: Description of the reason for chargeback. ReasonCode: type: string description: Code representing the reason for chargeback. ReferenceNumber: type: string description: Reference number for the transaction. ReplyBy: $ref: '#/components/schemas/type_:Replyby' Responses: type: string description: Responses related to the transaction. ScheduleReference: type: integer description: Reference for any scheduled transactions. Status: type: integer description: Status of the transaction. Transaction: $ref: '#/components/schemas/type_:TransactionQueryRecords' TransactionTime: $ref: '#/components/schemas/type_:TransactionTime' title: QueryChargebacksResponseRecordsItem type_:Pagesize: type: integer description: Number of records on each response page. title: Pagesize type_:Totalrecords: type: integer description: Total number of records in response. title: Totalrecords type_:QuerySummary: type: object properties: pageIdentifier: $ref: '#/components/schemas/type_:PageIdentifier' pageSize: $ref: '#/components/schemas/type_:Pagesize' totalAmount: type: number format: double description: Total amount for the records. totalNetAmount: type: number format: double description: Total net amount for the records. totalPages: $ref: '#/components/schemas/type_:Totalrecords' totalRecords: $ref: '#/components/schemas/type_:Totalrecords' title: QuerySummary type_:QueryChargebacksResponse: type: object properties: Records: type: array items: $ref: '#/components/schemas/type_:QueryChargebacksResponseRecordsItem' Summary: $ref: '#/components/schemas/type_:QuerySummary' description: Response body for queries about chargebacks. title: QueryChargebacksResponse type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript Example1 import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.query.listChargebacks("8cfec329267", { fromRecord: 251, limitRecord: 0, sortBy: "desc(field_name)", }); } main(); ``` ```python Example1 from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.query.list_chargebacks( entry="8cfec329267", from_record=251, limit_record=0, sort_by="desc(field_name)", ) ``` ```csharp Example1 using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Query.ListChargebacksAsync( "8cfec329267", new ListChargebacksRequest { FromRecord = 251, LimitRecord = 0, SortBy = "desc(field_name)" } ); } } ``` ```go Example1 package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Query/chargebacks/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Example1 require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Query/chargebacks/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java Example1 import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Query/chargebacks/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29") .header("requestToken", "") .asString(); ``` ```php Example1 request('GET', 'https://api-sandbox.payabli.com/api/Query/chargebacks/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift Example1 import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Query/chargebacks/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Export disputes by paypoint GET https://api-sandbox.payabli.com/api/Export/chargebacks/{format}/{entry} Export a list of chargebacks and ACH returns for an entrypoint. Use filters to limit results. Reference: https://docs.payabli.com/developers/api-reference/chargebacks/export-list-of-chargebacks-and-returned-transactions-for-an-entrypoint ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Export/chargebacks/{format}/{entry}: get: operationId: export-chargebacks summary: Export list of chargebacks and returned transactions for entrypoint description: >- Export a list of chargebacks and ACH returns for an entrypoint. Use filters to limit results. tags: - subpackage_export parameters: - name: format in: path description: 'Format for the export, either XLSX or CSV. ' required: true schema: $ref: '#/components/schemas/type_export:ExportFormat1' - name: entry in: path description: >- The paypoint's entrypoint identifier. [Learn more](/developers/api-reference/api-overview#entrypoint-vs-entry) required: true schema: type: string - name: columnsExport in: query required: false schema: type: string - name: fromRecord in: query description: >- The number of records to skip before starting to collect the result set. required: false schema: type: integer default: 0 - name: limitRecord in: query description: >- The number of records to return for the query. The maximum is 30,000 records. When this parameter isn't sent, the API returns up to 25,000 records. required: false schema: type: integer default: 25000 - name: parameters in: query description: >- Collection of field names, conditions, and values used to filter the query **You must remove `parameters=` from the request before you send it, otherwise Payabli will ignore the filters.** Because of a technical limitation, you can't make a request that includes filters from the API console on this page. The response won't be filtered. Instead, copy the request, remove `parameters=` and run the request in a different client. For example: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?parameters=totalAmount(gt)=1000&limitRecord=20 should become: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?totalAmount(gt)=1000&limitRecord=20 See [Filters and Conditions Reference](/developers/developer-guides/pay-ops-reporting-engine-overview#filters-and-conditions-reference) for help. List of field names accepted: - `chargebackDate` (gt, ge, lt, le, eq, ne) - `transId` (ne, eq, ct, nct) - `method` (in, nin, eq, ne) - `netAmount` (gt, ge, lt, le, eq, ne) - `reasonCode` (in, nin, eq, ne) - `reason` (ct, nct, eq, ne) - `caseNumber` (ct, nct, eq, ne) - `status` (in, nin, eq, ne) - `accountType` (in, nin, eq, ne) - `payaccountLastfour` (nct, ct) - `payaccountType` (ne, eq, in, nin) - `customerFirstname` (ct, nct, eq, ne) - `customerLastname` (ct, nct, eq, ne) - `customerName` (ct, nct) - `customerId` (eq, ne) - `customerNumber` (ct, nct, eq, ne) - `customerCompanyname` (ct, nct, eq, ne) - `customerAddress` (ct, nct, eq, ne) - `customerCity` (ct, nct, eq, ne) - `customerZip` (ct, nct, eq, ne) - `customerState` (ct, nct, eq, ne) - `customerCountry` (ct, nct, eq, ne) - `customerPhone` (ct, nct, eq, ne) - `customerEmail` (ct, nct, eq, ne) - `customerShippingAddress` (ct, nct, eq, ne) - `customerShippingCity` (ct, nct, eq, ne) - `customerShippingZip` (ct, nct, eq, ne) - `customerShippingState` (ct, nct, eq, ne) - `customerShippingCountry` (ct, nct, eq, ne) - `orgId` (eq) *mandatory when entry=org* - `paypointId` (ne, eq) - `paypointLegal` (ne, eq, ct, nct) - `paypointDba` (ne, eq, ct, nct) - `orgName` (ne, eq, ct, nct) - `additional-xxx` (ne, eq, ct, nct) where xxx is the additional field name List of comparison accepted - enclosed between parentheses: - eq or empty => equal - gt => greater than - ge => greater or equal - lt => less than - le => less or equal - ne => not equal - ct => contains - nct => not contains - in => inside array separated by "|" - nin => not inside array separated by "|" List of parameters accepted: - limitRecord : max number of records for query (default="20", "0" or negative value for all) - fromRecord : initial record in query Example: `netAmount(gt)=20` returns all records with a `netAmount` greater than 20.00 required: false schema: type: object additionalProperties: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:File' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_export:ExportFormat1: type: string enum: - csv - xlsx title: ExportFormat1 type_:File: type: object additionalProperties: description: Any type description: >- A file containing the response data, in the format specified in the request. title: File type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.export.exportChargebacks("8cfec329267", "csv", { columnsExport: "BatchDate:Batch_Date,PaypointName:Legal_name", fromRecord: 251, limitRecord: 1000, }); } main(); ``` ```python from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.export.export_chargebacks( entry="8cfec329267", format="csv", columns_export="BatchDate:Batch_Date,PaypointName:Legal_name", from_record=251, limit_record=1000, ) ``` ```csharp using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Export.ExportChargebacksAsync( ExportFormat1.Csv, "8cfec329267", new ExportChargebacksRequest { ColumnsExport = "BatchDate:Batch_Date,PaypointName:Legal_name", FromRecord = 251, LimitRecord = 1000 } ); } } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Export/chargebacks/csv/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Export/chargebacks/csv/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Export/chargebacks/csv/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000") .header("requestToken", "") .asString(); ``` ```php request('GET', 'https://api-sandbox.payabli.com/api/Export/chargebacks/csv/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Export/chargebacks/csv/8cfec329267?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Export disputes by org GET https://api-sandbox.payabli.com/api/Export/chargebacks/{format}/org/{orgId} Export a list of chargebacks and ACH returns for an organization. Use filters to limit results. Reference: https://docs.payabli.com/developers/api-reference/chargebacks/export-list-of-chargebacks-and-returned-transactions-for-organization ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Export/chargebacks/{format}/org/{orgId}: get: operationId: export-chargebacks-org summary: Export list of chargebacks and returned transactions for an organization description: >- Export a list of chargebacks and ACH returns for an organization. Use filters to limit results. tags: - subpackage_export parameters: - name: format in: path description: 'Format for the export, either XLSX or CSV. ' required: true schema: $ref: '#/components/schemas/type_export:ExportFormat1' - name: orgId in: path description: The numeric identifier for organization, assigned by Payabli. required: true schema: type: integer - name: columnsExport in: query required: false schema: type: string - name: fromRecord in: query description: >- The number of records to skip before starting to collect the result set. required: false schema: type: integer default: 0 - name: limitRecord in: query description: >- The number of records to return for the query. The maximum is 30,000 records. When this parameter isn't sent, the API returns up to 25,000 records. required: false schema: type: integer default: 25000 - name: parameters in: query description: >- Collection of field names, conditions, and values used to filter the query **You must remove `parameters=` from the request before you send it, otherwise Payabli will ignore the filters.** Because of a technical limitation, you can't make a request that includes filters from the API console on this page. The response won't be filtered. Instead, copy the request, remove `parameters=` and run the request in a different client. For example: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?parameters=totalAmount(gt)=1000&limitRecord=20 should become: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?totalAmount(gt)=1000&limitRecord=20 See [Filters and Conditions Reference](/developers/developer-guides/pay-ops-reporting-engine-overview#filters-and-conditions-reference) for help. List of field names accepted: - `chargebackDate` (gt, ge, lt, le, eq, ne) - `transId` (ne, eq, ct, nct) - `method` (in, nin, eq, ne) - `netAmount` (gt, ge, lt, le, eq, ne) - `reasonCode` (in, nin, eq, ne) - `reason` (ct, nct, eq, ne) - `caseNumber` (ct, nct, eq, ne) - `status` (in, nin, eq, ne) - `accountType` (in, nin, eq, ne) - `payaccountLastfour` (nct, ct) - `payaccountType` (ne, eq, in, nin) - `customerFirstname` (ct, nct, eq, ne) - `customerLastname` (ct, nct, eq, ne) - `customerName` (ct, nct) - `customerId` (eq, ne) - `customerNumber` (ct, nct, eq, ne) - `customerCompanyname` (ct, nct, eq, ne) - `customerAddress` (ct, nct, eq, ne) - `customerCity` (ct, nct, eq, ne) - `customerZip` (ct, nct, eq, ne) - `customerState` (ct, nct, eq, ne) - `customerCountry` (ct, nct, eq, ne) - `customerPhone` (ct, nct, eq, ne) - `customerEmail` (ct, nct, eq, ne) - `customerShippingAddress` (ct, nct, eq, ne) - `customerShippingCity` (ct, nct, eq, ne) - `customerShippingZip` (ct, nct, eq, ne) - `customerShippingState` (ct, nct, eq, ne) - `customerShippingCountry` (ct, nct, eq, ne) - `orgId` (eq) *mandatory when entry=org* - `paypointId` (ne, eq) - `paypointLegal` (ne, eq, ct, nct) - `paypointDba` (ne, eq, ct, nct) - `orgName` (ne, eq, ct, nct) - `additional-xxx` (ne, eq, ct, nct) where xxx is the additional field name List of comparison accepted - enclosed between parentheses: - eq or empty => equal - gt => greater than - ge => greater or equal - lt => less than - le => less or equal - ne => not equal - ct => contains - nct => not contains - in => inside array separated by "|" - nin => not inside array separated by "|" List of parameters accepted: - limitRecord : max number of records for query (default="20", "0" or negative value for all) - fromRecord : initial record in query Example: `netAmount(gt)=20` returns all records with a `netAmount` greater than 20.00 required: false schema: type: object additionalProperties: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:File' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_export:ExportFormat1: type: string enum: - csv - xlsx title: ExportFormat1 type_:File: type: object additionalProperties: description: Any type description: >- A file containing the response data, in the format specified in the request. title: File type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.export.exportChargebacksOrg("csv", 123, { columnsExport: "BatchDate:Batch_Date,PaypointName:Legal_name", fromRecord: 251, limitRecord: 1000, }); } main(); ``` ```python from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.export.export_chargebacks_org( format="csv", org_id=123, columns_export="BatchDate:Batch_Date,PaypointName:Legal_name", from_record=251, limit_record=1000, ) ``` ```csharp using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Export.ExportChargebacksOrgAsync( ExportFormat1.Csv, 123, new ExportChargebacksOrgRequest { ColumnsExport = "BatchDate:Batch_Date,PaypointName:Legal_name", FromRecord = 251, LimitRecord = 1000 } ); } } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Export/chargebacks/csv/org/123?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Export/chargebacks/csv/org/123?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Export/chargebacks/csv/org/123?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000") .header("requestToken", "") .asString(); ``` ```php request('GET', 'https://api-sandbox.payabli.com/api/Export/chargebacks/csv/org/123?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Export/chargebacks/csv/org/123?columnsExport=BatchDate%3ABatch_Date%2CPaypointName%3ALegal_name&fromRecord=251&limitRecord=1000")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Configure Apple Pay for org POST https://api-sandbox.payabli.com/api/Wallet/applepay/configure-organization Content-Type: application/json Configure and activate Apple Pay for a Payabli organization Reference: https://docs.payabli.com/developers/api-reference/wallet/applepay/applepay-configure-organization ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Wallet/applepay/configure-organization: post: operationId: configure-apple-pay-organization summary: Configure Apple Pay for an organization description: Configure and activate Apple Pay for a Payabli organization tags: - subpackage_wallet parameters: - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: >- #/components/schemas/type_:ConfigureApplePayOrganizationApiResponse '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' requestBody: content: application/json: schema: type: object properties: cascade: $ref: '#/components/schemas/type_:Cascade' isEnabled: $ref: '#/components/schemas/type_:IsEnabled' orgId: $ref: '#/components/schemas/type_:OrganizationId' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:Cascade: type: boolean description: >- When `true`, the wallet service configuration cascades to all paypoints and suborganizations belonging to the parent entity. title: Cascade type_:IsEnabled: type: boolean description: When `true`, the service is enabled. title: IsEnabled type_:OrganizationId: type: integer format: int64 description: Organization ID for the target organization. title: OrganizationId type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:Responsecode: type: integer description: >- Code for the response. Learn more in [API Response Codes](/developers/api-reference/api-responses). title: Responsecode type_:CreatedAt: type: string format: date-time description: Timestamp of when record was created, in UTC. title: CreatedAt type_:ApplePayId: type: string description: The internal identifier for Apple Pay-related information. title: ApplePayId type_:JobId: type: string description: The cascade process ID. title: JobId type_:JobStatus: type: string description: |- The cascade process status. Available values: - `in_progress` - `completed` - `failed` title: JobStatus type_:ApplePayType: type: string description: The record type. title: ApplePayType type_:LastModified: type: string format: date-time description: Timestamp of when record was last updated, in UTC. title: LastModified type_:WalletCascade: type: boolean description: >- When `true`, the wallet service configuration cascades to all paypoints and suborganizations belonging to the parent entity. title: WalletCascade type_:WalletIsEnabled: type: boolean description: When `true`, wallet service is enabled. title: WalletIsEnabled type_:OrganizationUpdates: type: object properties: cascade: $ref: '#/components/schemas/type_:WalletCascade' isEnabled: $ref: '#/components/schemas/type_:WalletIsEnabled' title: OrganizationUpdates type_:ApplePayOrganizationUpdateData: type: object properties: createdAt: $ref: '#/components/schemas/type_:CreatedAt' id: $ref: '#/components/schemas/type_:ApplePayId' description: Internal ID for the Apple Pay organization update. jobId: $ref: '#/components/schemas/type_:JobId' jobStatus: $ref: '#/components/schemas/type_:JobStatus' organizationId: $ref: '#/components/schemas/type_:OrganizationId' type: $ref: '#/components/schemas/type_:ApplePayType' description: >- The record type, in this context it will always be `ApplePayOrganizationUpdate`. updatedAt: $ref: '#/components/schemas/type_:LastModified' updates: $ref: '#/components/schemas/type_:OrganizationUpdates' title: ApplePayOrganizationUpdateData type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:ConfigureApplePayOrganizationApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' pageIdentifier: $ref: '#/components/schemas/type_:PageIdentifier' responseCode: $ref: '#/components/schemas/type_:Responsecode' responseData: $ref: '#/components/schemas/type_:ApplePayOrganizationUpdateData' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: ConfigureApplePayOrganizationApiResponse type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.wallet.configureApplePayOrganization({ cascade: true, isEnabled: true, orgId: 901, }); } main(); ``` ```python from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.wallet.configure_apple_pay_organization( cascade=True, is_enabled=True, org_id=901, ) ``` ```csharp using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Wallet.ConfigureApplePayOrganizationAsync( new ConfigureOrganizationRequestApplePay { Cascade = true, IsEnabled = true, OrgId = 901L } ); } } ``` ```go package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Wallet/applepay/configure-organization" payload := strings.NewReader("{\n \"cascade\": true,\n \"isEnabled\": true,\n \"orgId\": 901\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Wallet/applepay/configure-organization") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"cascade\": true,\n \"isEnabled\": true,\n \"orgId\": 901\n}" response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/Wallet/applepay/configure-organization") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"cascade\": true,\n \"isEnabled\": true,\n \"orgId\": 901\n}") .asString(); ``` ```php request('POST', 'https://api-sandbox.payabli.com/api/Wallet/applepay/configure-organization', [ 'body' => '{ "cascade": true, "isEnabled": true, "orgId": 901 }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "cascade": true, "isEnabled": true, "orgId": 901 ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Wallet/applepay/configure-organization")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Configure Apple Pay for paypoint POST https://api-sandbox.payabli.com/api/Wallet/applepay/configure-paypoint Content-Type: application/json Configure and activate Apple Pay for a Payabli paypoint Reference: https://docs.payabli.com/developers/api-reference/wallet/applepay/applepay-configure-paypoint ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Wallet/applepay/configure-paypoint: post: operationId: configure-apple-pay-paypoint summary: Configure Apple Pay for a paypoint description: Configure and activate Apple Pay for a Payabli paypoint tags: - subpackage_wallet parameters: - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:ConfigureApplePaypointApiResponse' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' requestBody: content: application/json: schema: type: object properties: entry: $ref: '#/components/schemas/type_:Entry' isEnabled: $ref: '#/components/schemas/type_:IsEnabled' description: When `true`, Apple Pay is enabled. servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:Entry: type: string description: >- The entity's entrypoint identifier. [Learn more](/developers/api-reference/api-overview#entrypoint-vs-entry) title: Entry type_:IsEnabled: type: boolean description: When `true`, the service is enabled. title: IsEnabled type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:Responsecode: type: integer description: >- Code for the response. Learn more in [API Response Codes](/developers/api-reference/api-responses). title: Responsecode type_:DomainName: type: string description: >- The domain. For example: `subdomain.domain.com` or `domain.com`. Must be public. Can't be `localhost`, hidden by a VPN, or protected by a password. title: DomainName type_:PaypointName: type: string description: The paypoint name. title: PaypointName type_:CreatedAt: type: string format: date-time description: Timestamp of when record was created, in UTC. title: CreatedAt type_:LastModified: type: string format: date-time description: Timestamp of when record was last updated, in UTC. title: LastModified type_:ApplePayId: type: string description: The internal identifier for Apple Pay-related information. title: ApplePayId type_:ApplePayType: type: string description: The record type. title: ApplePayType type_:AppleWalletData: type: object properties: entry: $ref: '#/components/schemas/type_:Entry' applePayMerchantId: type: string description: The Apple Pay merchant identifier. domainNames: type: array items: $ref: '#/components/schemas/type_:DomainName' description: A list of domain names that are enabled for this paypoint. paypointName: $ref: '#/components/schemas/type_:PaypointName' paypointUrl: type: string description: The paypoint URL. markedForDeletionAt: type: string format: date-time description: >- The date and time a paypoint's Apple Pay registration was scheduled for deletion. The paypoint will be unregistered from Apple Pay permanently 30 days from this value. createdAt: $ref: '#/components/schemas/type_:CreatedAt' updatedAt: $ref: '#/components/schemas/type_:LastModified' id: $ref: '#/components/schemas/type_:ApplePayId' description: Internal ID for the Apple Pay paypoint registration update. type: $ref: '#/components/schemas/type_:ApplePayType' description: >- The record type, in this context it will always be `ApplePayRegistration`. description: The wallet data. title: AppleWalletData type_:ApplePayPaypointRegistrationData: type: object properties: entry: $ref: '#/components/schemas/type_:Entry' isEnabled: $ref: '#/components/schemas/type_:IsEnabled' walletType: type: string description: The wallet type. In this context it will always be `applePay`. walletData: $ref: '#/components/schemas/type_:AppleWalletData' title: ApplePayPaypointRegistrationData type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:ConfigureApplePaypointApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' pageIdentifier: $ref: '#/components/schemas/type_:PageIdentifier' responseCode: $ref: '#/components/schemas/type_:Responsecode' responseData: $ref: '#/components/schemas/type_:ApplePayPaypointRegistrationData' responseText: $ref: '#/components/schemas/type_:ResponseText' roomId: type: integer format: int64 description: Field not in use on this endpoint required: - responseText title: ConfigureApplePaypointApiResponse type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript Paypoint import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.wallet.configureApplePayPaypoint({ entry: "8cfec329267", isEnabled: true, }); } main(); ``` ```python Paypoint from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.wallet.configure_apple_pay_paypoint( entry="8cfec329267", is_enabled=True, ) ``` ```csharp Paypoint using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Wallet.ConfigureApplePayPaypointAsync( new ConfigurePaypointRequestApplePay { Entry = "8cfec329267", IsEnabled = true } ); } } ``` ```go Paypoint package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Wallet/applepay/configure-paypoint" payload := strings.NewReader("{\n \"entry\": \"8cfec329267\",\n \"isEnabled\": true\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Paypoint require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Wallet/applepay/configure-paypoint") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"entry\": \"8cfec329267\",\n \"isEnabled\": true\n}" response = http.request(request) puts response.read_body ``` ```java Paypoint import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/Wallet/applepay/configure-paypoint") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"entry\": \"8cfec329267\",\n \"isEnabled\": true\n}") .asString(); ``` ```php Paypoint request('POST', 'https://api-sandbox.payabli.com/api/Wallet/applepay/configure-paypoint', [ 'body' => '{ "entry": "8cfec329267", "isEnabled": true }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift Paypoint import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "entry": "8cfec329267", "isEnabled": true ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Wallet/applepay/configure-paypoint")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Configure Google Pay™ for org POST https://api-sandbox.payabli.com/api/Wallet/googlepay/configure-organization Content-Type: application/json Configure and activate Google Pay for a Payabli organization Reference: https://docs.payabli.com/developers/api-reference/wallet/googlepay/googlepay-configure-organization ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Wallet/googlepay/configure-organization: post: operationId: configure-google-pay-organization summary: Configure Google Pay for an organization description: Configure and activate Google Pay for a Payabli organization tags: - subpackage_wallet parameters: - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: >- #/components/schemas/type_:ConfigureApplePayOrganizationApiResponse '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' requestBody: content: application/json: schema: type: object properties: cascade: $ref: '#/components/schemas/type_:Cascade' isEnabled: $ref: '#/components/schemas/type_:IsEnabled' orgId: $ref: '#/components/schemas/type_:OrganizationId' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:Cascade: type: boolean description: >- When `true`, the wallet service configuration cascades to all paypoints and suborganizations belonging to the parent entity. title: Cascade type_:IsEnabled: type: boolean description: When `true`, the service is enabled. title: IsEnabled type_:OrganizationId: type: integer format: int64 description: Organization ID for the target organization. title: OrganizationId type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:Responsecode: type: integer description: >- Code for the response. Learn more in [API Response Codes](/developers/api-reference/api-responses). title: Responsecode type_:CreatedAt: type: string format: date-time description: Timestamp of when record was created, in UTC. title: CreatedAt type_:ApplePayId: type: string description: The internal identifier for Apple Pay-related information. title: ApplePayId type_:JobId: type: string description: The cascade process ID. title: JobId type_:JobStatus: type: string description: |- The cascade process status. Available values: - `in_progress` - `completed` - `failed` title: JobStatus type_:ApplePayType: type: string description: The record type. title: ApplePayType type_:LastModified: type: string format: date-time description: Timestamp of when record was last updated, in UTC. title: LastModified type_:WalletCascade: type: boolean description: >- When `true`, the wallet service configuration cascades to all paypoints and suborganizations belonging to the parent entity. title: WalletCascade type_:WalletIsEnabled: type: boolean description: When `true`, wallet service is enabled. title: WalletIsEnabled type_:OrganizationUpdates: type: object properties: cascade: $ref: '#/components/schemas/type_:WalletCascade' isEnabled: $ref: '#/components/schemas/type_:WalletIsEnabled' title: OrganizationUpdates type_:ApplePayOrganizationUpdateData: type: object properties: createdAt: $ref: '#/components/schemas/type_:CreatedAt' id: $ref: '#/components/schemas/type_:ApplePayId' description: Internal ID for the Apple Pay organization update. jobId: $ref: '#/components/schemas/type_:JobId' jobStatus: $ref: '#/components/schemas/type_:JobStatus' organizationId: $ref: '#/components/schemas/type_:OrganizationId' type: $ref: '#/components/schemas/type_:ApplePayType' description: >- The record type, in this context it will always be `ApplePayOrganizationUpdate`. updatedAt: $ref: '#/components/schemas/type_:LastModified' updates: $ref: '#/components/schemas/type_:OrganizationUpdates' title: ApplePayOrganizationUpdateData type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:ConfigureApplePayOrganizationApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' pageIdentifier: $ref: '#/components/schemas/type_:PageIdentifier' responseCode: $ref: '#/components/schemas/type_:Responsecode' responseData: $ref: '#/components/schemas/type_:ApplePayOrganizationUpdateData' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: ConfigureApplePayOrganizationApiResponse type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript ConfigureOrganization import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.wallet.configureGooglePayOrganization({ cascade: true, isEnabled: true, orgId: 901, }); } main(); ``` ```python ConfigureOrganization from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.wallet.configure_google_pay_organization( cascade=True, is_enabled=True, org_id=901, ) ``` ```csharp ConfigureOrganization using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Wallet.ConfigureGooglePayOrganizationAsync( new ConfigureOrganizationRequestGooglePay { Cascade = true, IsEnabled = true, OrgId = 901L } ); } } ``` ```go ConfigureOrganization package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Wallet/googlepay/configure-organization" payload := strings.NewReader("{\n \"cascade\": true,\n \"isEnabled\": true,\n \"orgId\": 901\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby ConfigureOrganization require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Wallet/googlepay/configure-organization") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"cascade\": true,\n \"isEnabled\": true,\n \"orgId\": 901\n}" response = http.request(request) puts response.read_body ``` ```java ConfigureOrganization import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/Wallet/googlepay/configure-organization") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"cascade\": true,\n \"isEnabled\": true,\n \"orgId\": 901\n}") .asString(); ``` ```php ConfigureOrganization request('POST', 'https://api-sandbox.payabli.com/api/Wallet/googlepay/configure-organization', [ 'body' => '{ "cascade": true, "isEnabled": true, "orgId": 901 }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift ConfigureOrganization import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "cascade": true, "isEnabled": true, "orgId": 901 ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Wallet/googlepay/configure-organization")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Configure Google Pay™ for paypoint POST https://api-sandbox.payabli.com/api/Wallet/googlepay/configure-paypoint Content-Type: application/json Configure and activate Google Pay for a Payabli paypoint Reference: https://docs.payabli.com/developers/api-reference/wallet/googlepay/googlepay-configure-paypoint ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /Wallet/googlepay/configure-paypoint: post: operationId: configure-google-pay-paypoint summary: Configure Google Pay for a paypoint description: Configure and activate Google Pay for a Payabli paypoint tags: - subpackage_wallet parameters: - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:ConfigureGooglePaypointApiResponse' requestBody: content: application/json: schema: type: object properties: entry: $ref: '#/components/schemas/type_:Entry' isEnabled: $ref: '#/components/schemas/type_:IsEnabled' description: When `true`, Google Pay is enabled. servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:Entry: type: string description: >- The entity's entrypoint identifier. [Learn more](/developers/api-reference/api-overview#entrypoint-vs-entry) title: Entry type_:IsEnabled: type: boolean description: When `true`, the service is enabled. title: IsEnabled type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:Responsecode: type: integer description: >- Code for the response. Learn more in [API Response Codes](/developers/api-reference/api-responses). title: Responsecode type_:GoogleWalletData: type: object properties: gatewayMerchantId: type: string description: The Google Pay merchant identifier. gatewayId: type: string description: The Google Pay gateway identifier. description: The wallet data. title: GoogleWalletData type_:GooglePayPaypointRegistrationData: type: object properties: entry: $ref: '#/components/schemas/type_:Entry' isEnabled: $ref: '#/components/schemas/type_:IsEnabled' walletType: type: string description: The wallet type. In this context it will always be `googlePay`. walletData: $ref: '#/components/schemas/type_:GoogleWalletData' title: GooglePayPaypointRegistrationData type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:ConfigureGooglePaypointApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' pageIdentifier: $ref: '#/components/schemas/type_:PageIdentifier' responseCode: $ref: '#/components/schemas/type_:Responsecode' responseData: $ref: '#/components/schemas/type_:GooglePayPaypointRegistrationData' responseText: $ref: '#/components/schemas/type_:ResponseText' roomId: type: integer format: int64 description: Field not in use on this endpoint required: - isSuccess - pageIdentifier - responseCode - responseData - responseText title: ConfigureGooglePaypointApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript ConfigurePaypoint import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.wallet.configureGooglePayPaypoint({ entry: "8cfec329267", isEnabled: true, }); } main(); ``` ```python ConfigurePaypoint from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.wallet.configure_google_pay_paypoint( entry="8cfec329267", is_enabled=True, ) ``` ```csharp ConfigurePaypoint using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.Wallet.ConfigureGooglePayPaypointAsync( new ConfigurePaypointRequestGooglePay { Entry = "8cfec329267", IsEnabled = true } ); } } ``` ```go ConfigurePaypoint package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/Wallet/googlepay/configure-paypoint" payload := strings.NewReader("{\n \"entry\": \"8cfec329267\",\n \"isEnabled\": true\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby ConfigurePaypoint require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Wallet/googlepay/configure-paypoint") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"entry\": \"8cfec329267\",\n \"isEnabled\": true\n}" response = http.request(request) puts response.read_body ``` ```java ConfigurePaypoint import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/Wallet/googlepay/configure-paypoint") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"entry\": \"8cfec329267\",\n \"isEnabled\": true\n}") .asString(); ``` ```php ConfigurePaypoint request('POST', 'https://api-sandbox.payabli.com/api/Wallet/googlepay/configure-paypoint', [ 'body' => '{ "entry": "8cfec329267", "isEnabled": true }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift ConfigurePaypoint import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "entry": "8cfec329267", "isEnabled": true ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Wallet/googlepay/configure-paypoint")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Add domain POST https://api-sandbox.payabli.com/api/PaymentMethodDomain Content-Type: application/json Add a payment method domain to an organization or paypoint. Reference: https://docs.payabli.com/developers/api-reference/paymentmethoddomain/paymentmethoddomain-add ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /PaymentMethodDomain: post: operationId: add-payment-method-domain summary: Add a payment method domain description: Add a payment method domain to an organization or paypoint. tags: - subpackage_paymentMethodDomain parameters: - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:AddPaymentMethodDomainApiResponse' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' requestBody: content: application/json: schema: type: object properties: applePay: $ref: >- #/components/schemas/type_paymentMethodDomain:AddPaymentMethodDomainRequestApplePay description: Apple Pay configuration information. googlePay: $ref: >- #/components/schemas/type_paymentMethodDomain:AddPaymentMethodDomainRequestGooglePay description: Google Pay configuration information. domainName: $ref: '#/components/schemas/type_:DomainName' entityId: $ref: '#/components/schemas/type_:EntityId' entityType: $ref: '#/components/schemas/type_:EntityType' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:IsEnabled: type: boolean description: When `true`, the service is enabled. title: IsEnabled type_paymentMethodDomain:AddPaymentMethodDomainRequestApplePay: type: object properties: isEnabled: $ref: '#/components/schemas/type_:IsEnabled' description: Apple Pay configuration information. title: AddPaymentMethodDomainRequestApplePay type_paymentMethodDomain:AddPaymentMethodDomainRequestGooglePay: type: object properties: isEnabled: $ref: '#/components/schemas/type_:IsEnabled' description: Google Pay configuration information. title: AddPaymentMethodDomainRequestGooglePay type_:DomainName: type: string description: >- The domain. For example: `subdomain.domain.com` or `domain.com`. Must be public. Can't be `localhost`, hidden by a VPN, or protected by a password. title: DomainName type_:EntityId: type: integer format: int64 description: |- The entity's ID in Payabli. If the entity is a paypoint, this is the paypoint ID. If the entity is an organization, this is the organization ID. title: EntityId type_:EntityType: type: string description: |- The entity type. Available values: - paypoint - organization - psp (payment service provider) title: EntityType type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:ApplePayMetadata: type: object properties: isFileAvailable: type: boolean description: >- When `true`, indicates whether the domain verification file is available at the expected path. When `false`, Payabli was unable to find the file at the expected path. If the file is missing, make sure it's hosted at the correct path: `/.well-known/apple-developer-merchantid-domain-association` isFileContentValid: type: boolean description: >- Indicates whether the domain verification file content is valid. If the file is invalid, try downloading it and hosting it again. redirectDomainName: type: string description: The domain name if the domain verification URL returns a redirect. redirectUrl: type: string description: >- If the domain verification URL is redirected, this is the URL it's redirected to. For example, www.partner.com could redirect to www.partners-new-home-page.com. In this case, you should add www.partners-new-home-page.com as a domain instead of www.partner.com. statusCode: type: integer description: The status code return by the domain verification URL. description: >- This metadata appears only when the domain verification check fails. It gives more information about why the check failed. title: ApplePayMetadata type_:ApplePayStatusData: type: object properties: errorMessage: type: string description: Any error message related to Apple Pay's activation status. metadata: $ref: '#/components/schemas/type_:ApplePayMetadata' description: Details about the Apple Pay service status. title: ApplePayStatusData type_:ApplePayData: type: object properties: data: $ref: '#/components/schemas/type_:ApplePayStatusData' description: >- This object is only returned when the domain verification check fails. If a domain has failed validation, this object contains information about the failure. isEnabled: $ref: '#/components/schemas/type_:IsEnabled' description: When `true`, Apple Pay is enabled. description: Details about the status of the Apple Pay service. title: ApplePayData type_:GooglePayMetadata: type: object properties: statusCode: type: integer description: The status code return by the domain verification URL. redirectUrl: type: string description: >- If the domain verification URL is redirected, this is the URL it's redirected to. For example, www.partner.com could redirect to www.partners-new-home-page.com. In this case, you should add www.partners-new-home-page.com as a domain instead of www.partner.com. redirectDomainName: type: string description: The domain name if the domain verification URL returns a redirect. description: >- This metadata appears only when the domain verification check fails. It gives more information about why the check failed. title: GooglePayMetadata type_:GooglePayStatusData: type: object properties: errorMessage: type: string description: Any error message related to Google Pay's activation status. metadata: $ref: '#/components/schemas/type_:GooglePayMetadata' description: Details about the Google Pay service status. title: GooglePayStatusData type_:GooglePayData: type: object properties: data: $ref: '#/components/schemas/type_:GooglePayStatusData' description: >- This object is only returned when the domain verification check fails. If a domain has failed validation, this object contains information about the failure. isEnabled: $ref: '#/components/schemas/type_:IsEnabled' description: When `true`, Google Pay is enabled. description: Details about the status of the Google Pay service. title: GooglePayData type_:CreatedAt: type: string format: date-time description: Timestamp of when record was created, in UTC. title: CreatedAt type_:JobId: type: string description: The cascade process ID. title: JobId type_:JobStatus: type: string description: |- The cascade process status. Available values: - `in_progress` - `completed` - `failed` title: JobStatus type_:LastModified: type: string format: date-time description: Timestamp of when record was last updated, in UTC. title: LastModified type_:CascadeJobDetails: type: object properties: createdAt: $ref: '#/components/schemas/type_:CreatedAt' jobErrorMessage: type: string description: Error message for a failed cascade process. jobId: $ref: '#/components/schemas/type_:JobId' jobStatus: $ref: '#/components/schemas/type_:JobStatus' updatedAt: $ref: '#/components/schemas/type_:LastModified' description: Details about the cascade process. title: CascadeJobDetails type_:PaymentMethodDomainId: type: string description: The payment method domain's ID in Payabli. title: PaymentMethodDomainId type_:OwnerEntityId: type: integer format: int64 description: >- The domain's owning entity's ID in Payabli. This value might be different than the `entityId`, depending on whether the domain is cascaded and whether it's inherited.` title: OwnerEntityId type_:OwnerEntityType: type: string description: |- The domain's owner's entity type. Available values: - paypoint - organization - psp (payment service provider). title: OwnerEntityType type_:PaymentMethodDomainApiResponse: type: object properties: type: type: - string - 'null' description: >- The record type. For payment method domains, this is always `PaymentMethodDomain`. applePay: $ref: '#/components/schemas/type_:ApplePayData' googlePay: $ref: '#/components/schemas/type_:GooglePayData' cascades: type: array items: $ref: '#/components/schemas/type_:CascadeJobDetails' description: Data about the domain's cascade status. createdAt: $ref: '#/components/schemas/type_:CreatedAt' domainName: $ref: '#/components/schemas/type_:DomainName' entityId: $ref: '#/components/schemas/type_:EntityId' entityType: $ref: '#/components/schemas/type_:EntityType' id: $ref: '#/components/schemas/type_:PaymentMethodDomainId' ownerEntityId: $ref: '#/components/schemas/type_:OwnerEntityId' ownerEntityType: $ref: '#/components/schemas/type_:OwnerEntityType' updatedAt: $ref: '#/components/schemas/type_:LastModified' required: - type - applePay - googlePay - createdAt - domainName - entityId - entityType - id - ownerEntityId - ownerEntityType description: Data related to the payment method domain. title: PaymentMethodDomainApiResponse type_:AddPaymentMethodDomainApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' pageidentifier: $ref: '#/components/schemas/type_:PageIdentifier' responseData: $ref: '#/components/schemas/type_:PaymentMethodDomainApiResponse' responseText: type: string required: - isSuccess - pageidentifier - responseData - responseText description: Response for the add payment method domain operation. title: AddPaymentMethodDomainApiResponse type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript Paypoint import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.paymentMethodDomain.addPaymentMethodDomain({ applePay: { isEnabled: true, }, googlePay: { isEnabled: true, }, domainName: "checkout.example.com", entityId: 109, entityType: "paypoint", }); } main(); ``` ```python Paypoint from payabli import payabli from payabli.payment_method_domain import AddPaymentMethodDomainRequestApplePay, AddPaymentMethodDomainRequestGooglePay client = payabli( api_key="YOUR_API_KEY_HERE", ) client.payment_method_domain.add_payment_method_domain( apple_pay=AddPaymentMethodDomainRequestApplePay( is_enabled=True, ), google_pay=AddPaymentMethodDomainRequestGooglePay( is_enabled=True, ), domain_name="checkout.example.com", entity_id=109, entity_type="paypoint", ) ``` ```csharp Paypoint using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.PaymentMethodDomain.AddPaymentMethodDomainAsync( new AddPaymentMethodDomainRequest { ApplePay = new AddPaymentMethodDomainRequestApplePay { IsEnabled = true }, GooglePay = new AddPaymentMethodDomainRequestGooglePay { IsEnabled = true }, DomainName = "checkout.example.com", EntityId = 109L, EntityType = "paypoint" } ); } } ``` ```go Paypoint package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/PaymentMethodDomain" payload := strings.NewReader("{\n \"applePay\": {\n \"isEnabled\": true\n },\n \"googlePay\": {\n \"isEnabled\": true\n },\n \"domainName\": \"checkout.example.com\",\n \"entityId\": 109,\n \"entityType\": \"paypoint\"\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Paypoint require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/PaymentMethodDomain") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"applePay\": {\n \"isEnabled\": true\n },\n \"googlePay\": {\n \"isEnabled\": true\n },\n \"domainName\": \"checkout.example.com\",\n \"entityId\": 109,\n \"entityType\": \"paypoint\"\n}" response = http.request(request) puts response.read_body ``` ```java Paypoint import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/PaymentMethodDomain") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"applePay\": {\n \"isEnabled\": true\n },\n \"googlePay\": {\n \"isEnabled\": true\n },\n \"domainName\": \"checkout.example.com\",\n \"entityId\": 109,\n \"entityType\": \"paypoint\"\n}") .asString(); ``` ```php Paypoint request('POST', 'https://api-sandbox.payabli.com/api/PaymentMethodDomain', [ 'body' => '{ "applePay": { "isEnabled": true }, "googlePay": { "isEnabled": true }, "domainName": "checkout.example.com", "entityId": 109, "entityType": "paypoint" }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift Paypoint import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "applePay": ["isEnabled": true], "googlePay": ["isEnabled": true], "domainName": "checkout.example.com", "entityId": 109, "entityType": "paypoint" ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/PaymentMethodDomain")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Cascade domain POST https://api-sandbox.payabli.com/api/PaymentMethodDomain/{domainId}/cascade Cascades a payment method domain to all child entities. All paypoints and suborganization under this parent will inherit this domain and its settings. Reference: https://docs.payabli.com/developers/api-reference/paymentmethoddomain/paymentmethoddomain-cascade ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /PaymentMethodDomain/{domainId}/cascade: post: operationId: cascade-payment-method-domain summary: Cascade a payment method domain to the child entities description: >- Cascades a payment method domain to all child entities. All paypoints and suborganization under this parent will inherit this domain and its settings. tags: - subpackage_paymentMethodDomain parameters: - name: domainId in: path description: The payment method domain's ID in Payabli. required: true schema: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:PaymentMethodDomainGeneralResponse' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:ApplePayMetadata: type: object properties: isFileAvailable: type: boolean description: >- When `true`, indicates whether the domain verification file is available at the expected path. When `false`, Payabli was unable to find the file at the expected path. If the file is missing, make sure it's hosted at the correct path: `/.well-known/apple-developer-merchantid-domain-association` isFileContentValid: type: boolean description: >- Indicates whether the domain verification file content is valid. If the file is invalid, try downloading it and hosting it again. redirectDomainName: type: string description: The domain name if the domain verification URL returns a redirect. redirectUrl: type: string description: >- If the domain verification URL is redirected, this is the URL it's redirected to. For example, www.partner.com could redirect to www.partners-new-home-page.com. In this case, you should add www.partners-new-home-page.com as a domain instead of www.partner.com. statusCode: type: integer description: The status code return by the domain verification URL. description: >- This metadata appears only when the domain verification check fails. It gives more information about why the check failed. title: ApplePayMetadata type_:ApplePayStatusData: type: object properties: errorMessage: type: string description: Any error message related to Apple Pay's activation status. metadata: $ref: '#/components/schemas/type_:ApplePayMetadata' description: Details about the Apple Pay service status. title: ApplePayStatusData type_:IsEnabled: type: boolean description: When `true`, the service is enabled. title: IsEnabled type_:ApplePayData: type: object properties: data: $ref: '#/components/schemas/type_:ApplePayStatusData' description: >- This object is only returned when the domain verification check fails. If a domain has failed validation, this object contains information about the failure. isEnabled: $ref: '#/components/schemas/type_:IsEnabled' description: When `true`, Apple Pay is enabled. description: Details about the status of the Apple Pay service. title: ApplePayData type_:GooglePayMetadata: type: object properties: statusCode: type: integer description: The status code return by the domain verification URL. redirectUrl: type: string description: >- If the domain verification URL is redirected, this is the URL it's redirected to. For example, www.partner.com could redirect to www.partners-new-home-page.com. In this case, you should add www.partners-new-home-page.com as a domain instead of www.partner.com. redirectDomainName: type: string description: The domain name if the domain verification URL returns a redirect. description: >- This metadata appears only when the domain verification check fails. It gives more information about why the check failed. title: GooglePayMetadata type_:GooglePayStatusData: type: object properties: errorMessage: type: string description: Any error message related to Google Pay's activation status. metadata: $ref: '#/components/schemas/type_:GooglePayMetadata' description: Details about the Google Pay service status. title: GooglePayStatusData type_:GooglePayData: type: object properties: data: $ref: '#/components/schemas/type_:GooglePayStatusData' description: >- This object is only returned when the domain verification check fails. If a domain has failed validation, this object contains information about the failure. isEnabled: $ref: '#/components/schemas/type_:IsEnabled' description: When `true`, Google Pay is enabled. description: Details about the status of the Google Pay service. title: GooglePayData type_:CreatedAt: type: string format: date-time description: Timestamp of when record was created, in UTC. title: CreatedAt type_:JobId: type: string description: The cascade process ID. title: JobId type_:JobStatus: type: string description: |- The cascade process status. Available values: - `in_progress` - `completed` - `failed` title: JobStatus type_:LastModified: type: string format: date-time description: Timestamp of when record was last updated, in UTC. title: LastModified type_:CascadeJobDetails: type: object properties: createdAt: $ref: '#/components/schemas/type_:CreatedAt' jobErrorMessage: type: string description: Error message for a failed cascade process. jobId: $ref: '#/components/schemas/type_:JobId' jobStatus: $ref: '#/components/schemas/type_:JobStatus' updatedAt: $ref: '#/components/schemas/type_:LastModified' description: Details about the cascade process. title: CascadeJobDetails type_:DomainName: type: string description: >- The domain. For example: `subdomain.domain.com` or `domain.com`. Must be public. Can't be `localhost`, hidden by a VPN, or protected by a password. title: DomainName type_:EntityId: type: integer format: int64 description: |- The entity's ID in Payabli. If the entity is a paypoint, this is the paypoint ID. If the entity is an organization, this is the organization ID. title: EntityId type_:EntityType: type: string description: |- The entity type. Available values: - paypoint - organization - psp (payment service provider) title: EntityType type_:PaymentMethodDomainId: type: string description: The payment method domain's ID in Payabli. title: PaymentMethodDomainId type_:OwnerEntityId: type: integer format: int64 description: >- The domain's owning entity's ID in Payabli. This value might be different than the `entityId`, depending on whether the domain is cascaded and whether it's inherited.` title: OwnerEntityId type_:OwnerEntityType: type: string description: |- The domain's owner's entity type. Available values: - paypoint - organization - psp (payment service provider). title: OwnerEntityType type_:PaymentMethodDomainApiResponse: type: object properties: type: type: - string - 'null' description: >- The record type. For payment method domains, this is always `PaymentMethodDomain`. applePay: $ref: '#/components/schemas/type_:ApplePayData' googlePay: $ref: '#/components/schemas/type_:GooglePayData' cascades: type: array items: $ref: '#/components/schemas/type_:CascadeJobDetails' description: Data about the domain's cascade status. createdAt: $ref: '#/components/schemas/type_:CreatedAt' domainName: $ref: '#/components/schemas/type_:DomainName' entityId: $ref: '#/components/schemas/type_:EntityId' entityType: $ref: '#/components/schemas/type_:EntityType' id: $ref: '#/components/schemas/type_:PaymentMethodDomainId' ownerEntityId: $ref: '#/components/schemas/type_:OwnerEntityId' ownerEntityType: $ref: '#/components/schemas/type_:OwnerEntityType' updatedAt: $ref: '#/components/schemas/type_:LastModified' required: - type - applePay - googlePay - createdAt - domainName - entityId - entityType - id - ownerEntityId - ownerEntityType description: Data related to the payment method domain. title: PaymentMethodDomainApiResponse type_:PaymentMethodDomainGeneralResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' pageidentifier: $ref: '#/components/schemas/type_:PageIdentifier' responseData: $ref: '#/components/schemas/type_:PaymentMethodDomainApiResponse' responseText: type: string required: - responseText title: PaymentMethodDomainGeneralResponse type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript CascadeDomains import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.paymentMethodDomain.cascadePaymentMethodDomain("pmd_b8237fa45c964d8a9ef27160cd42b8c5"); } main(); ``` ```python CascadeDomains from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.payment_method_domain.cascade_payment_method_domain( domain_id="pmd_b8237fa45c964d8a9ef27160cd42b8c5", ) ``` ```csharp CascadeDomains using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.PaymentMethodDomain.CascadePaymentMethodDomainAsync( "pmd_b8237fa45c964d8a9ef27160cd42b8c5" ); } } ``` ```go CascadeDomains package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/PaymentMethodDomain/pmd_b8237fa45c964d8a9ef27160cd42b8c5/cascade" req, _ := http.NewRequest("POST", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby CascadeDomains require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/PaymentMethodDomain/pmd_b8237fa45c964d8a9ef27160cd42b8c5/cascade") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java CascadeDomains import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/PaymentMethodDomain/pmd_b8237fa45c964d8a9ef27160cd42b8c5/cascade") .header("requestToken", "") .asString(); ``` ```php CascadeDomains request('POST', 'https://api-sandbox.payabli.com/api/PaymentMethodDomain/pmd_b8237fa45c964d8a9ef27160cd42b8c5/cascade', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift CascadeDomains import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/PaymentMethodDomain/pmd_b8237fa45c964d8a9ef27160cd42b8c5/cascade")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Verify domain POST https://api-sandbox.payabli.com/api/PaymentMethodDomain/{domainId}/verify Verify a new payment method domain. If verification is successful, Apple Pay is automatically activated for the domain. Reference: https://docs.payabli.com/developers/api-reference/paymentmethoddomain/paymentmethoddomain-verify ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /PaymentMethodDomain/{domainId}/verify: post: operationId: verify-payment-method-domain summary: Verify a payment method domain description: >- Verify a new payment method domain. If verification is successful, Apple Pay is automatically activated for the domain. tags: - subpackage_paymentMethodDomain parameters: - name: domainId in: path description: The payment method domain's ID in Payabli. required: true schema: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:PaymentMethodDomainGeneralResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:ApplePayMetadata: type: object properties: isFileAvailable: type: boolean description: >- When `true`, indicates whether the domain verification file is available at the expected path. When `false`, Payabli was unable to find the file at the expected path. If the file is missing, make sure it's hosted at the correct path: `/.well-known/apple-developer-merchantid-domain-association` isFileContentValid: type: boolean description: >- Indicates whether the domain verification file content is valid. If the file is invalid, try downloading it and hosting it again. redirectDomainName: type: string description: The domain name if the domain verification URL returns a redirect. redirectUrl: type: string description: >- If the domain verification URL is redirected, this is the URL it's redirected to. For example, www.partner.com could redirect to www.partners-new-home-page.com. In this case, you should add www.partners-new-home-page.com as a domain instead of www.partner.com. statusCode: type: integer description: The status code return by the domain verification URL. description: >- This metadata appears only when the domain verification check fails. It gives more information about why the check failed. title: ApplePayMetadata type_:ApplePayStatusData: type: object properties: errorMessage: type: string description: Any error message related to Apple Pay's activation status. metadata: $ref: '#/components/schemas/type_:ApplePayMetadata' description: Details about the Apple Pay service status. title: ApplePayStatusData type_:IsEnabled: type: boolean description: When `true`, the service is enabled. title: IsEnabled type_:ApplePayData: type: object properties: data: $ref: '#/components/schemas/type_:ApplePayStatusData' description: >- This object is only returned when the domain verification check fails. If a domain has failed validation, this object contains information about the failure. isEnabled: $ref: '#/components/schemas/type_:IsEnabled' description: When `true`, Apple Pay is enabled. description: Details about the status of the Apple Pay service. title: ApplePayData type_:GooglePayMetadata: type: object properties: statusCode: type: integer description: The status code return by the domain verification URL. redirectUrl: type: string description: >- If the domain verification URL is redirected, this is the URL it's redirected to. For example, www.partner.com could redirect to www.partners-new-home-page.com. In this case, you should add www.partners-new-home-page.com as a domain instead of www.partner.com. redirectDomainName: type: string description: The domain name if the domain verification URL returns a redirect. description: >- This metadata appears only when the domain verification check fails. It gives more information about why the check failed. title: GooglePayMetadata type_:GooglePayStatusData: type: object properties: errorMessage: type: string description: Any error message related to Google Pay's activation status. metadata: $ref: '#/components/schemas/type_:GooglePayMetadata' description: Details about the Google Pay service status. title: GooglePayStatusData type_:GooglePayData: type: object properties: data: $ref: '#/components/schemas/type_:GooglePayStatusData' description: >- This object is only returned when the domain verification check fails. If a domain has failed validation, this object contains information about the failure. isEnabled: $ref: '#/components/schemas/type_:IsEnabled' description: When `true`, Google Pay is enabled. description: Details about the status of the Google Pay service. title: GooglePayData type_:CreatedAt: type: string format: date-time description: Timestamp of when record was created, in UTC. title: CreatedAt type_:JobId: type: string description: The cascade process ID. title: JobId type_:JobStatus: type: string description: |- The cascade process status. Available values: - `in_progress` - `completed` - `failed` title: JobStatus type_:LastModified: type: string format: date-time description: Timestamp of when record was last updated, in UTC. title: LastModified type_:CascadeJobDetails: type: object properties: createdAt: $ref: '#/components/schemas/type_:CreatedAt' jobErrorMessage: type: string description: Error message for a failed cascade process. jobId: $ref: '#/components/schemas/type_:JobId' jobStatus: $ref: '#/components/schemas/type_:JobStatus' updatedAt: $ref: '#/components/schemas/type_:LastModified' description: Details about the cascade process. title: CascadeJobDetails type_:DomainName: type: string description: >- The domain. For example: `subdomain.domain.com` or `domain.com`. Must be public. Can't be `localhost`, hidden by a VPN, or protected by a password. title: DomainName type_:EntityId: type: integer format: int64 description: |- The entity's ID in Payabli. If the entity is a paypoint, this is the paypoint ID. If the entity is an organization, this is the organization ID. title: EntityId type_:EntityType: type: string description: |- The entity type. Available values: - paypoint - organization - psp (payment service provider) title: EntityType type_:PaymentMethodDomainId: type: string description: The payment method domain's ID in Payabli. title: PaymentMethodDomainId type_:OwnerEntityId: type: integer format: int64 description: >- The domain's owning entity's ID in Payabli. This value might be different than the `entityId`, depending on whether the domain is cascaded and whether it's inherited.` title: OwnerEntityId type_:OwnerEntityType: type: string description: |- The domain's owner's entity type. Available values: - paypoint - organization - psp (payment service provider). title: OwnerEntityType type_:PaymentMethodDomainApiResponse: type: object properties: type: type: - string - 'null' description: >- The record type. For payment method domains, this is always `PaymentMethodDomain`. applePay: $ref: '#/components/schemas/type_:ApplePayData' googlePay: $ref: '#/components/schemas/type_:GooglePayData' cascades: type: array items: $ref: '#/components/schemas/type_:CascadeJobDetails' description: Data about the domain's cascade status. createdAt: $ref: '#/components/schemas/type_:CreatedAt' domainName: $ref: '#/components/schemas/type_:DomainName' entityId: $ref: '#/components/schemas/type_:EntityId' entityType: $ref: '#/components/schemas/type_:EntityType' id: $ref: '#/components/schemas/type_:PaymentMethodDomainId' ownerEntityId: $ref: '#/components/schemas/type_:OwnerEntityId' ownerEntityType: $ref: '#/components/schemas/type_:OwnerEntityType' updatedAt: $ref: '#/components/schemas/type_:LastModified' required: - type - applePay - googlePay - createdAt - domainName - entityId - entityType - id - ownerEntityId - ownerEntityType description: Data related to the payment method domain. title: PaymentMethodDomainApiResponse type_:PaymentMethodDomainGeneralResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' pageidentifier: $ref: '#/components/schemas/type_:PageIdentifier' responseData: $ref: '#/components/schemas/type_:PaymentMethodDomainApiResponse' responseText: type: string required: - responseText title: PaymentMethodDomainGeneralResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript VerifySuccess import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.paymentMethodDomain.verifyPaymentMethodDomain("pmd_b8237fa45c964d8a9ef27160cd42b8c5"); } main(); ``` ```python VerifySuccess from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.payment_method_domain.verify_payment_method_domain( domain_id="pmd_b8237fa45c964d8a9ef27160cd42b8c5", ) ``` ```csharp VerifySuccess using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.PaymentMethodDomain.VerifyPaymentMethodDomainAsync( "pmd_b8237fa45c964d8a9ef27160cd42b8c5" ); } } ``` ```go VerifySuccess package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/PaymentMethodDomain/pmd_b8237fa45c964d8a9ef27160cd42b8c5/verify" req, _ := http.NewRequest("POST", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby VerifySuccess require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/PaymentMethodDomain/pmd_b8237fa45c964d8a9ef27160cd42b8c5/verify") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java VerifySuccess import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/PaymentMethodDomain/pmd_b8237fa45c964d8a9ef27160cd42b8c5/verify") .header("requestToken", "") .asString(); ``` ```php VerifySuccess request('POST', 'https://api-sandbox.payabli.com/api/PaymentMethodDomain/pmd_b8237fa45c964d8a9ef27160cd42b8c5/verify', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift VerifySuccess import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/PaymentMethodDomain/pmd_b8237fa45c964d8a9ef27160cd42b8c5/verify")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ```typescript VerifyFailure import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.paymentMethodDomain.verifyPaymentMethodDomain("pmd_b8237fa45c964d8a9ef27160cd42b8c5"); } main(); ``` ```python VerifyFailure from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.payment_method_domain.verify_payment_method_domain( domain_id="pmd_b8237fa45c964d8a9ef27160cd42b8c5", ) ``` ```csharp VerifyFailure using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.PaymentMethodDomain.VerifyPaymentMethodDomainAsync( "pmd_b8237fa45c964d8a9ef27160cd42b8c5" ); } } ``` ```go VerifyFailure package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/PaymentMethodDomain/pmd_b8237fa45c964d8a9ef27160cd42b8c5/verify" req, _ := http.NewRequest("POST", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby VerifyFailure require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/PaymentMethodDomain/pmd_b8237fa45c964d8a9ef27160cd42b8c5/verify") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java VerifyFailure import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/PaymentMethodDomain/pmd_b8237fa45c964d8a9ef27160cd42b8c5/verify") .header("requestToken", "") .asString(); ``` ```php VerifyFailure request('POST', 'https://api-sandbox.payabli.com/api/PaymentMethodDomain/pmd_b8237fa45c964d8a9ef27160cd42b8c5/verify', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift VerifyFailure import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/PaymentMethodDomain/pmd_b8237fa45c964d8a9ef27160cd42b8c5/verify")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Get payment method domain GET https://api-sandbox.payabli.com/api/PaymentMethodDomain/{domainId} Get the details for a payment method domain. Reference: https://docs.payabli.com/developers/api-reference/paymentmethoddomain/paymentmethoddomain-get ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /PaymentMethodDomain/{domainId}: get: operationId: get-payment-method-domain summary: Get payment method domain details description: Get the details for a payment method domain. tags: - subpackage_paymentMethodDomain parameters: - name: domainId in: path description: The payment method domain's ID in Payabli. required: true schema: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success response that includes a payment method domain's details. content: application/json: schema: $ref: '#/components/schemas/type_:PaymentMethodDomainApiResponse' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:ApplePayMetadata: type: object properties: isFileAvailable: type: boolean description: >- When `true`, indicates whether the domain verification file is available at the expected path. When `false`, Payabli was unable to find the file at the expected path. If the file is missing, make sure it's hosted at the correct path: `/.well-known/apple-developer-merchantid-domain-association` isFileContentValid: type: boolean description: >- Indicates whether the domain verification file content is valid. If the file is invalid, try downloading it and hosting it again. redirectDomainName: type: string description: The domain name if the domain verification URL returns a redirect. redirectUrl: type: string description: >- If the domain verification URL is redirected, this is the URL it's redirected to. For example, www.partner.com could redirect to www.partners-new-home-page.com. In this case, you should add www.partners-new-home-page.com as a domain instead of www.partner.com. statusCode: type: integer description: The status code return by the domain verification URL. description: >- This metadata appears only when the domain verification check fails. It gives more information about why the check failed. title: ApplePayMetadata type_:ApplePayStatusData: type: object properties: errorMessage: type: string description: Any error message related to Apple Pay's activation status. metadata: $ref: '#/components/schemas/type_:ApplePayMetadata' description: Details about the Apple Pay service status. title: ApplePayStatusData type_:IsEnabled: type: boolean description: When `true`, the service is enabled. title: IsEnabled type_:ApplePayData: type: object properties: data: $ref: '#/components/schemas/type_:ApplePayStatusData' description: >- This object is only returned when the domain verification check fails. If a domain has failed validation, this object contains information about the failure. isEnabled: $ref: '#/components/schemas/type_:IsEnabled' description: When `true`, Apple Pay is enabled. description: Details about the status of the Apple Pay service. title: ApplePayData type_:GooglePayMetadata: type: object properties: statusCode: type: integer description: The status code return by the domain verification URL. redirectUrl: type: string description: >- If the domain verification URL is redirected, this is the URL it's redirected to. For example, www.partner.com could redirect to www.partners-new-home-page.com. In this case, you should add www.partners-new-home-page.com as a domain instead of www.partner.com. redirectDomainName: type: string description: The domain name if the domain verification URL returns a redirect. description: >- This metadata appears only when the domain verification check fails. It gives more information about why the check failed. title: GooglePayMetadata type_:GooglePayStatusData: type: object properties: errorMessage: type: string description: Any error message related to Google Pay's activation status. metadata: $ref: '#/components/schemas/type_:GooglePayMetadata' description: Details about the Google Pay service status. title: GooglePayStatusData type_:GooglePayData: type: object properties: data: $ref: '#/components/schemas/type_:GooglePayStatusData' description: >- This object is only returned when the domain verification check fails. If a domain has failed validation, this object contains information about the failure. isEnabled: $ref: '#/components/schemas/type_:IsEnabled' description: When `true`, Google Pay is enabled. description: Details about the status of the Google Pay service. title: GooglePayData type_:CreatedAt: type: string format: date-time description: Timestamp of when record was created, in UTC. title: CreatedAt type_:JobId: type: string description: The cascade process ID. title: JobId type_:JobStatus: type: string description: |- The cascade process status. Available values: - `in_progress` - `completed` - `failed` title: JobStatus type_:LastModified: type: string format: date-time description: Timestamp of when record was last updated, in UTC. title: LastModified type_:CascadeJobDetails: type: object properties: createdAt: $ref: '#/components/schemas/type_:CreatedAt' jobErrorMessage: type: string description: Error message for a failed cascade process. jobId: $ref: '#/components/schemas/type_:JobId' jobStatus: $ref: '#/components/schemas/type_:JobStatus' updatedAt: $ref: '#/components/schemas/type_:LastModified' description: Details about the cascade process. title: CascadeJobDetails type_:DomainName: type: string description: >- The domain. For example: `subdomain.domain.com` or `domain.com`. Must be public. Can't be `localhost`, hidden by a VPN, or protected by a password. title: DomainName type_:EntityId: type: integer format: int64 description: |- The entity's ID in Payabli. If the entity is a paypoint, this is the paypoint ID. If the entity is an organization, this is the organization ID. title: EntityId type_:EntityType: type: string description: |- The entity type. Available values: - paypoint - organization - psp (payment service provider) title: EntityType type_:PaymentMethodDomainId: type: string description: The payment method domain's ID in Payabli. title: PaymentMethodDomainId type_:OwnerEntityId: type: integer format: int64 description: >- The domain's owning entity's ID in Payabli. This value might be different than the `entityId`, depending on whether the domain is cascaded and whether it's inherited.` title: OwnerEntityId type_:OwnerEntityType: type: string description: |- The domain's owner's entity type. Available values: - paypoint - organization - psp (payment service provider). title: OwnerEntityType type_:PaymentMethodDomainApiResponse: type: object properties: type: type: - string - 'null' description: >- The record type. For payment method domains, this is always `PaymentMethodDomain`. applePay: $ref: '#/components/schemas/type_:ApplePayData' googlePay: $ref: '#/components/schemas/type_:GooglePayData' cascades: type: array items: $ref: '#/components/schemas/type_:CascadeJobDetails' description: Data about the domain's cascade status. createdAt: $ref: '#/components/schemas/type_:CreatedAt' domainName: $ref: '#/components/schemas/type_:DomainName' entityId: $ref: '#/components/schemas/type_:EntityId' entityType: $ref: '#/components/schemas/type_:EntityType' id: $ref: '#/components/schemas/type_:PaymentMethodDomainId' ownerEntityId: $ref: '#/components/schemas/type_:OwnerEntityId' ownerEntityType: $ref: '#/components/schemas/type_:OwnerEntityType' updatedAt: $ref: '#/components/schemas/type_:LastModified' required: - type - applePay - googlePay - createdAt - domainName - entityId - entityType - id - ownerEntityId - ownerEntityType description: Data related to the payment method domain. title: PaymentMethodDomainApiResponse type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript GetDomain import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.paymentMethodDomain.getPaymentMethodDomain("pmd_b8237fa45c964d8a9ef27160cd42b8c5"); } main(); ``` ```python GetDomain from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.payment_method_domain.get_payment_method_domain( domain_id="pmd_b8237fa45c964d8a9ef27160cd42b8c5", ) ``` ```csharp GetDomain using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.PaymentMethodDomain.GetPaymentMethodDomainAsync( "pmd_b8237fa45c964d8a9ef27160cd42b8c5" ); } } ``` ```go GetDomain package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/PaymentMethodDomain/pmd_b8237fa45c964d8a9ef27160cd42b8c5" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby GetDomain require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/PaymentMethodDomain/pmd_b8237fa45c964d8a9ef27160cd42b8c5") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java GetDomain import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/PaymentMethodDomain/pmd_b8237fa45c964d8a9ef27160cd42b8c5") .header("requestToken", "") .asString(); ``` ```php GetDomain request('GET', 'https://api-sandbox.payabli.com/api/PaymentMethodDomain/pmd_b8237fa45c964d8a9ef27160cd42b8c5', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift GetDomain import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/PaymentMethodDomain/pmd_b8237fa45c964d8a9ef27160cd42b8c5")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # List payment method domains GET https://api-sandbox.payabli.com/api/PaymentMethodDomain/list Get a list of payment method domains that belong to a PSP, organization, or paypoint. Reference: https://docs.payabli.com/developers/api-reference/paymentmethoddomain/get-list-of-payment-method-domains ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /PaymentMethodDomain/list: get: operationId: list-payment-method-domains summary: List payment method domains for an entity description: >- Get a list of payment method domains that belong to a PSP, organization, or paypoint. tags: - subpackage_paymentMethodDomain parameters: - name: entityId in: query description: >- Identifier for the organization or paypoint. - For organization, provide the organization ID - For paypoint, provide the paypoint ID required: false schema: type: integer format: int64 - name: entityType in: query description: |- The type of entity. Valid values: - organization - paypoint - psp required: false schema: type: string - name: fromRecord in: query description: Number of records to skip. Defaults to `0`. required: false schema: type: integer default: 0 - name: limitRecord in: query description: Max number of records for query response. Defaults to `20`. required: false schema: type: integer default: 20 - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: >- #/components/schemas/type_paymentMethodDomain:ListPaymentMethodDomainsResponse '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:ApplePayMetadata: type: object properties: isFileAvailable: type: boolean description: >- When `true`, indicates whether the domain verification file is available at the expected path. When `false`, Payabli was unable to find the file at the expected path. If the file is missing, make sure it's hosted at the correct path: `/.well-known/apple-developer-merchantid-domain-association` isFileContentValid: type: boolean description: >- Indicates whether the domain verification file content is valid. If the file is invalid, try downloading it and hosting it again. redirectDomainName: type: string description: The domain name if the domain verification URL returns a redirect. redirectUrl: type: string description: >- If the domain verification URL is redirected, this is the URL it's redirected to. For example, www.partner.com could redirect to www.partners-new-home-page.com. In this case, you should add www.partners-new-home-page.com as a domain instead of www.partner.com. statusCode: type: integer description: The status code return by the domain verification URL. description: >- This metadata appears only when the domain verification check fails. It gives more information about why the check failed. title: ApplePayMetadata type_:ApplePayStatusData: type: object properties: errorMessage: type: string description: Any error message related to Apple Pay's activation status. metadata: $ref: '#/components/schemas/type_:ApplePayMetadata' description: Details about the Apple Pay service status. title: ApplePayStatusData type_:IsEnabled: type: boolean description: When `true`, the service is enabled. title: IsEnabled type_:ApplePayData: type: object properties: data: $ref: '#/components/schemas/type_:ApplePayStatusData' description: >- This object is only returned when the domain verification check fails. If a domain has failed validation, this object contains information about the failure. isEnabled: $ref: '#/components/schemas/type_:IsEnabled' description: When `true`, Apple Pay is enabled. description: Details about the status of the Apple Pay service. title: ApplePayData type_:GooglePayMetadata: type: object properties: statusCode: type: integer description: The status code return by the domain verification URL. redirectUrl: type: string description: >- If the domain verification URL is redirected, this is the URL it's redirected to. For example, www.partner.com could redirect to www.partners-new-home-page.com. In this case, you should add www.partners-new-home-page.com as a domain instead of www.partner.com. redirectDomainName: type: string description: The domain name if the domain verification URL returns a redirect. description: >- This metadata appears only when the domain verification check fails. It gives more information about why the check failed. title: GooglePayMetadata type_:GooglePayStatusData: type: object properties: errorMessage: type: string description: Any error message related to Google Pay's activation status. metadata: $ref: '#/components/schemas/type_:GooglePayMetadata' description: Details about the Google Pay service status. title: GooglePayStatusData type_:GooglePayData: type: object properties: data: $ref: '#/components/schemas/type_:GooglePayStatusData' description: >- This object is only returned when the domain verification check fails. If a domain has failed validation, this object contains information about the failure. isEnabled: $ref: '#/components/schemas/type_:IsEnabled' description: When `true`, Google Pay is enabled. description: Details about the status of the Google Pay service. title: GooglePayData type_:CreatedAt: type: string format: date-time description: Timestamp of when record was created, in UTC. title: CreatedAt type_:JobId: type: string description: The cascade process ID. title: JobId type_:JobStatus: type: string description: |- The cascade process status. Available values: - `in_progress` - `completed` - `failed` title: JobStatus type_:LastModified: type: string format: date-time description: Timestamp of when record was last updated, in UTC. title: LastModified type_:CascadeJobDetails: type: object properties: createdAt: $ref: '#/components/schemas/type_:CreatedAt' jobErrorMessage: type: string description: Error message for a failed cascade process. jobId: $ref: '#/components/schemas/type_:JobId' jobStatus: $ref: '#/components/schemas/type_:JobStatus' updatedAt: $ref: '#/components/schemas/type_:LastModified' description: Details about the cascade process. title: CascadeJobDetails type_:DomainName: type: string description: >- The domain. For example: `subdomain.domain.com` or `domain.com`. Must be public. Can't be `localhost`, hidden by a VPN, or protected by a password. title: DomainName type_:EntityId: type: integer format: int64 description: |- The entity's ID in Payabli. If the entity is a paypoint, this is the paypoint ID. If the entity is an organization, this is the organization ID. title: EntityId type_:EntityType: type: string description: |- The entity type. Available values: - paypoint - organization - psp (payment service provider) title: EntityType type_:PaymentMethodDomainId: type: string description: The payment method domain's ID in Payabli. title: PaymentMethodDomainId type_:OwnerEntityId: type: integer format: int64 description: >- The domain's owning entity's ID in Payabli. This value might be different than the `entityId`, depending on whether the domain is cascaded and whether it's inherited.` title: OwnerEntityId type_:OwnerEntityType: type: string description: |- The domain's owner's entity type. Available values: - paypoint - organization - psp (payment service provider). title: OwnerEntityType type_:PaymentMethodDomainApiResponse: type: object properties: type: type: - string - 'null' description: >- The record type. For payment method domains, this is always `PaymentMethodDomain`. applePay: $ref: '#/components/schemas/type_:ApplePayData' googlePay: $ref: '#/components/schemas/type_:GooglePayData' cascades: type: array items: $ref: '#/components/schemas/type_:CascadeJobDetails' description: Data about the domain's cascade status. createdAt: $ref: '#/components/schemas/type_:CreatedAt' domainName: $ref: '#/components/schemas/type_:DomainName' entityId: $ref: '#/components/schemas/type_:EntityId' entityType: $ref: '#/components/schemas/type_:EntityType' id: $ref: '#/components/schemas/type_:PaymentMethodDomainId' ownerEntityId: $ref: '#/components/schemas/type_:OwnerEntityId' ownerEntityType: $ref: '#/components/schemas/type_:OwnerEntityType' updatedAt: $ref: '#/components/schemas/type_:LastModified' required: - type - applePay - googlePay - createdAt - domainName - entityId - entityType - id - ownerEntityId - ownerEntityType description: Data related to the payment method domain. title: PaymentMethodDomainApiResponse type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:Pagesize: type: integer description: Number of records on each response page. title: Pagesize type_:Totalrecords: type: integer description: Total number of records in response. title: Totalrecords type_:QuerySummaryNoAmt: type: object properties: pageIdentifier: $ref: '#/components/schemas/type_:PageIdentifier' pageSize: $ref: '#/components/schemas/type_:Pagesize' totalPages: $ref: '#/components/schemas/type_:Totalrecords' totalRecords: $ref: '#/components/schemas/type_:Totalrecords' title: QuerySummaryNoAmt type_paymentMethodDomain:ListPaymentMethodDomainsResponse: type: object properties: records: type: array items: $ref: '#/components/schemas/type_:PaymentMethodDomainApiResponse' summary: $ref: '#/components/schemas/type_:QuerySummaryNoAmt' required: - records - summary title: ListPaymentMethodDomainsResponse type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript PaypointDomains import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.paymentMethodDomain.listPaymentMethodDomains({ entityId: 1147, entityType: "paypoint", }); } main(); ``` ```python PaypointDomains from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.payment_method_domain.list_payment_method_domains( entity_id=1147, entity_type="paypoint", ) ``` ```csharp PaypointDomains using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.PaymentMethodDomain.ListPaymentMethodDomainsAsync( new ListPaymentMethodDomainsRequest { EntityId = 1147L, EntityType = "paypoint" } ); } } ``` ```go PaypointDomains package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/PaymentMethodDomain/list?entityId=1147&entityType=paypoint" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby PaypointDomains require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/PaymentMethodDomain/list?entityId=1147&entityType=paypoint") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java PaypointDomains import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/PaymentMethodDomain/list?entityId=1147&entityType=paypoint") .header("requestToken", "") .asString(); ``` ```php PaypointDomains request('GET', 'https://api-sandbox.payabli.com/api/PaymentMethodDomain/list?entityId=1147&entityType=paypoint', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift PaypointDomains import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/PaymentMethodDomain/list?entityId=1147&entityType=paypoint")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ```typescript OrgDomains import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.paymentMethodDomain.listPaymentMethodDomains({ entityId: 39, entityType: "organization", }); } main(); ``` ```python OrgDomains from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.payment_method_domain.list_payment_method_domains( entity_id=39, entity_type="organization", ) ``` ```csharp OrgDomains using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.PaymentMethodDomain.ListPaymentMethodDomainsAsync( new ListPaymentMethodDomainsRequest { EntityId = 39L, EntityType = "organization" } ); } } ``` ```go OrgDomains package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/PaymentMethodDomain/list?entityId=39&entityType=organization" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby OrgDomains require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/PaymentMethodDomain/list?entityId=39&entityType=organization") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java OrgDomains import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/PaymentMethodDomain/list?entityId=39&entityType=organization") .header("requestToken", "") .asString(); ``` ```php OrgDomains request('GET', 'https://api-sandbox.payabli.com/api/PaymentMethodDomain/list?entityId=39&entityType=organization', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift OrgDomains import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/PaymentMethodDomain/list?entityId=39&entityType=organization")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Update payment method domain PATCH https://api-sandbox.payabli.com/api/PaymentMethodDomain/{domainId} Content-Type: application/json Update a payment method domain's configuration values. Reference: https://docs.payabli.com/developers/api-reference/paymentmethoddomain/paymentmethoddomain-update ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /PaymentMethodDomain/{domainId}: patch: operationId: update-payment-method-domain summary: Update payment method domain configuration description: Update a payment method domain's configuration values. tags: - subpackage_paymentMethodDomain parameters: - name: domainId in: path description: The payment method domain's ID in Payabli. required: true schema: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success response for configuration update. content: application/json: schema: $ref: '#/components/schemas/type_:PaymentMethodDomainGeneralResponse' '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' requestBody: content: application/json: schema: type: object properties: applePay: $ref: >- #/components/schemas/type_paymentMethodDomain:UpdatePaymentMethodDomainRequestWallet googlePay: $ref: >- #/components/schemas/type_paymentMethodDomain:UpdatePaymentMethodDomainRequestWallet servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:IsEnabled: type: boolean description: When `true`, the service is enabled. title: IsEnabled type_paymentMethodDomain:UpdatePaymentMethodDomainRequestWallet: type: object properties: isEnabled: $ref: '#/components/schemas/type_:IsEnabled' title: UpdatePaymentMethodDomainRequestWallet type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:ApplePayMetadata: type: object properties: isFileAvailable: type: boolean description: >- When `true`, indicates whether the domain verification file is available at the expected path. When `false`, Payabli was unable to find the file at the expected path. If the file is missing, make sure it's hosted at the correct path: `/.well-known/apple-developer-merchantid-domain-association` isFileContentValid: type: boolean description: >- Indicates whether the domain verification file content is valid. If the file is invalid, try downloading it and hosting it again. redirectDomainName: type: string description: The domain name if the domain verification URL returns a redirect. redirectUrl: type: string description: >- If the domain verification URL is redirected, this is the URL it's redirected to. For example, www.partner.com could redirect to www.partners-new-home-page.com. In this case, you should add www.partners-new-home-page.com as a domain instead of www.partner.com. statusCode: type: integer description: The status code return by the domain verification URL. description: >- This metadata appears only when the domain verification check fails. It gives more information about why the check failed. title: ApplePayMetadata type_:ApplePayStatusData: type: object properties: errorMessage: type: string description: Any error message related to Apple Pay's activation status. metadata: $ref: '#/components/schemas/type_:ApplePayMetadata' description: Details about the Apple Pay service status. title: ApplePayStatusData type_:ApplePayData: type: object properties: data: $ref: '#/components/schemas/type_:ApplePayStatusData' description: >- This object is only returned when the domain verification check fails. If a domain has failed validation, this object contains information about the failure. isEnabled: $ref: '#/components/schemas/type_:IsEnabled' description: When `true`, Apple Pay is enabled. description: Details about the status of the Apple Pay service. title: ApplePayData type_:GooglePayMetadata: type: object properties: statusCode: type: integer description: The status code return by the domain verification URL. redirectUrl: type: string description: >- If the domain verification URL is redirected, this is the URL it's redirected to. For example, www.partner.com could redirect to www.partners-new-home-page.com. In this case, you should add www.partners-new-home-page.com as a domain instead of www.partner.com. redirectDomainName: type: string description: The domain name if the domain verification URL returns a redirect. description: >- This metadata appears only when the domain verification check fails. It gives more information about why the check failed. title: GooglePayMetadata type_:GooglePayStatusData: type: object properties: errorMessage: type: string description: Any error message related to Google Pay's activation status. metadata: $ref: '#/components/schemas/type_:GooglePayMetadata' description: Details about the Google Pay service status. title: GooglePayStatusData type_:GooglePayData: type: object properties: data: $ref: '#/components/schemas/type_:GooglePayStatusData' description: >- This object is only returned when the domain verification check fails. If a domain has failed validation, this object contains information about the failure. isEnabled: $ref: '#/components/schemas/type_:IsEnabled' description: When `true`, Google Pay is enabled. description: Details about the status of the Google Pay service. title: GooglePayData type_:CreatedAt: type: string format: date-time description: Timestamp of when record was created, in UTC. title: CreatedAt type_:JobId: type: string description: The cascade process ID. title: JobId type_:JobStatus: type: string description: |- The cascade process status. Available values: - `in_progress` - `completed` - `failed` title: JobStatus type_:LastModified: type: string format: date-time description: Timestamp of when record was last updated, in UTC. title: LastModified type_:CascadeJobDetails: type: object properties: createdAt: $ref: '#/components/schemas/type_:CreatedAt' jobErrorMessage: type: string description: Error message for a failed cascade process. jobId: $ref: '#/components/schemas/type_:JobId' jobStatus: $ref: '#/components/schemas/type_:JobStatus' updatedAt: $ref: '#/components/schemas/type_:LastModified' description: Details about the cascade process. title: CascadeJobDetails type_:DomainName: type: string description: >- The domain. For example: `subdomain.domain.com` or `domain.com`. Must be public. Can't be `localhost`, hidden by a VPN, or protected by a password. title: DomainName type_:EntityId: type: integer format: int64 description: |- The entity's ID in Payabli. If the entity is a paypoint, this is the paypoint ID. If the entity is an organization, this is the organization ID. title: EntityId type_:EntityType: type: string description: |- The entity type. Available values: - paypoint - organization - psp (payment service provider) title: EntityType type_:PaymentMethodDomainId: type: string description: The payment method domain's ID in Payabli. title: PaymentMethodDomainId type_:OwnerEntityId: type: integer format: int64 description: >- The domain's owning entity's ID in Payabli. This value might be different than the `entityId`, depending on whether the domain is cascaded and whether it's inherited.` title: OwnerEntityId type_:OwnerEntityType: type: string description: |- The domain's owner's entity type. Available values: - paypoint - organization - psp (payment service provider). title: OwnerEntityType type_:PaymentMethodDomainApiResponse: type: object properties: type: type: - string - 'null' description: >- The record type. For payment method domains, this is always `PaymentMethodDomain`. applePay: $ref: '#/components/schemas/type_:ApplePayData' googlePay: $ref: '#/components/schemas/type_:GooglePayData' cascades: type: array items: $ref: '#/components/schemas/type_:CascadeJobDetails' description: Data about the domain's cascade status. createdAt: $ref: '#/components/schemas/type_:CreatedAt' domainName: $ref: '#/components/schemas/type_:DomainName' entityId: $ref: '#/components/schemas/type_:EntityId' entityType: $ref: '#/components/schemas/type_:EntityType' id: $ref: '#/components/schemas/type_:PaymentMethodDomainId' ownerEntityId: $ref: '#/components/schemas/type_:OwnerEntityId' ownerEntityType: $ref: '#/components/schemas/type_:OwnerEntityType' updatedAt: $ref: '#/components/schemas/type_:LastModified' required: - type - applePay - googlePay - createdAt - domainName - entityId - entityType - id - ownerEntityId - ownerEntityType description: Data related to the payment method domain. title: PaymentMethodDomainApiResponse type_:PaymentMethodDomainGeneralResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' pageidentifier: $ref: '#/components/schemas/type_:PageIdentifier' responseData: $ref: '#/components/schemas/type_:PaymentMethodDomainApiResponse' responseText: type: string required: - responseText title: PaymentMethodDomainGeneralResponse type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript UpdatePaymentMethodDomain import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.paymentMethodDomain.updatePaymentMethodDomain("pmd_b8237fa45c964d8a9ef27160cd42b8c5", { applePay: { isEnabled: false, }, googlePay: { isEnabled: false, }, }); } main(); ``` ```python UpdatePaymentMethodDomain from payabli import payabli from payabli.payment_method_domain import UpdatePaymentMethodDomainRequestWallet client = payabli( api_key="YOUR_API_KEY_HERE", ) client.payment_method_domain.update_payment_method_domain( domain_id="pmd_b8237fa45c964d8a9ef27160cd42b8c5", apple_pay=UpdatePaymentMethodDomainRequestWallet( is_enabled=False, ), google_pay=UpdatePaymentMethodDomainRequestWallet( is_enabled=False, ), ) ``` ```csharp UpdatePaymentMethodDomain using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.PaymentMethodDomain.UpdatePaymentMethodDomainAsync( "pmd_b8237fa45c964d8a9ef27160cd42b8c5", new UpdatePaymentMethodDomainRequest { ApplePay = new UpdatePaymentMethodDomainRequestWallet { IsEnabled = false }, GooglePay = new UpdatePaymentMethodDomainRequestWallet { IsEnabled = false } } ); } } ``` ```go UpdatePaymentMethodDomain package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/PaymentMethodDomain/pmd_b8237fa45c964d8a9ef27160cd42b8c5" payload := strings.NewReader("{\n \"applePay\": {\n \"isEnabled\": false\n },\n \"googlePay\": {\n \"isEnabled\": false\n }\n}") req, _ := http.NewRequest("PATCH", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby UpdatePaymentMethodDomain require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/PaymentMethodDomain/pmd_b8237fa45c964d8a9ef27160cd42b8c5") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Patch.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"applePay\": {\n \"isEnabled\": false\n },\n \"googlePay\": {\n \"isEnabled\": false\n }\n}" response = http.request(request) puts response.read_body ``` ```java UpdatePaymentMethodDomain import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.patch("https://api-sandbox.payabli.com/api/PaymentMethodDomain/pmd_b8237fa45c964d8a9ef27160cd42b8c5") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"applePay\": {\n \"isEnabled\": false\n },\n \"googlePay\": {\n \"isEnabled\": false\n }\n}") .asString(); ``` ```php UpdatePaymentMethodDomain request('PATCH', 'https://api-sandbox.payabli.com/api/PaymentMethodDomain/pmd_b8237fa45c964d8a9ef27160cd42b8c5', [ 'body' => '{ "applePay": { "isEnabled": false }, "googlePay": { "isEnabled": false } }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift UpdatePaymentMethodDomain import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "applePay": ["isEnabled": false], "googlePay": ["isEnabled": false] ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/PaymentMethodDomain/pmd_b8237fa45c964d8a9ef27160cd42b8c5")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "PATCH" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Delete payment method domain DELETE https://api-sandbox.payabli.com/api/PaymentMethodDomain/{domainId} Delete a payment method domain. You can't delete an inherited domain, you must delete a domain at the organization level. Reference: https://docs.payabli.com/developers/api-reference/paymentmethoddomain/paymentmethoddomain-delete ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /PaymentMethodDomain/{domainId}: delete: operationId: delete-payment-method-domain summary: Delete a payment method domain description: >- Delete a payment method domain. You can't delete an inherited domain, you must delete a domain at the organization level. tags: - subpackage_paymentMethodDomain parameters: - name: domainId in: path description: The payment method domain's ID in Payabli. required: true schema: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success response for a deleted payment method domain. content: application/json: schema: $ref: >- #/components/schemas/type_paymentMethodDomain:DeletePaymentMethodDomainResponse '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:Responsedatanonobject: oneOf: - type: string - type: integer description: The response data. title: Responsedatanonobject type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_paymentMethodDomain:DeletePaymentMethodDomainResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' pageIdentifier: $ref: '#/components/schemas/type_:PageIdentifier' responseData: $ref: '#/components/schemas/type_:Responsedatanonobject' description: The deleted domain's domain ID. responseText: $ref: '#/components/schemas/type_:ResponseText' required: - isSuccess - pageIdentifier - responseData - responseText title: DeletePaymentMethodDomainResponse type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript Delete import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.paymentMethodDomain.deletePaymentMethodDomain("pmd_b8237fa45c964d8a9ef27160cd42b8c5"); } main(); ``` ```python Delete from payabli import payabli client = payabli( api_key="YOUR_API_KEY_HERE", ) client.payment_method_domain.delete_payment_method_domain( domain_id="pmd_b8237fa45c964d8a9ef27160cd42b8c5", ) ``` ```csharp Delete using PayabliPayabliApi; using System.Threading.Tasks; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.PaymentMethodDomain.DeletePaymentMethodDomainAsync( "pmd_b8237fa45c964d8a9ef27160cd42b8c5" ); } } ``` ```go Delete package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/PaymentMethodDomain/pmd_b8237fa45c964d8a9ef27160cd42b8c5" req, _ := http.NewRequest("DELETE", url, nil) req.Header.Add("requestToken", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Delete require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/PaymentMethodDomain/pmd_b8237fa45c964d8a9ef27160cd42b8c5") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Delete.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java Delete import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.delete("https://api-sandbox.payabli.com/api/PaymentMethodDomain/pmd_b8237fa45c964d8a9ef27160cd42b8c5") .header("requestToken", "") .asString(); ``` ```php Delete request('DELETE', 'https://api-sandbox.payabli.com/api/PaymentMethodDomain/pmd_b8237fa45c964d8a9ef27160cd42b8c5', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift Delete import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/PaymentMethodDomain/pmd_b8237fa45c964d8a9ef27160cd42b8c5")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "DELETE" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` # Authorize payout POST https://api-sandbox.payabli.com/api/MoneyOut/authorize Content-Type: application/json Authorizes transaction for payout. Authorized transactions aren't flagged for settlement until captured. Use `referenceId` returned in the response to capture the transaction. Reference: https://docs.payabli.com/developers/api-reference/moneyout/authorize-a-transaction-for-payout ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: payabliApi version: 1.0.0 paths: /MoneyOut/authorize: post: operationId: authorize-out summary: Authorize a payout description: >- Authorizes transaction for payout. Authorized transactions aren't flagged for settlement until captured. Use `referenceId` returned in the response to capture the transaction. tags: - subpackage_moneyOut parameters: - name: allowDuplicatedBills in: query description: >- When `true`, the authorization bypasses the requirement for unique bills, identified by vendor invoice number. This allows you to make more than one payout authorization for a bill, like a split payment. required: false schema: type: boolean default: false - name: doNotCreateBills in: query description: >- When `true`, Payabli won't automatically create a bill for this payout transaction. required: false schema: type: boolean default: false - name: forceVendorCreation in: query description: >- When `true`, the request creates a new vendor record, regardless of whether the vendor already exists. required: false schema: type: boolean default: false - name: requestToken in: header required: true schema: type: string - name: idempotencyKey in: header required: false schema: $ref: '#/components/schemas/type_:IdempotencyKey' responses: '200': description: Success content: application/json: schema: $ref: >- #/components/schemas/type___moneyOutTypes__:AuthCapturePayoutResponse '400': description: Bad request/ invalid data content: application/json: schema: description: Any type '401': description: Unauthorized request. content: application/json: schema: description: Any type '500': description: Internal API Error content: application/json: schema: description: Any type '503': description: Database connection error content: application/json: schema: $ref: '#/components/schemas/type_:PayabliApiResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/type___moneyOutTypes__:AuthorizePayoutBody' servers: - url: https://api-sandbox.payabli.com/api - url: https://api.payabli.com/api components: schemas: type_:IdempotencyKey: type: string description: >- _Optional but recommended_ A unique ID that you can include to prevent duplicating objects or transactions in the case that a request is sent more than once. This key isn't generated in Payabli, you must generate it yourself. This key persists for 2 minutes. After 2 minutes, you can reuse the key if needed. title: IdempotencyKey type_:Entrypointfield: type: string description: The entrypoint identifier. title: Entrypointfield type_:Source: type: string description: Custom identifier to indicate the transaction or request source. title: Source type_:OrderId: type: string description: Custom identifier for the transaction. title: OrderId type_:Orderdescription: type: string description: Text description of the transaction. title: Orderdescription type_:AchSecCode: type: string description: >- Standard Entry Class (SEC) code is a three letter code that describes how an ACH payment was authorized. Supported values are: - PPD (Prearranged Payment and Deposit) - Used for credits or debits where an accountholder authorizes a company to initiate either a single or recurring transaction to their personal bank account. Common examples include direct deposit of payroll, mortgage payments, or utility bills. This is the default value for subscription payments. - WEB (Internet-Initiated/Mobile Entry) - Used for debit entries when authorization is obtained from an accountholder via the internet or a wireless network. Common examples are online bill payments, ecommerce purchases, and mobile app payments where the consumer enters their banking information online. - TEL (Telephone-Initiated Entry) - Used for one-time debit entries where authorization is obtained from a consumer via telephone. Common examples are phone-based purchases or bill payments where the consumer provides their banking information over the phone. - CCD (Corporate Credit or Debit) - Used for fund transfers between business accounts. This code is specifically for business-to-business transactions. Common examples include vendor payments and other business-to-business payments. - BOC (Back Office Conversion) - Used to convert paper checks received in-person at a point-of-sale or staffed payment location into electronic ACH debits. Required for Remote Deposit Capture (RDC) transactions. Only supports consumer checks; business, government, and mailed checks aren't eligible. title: AchSecCode type_:AchHolderType: type: string enum: - personal - business default: personal description: 'The bank''s accountholder type: personal or business.' title: AchHolderType type_:Initiator: type: string description: >- **Strongly recommended** The cardholder-initiated transaction (CIT) or merchant-initiated transaction (MIT) indicator for the transaction. If you don't specify a value, Payabli defaults to `merchant`. Available values: - `payor`: For cardholder-initiated transactions - `merchant`: For merchant-initiated transactions See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: Initiator type_:StoredMethodUsageType: type: string description: >- **Strongly recommended** The usage type for the stored method, used for merchant-initiated transactions (MIT). If you don't specify a value, Payabli defaults to `unscheduled`. Available values: - `unscheduled`: This type is used for transactions that are one-time or otherwise not pre-scheduled. - `subscription`: This type is used for subscription payments. For example, monthly rental fees or ongoing service subscriptions. - `recurring`: This type is used for recurring payments that occur per a set plan. For example, splitting an HOA special assessment over 6 monthly payments. See [Understanding CIT and MIT Indicators](/guides/pay-in-transactions-cit-mit-overview) for more information. title: StoredMethodUsageType type___moneyOutTypes__:AuthorizePaymentMethod: type: object properties: method: type: string description: Payment method type - "managed", "vcard", "check", or "ach" achHolder: type: string description: >- Account holder name for ACH payments. Required when method is "ach" and not using `storedMethodId`. achRouting: type: string description: >- Bank routing number for ACH payments. Required when method is "ach" and not using `storedMethodId`. achAccount: type: string description: >- Bank account number for ACH payments. Required when method is "ach" and not using `storedMethodId`. achAccountType: type: string description: >- Account type for ACH payments ("checking" or "savings"). Required when method is "ach" and not using `storedMethodId`. achCode: $ref: '#/components/schemas/type_:AchSecCode' achHolderType: $ref: '#/components/schemas/type_:AchHolderType' storedMethodId: type: string description: >- ID of the stored ACH payment method. Only applicable when method is `ach`. Use this to reference a previously saved ACH method instead of providing bank details directly. initiator: $ref: '#/components/schemas/type_:Initiator' storedMethodUsageType: $ref: '#/components/schemas/type_:StoredMethodUsageType' required: - method description: >- Payment method object for vendor payouts. - `{ method: "managed" }` - Managed payment method - `{ method: "vcard" }` - Virtual card payment method - `{ method: "check" }` - Check payment method - `{ method: "ach", achHolder: "...", achRouting: "...", achAccount: "...", achAccountType: "..." }` - ACH payment method with bank details - `{ method: "ach", storedMethodId: "..." }` - ACH payment method using stored method ID title: AuthorizePaymentMethod type_:VendorCheckNumber: type: string description: >- A check number between 1 and 500,000,000. This value must be passed as a string. This value can be used for fraud prevention with the positive pay service. When no check number is provided, Payabli automatically manages check numbering and sequencing for checks issued from the same bank account. title: VendorCheckNumber type___moneyOutTypes__:RequestOutAuthorizePaymentDetails: type: object properties: checkNumber: $ref: '#/components/schemas/type_:VendorCheckNumber' currency: type: string description: >- Currency code ISO-4217. If no code is provided, then the currency in the paypoint setting is used. Default is **USD**. serviceFee: type: number format: double description: >- Service fee to be deducted from the total amount. This amount must be a number, percentages aren't accepted. If you are using a percentage-based fee schedule, you must calculate the value manually. totalAmount: type: number format: double description: >- Total amount to be charged. If a service fee is included, then this amount should include the service fee. unbundled: type: boolean description: >- Indicates whether the payout should be bundled into a single transaction or processed separately. If set to `true`, each bill will be processed as a separate payout. If `false` or not provided, then multiple bills will be paid with a single payout. description: Object containing payment details. title: RequestOutAuthorizePaymentDetails type_:VendorNumber: type: string description: Custom number identifying the vendor. Must be unique in paypoint. title: VendorNumber type_:VendorName1: type: string description: Primary name for vendor. Required for new vendor. title: VendorName1 type_:VendorName2: type: string description: Secondary name for vendor. title: VendorName2 type_:VendorEin: type: string description: EIN/Tax ID for vendor. title: VendorEin type_:VendorPhone: type: string description: >- Vendor's phone number. Phone number can't contain non-digit characters like hyphens or parentheses. title: VendorPhone type_:Email: type: string format: email description: Email address. title: Email type_:AddressNullable: type: string description: The address. title: AddressNullable type_:Mcc: type: string description: >- Business Merchant Category Code (MCC). [This resource](https://github.com/greggles/mcc-codes/blob/main/mcc_codes.csv) lists MCC codes. title: Mcc type_:AdditionalDataString: type: string description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. Example usage: ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalDataString type_:Contacts: type: object properties: contactEmail: $ref: '#/components/schemas/type_:Email' description: Contact email address. contactName: type: string description: Contact name. contactPhone: type: string description: Contact phone number. contactTitle: type: string description: Contact title. additionalData: $ref: '#/components/schemas/type_:AdditionalDataString' title: Contacts type_:ContactsField: type: array items: $ref: '#/components/schemas/type_:Contacts' description: List of contacts. title: ContactsField type_:BankName: type: string description: Name of bank for account. title: BankName type_:RoutingAccount: type: string description: Routing number of bank account. title: RoutingAccount type_:AccountNumber: type: string description: >- Account number for bank account. This value is returned masked in responses. title: AccountNumber type_:TypeAccount: type: string enum: - Checking - Savings description: 'Type of bank account: Checking or Savings.' title: TypeAccount type_:BankAccountHolderName: type: string description: The accountholder's name. title: BankAccountHolderName type___moneyOutTypes__:RequestOutAuthorizeVendorBillingData: type: object properties: bankName: $ref: '#/components/schemas/type_:BankName' routingAccount: $ref: '#/components/schemas/type_:RoutingAccount' accountNumber: $ref: '#/components/schemas/type_:AccountNumber' typeAccount: $ref: '#/components/schemas/type_:TypeAccount' bankAccountHolderName: $ref: '#/components/schemas/type_:BankAccountHolderName' description: >- Object containing vendor's bank information. This object is deprecated for this endpoint. Use the `paymentMethod` object in payout authorize requests instead. title: RequestOutAuthorizeVendorBillingData type_:Vendorstatus: type: integer description: |- Vendor's status. Allowed status: - 0 Inactive - 1 Active title: Vendorstatus type_:Remitaddress1: type: string description: Remittance address. Used for mailing paper checks. title: Remitaddress1 type_:Remitaddress2: type: string description: Remittance address additional line. Used for mailing paper checks. title: Remitaddress2 type_:Remitcity: type: string description: Remittance address city. Used for mailing paper checks. title: Remitcity type_:Remitstate: type: string description: Remittance address state. Used for mailing paper checks. title: Remitstate type_:Remitzip: type: string description: Remittance address ZIP code. Used for mailing paper checks. title: Remitzip type_:Remitcountry: type: string description: Remittance address country. Used for mailing paper checks. title: Remitcountry type_:AdditionalData: type: object additionalProperties: type: object additionalProperties: description: Any type description: >- Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. If you are using [custom identifiers](/developers/developer-guides/entities-customers), pass those in this object. Max length for a value is 100 characters. Example usage: ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ``` title: AdditionalData type_:AddressAddtlNullable: type: string description: Additional line for the address. title: AddressAddtlNullable type_:LocationCode: type: string description: A location code used to identify the vendor's location. title: LocationCode type_:PayeeName: type: string description: Alternative name used to receive paper check. title: PayeeName type_:VendorPaymentMethod: type: object properties: method: type: string description: Payment method type - "managed", "vcard", "check", or "ach" storedMethodId: type: string description: >- ID of the stored ACH payment method. Only applicable when method is "ach". Required when using a previously saved ACH method when the vendor has more than one saved method. See the [Payouts with saved ACH payment methods](/developers/developer-guides/pay-out-manage-payouts) section for more details. required: - method description: >- Payment method object to use for the payout. - `{ method: "managed" }` - Managed payment method - `{ method: "vcard" }` - Virtual card payment method - `{ method: "check" }` - Check payment method - `{ method: "ach", storedMethodId?: "..." }` - ACH payment method with optional stored method ID title: VendorPaymentMethod type_:Vendorid: type: integer description: Payabli identifier for vendor record. title: Vendorid type___moneyOutTypes__:RequestOutAuthorizeVendorData: type: object properties: vendorNumber: $ref: '#/components/schemas/type_:VendorNumber' name1: $ref: '#/components/schemas/type_:VendorName1' name2: $ref: '#/components/schemas/type_:VendorName2' ein: $ref: '#/components/schemas/type_:VendorEin' phone: $ref: '#/components/schemas/type_:VendorPhone' email: $ref: '#/components/schemas/type_:Email' address1: $ref: '#/components/schemas/type_:AddressNullable' city: type: string state: type: string zip: type: string country: type: string mcc: $ref: '#/components/schemas/type_:Mcc' contacts: $ref: '#/components/schemas/type_:ContactsField' billingData: $ref: >- #/components/schemas/type___moneyOutTypes__:RequestOutAuthorizeVendorBillingData vendorStatus: $ref: '#/components/schemas/type_:Vendorstatus' remitAddress1: $ref: '#/components/schemas/type_:Remitaddress1' remitAddress2: $ref: '#/components/schemas/type_:Remitaddress2' remitCity: $ref: '#/components/schemas/type_:Remitcity' remitState: $ref: '#/components/schemas/type_:Remitstate' remitZip: $ref: '#/components/schemas/type_:Remitzip' remitCountry: $ref: '#/components/schemas/type_:Remitcountry' customerVendorAccount: type: string customField1: type: string customField2: type: string additionalData: $ref: '#/components/schemas/type_:AdditionalData' address2: $ref: '#/components/schemas/type_:AddressAddtlNullable' internalReferenceId: type: integer format: int64 locationCode: $ref: '#/components/schemas/type_:LocationCode' payeeName1: $ref: '#/components/schemas/type_:PayeeName' payeeName2: $ref: '#/components/schemas/type_:PayeeName' paymentMethod: $ref: '#/components/schemas/type_:VendorPaymentMethod' vendorId: $ref: '#/components/schemas/type_:Vendorid' description: Object containing vendor data. title: RequestOutAuthorizeVendorData type_:InvoiceNumber: type: string description: >- Custom number identifying the bill or invoice. Must be unique in paypoint. title: InvoiceNumber type_:NetAmountstring: type: string description: Net Amount owed in bill. Required when adding a bill. title: NetAmountstring type_:Comments: type: string description: Any comment or description. title: Comments type___moneyOutTypes__:LotNumber: type: string description: Lot number associated with the bill. title: LotNumber type_:BillId: type: integer format: int64 description: >- The bill's ID in Payabli. This value is automatically generated by Payabli when the bill is created. title: BillId type_:Discount: type: number format: double description: Discount applied to the invoice. title: Discount type_:Terms: type: string description: >- Payment terms for invoice. If no terms are defined, then response data for this field defaults to `NET30`. **Available Values:** - `PIA`: Payment in advance - `CIA`: Cash in advance - `UR`: Upon receipt - `NET10`: 10 days after invoice date - `NET20`: 20 days after invoice date - `NET30`: 30 days after invoice date - `NET45`: 45 days after invoice date - `NET60`: 60 days after invoice date - `NET90`: 90 days after invoice date - `EOM`: Due end of this month - `MFI`: 1st of the month following the invoice date - `5MFI`: 5th of the month following the invoice date - `10MFI`: 10th of the month following the invoice date - `15MFI`: 15th of the month following the invoice date - `20MFI`: 20th of the month following the invoice date - `2/10NET30`: 2% discount if paid within 10 days, otherwise net 30 days - `UF`: Until further notice - `10UF`: 10 days until further notice - `20UF`: 20 days until further notice - `25UF`: 25 days until further notice - `50UF`: 50 days until further notice title: Terms type_:AccountingField: type: string description: Optional custom field. title: AccountingField type_:FileContentFtype: type: string enum: - pdf - doc - docx - jpg - jpeg - png - gif - txt description: The MIME type of the file (if content is provided) title: FileContentFtype type_:FileContent: type: object properties: fContent: type: string description: >- Content of file, Base64-encoded. Ignored if furl is specified. Max upload size is 30 MB. filename: type: string description: The name of the attached file. ftype: $ref: '#/components/schemas/type_:FileContentFtype' description: The MIME type of the file (if content is provided) furl: type: string description: Optional URL provided to show or download the file remotely description: Contains details about a file. Max upload size is 30 MB. title: FileContent type_:Attachments: type: array items: $ref: '#/components/schemas/type_:FileContent' description: >- Array of `fileContent` objects with attached documents. Max upload size is 30 MB. title: Attachments type___moneyOutTypes__:RequestOutAuthorizeInvoiceData: type: object properties: invoiceNumber: $ref: '#/components/schemas/type_:InvoiceNumber' netAmount: $ref: '#/components/schemas/type_:NetAmountstring' invoiceDate: type: string format: date description: 'Invoice date in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY.' dueDate: type: string format: date description: >- Invoice due date in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY. comments: $ref: '#/components/schemas/type_:Comments' lotNumber: $ref: '#/components/schemas/type___moneyOutTypes__:LotNumber' billId: $ref: '#/components/schemas/type_:BillId' discount: $ref: '#/components/schemas/type_:Discount' terms: $ref: '#/components/schemas/type_:Terms' accountingField1: $ref: '#/components/schemas/type_:AccountingField' accountingField2: $ref: '#/components/schemas/type_:AccountingField' additionalData: $ref: '#/components/schemas/type_:AdditionalDataString' attachments: $ref: '#/components/schemas/type_:Attachments' title: RequestOutAuthorizeInvoiceData type_:Accountid: type: string description: Custom identifier for payment connector. title: Accountid type_:Subdomain: type: string description: >- Refers to the payment page identifier. If provided, then the transaction is linked to the payment page. title: Subdomain type_:Subscriptionid: type: integer format: int64 description: Payabli identifier of the subscription associated with the transaction. title: Subscriptionid type___moneyOutTypes__:AuthorizePayoutBody: type: object properties: entryPoint: $ref: '#/components/schemas/type_:Entrypointfield' source: $ref: '#/components/schemas/type_:Source' orderId: $ref: '#/components/schemas/type_:OrderId' orderDescription: $ref: '#/components/schemas/type_:Orderdescription' paymentMethod: $ref: '#/components/schemas/type___moneyOutTypes__:AuthorizePaymentMethod' paymentDetails: $ref: >- #/components/schemas/type___moneyOutTypes__:RequestOutAuthorizePaymentDetails description: Object containing payment details. vendorData: $ref: >- #/components/schemas/type___moneyOutTypes__:RequestOutAuthorizeVendorData description: Object containing vendor data. invoiceData: type: array items: $ref: >- #/components/schemas/type___moneyOutTypes__:RequestOutAuthorizeInvoiceData description: Array of bills associated to the transaction accountId: $ref: '#/components/schemas/type_:Accountid' subdomain: $ref: '#/components/schemas/type_:Subdomain' subscriptionId: $ref: '#/components/schemas/type_:Subscriptionid' required: - entryPoint - paymentMethod - paymentDetails - vendorData - invoiceData title: AuthorizePayoutBody type_:Responsecode: type: integer description: >- Code for the response. Learn more in [API Response Codes](/developers/api-reference/api-responses). title: Responsecode type_:PageIdentifier: type: string description: Auxiliary validation used internally by payment pages and components. title: PageIdentifier type_:RoomIdNotInUse: type: integer format: int64 description: Field not in use on this endpoint. It always returns `0`. title: RoomIdNotInUse type_:IsSuccess: type: boolean description: >- Boolean indicating whether the operation was successful. A `true` value indicates success. A `false` value indicates failure. title: IsSuccess type_:ResponseText: type: string description: 'Response text for operation: ''Success'' or ''Declined''.' title: ResponseText type_:Authcode: type: string description: Authorization code for the transaction. title: Authcode type_:Referenceidtrans: type: string description: The transaction identifier in Payabli. title: Referenceidtrans type_:ResultCode: type: integer description: >- Result code for the operation. Value 1 indicates a successful operation, values 2 and 3 indicate errors. A value of 10 indicates that an operation has been initiated and is pending. title: ResultCode type_:Resulttext: type: string description: >- Text describing the result. If `ResultCode` = 1, will return 'Approved' or a general success message. If `ResultCode`` = 2 or 3, will contain the cause of the error or decline. title: Resulttext type_:AvsResponseText: type: string description: >- Text code describing the result for address validation (applies only for card transactions). title: AvsResponseText type_:CvvResponseText: type: string description: >- Text code describing the result for CVV validation (applies only for card transactions). title: CvvResponseText type_:Customeridtrans: type: integer format: int64 description: >- Payabli-generated unique ID of customer owner of transaction. Returns `0` if the transaction wasn't assigned to an existing customer or no customer was created. title: Customeridtrans type_:MethodReferenceId: type: string description: >- The stored method's identifier (sometimes referred to as 'token') in Payabli. When `null`, the method wasn't created, or doesn't exist, depending on the operation performed. title: MethodReferenceId type___moneyOutTypes__:AuthCapturePayoutResponseData: type: object properties: authCode: oneOf: - $ref: '#/components/schemas/type_:Authcode' - type: 'null' referenceId: $ref: '#/components/schemas/type_:Referenceidtrans' resultCode: $ref: '#/components/schemas/type_:ResultCode' resultText: $ref: '#/components/schemas/type_:Resulttext' avsResponseText: oneOf: - $ref: '#/components/schemas/type_:AvsResponseText' - type: 'null' cvvResponseText: oneOf: - $ref: '#/components/schemas/type_:CvvResponseText' - type: 'null' customerId: $ref: '#/components/schemas/type_:Customeridtrans' methodReferenceId: oneOf: - $ref: '#/components/schemas/type_:MethodReferenceId' - type: 'null' required: - authCode - referenceId - resultCode - resultText - avsResponseText - cvvResponseText - customerId - methodReferenceId title: AuthCapturePayoutResponseData type___moneyOutTypes__:AuthCapturePayoutResponse: type: object properties: responseCode: $ref: '#/components/schemas/type_:Responsecode' pageIdentifier: oneOf: - $ref: '#/components/schemas/type_:PageIdentifier' - type: 'null' roomId: $ref: '#/components/schemas/type_:RoomIdNotInUse' isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseText: $ref: '#/components/schemas/type_:ResponseText' responseData: $ref: >- #/components/schemas/type___moneyOutTypes__:AuthCapturePayoutResponseData required: - responseCode - pageIdentifier - roomId - isSuccess - responseText - responseData title: AuthCapturePayoutResponse type_:Responsedata: type: object additionalProperties: description: Any type description: The object containing the response data. title: Responsedata type_:PayabliApiResponse: type: object properties: isSuccess: $ref: '#/components/schemas/type_:IsSuccess' responseData: $ref: '#/components/schemas/type_:Responsedata' responseText: $ref: '#/components/schemas/type_:ResponseText' required: - responseText title: PayabliApiResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: requestToken ``` ## SDK Code Examples ```typescript AuthorizePayout import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.moneyOut.authorizeOut({ body: { entryPoint: "48acde49", paymentMethod: { method: "managed", }, paymentDetails: { totalAmount: 47, unbundled: false, }, vendorData: { vendorNumber: "7895433", }, invoiceData: [ { billId: 54323, }, ], orderDescription: "Window Painting", }, }); } main(); ``` ```python AuthorizePayout from payabli import payabli from payabli.money_out_types import AuthorizePaymentMethod, RequestOutAuthorizePaymentDetails, RequestOutAuthorizeVendorData, RequestOutAuthorizeInvoiceData client = payabli( api_key="YOUR_API_KEY_HERE", ) client.money_out.authorize_out( entry_point="48acde49", payment_method=AuthorizePaymentMethod( method="managed", ), payment_details=RequestOutAuthorizePaymentDetails( total_amount=47, unbundled=False, ), vendor_data=RequestOutAuthorizeVendorData( vendor_number="7895433", ), invoice_data=[ RequestOutAuthorizeInvoiceData( bill_id=54323, ) ], order_description="Window Painting", ) ``` ```csharp AuthorizePayout using PayabliPayabliApi; using System.Threading.Tasks; using System.Collections.Generic; namespace Usage; public class Example { public async Task Do() { var client = new PayabliPayabliApiClient( apiKey: "YOUR_API_KEY_HERE" ); await client.MoneyOut.AuthorizeOutAsync( new MoneyOutTypesRequestOutAuthorize { Body = new AuthorizePayoutBody { EntryPoint = "48acde49", PaymentMethod = new AuthorizePaymentMethod { Method = "managed" }, PaymentDetails = new RequestOutAuthorizePaymentDetails { TotalAmount = 47, Unbundled = false }, VendorData = new RequestOutAuthorizeVendorData { VendorNumber = "7895433" }, InvoiceData = new List(){ new RequestOutAuthorizeInvoiceData { BillId = 54323L }, } , OrderDescription = "Window Painting" } } ); } } ``` ```go AuthorizePayout package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api-sandbox.payabli.com/api/MoneyOut/authorize" payload := strings.NewReader("{\n \"entryPoint\": \"48acde49\",\n \"paymentMethod\": {\n \"method\": \"managed\"\n },\n \"paymentDetails\": {\n \"totalAmount\": 47,\n \"unbundled\": false\n },\n \"vendorData\": {\n \"vendorNumber\": \"7895433\"\n },\n \"invoiceData\": [\n {\n \"billId\": 54323\n }\n ],\n \"orderDescription\": \"Window Painting\"\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("requestToken", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby AuthorizePayout require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/MoneyOut/authorize") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["requestToken"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"entryPoint\": \"48acde49\",\n \"paymentMethod\": {\n \"method\": \"managed\"\n },\n \"paymentDetails\": {\n \"totalAmount\": 47,\n \"unbundled\": false\n },\n \"vendorData\": {\n \"vendorNumber\": \"7895433\"\n },\n \"invoiceData\": [\n {\n \"billId\": 54323\n }\n ],\n \"orderDescription\": \"Window Painting\"\n}" response = http.request(request) puts response.read_body ``` ```java AuthorizePayout import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api-sandbox.payabli.com/api/MoneyOut/authorize") .header("requestToken", "") .header("Content-Type", "application/json") .body("{\n \"entryPoint\": \"48acde49\",\n \"paymentMethod\": {\n \"method\": \"managed\"\n },\n \"paymentDetails\": {\n \"totalAmount\": 47,\n \"unbundled\": false\n },\n \"vendorData\": {\n \"vendorNumber\": \"7895433\"\n },\n \"invoiceData\": [\n {\n \"billId\": 54323\n }\n ],\n \"orderDescription\": \"Window Painting\"\n}") .asString(); ``` ```php AuthorizePayout request('POST', 'https://api-sandbox.payabli.com/api/MoneyOut/authorize', [ 'body' => '{ "entryPoint": "48acde49", "paymentMethod": { "method": "managed" }, "paymentDetails": { "totalAmount": 47, "unbundled": false }, "vendorData": { "vendorNumber": "7895433" }, "invoiceData": [ { "billId": 54323 } ], "orderDescription": "Window Painting" }', 'headers' => [ 'Content-Type' => 'application/json', 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift AuthorizePayout import Foundation let headers = [ "requestToken": "", "Content-Type": "application/json" ] let parameters = [ "entryPoint": "48acde49", "paymentMethod": ["method": "managed"], "paymentDetails": [ "totalAmount": 47, "unbundled": false ], "vendorData": ["vendorNumber": "7895433"], "invoiceData": [["billId": 54323]], "orderDescription": "Window Painting" ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/MoneyOut/authorize")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ```typescript WithImage import { PayabliClient } from "@payabli/sdk-node"; async function main() { const client = new PayabliClient({ apiKey: "YOUR_API_KEY_HERE", }); await client.moneyOut.authorizeOut({ body: { entryPoint: "48acde49", paymentMethod: { method: "managed", }, paymentDetails: { totalAmount: 47, }, vendorData: { vendorNumber: "7895433", }, invoiceData: [ { billId: 123, attachments: [ { filename: "bill.pdf", ftype: "pdf", furl: "https://example.com/bill.pdf", }, ], }, ], orderDescription: "Window Painting", }, }); } main(); ``` ```python WithImage from payabli import payabli, FileContent from payabli.money_out_types import AuthorizePaymentMethod, RequestOutAuthorizePaymentDetails, RequestOutAuthorizeVendorData, RequestOutAuthorizeInvoiceData client = payabli( api_key="YOUR_API_KEY_HERE", ) client.money_out.authorize_out( entry_point="48acde49", payment_method=AuthorizePaymentMethod( method="managed", ), payment_details=RequestOutAuthorizePaymentDetails( total_amount=47, ), vendor_data=RequestOutAuthorizeVendorData( vendor_number="7895433", ), invoice_data=[ RequestOutAuthorizeInvoiceData( bill_id=123, attachments=[ FileContent( filename="bill.pdf", ftype="pdf", furl="https://example.com/bill.pdf", ) ], ) ], order_description="Window Painting"