*** title: Run your payments with Payabli subtitle: 'Learn about Payabli''s three Ps: Pay In, Pay Out, Pay Ops' description: >- Discover the three core capabilities that power complete payment workflows. Master Pay In for receivables, Pay Out for payables, and Pay Ops for operations 'og:description': >- Discover the three core capabilities that power complete payment workflows. Master Pay In for receivables, Pay Out for payables, and Pay Ops for operations keywords: >- embedded payments, payment processing, accept payments, vendor payments, payables automation, payment operations, merchant onboarding, payment platform, payment workflows icon: circle-3 slug: guides/platform-payabli-three-ps-overview area: * Pay In * Pay Out * Pay Ops audience: * developers * partners * merchants *** Payabli is a comprehensive payment platform that helps you streamline your business's payment workflows. The platform is organized around three core areas: Pay In, Pay Out, and Pay Ops. With Payabli, you can manage incoming payments from customers, outgoing payments to vendors, and efficiently manage your payment operations. * [Pay In](#pay-in) — Features that help bring money in to your bank account. * [Pay Out](#pay-out) — Features that get your payables to your vendors. * [Pay Ops](#pay-ops) — Features that cover managing your payment operations. This guide gives you an overview of Payabli's robust features and capabilities in each of the three core areas. ## Pay In Payabli's Pay In features cover getting money *in* to your bank account. This starts with running sales transactions for your customers whether online, card-present, via subscriptions or one-time payments. Throughout the docs, "Pay In" is also referred to as "money in". Payabli's Pay In capabilities include: * Making sale transactions: either card-present with a device, via the API, embedded components, hosted payment pages, or via payment links. * Making recurring or scheduled transactions. * Saving payment methods for future use. This is also called "tokenization". * Invoicing customers to request payments. Learn more about Pay In: * [Pay In overview](/guides/pay-in-overview) (for all readers) * [Pay In API Endpoints](/developers/api-reference/moneyin/make-a-transaction) (for developers) ## Pay Out Payabli's Pay Out features cover getting your payables out of your bank and to your vendors. Throughout the docs, "Pay Out" is also referred to as "money out". You might be used to "payout" referring to getting your money from your processor. In Payabli, "payouts" are payments made *from* you *to* vendors you owe money to. Think of payouts as paying bills, not getting your check deposited. Payabli's Pay Out capabilities include: * Managed payables to make frictionless and secure payments to your vendors. * Billing engine to centralize your pay-out tasks in Payabli to track, manage, and monetize payments to vendors. Learn more about Pay Out: * [Pay Out Integration Guides](/guides/pay-out-overview) (for everyone) * [Pay Out API Endpoints](/developers/api-reference/moneyout/authorize-a-transaction-for-payout) (for developers) ## Pay Ops Payabli's Pay Ops features cover managing your payment operations. Payabli's Pay Ops capabilities include: * Merchant boarding * Robust reporting and notifications * Organization, paypoint, user, customer, and vendor management (known as entities in Payabli) * Managing disputes and compliance Learn more about Pay Ops: * [Pay Ops Integration Guides](/guides/pay-ops-overview) (for everyone) * [Pay Ops API Endpoints](/developers/api-reference/templates/generate-boarding-link-from-template) (for developers) *** title: How money moves icon: money-bill-transfer subtitle: >- Learn how transactions, batches, and transfers work together in Payabli to move money description: >- Understand how transactions, batches, and transfers work together to move money through Payabli. Follow the complete flow from payment capture to settlement 'og:description': >- Understand how transactions, batches, and transfers work together to move money through Payabli. Follow the complete flow from payment capture to settlement keywords: >- embedded payments, payment processing, accept payments, vendor payments, payables automation, transaction batching, payment settlement, money movement, payment transfers slug: guides/platform-how-money-moves-overview area: * Pay In * Pay Out subArea: * Making Transactions audience: * developers * partners * merchants *** When working with Payabli, whether with Pay In or Pay Out functions, you will see the terms *transaction*, *batch*, and *transfer* used frequently. This conceptual guide walks through the basics of what these terms mean in Payabli, and how they work together to move money. ## Processing overview Before we dive into the definitions for transactions, batches, and transfers, let's look at a high-level overview for how Payabli processes transactions. ### Money in processing First, a customer makes a payment using a payment method. If this transaction occurs before the batch cutoff time of 5 PM Eastern, the transaction gets grouped together with other transactions for the same day. If the transaction happens after the cutoff, it goes on the next day's batch. The batch is closed and then Payabli starts the transfer process, which settles the transactions and moves the net proceeds into the merchant's designated bank accounts automatically.
Transaction A customer makes a payment using a chosen payment method.
Batch The transaction is batched, and the batch is closed.
Transfer The transactions are settled and net proceeds are moved to the merchant's bank account.
You can see a detailed money in transaction flow in this [transaction lifecycle](/guides/pay-in-transactions-lifecycle-overview) example. ### Money out processing First, a paypoint creates a payout transaction to pay a vendor. There may or may not be a bill attached to the request. The rest of the money out process happens automatically. The payout transaction is batched with other payout transactions. Unlike the money in process where transactions are settled during the transfer, payout transactions are settled in the batch. When the batch status is Funded, the money has been received from the funding entity, which is typically the paypoint (merchant). After a batch is funded, the payouts are then sent to the vendors, and the batch status changes to Processed.
Transaction A paypoint creates a payout transaction to pay a vendor. A bill may or may not be attached.
Batch The payout transaction is batched with other transactions. Settlement occurs in the batch.
Funded When the batch status is Funded, the funding entity has transferred the money.
Processed After funding, payouts are sent to vendors, and the batch status changes to Processed.
## Transactions Pay In Pay Out Money in transactions are the individual actions like sales, captured authorizations, and refunds. Money out transactions are individual payouts to vendors. *Learn more*: * [Money in transaction statuses](/guides/pay-in-status-reference#money-in-transaction-status) * [Money out transaction statuses](/guides/pay-out-status-reference#payout-transaction-statuses) *In the API*: * [List transactions for paypoint](/developers/api-reference/query/get-list-of-transactions-for-an-entrypoint) * [List transactions for org](/developers/api-reference/query/get-list-of-transactions-for-an-organization) * [List money out transactions for paypoint](/developers/api-reference/query/get-list-of-payouts-for-entrypoint) * [List money out transactions for org](/developers/api-reference/query/get-list-of-payouts-for-organization) ## Batches Pay In Pay Out A batch, also known as a payment group, groups transactions for efficient processing. Batches are automatically created by the system at a predetermined time each day (the Payabli default is 5:00 PM Eastern). However, a batch isn't the same thing as a transfer. You can think of a batch like a shopping cart at a grocery store. While you're shopping, you add items to your cart. The cart is your "batch." Everything in the cart is temporary and you can change the contents while you're shopping. You can add more items, swap items, or put something back on the shelf. When you're done shopping and are ready to check out, the batch (your shopping cart) closes and gets "processed". The cashier scans your items, and you pay. The cart is empty again, ready for the next shopping trip. In transaction processing, the contents of the batch are only temporary and can be adjusted until the batch is closed and sent to be processed. The batch is cleared out after processing, just like how your cart is empty once you've checked out. Money in and money out transactions are batched separately and don't intermingle. *Learn more*: * [Money in transaction lifecycle example](/guides/pay-in-transactions-lifecycle-overview) * [Money out batches and funding](/guides/pay-out-schemas-overview#batches-and-funding) * [Money in batch statuses](/guides/pay-in-status-reference#batch-status) * [Money Out batch statuses](/guides/pay-out-status-reference#batch-statuses) *In the API*: * [List of batches for a paypoint](/developers/api-reference/query/get-list-of-batches-for-an-entrypoint) * [List of batches for an org](/developers/api-reference/query/get-list-of-batches-for-an-organization) * [List money out batches for paypoint](/developers/api-reference/query/get-list-of-moneyout-batches-for-an-entrypoint) * [List money out batches for an org](/developers/api-reference/query/get-list-of-moneyout-batches-for-an-org) ## Transfers Pay In A transfer is the process of balancing the ledger and moves money to merchants. You can think of it as a group of transactions, fees, and adjustments for a deposit. **Transfers apply only to money in**. Money out settlement works differently, and the funding of payouts is tied to batches. See [Money Out: Batches and Funding](/guides/pay-out-schemas-overview#batches-and-funding) for more info. A transfer is a complex entity, made up of several elements: * The transactions that are ready to settle * ACH returns or chargebacks that need adjustments on that day * Billing and fees due that day * Other adjustments to be applied on that day ***Negative transfer amounts*** If a transfer's total transactions to be paid is less than the total of returns, chargebacks, billing and fees, or other adjustments, the transfer amount will be debited from your account instead of a deposit. For example, if the processed transactions total \$100, but the total of returns, chargebacks, and other adjustments is \$200, your account will be debited the \$100 difference to balance the ledger. When a transfer has a positive net amount, the funds are automatically deposited into the merchant's accounts. In the case of a transfer with a negative net amount, the funds are automatically debited from the merchant's accounts. *Learn more*: * [Money in transfer statuses](/guides/pay-in-status-reference#transfer-status) *In the API*: * [Get a list of transfers for a paypoint](/developers/api-reference/query/get-list-of-transfers) * [Get a transfer's details](/developers/api-reference/query/get-list-of-transfer-details) ### Transfer funding times Depending on the funding type set up for Payabli account, how long it takes to receive the funds from transfers can vary. If you have questions about your funding type, reach out to the Payabli team. Batch cutoff is 5 PM Eastern. Any transactions made after the cutoff are added to the next day's batch. This table has several examples that help you understand when the funds from a transaction will be deposited into the merchant's account.
Review Period Transaction Time Transaction Day Batch Day Fund Day
0 4:59 PM ET Monday Monday Tuesday
0 11:59 PM ET Monday Tuesday Wednesday
1 4:59 PM ET Monday Monday Wednesday
1 11:59 PM ET Monday Tuesday Thursday
2 4:59 PM ET Monday Monday Thursday
2 11:59 PM ET Monday Tuesday Friday
**Key**: * **Review Days**: Also known as hold days, this is how many days the funds are reviewed or monitored. * **Transaction Time**: The time the transaction was made. Batches close at 5 PM Eastern time, and transactions made after the cutoff are placed in the next day's batch. * **Transaction Day**: The day the transaction is made. * **Batch Day**: The day's batch that the transaction is added to for processing. * **Fund Day**: The day the merchant's bank receives the money. ## Learn more This page is meant to cover the high-level overview of how money moves with Payabli. You can get into the Pay In and Pay Out function details with these overview guides: * [Pay In Overview](/guides/pay-in-overview) * [Pay Out Overview](/guides/pay-out-overview) *** title: Payment glossary subtitle: Understand common terms used in Payabli and across the payments industry icon: book-font slug: guides/platform-payment-glossary area: * Pay In * Pay Out * Pay Ops audience: * developers * partners * merchants description: >- Master payment industry terminology with a comprehensive glossary covering Pay In, Pay Out, and Pay Ops. Understand ACH, tokenization, chargebacks, and more 'og:description': >- Master payment industry terminology with a comprehensive glossary covering Pay In, Pay Out, and Pay Ops. Understand ACH, tokenization, chargebacks, and more keywords: >- embedded payments, payment processing, accept payments, vendor payments, payables automation, payment operations, merchant onboarding, payment glossary, payment terms, industry terminology, payment definitions ***
ACH Industry Concept
Electronic, bank-to-bank money transfers processed through the Automated Clearing House (ACH) Network. According to Nacha, the association responsible for these transfers, the ACH network is a batch processing system that banks, and other financial institutions use to aggregate these transactions for processing.
ACH Return Pay In Pay Ops
An ACH return is a message that lets the ODFI know the ACH Network couldn't make the deposit or collect funds from the receiver's account (RDFI). See [Payment Disputes](/guides/pay-ops-disputes-chargebacks-returns-overview) for more information.
Account Number Industry Concept Pay In Pay Out
An issuer-assigned number that identifies an account for posting transactions.
Acquirer Industry Concept
A financial institution or Merchant Service Provider (MSP) that facilitates and manages credit card processing on behalf of a merchant customer.
Acquirer Bank Industry Concept
The bank or financial institution that holds the merchant's bank account that receives deposits from transaction processing proceeds.
Acquiring Processor Industry Concept
The credit card processing entity an acquirer partners with to provide merchants with transaction clearing, settlement, billing, and reporting services.
Address Verification System (AVS) Industry Concept
The AVS is a service provided by credit card issuers to authenticate the purchaser (customer) as the authorized cardholder.
Authorization Industry Concept Pay In Pay Out
An approval code issued by or on behalf of a cardholder's issuing bank to validate a transaction for a merchant or affiliate bank.
Authorization Response Pay In
The card issuer institution's electronic message to an authorization request from a merchant. This is most often provided via Point-of-Sale (POS) equipment or a credit card reader.
Auto Close Pay In
A feature built into some point-of-sale software and credit card machines that allow automatic batch closing (settlement) at a certain time.
Bank Identification Number (BIN) Acquirer Industry Concept
A unique 6-digit number assigned by Visa to each acquirer. Mastercard has a similar identifier called ICA (Interbank Card Association).
Bank Identification Number (BIN) Issuer Industry Concept
A six-digit number that identifies the card issuer and is part of the entire payment card number on a payment card.
Batch Pay In Pay Out
A group of payments sent for processing per paypoint. Batches are automatically created by Payabli and are processed at the end of each day. Batches can be money in or money out.
Bill Pay Out
In Payabli, bills represent an invoice from a vendor that a paypoint is expected to pay. See [Add Bills](/guides/pay-out-developer-bills-manage) for more information.
Boarding Pay Ops
Boarding is a process that includes gathering the necessary information from a merchant for underwriting, and setting them up to process payments.
Boarding Application Pay Ops
Online form used to collect data for both money in and money out boarding processes. For money in, the form collects relevant merchant data before enabling them to begin processing customer payments. For money out, the form collects relevant information from each paypoint that want to use Payabli's platform to issue payments to their vendors.
Boarding Links Pay Ops
Boarding links allow you to send a link to an onboarding application to a merchant. The link can be sent either via email or by cutting and pasting the link to the application template.
Card-Not-Present Pay In
A type of card transaction where card isn't present at the point-of-sale.
Card Validation Code (CVV2, CVC2, CVD, CID) Pay In
A Card Verification Value (CVV) is the three-digit or four-digit value card used to verify card-not-present transactions.
Cardholder Data Industry Concept
All Personally Identifiable Information (PII) associated with a cardholder.
Chargeback Pay In Pay Ops Industry Concept
A chargeback provides cardholders with a way to dispute a transaction with a merchant. In a chargeback, the card issuer withholds the disputed funds from the business until the card issuer works things out and decides what to do. If the merchant loses the dispute, the withheld funds are returned to the cardholder. If the merchant wins the dispute, the disputed funds are returned to the merchant. See [Chargebacks and ACH Returns](/guides/pay-ops-disputes-chargebacks-returns-overview) .
Customer Pay In Pay Ops
The customer is the entity that pays the paypoint for whatever good or service they're consuming. Customers can have several pay methods associated with them. For example, a customer might have saved methods for a Visa and AMEX card, and a bank account on file for ACH. Customers can also have several payers associated with them. For example, a student could be the customer of a school, but the two separate parents can each be associated with that student.
Debit Card Pay In Industry Concept
A debit card, sometimes called a *check card* , is linked to a source of funds, typically a cardholder's checking account. Unlike a credit card which extends credit to the cardholder, the debit card uses the connected account's available balance for transactions.
Discount Fee Pay In Pay Ops Industry Concept
A processing fee charged to merchants for payment card transactions, traditionally deducted or "discounted" from each transaction amount before settlement. The term is used even when fees are collected monthly or on other schedules. For example, a 3% discount fee on a $100 transaction would traditionally result in $ 97 being deposited to the merchant, with $3 retained as the fee. See [Discount Fees](/guides/pay-ops-billing-and-fees-overview#discount-fees) for more information.
Dispute Pay In Pay Ops Industry Concept
A dispute is a disagreement between a cardholder and a merchant about a transaction. Disputes can be initiated by the cardholder, the card issuer, or the merchant. See [Chargebacks and ACH Returns](/guides/pay-ops-disputes-chargebacks-returns-overview) for more information.
Entity Pay Ops
Entities are the different hierarchical categories that make up Payabli's infrastructure. Entities consist of: organizations, paypoints, customers, and vendors.
Entrypoint Pay In Pay Out Pay Ops
Entrypoint is an alias ID assigned by Payabli to identify an organization or paypoint. See [Entrypoint Overview](/developers/api-reference/api-overview#entrypoint-vs-entry) for more information.
FBO Account Pay Ops Industry Concept
Custodial account that lets a company manage funds on behalf of, or "for the benefit of" their users without assuming legal ownership of that account.
Invoice Pay In
An invoice is an itemized list of goods and services that a paypoint sends to a customer, expecting payment.
Money In Pay In
Also known as Pay In, money in processes allow merchants to collect money from their customers.
Money Out Pay Out
Also known as Pay Out, money out processes allow merchants to send payments from their business to suppliers and vendors.
Nacha Industry Concept
Nacha governs the ACH Network, the payment system that drives direct deposits and direct payments to all U.S. bank and credit union accounts.
ODFI Pay Ops Industry Concept
An ODFI, or Originating Depository Financial Institution, is the bank that initiates ACH transactions on behalf of the originator (such as a merchant using Payabli to process payments). The ODFI sends the ACH files to the ACH operator as part of the electronic funds transfer process.
Organization Pay Ops
Software platform or other entity that manages a network of merchants (paypoints).
PartnerHub Pay In Pay Out Pay Ops
PartnerHub is the web app for organizations to manage their sub-organizations, paypoints, customers, and vendors.
PayHub Pay In Pay Out Pay Ops
PayHub is the web app for paypoints to manage their customers and vendors.
Pay Ops Pay Ops
Pay Ops processes and tools let you manage payment operations such as boarding, disputes, and compliance.
Paypoint Pay In Pay Out Pay Ops
A Paypoint represents a merchant that's accepting payment from customers or sending payments to vendors and suppliers.
PCI Industry Concept
The Payment Card Industry Data Security Standard (PCI DSS) and supporting documents are a set of industry tools that guide the proper handling of cardholder data. The standard itself provides a framework for creating robust security processes that include preventing, detecting, and responding to security incidents. All entities that store, process, or transmit cardholder data must be PCI compliant.
POI Pay In Industry Concept
A Point of Interaction (POI) is the location where card data is captured via integrated software and hardware during a transaction. In the context of Payabli, POI refers to cloud devices, and these devices typically process transactions via integrated circuit (chip) technology and/or magnetic stripe cards.
Portfolio Pay Ops
A collection of an organization's sub-organizations and paypoints.
Residual Income Pay Ops Industry Concept
Income from processing transactions on behalf of merchants.
Retrieval Request Pay Ops Industry Concept
A retrieval request is a process initiated by a credit card issuer on behalf of a cardholder who disputes a transaction, requesting documentation from the merchant to validate the transaction in question before deciding whether to proceed with a chargeback.
RDFI Pay Ops Industry Concept
An RDFI, or Receiving Depository Financial Institution, is the bank of the receiver in an ACH transaction. The RDFI is where the receiver's account is held and where funds are deposited to or debited from by the ACH network.
Sandbox Pay Ops
The sandbox is a simulation environment used to test the API and web app.
Sub-organization Pay Ops
Organizations can create sub-organizations to group and manage paypoints, like value-added resellers (VARs), associations, market segments, and so on.
Tokenization Pay In Industry Concept
Tokenization is the process of exchanging sensitive data for nonsensitive data called "tokens". You can then use these tokens in a database or internal system without bringing customer card data into your PCI scope. Payabli refers to the process of saving customer payment methods as tokenization. See [Tokenization Overview](/guides/platform-tokenization-overview) for more information.
Users Pay Ops
Users in Payabli have access to tools like the API, PartnerHub, or PayHub.
Vendor Pay Out Pay Ops
Vendors are businesses that are added as entities in Payable to receive payments from your paypoints.
*** title: Get started with Payabli subtitle: Learn how to get from signing with Payabli to your first residual check description: >- Launch your payment business with a clear roadmap from signing up to first transaction. Navigate integration planning, testing, boarding, and production launch 'og:description': >- Launch your payment business with a clear roadmap from signing up to first transaction. Navigate integration planning, testing, boarding, and production launch keywords: >- embedded payments, payment processing, accept payments, vendor payments, payables automation, payment operations, merchant onboarding, getting started, integration guide, payment platform slug: guides/platform-getting-started-overview icon: play layout: reference audience: * partners * merchants area: * Pay In * Pay Out * Pay Ops *** Getting started with Payabli is a multi-step process that takes you from your initial sign up to running your first live transactions. This guide outlines the key stages in the process. Our team guides you each step of the way to help you integrate Payabli's payment solutions into your app, ensuring a smooth transition to monetizing payments for your business. After you've signed with Payabli, our team of experts will guide you through several stages to get you integrated and ready to monetize payments. This diagram explains the high-level steps to going live with Payabli. Hover over a step for more information.
Integration Planning Payabli and the partner work together to plan the integration.
Sandbox Setup Payabli sets up a sandbox environment and onboard partners.
Integration Partners build the integration with Payabli.
Certification Partners test their integration and Payabli certifies it.
Production setup Payabli sets up your production environment.
GTM planning Plan the go-to-market strategy for the production environment.
Pilot Paypoint Launch the production pilot paypoint.
Ongoing Support Payabli provides ongoing support for the integration.
Here's what you can expect between signing up with Payabli and running your first transactions in production. Before you can get started building your integration, you'll meet with the Payabli team for planning. This planning process makes sure that the integration work goes smoothly. The process begins with a mutual discovery call. This is an integration discovery session where you and Payabli discuss our businesses, goals, and needs for the partnership. Payabli hosts a kickoff call to help set expectations and understand your business needs. On this call, we'll discuss things like: * Use cases * Customer personas * Boarding strategy * Embedded Component Strategy * Payment modes and devices * Stakeholders and contacts * Client Success strategy and expectations * General timelines and expectations We'll use this call to finalize the initial scope of the project. If needed, you'll meet with a Payabli Solution Engineer to work out and confirm specific technical details of your integration. Before you move on to build and test your integration, the Payabli team will work with you to confirm a merchant onboarding strategy and your integration path. Behind the scenes, the Payabli team prepares a sandbox environment for you to use for building and testing your integration. We'll share access details with you in an integration quickstart guide. After you have access to the sandbox environment, you can build your integration. Your Payabli Solution Engineer is available to support you during your integration. You can learn more about integrating in our [Getting Started Guide](/developers/platform-developer-quickstart) for developers. When your integration is done, the Payabli team will give you a testing plan to complete. We'll review the plan when you're done and work with you to correct any issues. Finally, when you're ready, you'll host a demo of the integration for the Payabli team. Your demo should showcase: * Setup steps and requirements * How a payment is done in your app * Merchant Boarding experience After your integration is certified, the Payabli team will configure your production access. Behind the scenes, we'll take care of things like: * Parent organization and suborganization setup * Creating API tokens * Confirming and configuring custom identifiers * Creating your root boarding template We'll share the production environment access details with you. The Payabli team will host a GTM planning call with you to plan the details for taking your integration live and onboarding merchants. In this call, you can expect to: * Review the production version of PartnerHub * Review boarding template * Review notifications and webhooks * Review users and permissions in production * Confirm pricing and configuration and funding * Confirm custom identifiers * Review suborganization architecture (if applicable) * Confirm client success strategy * Review available help resources * Discuss pilot merchants and white-glove boarding * Discuss messaging and marketing support * Discuss residuals details We'll also introduce the Client Success team and confirm support expectations with you. The next step is to pilot Payabli integration with a merchant. The merchant goes through the whole boarding process and, if approved, is converted a paypoint. 1. Merchant completes and submits a boarding application. 2. Payabli underwrites the merchant. 3. When approved, we'll set up the paypoint's services and activate the paypoint. 4. The Payabli team verifies that the paypoint's production account is configured correctly. From here, you work with the Payabli team throughout the pilot to make sure everything is working as expected. After a successful pilot, you can decide when to onboard the rest of your merchants with Payabli. After you go live with paypoints, Payabli provides ongoing support with issues ranging from merchant PCI compliance, production issues, and integration problems. You will also work with Payabli on any ongoing integration enhancements. ## 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 * **[Getting started for developers](/developers/platform-developer-quickstart)** - Learn how to build a world-class payments integration with Payabli *** title: Pay In overview subtitle: >- Learn more about Payabli's Pay In features, and find all the guides in one place description: >- Explore Pay In features for accepting payments through cards, ACH, checks, digital wallets, and hosted pages. Find guides for every payment method and channel 'og:description': >- Explore Pay In features for accepting payments through cards, ACH, checks, digital wallets, and hosted pages. Find guides for every payment method and channel keywords: >- embedded payments, payment processing, accept payments, card payments, ACH processing, digital wallets, payment methods slug: guides/pay-in-overview icon: circle-info area: * Pay In audience: * developers *** Payabli's Pay In features cover getting money *in* to your bank account. This starts with running sales transactions for your customers whether online, card-present, via subscriptions or one-time payments. Payabli's Pay In capabilities include: * Making sale transactions: either card-present with a device, via the API, embedded components, hosted payment pages, the virtual terminal in the UI, or via payment links. * Making recurring or scheduled transactions. * Saving payment methods for future use. This is also called "tokenization". * Invoicing customers to request payments. ## References These reference guides cover schemas, statuses, and error codes related to Pay In. * [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 * [Pay In TransEvent reference](/guides/pay-in-transevents-reference) — Learn about TransEvent values for pay in transactions * [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) — Complete reference for Payabli's unified Pay In transaction response codes * [ACH return codes reference](/guides/platform-ach-return-codes-reference) — Understand how to handle different types of ACH returns * [Payment response codes & errors](/guides/platform-return-codes-and-errors-reference) — Learn about payment response codes for different payment methods * [Payment methods for testing](/guides/test-accounts-reference) — Use these payment methods to test your integration with Payabli ## Making transactions If you want to learn more about making transactions with Payabli, use these guides to get started. ### One-time transactions These guides cover tasks associated with one-time transactions. * [Capturing in-person checks](/guides/pay-in-checks-rdc-overview) — Learn how to use RDC (remote deposit capture) to convert paper checks into electronic payments * [Use Remote Deposit Capture (API)](/guides/pay-in-developer-checks-rdc) — Learn how to use RDC (remote deposit capture) to convert paper checks received in-person into electronic payments via the API * [Authorize & capture transactions](/guides/pay-in-developer-transactions-auth-capture) — Learn how to authorize and capture payments for settlement using the API * [Process card payments in Canada](/guides/pay-in-developer-transactions-canada) — Learn how to process card payments in Canada via the API * [Cancel a Pay In transaction with the API](/guides/pay-in-developer-transactions-cancel) — Learn how to cancel a Pay In transaction using the API * [Make a sale with a saved payment method](/guides/pay-in-developer-transactions-card-on-file) — Learn how to make a sale transaction via the API with a customer's saved payment method * [Make a sale transaction with the API](/guides/pay-in-developer-transactions-create) — Learn how to authorize and capture a sales transaction in one step using the API * [Make transactions from the UI](/guides/pay-in-portal-transactions-create) — Learn how to create transactions from the Payabli UI * [Manage Pay In transactions in the UI](/guides/pay-in-portal-transactions-reports) — Learn about reporting on and managing Pay In transactions in the Payabli UI ### Subscriptions and autopays These guides cover tasks associated with subscriptions, scheduled payments, and autopay transactions. * [Manage subscriptions with the API](/guides/pay-in-developer-subscriptions-manage) — Learn how to create, update, and delete your scheduled, subscription, and autopay transactions with the Payabli API * [Subscription utility code](/guides/pay-in-developer-subscriptions-utilities) — Use example code to enhance your subscription management via the API * [Manage autopays in the UI](/guides/pay-in-portal-autopays-manage) — Learn how to set up and manage recurring payments in the Payabli UI ### Digital wallets These guides cover configuring acceptance for digital wallets. * [ExpressCheckout UI](/guides/pay-in-components-express-checkout) — Learn how to use the ExpressCheckout UI component on your site or in your app to securely accept digital wallet payments * [Accept Apple Pay on a payment page](/guides/pay-in-developer-payment-page-apple-pay) — Learn how to accept Apple Pay on a hosted payment page * [Activate Apple Pay (API)](/guides/pay-in-developer-wallets-apple-pay-enable) — Learn about setting up Apple Pay via the Payabli API * [Manage Apple Pay (API)](/guides/pay-in-developer-wallets-apple-pay-manage) — Learn about managing Apple Pay and payment method domains via the Payabli API * [Activate Google Pay™ (API)](/guides/pay-in-developer-wallets-google-pay-enable) — Learn about setting up Google Pay via the Payabli API * [Manage Google Pay™ (API)](/guides/pay-in-developer-wallets-google-pay-manage) — Learn about managing Google Pay and payment method domains via the Payabli API * [Apple Pay overview](/guides/pay-in-wallets-apple-pay-overview) — Learn about using Apple Pay with Payabli * [Google Pay™ overview](/guides/pay-in-wallets-google-pay-overview) — Learn about using Google Pay with Payabli ### Card present (devices) These guides cover using cloud devices, also known as terminals, for making card-present payments. * [Manage cloud devices](/guides/pay-in-developer-devices-manage) — Learn how to register, unregister, and list cloud devices for making card-present sales * [PAX A920 guide](/guides/pay-in-developer-devices-pax-a920-setup) — Learn how to set up and register a PAX A920 device with the API to make card-present sales * [Devices overview](/guides/pay-in-devices-overview) — Learn the basics of using the Devices API to accept in-person payments * [Set up a PAX A920 device in PayHub](/guides/pay-in-portal-device-setup-pax-a920) — Learn how to set up a PAX A920 device in PayHub to make card-present sales ### Routing funds Learn how to route funds from your Pay In transactions to different bank accounts or sub-merchants. * [Route funds from a transaction](/guides/pay-in-developer-routing-multiple-accounts) — Route funds from transactions to different bank accounts for a single paypoint * [Refund a split funded transaction](/guides/pay-in-developer-routing-refund-split) — Learn how to refund a transaction that was sent with split instructions * [Split funds from a transaction](/guides/pay-in-developer-routing-split-funds) — Split funds from a transaction into different bank accounts or paypoints * [Fund routing overview](/guides/pay-in-routing-overview) — Learn your options for sending Pay In funds into different accounts * [Split payment chargebacks & returns](/guides/pay-in-split-disputes-overview) — Learn how Payabli handles chargebacks and ACH returns for split transactions ### Remote Deposit Capture (RDC) These guides cover using Remote Deposit Capture (RDC) to convert paper checks into electronic payments. * [Capturing in-person checks](/guides/pay-in-checks-rdc-overview) — Learn how to use RDC (remote deposit capture) to convert paper checks into electronic payments * [Use Remote Deposit Capture (API)](/guides/pay-in-developer-checks-rdc) — Learn how to use RDC (remote deposit capture) to convert paper checks received in-person into electronic payments via the API ## Refunds These guides cover handling refunds for Pay In transactions. * [Cancel a Pay In transaction with the API](/guides/pay-in-developer-transactions-cancel) — Learn how to cancel a Pay In transaction using the API * [Enhanced refund flow](/guides/pay-in-refunds-enhanced-flow-overview) — Learn how the Enhanced Refund Flow feature works to make card refunds more efficient * [Understand refunds & failures](/guides/pay-in-refunds-failures-overview) — Learn about refunds and what to do when refunds fail * [Split payment chargebacks & returns](/guides/pay-in-split-disputes-overview) — Learn how Payabli handles chargebacks and ACH returns for split transactions ## Invoice customers Learn how to send invoices and create payment links so customers can pay your merchants. * [Manage invoices with the API](/guides/pay-in-developer-invoices-manage) — Learn how to create, update, delete, and send invoices with the Payabli API * [Pay by SMS](/guides/pay-in-developer-invoices-pay-by-sms) — Learn how pay by SMS works with Payabli * [Manage Payment Links](/guides/pay-in-developer-payment-links-manage) — Learn how to generate, send, and manage payment links via the API * [Decision guide: Invoice delivery](/guides/pay-in-invoicing-delivery-decision) — Use this guide to help you choose the right approach for creating and delivering invoices to customers * [Manage invoices in the UI](/guides/pay-in-portal-invoices-manage) — Learn how to create, send, and manage invoices in the Payabli UI * [Bills & invoices](/guides/platform-bills-vs-invoices) — Learn the difference between bills and invoices * [Manage line items with the API](/guides/platform-developer-line-items-manage) — Learn how to add and manage line items for products and services via the API * [Manage line items & the catalog from the UI](/guides/platform-portal-catalog-manage) — Learn how to manage products and services in the Payabli UI ## Save payment information Learn about saving (tokenizing) payment information for future use with Payabli. * [EmbeddedMethod UI](/guides/pay-in-components-embeddedmethod-ui) — Learn how to use the EmbeddedMethod UI embedded component to add the ability to securely store a payment profile or execute a sale * [PayMethod UI](/guides/pay-in-components-paymethod-ui) — Learn how to use the PayMethod UI embedded component to securely store a payment profile with a low-code modal-based UI. * [Make a sale with a saved payment method](/guides/pay-in-developer-transactions-card-on-file) — Learn how to make a sale transaction via the API with a customer's saved payment method * [Save a payment method with the API](/guides/platform-developer-tokenization-save-method) — Learn how to use the Payabli API to add and manage saved payment methods * [Share payment method tokens (developers)](/guides/platform-developer-tokenization-share-tokens) — Learn how to use organization or network tokens across paypoints * [Extend embedded components with the temporary token flow (for developers)](/guides/platform-developer-tokenization-temp-flow) — Use the temporary token flow with embedded components to have complete control over user transaction experience without expanding PCI scope * [Payment method tokenization](/guides/platform-tokenization-overview) — Learn how payment method tokenization secures sensitive data and enhances security for your payments * [Temporary token example app (for developers)](/guides/platform-tokenization-temp-token-app) — Go through a guided checkout experience using the temporary token flow ## Embedded components These guides cover using Payabli's embeddable components to make transactions and save payment methods without expanding your PCI scope. * [EmbeddedMethod UI](/guides/pay-in-components-embeddedmethod-ui) — Learn how to use the EmbeddedMethod UI embedded component to add the ability to securely store a payment profile or execute a sale * [ExpressCheckout UI](/guides/pay-in-components-express-checkout) — Learn how to use the ExpressCheckout UI component on your site or in your app to securely accept digital wallet payments * [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 * [PayMethod UI](/guides/pay-in-components-paymethod-ui) — Learn how to use the PayMethod UI embedded component to securely store a payment profile with a low-code modal-based UI. * [Embedded component playground](/guides/pay-in-components-playground) — Design, test, and preview the embedded components from your browser * [VirtualTerminal UI](/guides/pay-in-components-virtual-terminal-ui) — Learn how to use the VirtualTerminal UI component on your site or in your app to securely accept payments * [Embedded components framework integrations](/guides/pay-in-developer-components-frameworks) — Learn how to use Payabli's embedded components with front-end frameworks like React and Vue * [Build your own components](/guides/platform-creator-overview) — Use Creator to build your own PCI-compliant embeddable components with no code * [Extend embedded components with the temporary token flow (for developers)](/guides/platform-developer-tokenization-temp-flow) — Use the temporary token flow with embedded components to have complete control over user transaction experience without expanding PCI scope * [Temporary token example app (for developers)](/guides/platform-tokenization-temp-token-app) — Go through a guided checkout experience using the temporary token flow ## Hosted Payment Pages These guides cover using Payabli's Hosted Payment Pages to make transactions and save payment methods without expanding your PCI scope. * [Accept Apple Pay on a payment page](/guides/pay-in-developer-payment-page-apple-pay) — Learn how to accept Apple Pay on a hosted payment page * [Hosted payment page overview & quickstart](/guides/pay-in-payment-page-overview) — Build payment pages with no code, send to customers, and get paid with limited effort ## Reporting Learn how to report on and manage your Pay In transactions, batches, disputes, and adjustments. * [Manage Pay In batches & funding in the UI](/guides/pay-in-portal-batches-funding-manage) — Learn how to report on and manage Pay In batches and funding in the Payabli UI * [Manage ACH returns & chargebacks in the UI](/guides/pay-in-portal-disputes-manage) — Learn how to manage payment disputes like ACH returns and chargebacks in the Payabli UI * [Manage Pay In transactions in the UI](/guides/pay-in-portal-transactions-reports) — Learn about reporting on and managing Pay In transactions in the Payabli UI * [Reconcile adjustments in transfers](/guides/pay-ops-developer-transfers-reconcile) — Learn how to use the Payabli API to track adjustments, such as ACH returns and chargebacks, in your money in transfers ## General learning guides These guides cover general Pay In topics that can help you understand how Pay In works. * [ACH payments cycle](/guides/pay-in-ach-cycle-overview) — Learn how ACH transactions work * [Credit card payments cycle](/guides/pay-in-cards-cycle-overview) — Learn how credit card transactions work * [Pass-through fees](/guides/pay-in-fees-passthrough-overview) — Learn how pass-through fees work in Payabli * [Understanding CIT & MIT indicators](/guides/pay-in-transactions-cit-mit-overview) — Learn about Cardholder Initiated Transaction (CIT) and Merchant Initiated Transaction (MIT) indicators for Pay In transactions * [Level II & level III processing](/guides/pay-in-transactions-l2-l3-overview) — Learn about the fields required for Level I, II, and III processing * [Pay in transaction lifecycle](/guides/pay-in-transactions-lifecycle-overview) — Learn about the Pay In transaction lifecycle and its stages and statuses * [Pay In quickstart](/guides/pay-in-transactions-quickstart) — Learn how to tokenize a payment method and make your first Pay In transaction * [How money moves](/guides/platform-how-money-moves-overview) — Learn how transactions, batches, and transfers work together in Payabli to move money ## Troubleshooting If you run into issues while using Payabli's Pay In features, check out [the Pay In troubleshooting guide](/guides/pay-in-troubleshooting) for help resolving common problems. *** title: Pay In quickstart subtitle: Learn how to tokenize a payment method and make your first Pay In transaction description: >- Process your first Pay In transaction with Payabli using an interactive browser-based demo. Tokenize a payment method and complete a sale in just a few steps 'og:description': >- Process your first Pay In transaction with Payabli using an interactive browser-based demo. Tokenize a payment method and complete a sale in just a few steps keywords: >- embedded payments, Pay In quickstart, payment processing, tokenize payment, first transaction, payment API, getting started icon: split slug: guides/pay-in-transactions-quickstart area: * Pay In subArea: * Making Transactions audience: * developers * partners *** Get started with payment processing in minutes using this interactive browser-based demo, which uses a mock server to simulate real API requests and responses. Follow along to see how easy it can be to tokenize a payment method and process a transaction with Payabli. {/* vale Payabli.We = NO */} ## Before you begin **This quickstart uses a mock server for educational purposes only**. In your own testing and integration, you must use a PCI-compliant method to handle payment data, such as the [Payabli Embedded MethodUI Component](/guides/pay-in-components-embeddedmethod-ui) or your own secure server-side implementation. Never handle raw payment data directly in your application. Payment card information (card numbers, CVV codes, and so on) is subject to strict PCI DSS (Payment Card Industry Data Security Standard) compliance requirements. Non-compliant handling of payment data can result in: * Significant financial penalties * Legal liability for data breaches * Loss of payment processing privileges Now that the warnings are out of the way, let's get started! In this quickstart, you'll complete two main tasks: 1. **Tokenize a payment method** - Convert card payment details into a secure token 2. **Process a transaction** - Use that token to complete a payment You don't need to download anything, set anything up, or have an API token. Just follow the steps and interact with the mock API requests directly in your browser. ## Step 1: Tokenize a payment method Payment tokenization converts sensitive payment details into a secure, single-use token that can be safely transmitted and stored. Remember that this is a simulated tokenization for learning purposes only, and not PCI-compliant. Refer back to [Before you begin](#before-you-begin) for more information. All required fields are prefilled for you, but feel free to add or change details to see how it works. When you're ready, click **Send Request** to simulate tokenizing the card. This quickstart tokenizes a credit card, but you can also tokenize bank accounts (ACH). Learn more in the [Tokenization overview](/guides/platform-developer-tokenization-save-method) guide. The mock server simulates the secure tokenization process and returns a secure token instead of storing raw card data. Copy the value from `methodReferenceId` in the response to use in the next step. ## Step 2: Process a transaction Now use your token to process a payment. Grab the `methodReferenceId` returned in Step 1 and enter it in `paymentMethod.storedMethodId`, along with an amount to charge. When you're ready, click **Send Request** to simulate processing the payment. We've simplified the request for this demo, but for a real transaction, you can include additional details like customer info, billing address, and so on. The mock server simulates the payment using the tokenized payment method, and returns a success response. In a real integration, you would handle the response to confirm the payment status and update your app accordingly. ## Next steps Now that you've seen how easy it can be to tokenize a payment method and process a transaction, you're ready to explore more advanced resources. * [EmbeddedMethod UI](/guides/pay-in-components-embeddedmethod-ui) — Learn how to use the EmbeddedMethod UI embedded component to add the ability to securely store a payment profile or execute a sale * [Make a sale transaction with the API](/guides/pay-in-developer-transactions-create) — Learn how to authorize and capture a sales transaction in one step using the API * [Payment method tokenization](/guides/platform-tokenization-overview) — Learn how payment method tokenization secures sensitive data and enhances security for your payments * [Webhook notification response reference](/guides/pay-ops-webhooks-payloads) — Learn more about the payload for each webhook notification response body * [Extend embedded components with the temporary token flow (for developers)](/guides/platform-developer-tokenization-temp-flow) — Use the temporary token flow with embedded components to have complete control over user transaction experience without expanding PCI scope * [Share payment method tokens (developers)](/guides/platform-developer-tokenization-share-tokens) — Learn how to use organization or network tokens across paypoints * [Payment method tokenization](/guides/platform-tokenization-overview) — Learn how payment method tokenization secures sensitive data and enhances security for your payments * [Understanding CIT & MIT indicators](/guides/pay-in-transactions-cit-mit-overview) — Learn about Cardholder Initiated Transaction (CIT) and Merchant Initiated Transaction (MIT) indicators for Pay In transactions * [Pay in transaction lifecycle](/guides/pay-in-transactions-lifecycle-overview) — Learn about the Pay In transaction lifecycle and its stages and statuses * [Credit card payments cycle](/guides/pay-in-cards-cycle-overview) — Learn how credit card transactions work * [ACH payments cycle](/guides/pay-in-ach-cycle-overview) — Learn how ACH transactions work * [How money moves](/guides/platform-how-money-moves-overview) — Learn how transactions, batches, and transfers work together in Payabli to move money ## 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 * **[Payment method tokenization](/guides/platform-tokenization-overview)** - Learn how payment method tokenization secures sensitive data and enhances security for your payments * **[Extend embedded components with the temporary token flow (for developers)](/guides/platform-developer-tokenization-temp-flow)** - Use the temporary token flow with embedded components to have complete control over user transaction experience without expanding PCI scope * **[EmbeddedMethod UI](/guides/pay-in-components-embeddedmethod-ui)** - Learn how to use the EmbeddedMethod UI embedded component to add the ability to securely store a payment profile or execute a sale * **[PayMethod UI](/guides/pay-in-components-paymethod-ui)** - Learn how to use the PayMethod UI embedded component to securely store a payment profile with a low-code modal-based UI. *** title: Pay in transaction lifecycle subtitle: Learn about the Pay In transaction lifecycle and its stages and statuses description: >- Track payment progress with status monitoring across authorization, settlement, and funding. Explore the transaction lifecycle with an interactive status tool 'og:description': >- Track payment progress with status monitoring across authorization, settlement, and funding. Explore the transaction lifecycle with an interactive status tool keywords: >- embedded payments, payment processing, accept payments, transaction lifecycle, payment status, transaction tracking, payment settlement, payment authorization icon: message-code slug: guides/pay-in-transactions-lifecycle-overview area: * Pay In subArea: * Making Transactions audience: * developers * partners *** Because each money in transaction involves several parallel processes, Payabli provides different statuses you can track. This lets you monitor both the synchronous and asynchronous activities that a transaction is involved with. ## Transaction lifecycle explorer Use this tool to explore how the statuses change as a transaction progresses through its lifecycle. ### Transaction lifecycle status reference The lifecycle simulator shows how four status types change as a Pay In transaction progresses through five steps: 1. **Transaction Authorized** — TransStatus: Authorized (11). SettlementStatus: Pending (0). BatchStatus and TransferStatus aren't applicable yet. 2. **Transaction Captured** — TransStatus: Captured (1). BatchStatus: Open (0). TransferStatus: Pending (0). SettlementStatus: Pending (0). The transaction is added to the current open batch. 3. **Batch Closed** — BatchStatus: Closed (1). TransferStatus: In Transit (1). SettlementStatus: In Transit (1). TransStatus stays Captured (1). The batch closes at the daily cutoff time. 4. **Funds Transferred** — TransferStatus: Transferred (2). SettlementStatus: Transferred (2). Funds leave the processor and are en route to the recipient. 5. **Funds Deposited** — TransferStatus: Funded (3). SettlementStatus: Funded (3). Funds are deposited in the recipient's bank account. The four status types tracked are: * **TransStatus** — The status of the individual payment (Authorized, Captured). Becomes final after batch closes. * **BatchStatus** — The status of the batch containing the transaction (Open, Closed). * **TransferStatus** — Tracks the actual transfer of funds to the recipient's bank (Pending, In Transit, Transferred, Funded). * **SettlementStatus** — Tracks the individual transaction's progress through settlement (Pending, In Transit, Transferred, Funded). ## Example The following example showcases how the different money in statuses give a comprehensive view of an ideal transaction's lifecycle, from initial sale to final settlement. A customer logs into the payment portal and submits their payment. The payment method is verified, and the transaction is authorized, meaning the funds are recognized but not yet taken. The **TransStatus** is **Authorized (11)**. The merchant captures the transaction, and the card is charged. The transaction status changes to **Captured (1)**, securing the funds for the transaction. The transaction status is considered final after the batch closes, and the **TransStatus** won't change from **Captured (1)** except in rare circumstances. Now, the focus shifts to tracking other statuses. Transaction status (TransStatus) represents the status of an individual payment in the system, providing a straightforward indication of whether the payment is approved, voided, declined, and so on. Transaction status flow: Authorized to Captured

Diagram: Money In Transaction Status Flow

This diagram shows how a transaction's status progresses during payment processing:

  • Starting state: Authorized (TransStatus 11) - Payment method verified, funds reserved but not captured. BatchStatus 0 (Open), SettlementStatus 0 (Pending)
  • Action: Merchant captures the transaction via API or auto-capture
  • Result: Status changes to Captured (TransStatus 1) - Funds secured for transaction
  • Final state: TransStatus remains 1 after batch closes (becomes permanent), BatchStatus and SettlementStatus remain 0
The payment, along with others submitted that day, are grouped into a batch for processing, and the **BatchStatus** is **Open (0)**. At this stage, **TransferStatus** is **Pending (0)**. At the cutoff time, the batch that contains the payment is closed and the **BatchStatus** changes to **Closed (1)**. The batched transactions are verified, and are prepared for the next steps. **TransferStatus** and the transaction's **SettlementStatus** should now both be **In Transit (1)**. Batch status (BatchStatus) tracks a group (batch) of transactions, which are multiple payments being processed together. Batch status flow: Open to Closed to In Transit

Diagram: Money In Batch Status Flow

This diagram shows how batched transactions progress through the processing pipeline:

  • Starting state: BatchStatus 0 (Open) - Transactions are grouped for processing. TransferStatus 0 (Pending), TransStatus 1 (Captured), SettlementStatus 0 (Pending).
  • Trigger: Batch cutoff time reached (usually end of business day)
  • Action: System closes the batch and verifies all transactions
  • Result: BatchStatus changes to 1 (Closed) - Batch ready for settlement
  • Concurrent updates: TransferStatus and SettlementStatus both change to 1 (In Transit)
  • Final state: BatchStatus 1, TransferStatus 1, TransStatus 1, SettlementStatus 1
The transfer process starts, with funds leaving the payment processor's account and heading to the recipient's account. The **TransferStatus** and the transaction's **SettlementStatus** both change to **Transferred (2)**. When the funds are deposited into the recipient's account, the **TransferStatus** and the **SettlementStatus** both change to **Funded (3)**. Once a payment reaches the 'transferred' status, you can typically expect the funds to appear in your bank account within 1-2 business days. Transfer status (TransferStatus) monitors the actual payment transfer to the recipient's bank account. Payment funding status (SettlementStatus) helps track an individual transaction's progress through the settlement process, monitoring the journey of the funds. Transfer status flow: Transferred to Funded

Diagram: Money In Transfer Status Flow

This diagram shows how funds move from the processor to the recipient's bank account:

  • Starting state: TransferStatus 2 (Transferred) - Funds have left the payment processor's account. BatchStatus 1 (Closed), TransStatus 1 (Captured), SettlementStatus 2 (Transferred).
  • Action: Bank processes the transfer and deposits funds into recipient's account
  • Result: TransferStatus changes to 3 (Funded) - Money available in recipient's account
  • Concurrent update: SettlementStatus also changes to 3 (Funded)
  • Final state: TransferStatus 3, BatchStatus 1, TransStatus 1, SettlementStatus 3
## Next steps Learn more about [Pay In statuses](/guides/pay-in-status-reference). *** title: Make a sale transaction with the API subtitle: >- Learn how to authorize and capture a sales transaction in one step using the API description: >- Process sales transactions with the GetPaid endpoint. Accept card, ACH, stored methods, cloud devices, cash, and check payments with immediate authorization 'og:description': >- Process sales transactions with the GetPaid endpoint. Accept card, ACH, stored methods, cloud devices, cash, and check payments with immediate authorization keywords: >- embedded payments, payment processing, accept payments, sale transaction, payment API, process payments, card payments, ACH payments, payment gateway slug: guides/pay-in-developer-transactions-create icon: money-from-bracket area: * Pay In subArea: * Transactions audience: * developers *** This guide explains how to make a sale (a money in payment transaction) with the Payabli API. This method authorizes and captures a payment in one step, so when a transaction is submitted, it's immediately captured for settlement. If aren't using a stored payment method provided by an embedded component to run transactions, you must secure cardholder, bank account data, and customer IP address because your PCI scope is expanded. To make a sale transaction, send a POST request to the getpaid endpoint (`api/v2/MoneyIn/getpaid` or `/api/MoneyIn/getpaid`). These endpoints are used to process payments for all payment methods, including credit cards, ACH, stored methods, cash, check, and cloud payments. See [Pay In transaction APIs v2](/developers/api-reference/moneyIn/v2) for more information about v1 versus v2 of the transaction APIs. The request requires several parameters, which can depend on the payment method used. The following are required for all payment methods: * `entryPoint` The ID of the paypoint making the sale * `paymentMethod`: Information about the payment method * `paymentDetails` Information about the payment itself * `customerData` Information about the customer Although not required, we strongly recommend passing the `ipaddress` parameter. This is used for risk analysis and fraud prevention. For a full list of available parameters, see the [API references](/guides/pay-in-developer-transactions-create#related-resources). ## Examples Each of these examples runs a transaction for \$100, with no service fee, for entrypoint `f743aed24a` and customer ID is `4440`.The only difference in each example is the payment method used. ### V2 API If you're using the v2 API, here are examples for making a sale transaction with different payment methods: The Card payment method is used for credit and debit card payments. The ACH payment method is used for ACH payments made with a bank account. The Stored Method payment method is used for payments made with stored methods, either tokenized credit card or tokenized ACH account. The Cloud payment method is used for payments made with Cloud devices (payment terminals). The response from a successful transaction includes a standard response structure with details about the transaction. See [Unified Response Codes](/guides/pay-in-unified-response-codes-reference) for a complete list of possible responses. Example card success response Example ACH success response Example Stored Method success response Example Cloud success response To see decline and error responses, see the [Make a transaction API (v2)](/developers/api-reference/moneyinV2/make-a-transaction) reference. ### V1 API If you're using the v1 API, here are examples for making a sale transaction with different payment methods: The Card payment method is used for credit and debit card payments. The ACH payment method is used for ACH payments made with a bank account. The Stored Method payment method is used for payments made with stored methods, either tokenized credit card or tokenized ACH account. The Cloud payment method is used for payments made with Cloud devices (payment terminals). This example shows how to include additional details in the response by setting the `includeDetails` parameter to `true`. This works with any payment method. ```json curl -X POST https://api-sandbox.payabli.com/api/MoneyIn/getpaid?includeDetails=true \ -H "requestToken: " \ -H "Content-Type: application/json" \ -d '{ "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" }' ``` The response from a successful transaction includes a `isSuccess` boolean, a `responseData` object, and a `responseText` string. The `responseData` object contains additional information about the transaction, including the `referenceId`, which is the transaction ID. A successful request returns a 200 response with a JSON body. The transaction ID is returned as `referenceId`, this is used as the `transId` in other endpoints. If `includeDetails` is set to `true`, the response includes additional details about the transaction, which are returned in the `transactionDetails` object within `responseData`. This includes information about the customer, payment method, fees, and transaction events. ```json IncludeDetails example {6} { "responseText": "Success", "isSuccess": true, "pageIdentifier": null, "responseData": { "transactionDetails": { "parentOrgName": "Mountain View Properties", "paypointDbaname": "Riverside Apartments", "paypointLegalname": "Riverside Apartments LLC", "paypointEntryname": "entry399", "paymentTransId": "399-27260fccd280436790115892634be7c4", "connectorName": "gp", "externalProcessorInformation": "", "gatewayTransId": "TRN_i4wWjg6iNO6HMyo1MqtRC7krpmduvR", "orderId": "", "method": "card", "batchNumber": "399_combined_20251002_ec32a12d-baee-41e2-94dd-b0b2c6d932c4", "batchAmount": 42573.28, "payorId": 4119, "paymentData": { "maskedAccount": "5XXXXXXXXXXX4415", "accountType": "mastercard", "accountExp": "12/25", "holderName": "Sarah Johnson", "storedId": null, "initiator": null, "storedMethodUsageType": null, "sequence": null, "orderDescription": "Monthly rent payment - Unit 204", "accountId": null, "signatureData": null, "binData": { "binMatchedLength": "9", "binCardBrand": "MASTERCARD", "binCardType": "CREDIT", "binCardCategory": "MIXED PRODUCT", "binCardIssuer": "ALLIED IRISH BANKS, PLC", "binCardIssuerCountry": "IRELAND", "binCardIssuerCountryCodeA2": "IE", "binCardIssuerCountryNumber": "372", "binCardIsRegulated": "", "binCardUseCategory": "", "binCardIssuerCountryCodeA3": "" }, "paymentDetails": { "totalAmount": 1850.00, "serviceFee": 55.50, "checkNumber": null, "checkImage": null, "checkUniqueId": "", "currency": "USD", "orderDescription": null, "orderId": null, "orderIdAlternative": null, "paymentDescription": null, "groupNumber": null, "source": null, "payabliTransId": null, "unbundled": null, "categories": [], "splitFunding": [] } }, "transStatus": 1, "paypointId": 399, "totalAmount": 1850.00, "netAmount": 1794.50, "feeAmount": 55.50, "settlementStatus": 0, "operation": "Sale", "responseData": { "resultCode": "A0000", // New unified response code "resultCodeText": "Approved", // New unified response code text "response": null, "responsetext": "CAPTURED", "authcode": "VTLMC1", "transactionid": "TRN_i4wWjg6iNO6HMyo1MqtRC7krpmduvR", "avsresponse": "N", "avsresponse_text": "No Match, No address or ZIP match", "cvvresponse": "M", "cvvresponse_text": "CVV2/CVC2 match", "orderid": null, "type": null, "response_code": "100", "response_code_text": "Operation successful.", "customer_vault_id": null, "emv_auth_response_data": null }, "source": "api", "scheduleReference": 0, "orgId": 39, "refundId": 0, "returnedId": 0, "chargebackId": 0, "retrievalId": 0, "transAdditionalData": null, "invoiceData": { "invoiceNumber": null, "invoiceDate": null, "invoiceDueDate": null, "invoiceEndDate": null, "invoiceStatus": null, "invoiceType": null, "frequency": null, "paymentTerms": null, "termsConditions": null, "notes": null, "tax": null, "discount": null, "invoiceAmount": null, "freightAmount": null, "dutyAmount": null, "purchaseOrder": null, "firstName": null, "lastName": null, "company": null, "shippingAddress1": null, "shippingAddress2": null, "shippingCity": null, "shippingState": null, "shippingZip": null, "shippingCountry": null, "shippingEmail": null, "shippingPhone": null, "shippingFromZip": null, "summaryCommodityCode": null, "items": null, "attachments": null, "additionalData": null }, "entrypageId": 0, "externalPaypointID": "39990", "isValidatedACH": false, "transactionTime": "2025-10-02T20:51:03.261", "customer": { "identifiers": null, "firstName": "Sarah", "lastName": "Johnson", "companyName": "Johnson Enterprises", "billingAddress1": "425 Riverside Drive", "billingAddress2": "Unit 204", "billingCity": "Portland", "billingState": "OR", "billingZip": "97201", "billingCountry": "US", "billingPhone": "15035551234", "billingEmail": "sarah.johnson@example.com", "customerNumber": "CUST-1234", "shippingAddress1": "425 Riverside Drive", "shippingAddress2": "Unit 204", "shippingCity": "Portland", "shippingState": "OR", "shippingZip": "97201", "shippingCountry": "US", "customerId": 4119, "customerStatus": 1, "additionalData": { "clientId": "", "customParent": "", "customerId": "", "customParent222": "", "customerId222": "", "customParent1111": "", "customParent111": "", "another": "", "xyz": "", "test12": "", "customerID": "" } }, "splitFundingInstructions": null, "cfeeTransactions": [ { "cFeeTransId": "399-27260fccd280436790115892634be7c4", "transStatus": 1, "feeAmount": 55.50, "settlementStatus": 0, "operation": "Sale", "responseData": { "response": null, "responsetext": null, "authcode": null, "transactionid": null, "avsresponse": null, "avsresponse_text": null, "cvvresponse": null, "cvvresponse_text": null, "orderid": null, "type": null, "response_code": null, "response_code_text": null, "customer_vault_id": null, "emv_auth_response_data": null, "additional_response_text": null, "processor_batch_id": null }, "refundId": 0, "transactionTime": "2025-10-02T20:51:03.261", "gatewayTransId": null, "transactionEvents": [ { "transEvent": "Approved", "eventData": null, "eventTime": "2025-10-02T20:51:03.3289869" } ] } ], "transactionEvents": [ { "transEvent": "Created", "eventData": "0HNG14G6KL5LG:00000001", "eventTime": "2025-10-02T20:50:59.848292" }, { "transEvent": "Approved", "eventData": "0HNG14G6KL5LG:00000001", "eventTime": "2025-10-02T20:51:03.32107" } ], "pendingFeeAmount": 166.50, "riskFlagged": false, "riskFlaggedOn": "2025-10-02T20:50:59.8361551", "riskStatus": "PASSED", "riskReason": "", "riskAction": "", "riskActionCode": 0, "deviceId": "", "achSecCode": "", "achHolderType": "", "ipAddress": "47.195.66.238", "isSameDayACH": false, "walletType": null }, "authCode": "VTLMC1", "referenceId": "399-27260fccd280436790115892634be7c4", "resultCode": 1, "resultText": "Approved", "avsResponseText": "No Match, No address or ZIP match", "cvvResponseText": "CVV2/CVC2 match", "customerId": 4119, "methodReferenceId": null } } ``` If the payment is declined, the `responseText` reads `Declined`, and `resultText` contains the reason for the decline. ```json Decline example {10,12} { "isSuccess": false, "responseData": { "AuthCode": "null", "avsResponseText": "No address or ZIP match only", "CustomerId": 4440, "cvvResponseText": "CVV2/CVC2 no match", "ReferenceId": "45-erre-324", "ResultCode": 1, "ResultText": "200: Transaction was declined by processor.. DECLINE" }, "responseText": "Declined" } ``` You can use the DeclinedPayment notification to get alerts for declined transactions, including both declined credit cards and declined ACH transactions. See [Notifications and Webhooks Overview](/guides/pay-ops-notifications-webhooks-overview) for more. ## Next steps You can view transactions in the UI in your PayHub or PartnerHub account, or you can get lists of transactions via the API for [paypoints](/developers/api-reference/query/get-list-of-transactions-for-an-entrypoint) or [organizations](/developers/api-reference/query/get-list-of-transactions-for-an-organization) ## 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 * **[Pay In transaction APIs v2](/developers/api-reference/moneyIn/v2)** - Learn about v1 versus v2 of the Pay In transaction APIs * **[Make a transaction API (v2)](/developers/api-reference/moneyinV2/make-a-transaction)** - API reference for v2 of the make a transaction endpoint * **[Pay In transaction APIs (v1)](/developers/api-reference/moneyin/make-a-transaction)** - API reference for v1 of the make a transaction endpoint *** title: Make a sale with a saved payment method subtitle: >- Learn how to make a sale transaction via the API with a customer's saved payment method description: >- Process transactions using a saved payment method token through the API. Charge returning customers without re-entering card or bank account details securely 'og:description': >- Process transactions using a saved payment method token through the API. Charge returning customers without re-entering card or bank account details securely keywords: >- embedded payments, card on file, saved payment method, recurring payments, tokenized payments, payment API, returning customers slug: guides/pay-in-developer-transactions-card-on-file icon: cloud-binary area: * Pay In subArea: * Tokenization * Transactions audience: * developers *** You can make a sale transaction with a customer's [saved payment method](/guides/platform-tokenization-overview), sometimes referred to as card-on-file or a payment token. Pass the saved method's token in as `storedMethodId` when authorizing or making a sale transaction. ## 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 * **[Authorize and capture transactions](/guides/pay-in-developer-transactions-auth-capture)** - Learn how to authorize and capture payments for settlement using the API * **[Payment method tokenization](/guides/platform-tokenization-overview)** - Learn how payment method tokenization secures sensitive data and enhances security for your payments *** title: Authorize and capture transactions subtitle: Learn how to authorize and capture payments for settlement using the API description: >- Authorize and capture payments in separate steps using the Payabli API. Place holds on cards, then capture funds when ready to settle for flexible payment flows 'og:description': >- Authorize and capture payments in separate steps using the Payabli API. Place holds on cards, then capture funds when ready to settle for flexible payment flows keywords: >- embedded payments, authorize capture, payment authorization, card hold, payment settlement, two-step payments, payment API slug: guides/pay-in-developer-transactions-auth-capture icon: box-dollar area: * Pay In subArea: * Transactions audience: * developers *** For some businesses, it makes sense to authorize a transaction first and then capture later. When you authorize, you verify that the customer has sufficient funds, and you place a hold on that amount without actually processing the transaction and taking the money. Authorizing a transaction gives merchants time to verify inventory, prepare shipments, or complete services before finalizing the charge. Capturing the transaction is what puts the transaction in a batch for settlement and starts the process of moving the funds from the customer to the merchant account. Capturing an authorized transaction later also allows merchants to capture part of the authorized amount if the final total ends up being less than expected, avoiding the need for refunds. This guide covers how to authorize and capture transactions through the API. To authorize and capture a payment in one step, use the [Make a transaction](/guides/pay-in-developer-transactions-create) endpoint instead. ## Considerations Keep these considerations in mind when working with transactions: * Authorizing a transaction reserves funds for the merchant but doesn't move them. * You must capture an authorized transaction to complete it and move the funds. * You can capture an amount equal to or less than the original authorization, but not less than 85% of the original authorized amount. * If you need to capture less than 85% of the authorized amount or more than the authorized amount, then void the authorization and create a new sale transaction. * Service fees can be adjusted proportionally when capturing partial amounts, and can vary based on your service fee configuration. See [Pass-through fees](/guides/pay-in-fees-passthrough-overview) for more information. * Authorized transactions aren't flagged for settlement until they're captured. * If an authorized transaction isn't captured within 10 days, Payabli voids the transaction. If you try to capture the voided transaction, the capture will fail. If aren't using a stored payment method provided by an embedded component to run transactions, you must secure cardholder, bank account data, and customer IP address because your PCI scope is expanded. ## Authorize a transaction Send a POST request to the Pay In authorize endpoint (either v1 or v2) to authorize a payment transaction. This action reserves funds and returns an authorization code. See the [API references](/guides/pay-in-developer-transactions-auth-capture#related-resources) for this endpoint for full documentation. See [Pay In transaction APIs v2](/developers/api-reference/moneyIn/v2) for more information about v1 versus v2 of the transaction APIs. This example authorizes a card transaction for \$100, with no service fee, for entrypoint `f743aed24a`. The customer ID is `4440`. A successful request returns a 200 response with a JSON body containing a referenceId which you'll need for the capture operation. After authorizing a transaction, you can capture the transaction to complete it and move the funds from the customer to the merchant account. ## Capture a transaction To capture an authorized transaction and start the settlement process, send a POST request to `/MoneyIn/capture/{transId}`. This endpoint allows you to capture the full authorized amount or a partial amount (minimum 85% of the original authorization) with flexible service fee adjustments. See the [API reference](/developers/api-reference/moneyin/capture-an-authorized-transaction) for full documentation. When capturing a transaction, the following rules apply: * **Full capture**: Capture the exact authorized amount with the original or adjusted service fee * **Partial capture**: Capture less than the authorized amount (minimum 85% of original total) * **Service fee adjustment**: Adjust the service fee proportionally or as needed when capturing partial amounts * **Out-of-range captures**: If you need to capture less than 85% or more than the authorized amount, you must void the original authorization and create a new sale transaction with the correct amount. Each example captures a \$100 card transaction for the transaction 10-7d9cd67d-2d5d-4cd7-a1b7-72b8b201ec13. This example captures the full authorized amount of \$100.00 with a service fee of \$5.00. This example captures \$85.00 of the authorized amount, plus a reduced service fee of \$4.00. The remaining \$15 is released back to the customer. This example captures \$100.00 of the authorized amount with no service fee. This example captures the full authorized amount of \$100.00 with a service fee of \$5.00. This example captures \$85.00 of the authorized amount, plus a reduced service fee of \$4.00. The remaining \$15 is released back to the customer. A successful capture request returns a 200 response with a JSON body containing the transaction details. ## Real-world example This example illustrates a homeowner reserving a clubhouse for an event with a \$200 deposit for cleaning and damages, plus a 3% service fee. After the event, the clubhouse admin calculates the actual charges and charges the homeowner for the final amount. **Initial authorization**: \$200.00 + \$6.00 (3% fee) = \$206.00 total In this case, the homeowner left the clubhouse in good condition, resulting in lower cleaning fees. The final charges are within the 85% threshold of the original authorization. Final charges: \$180.00 + \$5.40 (3% fee) = \$185.40 Because \$185.40 is greater than 85% of \$206.00 (\$175.10), you can use the capture endpoint: ```json POST /api/MoneyIn/capture/{transId} { "paymentDetails": { "totalAmount": 185.40, "serviceFee": 5.40 } } ``` In this case, the homeowner left the clubhouse in excellent condition. Their cleaning fee was significantly reduced, leading to final charges below the 85% threshold of the original authorization. Final charges: \$60.00 + \$1.80 (3% fee) = \$61.80 Because \$61.80 is less than 85% of \$206.00 (\$175.10), you must: 1. Void the original \$206.00 authorization 2. Create a new sale transaction for \$61.80 In this case the homeowner incurred additional costs for damages, leading to final charges exceeding the initial authorization. Final charges: \$300.00 + \$9.00 (3% fee) = \$309.00 Because this exceeds the original authorization, you must: 1. Void the original \$206.00 authorization 2. Create a new sale transaction for \$309.00 ## Migrating from GET to POST endpoint **Important API update**: The GET capture endpoint was sunset on November 24, 2025. All integrations should use the POST capture endpoint, which supports both full and partial captures with flexible service fee adjustments. The GET endpoint currently supports only captures for the exact authorized amount. If you're currently using the GET endpoint (`GET /MoneyIn/capture/{transId}/{amount}`), you need to migrate to the POST endpoint. Here are the key differences between the two endpoints: | Feature | GET Endpoint (Deprecated) | POST Endpoint | | ---------------------- | ------------------------- | ------------------------ | | Partial capture | Not supported | Supported (≥85% of auth) | | Service fee adjustment | Not supported | Supported | | Request format | URL parameters | JSON body | | Use cases | Exact amount only | All capture scenarios | And here are examples for both endpoints: **Before (GET endpoint):** **After (POST endpoint):** ## 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 * **[Make a sale transaction with the API](/guides/pay-in-developer-transactions-create)** - Learn how to authorize and capture a sales transaction in one step using the API * **[Authorize API (v2)](/developers/api-reference/moneyinV2/authorize-a-transaction)** - Learn about the Authorize API (v2) for authorizing transactions * **[Capture API (v2)](/developers/api-reference/moneyinV2/capture-an-authorized-transaction)** - Learn about the Capture API (v2) for capturing authorized transactions *** title: Make transactions from the UI subtitle: Learn how to create transactions from the Payabli UI icon: badge-dollar slug: guides/pay-in-portal-transactions-create area: * Pay In subArea: * Transactions audience: * partners * merchants description: >- Process payments through PayHub virtual terminal and customer records. Create sales, authorize transactions for later capture, and charge saved payment methods 'og:description': >- Process payments through PayHub virtual terminal and customer records. Create sales, authorize transactions for later capture, and charge saved payment methods keywords: >- embedded payments, payment processing, accept payments, virtual terminal, payment transactions, one-time payments, card present payments, payment authorization *** There are many ways to initiate transactions from within the Payabli UI. This guide explains how to create transactions from the UI, including one-time payments and charging customers again. Some payment options are available only at the paypoint level or the organization level. Availability is noted in each section by the audience badge: *Partner* means that the feature is available to organization-level users, and *Paypoint* means that the feature is available to paypoint-level users (merchant users). ## Create a one-time payment from the dashboard You can create a one-time payment for a customer from the a paypoint using the Virtual Terminal. 1. While logged in to a paypoint, navigate to **Actions > Accept Payment**. This opens the Virtual Terminal. 2. Fill out the payment information. 3. Click **Review & Pay** to complete the transaction. If you are logged in to a paypoint and don't see the **Actions > Accept Payment** option, you may be missing permissions. Contact your admin for help. ## Create a one-time payment from a customer record This section explains how to create a one-time payment from within a customer record in the Payabli UI. To access the customer record, navigate to **Money In > Customers**. From here, you can create a payment directly from any customer's record by following these steps: 1. Locate the target customer record and click the three-dot icon in the **Action** column. 2. Select **Create Payment** from the menu to open the *Create Payment* panel. 3. Specify the operation type (**Sale** or **Authorize or "Capture Later"**). 4. Enter the payment **amount** and a **description** in the appropriate fields. 5. (Optional) Enter an invoice number. 6. Enter the customer's payment information by either selecting a stored payment method or entering new payment information. 7. (Optional) Check the **Save payment details for future use** box to store the payment method. 8. (Optional) Add any relevant notes to the payment record. 9. Click **Review & Pay** and follow the prompts in the modal to complete the transaction. ## Charge a customer again The Charge Again option allows you to run an existing transaction a second time. This guide explains how to charge a transaction again in the Payabli UI. To charge a transaction again from the UI, navigate to **Money In > Reports > Transactions**, then follow these steps: 1. Locate the target transaction record and click the three-dot icon in the **Action** column. 2. Select **Charge Again** to open the *Charge Again* panel. 3. Select the operation type: * **Sale** to process the transaction immediately * **Authorize or "Capture Later"** to authorize the transaction and reserve the funds for processing later 4. Enter the transaction details: * Payment **amount** * Transaction **description** * Catalog item or create a one-time item. If the item isn't found in your catalog, you must either select **Add a One-Time Item** or **Add Item to Catalog** to proceed. 5. (Optional) Enter an invoice number. 6. Enter the payment information. Either select a stored payment method or enter new payment information. 7. (Optional) Check **Save payment details for future use** to store the payment method. 8. (Optional) Add notes to the payment record. 9. Click **Review & Pay** and follow the prompts in the modal to complete the transaction. The transaction is processed immediately if you selected **Sale**. If you selected **Authorize or "Capture Later"**, the transaction is authorized and reserved for processing after you capture it. *** title: 'Decision guide: Void vs refund' subtitle: >- Use this guide to help you choose between voiding or refunding a Pay In transaction description: >- Choose the right method to cancel Pay In transactions with an interactive decision tree. Learn when to void same-day transactions or refund settled payments 'og:description': >- Choose the right method to cancel Pay In transactions with an interactive decision tree. Learn when to void same-day transactions or refund settled payments keywords: >- embedded payments, payment operations, void transaction, refund transaction, transaction cancellation, batch processing, settlement slug: guides/pay-in-transactions-void-vs-refund-decision icon: clipboard-question area: * Pay Ops subArea: * Transactions * Refunds audience: * developers * partners *** When you need to cancel a transaction, choosing between void and refund affects both timing and costs. Void cancels unsettled transactions before funds are transferred, while refund returns funds after settlement. This guide helps you determine which method to use based on transaction status and timing. ## Decision tree Use this interactive decision tree to determine whether to void or refund a transaction based on its current status.
#### Decision guide: Void vs refund * If the transaction is in an open batch and all void conditions are true (TransStatus = 11 or 1, SettlementStatus = 0, and current time is before batch cutoff) → **Void** the transaction to cancel it before the batch closes, avoiding interchange fees. * If the transaction is in an open batch but one or more void conditions are false → **Refund** the transaction, even though the batch is still open. * If the batch is closed and SettlementStatus = 1 (In Transit) → **Refund** — the transaction is locked for processing and can't be voided. * If the batch is closed and SettlementStatus = 2 (Transferred) or 3 (Funded) → **Refund** — the transaction has settled and funds have been transferred.
## Recommended strategy by use case Choose the right cancellation method based on transaction timing and status. Here's a quick reference: | **Use case** | **Method** | **Key requirement** | | ----------------------------------------- | ---------- | ------------------------------------------------------------- | | Same-day cancellation before batch closes | Void | Current time \< Batch cutoff (default 5 PM ET) | | Cancel authorized transaction | Void | TransStatus = 11 (Authorized), SettlementStatus = 0 (Pending) | | Cancel captured transaction same-day | Void | TransStatus = 1 (Captured), SettlementStatus = 0 (Pending) | | Cancel after batch closes | Refund | SettlementStatus = 1 (In Transit) or higher | | Return funds after settlement | Refund | SettlementStatus = 2 (Transferred) or 3 (Funded) | | Partial amount return | Refund | Any settled transaction | | Customer requested cancellation next day | Refund | Batch already closed | ## Void Void immediately cancels a transaction before the batch closes and before funds are transferred. This is the preferred method for same-day cancellations because it avoids interchange fees and ensures funds never leave the customer's account. Use void when: * The transaction is still in an open batch before the cutoff time * You need to cancel an authorized or captured transaction same-day * You want to avoid interchange fees on the cancelled transaction * The customer requests cancellation before end of business day Void is available when: * `TransStatus` is 11 (Authorized) or 1 (Captured) * `SettlementStatus` is 0 (Pending) * Current time is before batch cutoff (default 5 PM ET, configurable per merchant) * `BatchStatus` is 0 (Open) ### Void implementation Call the void endpoint with the transaction ID to immediately cancel the transaction: ```bash // V1 endpoint GET /MoneyIn/void/{transId} // V2 endpoint POST /v2/MoneyIn/void/{transId} ``` The transaction will be marked as voided and removed from the settlement batch. No funds will be transferred from the customer's account. ### Void best practices Follow these best practices when implementing void functionality: * Check transaction status before attempting void to verify eligibility * Implement void functionality in your customer service or admin interfaces * Set up monitoring for batch cutoff times to alert staff of void deadlines * Log all void attempts including successes and failures for audit trails * Display clear messaging to users about void vs refund timing differences ## Refund Refund creates a new offsetting transaction that returns funds to the customer after settlement has begun or completed. Use refunds for any transaction that can no longer be voided due to batch closure or settlement status. Use refund when: * The batch has closed and transaction is in transit for settlement * The transaction has already settled and funds were transferred * You need to return a partial amount to the customer * The customer requests a return after the void window has passed Refund is required when: * `SettlementStatus` is 1 (In Transit), 2 (Transferred), or 3 (Funded) * The batch cutoff time has passed * Any transaction that can't meet void eligibility criteria ### Refund implementation Call the refund endpoint with the transaction ID and amount to process the refund: ```bash // V1 endpoint GET /MoneyIn/refund/{transId}/{amount} // V2 endpoint POST /v2/MoneyIn/refund/{transId}/{amount} ``` Parameters: * `transId` - Original transaction ID to refund * `amount` - Refund amount in cents (can be less than original for partial refunds) The refund creates a new transaction that offsets the original payment. Funds typically return to the customer's account in 2 to 3 business days, though it may take up to 5 to 7 business days depending on the customer's bank. ### Refund best practices Follow these best practices when implementing refund functionality: * Store original transaction IDs to enable easy refund processing * Implement partial refund support for flexible customer service * Set up webhooks to track refund processing status and completion * Communicate refund timeline clearly to customers (2-3 business days typical) * Log all refund transactions with reasons for audit and reporting purposes * Consider implementing refund approval workflows for large amounts ## Status field reference Understanding transaction and settlement status codes helps you determine void or refund eligibility programmatically. ### Transaction status Use the `TransStatus` to help determine if a transaction can be voided. | Code | Status | Description | | ---- | ---------- | --------------------------------------------------------------------------- | | 11 | Authorized | Payment authorized but not yet captured, eligible for void if in open batch | | 1 | Captured | Payment captured and will be settled, eligible for void if in open batch | ### Settlement status Use the `SettlementStatus` to understand if a transaction has been settled and how to handle canceling it. | Code | Status | Description | Void eligible? | Refund required? | | ---- | ----------- | ----------------------------------------------- | ---------------------- | ---------------- | | 0 | Pending | Transaction in open batch awaiting settlement | Yes (if before cutoff) | No | | 1 | In Transit | Batch closed, transaction locked for processing | No | Yes | | 2 | Transferred | Transaction settled to merchant account | No | Yes | | 3 | Funded | Funds available in merchant account | No | Yes | ### Batch status Use `BatchStatus` to determine if the batch is still open for voids. | Code | Status | Description | | ---- | ------ | ----------------------------------------------------- | | 0 | Open | Batch accepting transactions, void still possible | | 1 | Closed | Batch closed for processing, void no longer available | ## Timing considerations Batch cutoff time is critical for void eligibility. Understanding your merchant's cutoff schedule ensures you use the correct cancellation method. Here are key timing considerations: * **Default cutoff**: 5 PM ET * **Configurable**: Per merchant account settings * **Timezone**: Always Eastern Time regardless of merchant location * **Weekend/holiday**: Batches may close earlier or follow modified schedules Processing timelines differ significantly between voids and refunds: **Void timeline:** * Immediate cancellation when executed * Funds never leave customer account * No return timeline needed * Must be executed before batch cutoff **Refund timeline:** * Refunds are initiated immediately * Settlement completes in 1 business day (if transaction was in transit) * Funds are typically returned to customer in 2 to 3 business days * May take up to 5 to 7 business days for the funds to be returned depending on customer's bank **Implementation tips for timing** Implement these features to handle timing correctly: * Query current batch status before presenting void option to users * Display countdown timer showing time remaining until batch cutoff * Automatically switch UI from void to refund option after cutoff passes * Store merchant-specific cutoff times if they differ from defaults * Account for timezone conversions when displaying cutoff times to users ## Quick reference This section provides quick links to relevant API endpoints and integration guides mentioned in the decision tree and throughout this guide. **API References:** * [Void transaction API (v1)](/developers/api-reference/moneyin/void-a-transaction) * [Refund transaction API (v1)](/developers/api-reference/moneyin/refund-a-settled-transaction) * [Void transaction API (v2)](/developers/api-reference/moneyinV2/void-a-transaction) * [Refund transaction API (v2)](/developers/api-reference/moneyinV2/refund-a-settled-transaction) * [Get transaction details API](/developers/api-reference/moneyin/get-details-for-a-processed-transaction) * [Query Batch status API (org)](/developers/api-reference/query/get-list-of-batches-for-an-organization) * [Query Batch status API (paypoint)](/developers/api-reference/query/get-list-of-batches-for-an-entrypoint) **Integration Guides:** * [Make a sale transaction](/guides/pay-in-developer-transactions-create) * [Cancel a transaction overview](/guides/pay-in-developer-transactions-cancel) * [Transaction statuses](/guides/pay-in-status-reference#money-in-transaction-status) * [Settlement status codes](/guides/pay-in-status-reference#payment-funding-status) **API References:** * [List transactions for paypoint](/developers/api-reference/query/get-list-of-transactions-for-an-entrypoint) **Integration Guides:** * [Reporting overview](/guides/pay-ops-reporting-overview) *** title: Cancel a Pay In transaction with the API subtitle: Learn how to cancel a Pay In transaction using the API description: >- Cancel transactions with void, refund, or reverse operations. Return funds to customers based on settlement status, with support for full and partial amounts 'og:description': >- Cancel transactions with void, refund, or reverse operations. Return funds to customers based on settlement status, with support for full and partial amounts keywords: >- embedded payments, payment processing, accept payments, void transaction, refund payment, reverse payment, payment cancellation, partial refund, payment returns slug: guides/pay-in-developer-transactions-cancel icon: rectangle-xmark area: * Pay In subArea: * Transactions * Refunds audience: * developers *** How you cancel a pay-in transaction depends on the transaction status. If a transaction hasn't been settled yet, you can void it. If a transaction has been settled, or settlement is pending, you can refund the transaction. Payabli offers a convenient third method, *reversal*, which dynamically refunds or voids a transaction based on its settlement status. This guide explains how to void, refund, and reverse transactions with the Payabli API. ## Choose a method First, choose a transaction cancellation method. To streamline your integration with Payabli, use reverse. diagram explained in surrounding text ### Void A void cancels an existing sale or captured authorization. Voiding non-captured authorizations prevents future captures. You can void unsettled transactions. If a transaction has been settled, refund it instead. ### Refund A Refund sends money back to the accountholder after transaction has been settled. If a transaction hasn't been settled, void it instead. ### Reversal A reversal allows you to either refund or void a transaction without knowing the transaction's settlement status. Send a reversal request for a transaction, and Payabli automatically determines whether it's a refund or void. Reverse lets you integrate a single function for transaction cancellations and has Payabli dynamically handle the logic. ## v1 and v2 endpoints Void and refund endpoints are available in both v1 and v2 versions. The [v2 endpoints](/changelog/api-changelog/2025/12/23#new-v2-transaction-apis) return unified response codes, include full transaction details in the response, and provide actionable error messages. All new integrations should use the v2 endpoints. Reversals are only available as a v1 endpoint. See [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for the complete list of v2 response codes. ## Path parameters When canceling a transaction via the API, you always need the `transId`, which is the `referenceId` for the transaction. For refunds and reversals, you also need the `amount` to refund. *Required for voids, refunds, and reversals* The referenceId identifying the transaction (PaymentId). You can find this in the success response for the payment you want to void. *Required for refunds and reversals* The amount to refund from the original transaction, minus any service fee charged on the original transaction. This amount can't be greater than the original total amount of the transaction minus the service fee. For example, if a transaction was \$90 plus a \$10 service fee, you can refund up to \$90. Set the amount to 0 (zero) to refund the total amount of the transaction minus any service fee. ## Void a transaction You can void transactions that haven't settled yet. This example voids the transaction with a `referenceId` of `10-3ffa27df-b171-44e0-b251-e95fbfc7a723`: A successful void returns a 200 status and `isSuccess` set to `true`. If you try to void a transaction that has already been voided, the API returns a 400 status with "Invalid TransStatus" in the response text. ```json Invalid TransStatus response { "responseText": "Declined: Invalid TransStatus", } ``` ## Refund a transaction You can refund settled transactions. If you use the Enhanced Refund Flow, see [the guide](/guides/pay-in-refunds-enhanced-flow-overview) for information about how refunds are handled in different scenarios. Tab through to see examples of full and partial refunds using both the v1 and v2 APIs. This example refunds the transaction with a `referenceId` of `10-3ffa27df-b171-44e0-b251-e95fbfc7a723` for the total amount of the transaction. This example refunds a partial amount of \$100.99 of the transaction with a `referenceId` of `10-3ffa27df-b171-44e0-b251-e95fbfc7a723`. This example refunds the transaction with a `referenceId` of `10-3ffa27df-b171-44e0-b251-e95fbfc7a723` for the total amount of the transaction. This example refunds a partial amount of \$100.99 of the transaction with a `referenceId` of `10-3ffa27df-b171-44e0-b251-e95fbfc7a723`. A successful refund returns a 200 status with a JSON body. This example shows a successful refund response for a full refund. The `resultText` value is "INITIATED" for refunds that have been initiated but not yet completed. This response is only returned in accounts with the Enhanced Refund Flow enabled. This example shows a successful refund response for a partial refund. The `resultText` value is "CAPTURED". This example shows a successful refund response for a full refund. This example shows a successful refund response for a partial refund. Just like sale transactions, you can void a refund transaction before the batch closes. Use the `referenceId` from the refund transaction response as the `transId` in the void request. ## Reverse a transaction You can use reversal to either refund or void a transaction without knowing the transaction's settlement status. See the [API reference](/developers/api-reference/moneyin/reverse-a-transaction) for this endpoint. Because reversing a transaction either voids or refunds it, keep these points in mind when creating requests: * If a transaction isn't settled, the reversal request is treated as a void. Only full voids supported. Partial voids aren't supported. * If a transaction is settled, the reversal request is treated as a refund. Both full and partial refunds are supported. Payabli refunds the amount passed in the request. * There isn't a v2 version of the reverse endpoint as there is with void and refund. Use the v1 endpoint for reversals. When using the `api/MoneyIn/reverse/` endpoint, the transaction's batch status determines how your reversal request is processed: | Batch Status | Reversal Type | How it's Treated | Result | | ---------------- | ------------- | --------------------------- | -------------------------- | | Open | Full | Processed as Void | ✓ Success | | Open | Partial | Attempted as Partial Void | ✗ Rejected (not supported) | | Closed (Settled) | Full | Processed as Full Refund | ✓ Success | | Closed (Settled) | Partial | Processed as Partial Refund | ✓ Success | These examples show how to reverse a transaction. This example will refund the transaction with a `referenceId` of `10-3ffa27df-b171-44e0-b251-e95fbfc7a723` for the total amount of the transaction, if the transaction is settled. If the transaction isn't settled, it voids the transaction. This example refunds \$53.76 of the transaction with a `referenceId` of `10-3ffa27df-b171-44e0-b251-e95fbfc7a723`, if the transaction is settled. If the transaction isn't settled, it reverses \$53.76 of the original authorized amount, and captures the rest. A successful reverse returns a 200 status with a JSON body. You can tell whether the operation was a refund or a void based on the `resultText` value. A "REVERSED" value means the operation was a void. A "CAPTURED" value means that the operation was a refund. ## Related resources See these related resources to help you get the most out of Payabli. * **[Make a sale transaction with the API](/guides/pay-in-developer-transactions-create)** - You need to make a transaction before voiding or refunding it * **[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 * **[Void API (v2)](/developers/api-reference/moneyinV2/void-a-transaction)** - API reference for v2 of the void a transaction endpoint * **[Refund API (v2)](/developers/api-reference/moneyinV2/refund-a-settled-transaction)** - API reference for v2 of the refund a settled transaction endpoint * **[Refund split transaction](/developers/api-reference/moneyin/refund-a-settled-transaction-with-instructions)** - API reference for refunding a split transaction with instructions *** title: Enhanced refund flow subtitle: >- Learn how the Enhanced Refund Flow feature works to make card refunds more efficient description: >- Process card refunds with the Enhanced Refund Flow. Queue refunds to avoid settlement conflicts, prevent declines, and protect ledger balances automatically 'og:description': >- Process card refunds with the Enhanced Refund Flow. Queue refunds to avoid settlement conflicts, prevent declines, and protect ledger balances automatically keywords: >- embedded payments, payment processing, accept payments, payment refunds, refund processing, card refunds, settlement processing, payment operations slug: guides/pay-in-refunds-enhanced-flow-overview icon: hands-holding-dollar area: * Pay In subArea: * Refunds audience: * developers * partners * merchants *** To opt in to the Enhanced Refund Flow, contact Payabli. This feature isn't enabled by default. Enhanced Refund Flow is a feature that provides a frustration-free experience for processing card refunds. By default, refund requests are processed as soon as they're submitted. Between 5 PM and 7 PM ET each day, Payabli and the backend processor run several important tasks related to settling transactions, computing ledger balances, and processing transfers. If a credit card refund request is submitted during this time, several issues can arise: * The refund may be declined because the original transaction is still in a transient state and hasn't fully updated to a settled state. * The refund may lower the ledger balance of the paypoint. This can impact a transfer scheduled for that day if there isn't enough balance available. The Enhanced Refund Flow mitigates these issues by introducing a queue to hold refunds until it's an ideal time to process them. With Enhanced Refund Flow enabled, how the refund process works depends on the age of the sale and the time of the refund request. Consider these three basic scenarios: * Scenario 1: The sale is 24 hours old or older, and the refund is requested outside of 5-7 PM ET * Scenario 2: The sale is 24 hours old or older, and the refund is requested between 5 and 7 PM ET * Scenario 3: The sale is less than 24 hours old Remember that refunds can only be processed on transactions after their batch has processed. ## Scenario 1 When a merchant has Enhanced Refund Flow enabled, here's how the refund process works for a sale that's 24 hours old or older, and the refund is requested outside of 5-7 PM ET. Enhanced Refund Flow for sales older than 24 hours with immediate processing

Diagram: Enhanced Refund Flow Scenario 1

This sequence diagram shows the refund process for sales 24 hours or older when the refund is requested outside the 5-7 PM ET processing window:

  1. Merchant initiates refund request at 1:30 PM ET
  2. Payabli immediately sends refund request to backend processor
  3. Backend processor sends refund response to Payabli
  4. Payabli sends synchronous response to merchant with status Approved or Declined
1. The paypoint initiates a refund request. 2. Payabli immediately processes the refund request. 3. The backend processor sends a response to Payabli. 4. Payabli sends a synchronous response with status: Approved/Declined. ## Scenario 2 When a merchant has Enhanced Refund Flow enabled, here's how the refund process works for a sale that's 24 hours old or more and the refund is requested between 5 and 7 PM ET. Enhanced Refund Flow for sales older than 24 hours during 5-7 PM ET window

Diagram: Enhanced Refund Flow Scenario 2

This sequence diagram shows the refund process for sales 24 hours or older when the refund is requested during the 5-7 PM ET processing window:

  1. Merchant initiates refund request at 5:30 PM ET
  2. Payabli queues the refund request
  3. Payabli sends synchronous response to merchant with status Initiated (resultCode 10) and expectedProcessingDateTime of 7 PM ET
  4. At 7 PM ET, Payabli releases refund from queue
  5. Payabli sends refund request to backend processor
  6. Backend processor sends refund response to Payabli
  7. Payabli sends notification to merchant:
    • If approved: `RefundedPayment` notification
    • If declined: `DeclinedPayment` notification
1. The paypoint initiates a refund request. 2. Payabli queues the refund request. 3. Payabli sends a synchronous response to the paypoint. The status is "Initiated", the `resultCode` is '10', and `expectedProcessingDateTime` is 7 PM ET. 4. The refund is released from the queue at 7 PM ET. 5. Payabli sends the refund request to the backend processor. 6. The backend processor processes the refund and sends a response to Payabli. 7. Notifications sent (must be configured): * 7a. If the refund is approved, Payabli sends a *RefundedPayment* notification. * 7b. If the refund is declined, Payabli sends a *DeclinedPayment* notification. ## Scenario 3 When a merchant has Enhanced Refund Flow enabled, here's how the refund process works for a sale that's less than 24 hours old. Enhanced Refund Flow for sales less than 24 hours old

Diagram: Enhanced Refund Flow Scenario 3

This sequence diagram shows the refund process for sales less than 24 hours old:

  1. Merchant initiates refund request
  2. Payabli queues the refund request
  3. Payabli sends synchronous response to merchant with status Initiated (resultCode 10) and expectedProcessingDateTime
  4. After 24 hours from original sale, Payabli releases refund from queue
  5. Payabli sends refund request to backend processor
  6. Backend processor sends refund response to Payabli
  7. Payabli sends notification to merchant:
    • If approved: `RefundedPayment` notification
    • If declined: `DeclinedPayment` notification
1. The paypoint initiates a refund request. 2. Payabli queues the refund request. 3. Payabli sends a synchronous response with the "Initiated" status, and the expected time when the refund will be processed. 4. The refund is released from the queue after 24 hours. 5. Payabli sends the refund request to the backend processor. 6. The backend processor processes the refund and sends a response to Payabli. 7. Notifications sent (must be configured): * 7a. If the refund is approved, Payabli sends a *RefundedPayment* notification. * 7b. If the refund is declined, Payabli sends a *DeclinedPayment* notification. ## Integration tips
\{AudienceChips.audience} \{AudienceChips.developers}
When integrating with Enhanced Refund Flow, follow these tips to ensure a smooth experience for your merchants: Recognize `status` = "INITIATED" and `resultCode` = "10" in refund and reversal responses. When you receive a response for a refund or reversal operation, save the Payabli transaction ID (returned as `referenceId`) for the refund and consider this response an indication that the refund is in a pending state. ```json {9-10} { "isSuccess": true, "responseText": "Success", "responseCode": 1, "responseData": { "expectedProcessingDateTime": "2025-02-15T10:30:00Z", "authCode": "A0000", "referenceId": "255-fb61db4171334aa79224b019f090e4c5", "resultCode": 10, "resultText": "INITIATED", "avsResponseText": null, "cvvResponseText": null, "customerId": null, "methodReferenceId": null }, "pageIdentifier": null } ``` Recognize `expectedProcessingDateTime”` in UTC format in refund and reversal responses. This field has a non-null value only if the refund has an INTIATED status. You can use this field to understand when the refund will be processed. ```json {6} { "isSuccess": true, "responseText": "Success", "responseCode": 1, "responseData": { "expectedProcessingDateTime": "2025-02-15T10:30:00Z", "authCode": "A0000", "referenceId": "255-fb61db4171334aa79224b019f090e4c5", "resultCode": 10, "resultText": "INITIATED", "avsResponseText": null, "cvvResponseText": null, "customerId": null, "methodReferenceId": null }, "pageIdentifier": null } ``` **Subscribe to the *RefundedPayment* notification** Configure [RefundedPayment](/guides/pay-ops-webhooks-payloads#refundedpayment) notifications. Use the transaction ID from the notification to find the refund, and mark it as approved in your own system. After it's approved, the refund is no longer pending. **Subscribe to the *DeclinedPayment* notification** Configure [DeclinedPayment](/guides/pay-ops-webhooks-payloads#declinedpayment) notifications. Use the transaction ID from the notification to find the refund and mark it as declined in your own system. After it's declined, the refund is no longer pending. For more information on refund declines, see [Refund failures](/guides/pay-in-refunds-failures-overview#card-refunds). For more information how to subscribe to notifications, see [Notifications and Reports Overview](/guides/pay-ops-notifications-webhooks-overview#set-up-webhooks) *** title: Understand refunds and failures subtitle: Learn about refunds and what to do when refunds fail description: >- Handle refund failures with expert troubleshooting guidance. Learn how ACH and card refunds differ, find common failure causes, and follow remediation steps 'og:description': >- Handle refund failures with expert troubleshooting guidance. Learn how ACH and card refunds differ, find common failure causes, and follow remediation steps keywords: >- embedded payments, payment processing, accept payments, payment refunds, refund failures, failed transactions, ACH refunds, card refunds, payment troubleshooting icon: clock-rotate-left slug: guides/pay-in-refunds-failures-overview area: * Pay In subArea: * Refunds audience: * developers * partners * merchants *** Credit card or ACH refund transactions can fail for reasons like the card expiring since original transaction, the account closing, insufficient merchant funds, technical issues and more. This guide explains how to monitor and correct failed refunds. ACH refunds and card refunds are handled differently, because of differences in how processing works between the two. ## ACH refunds Here's what you need to know about ACH refunds: * For ACH transactions the terms "void" and "refund" don't have separate meaning. When an ACH transaction is voided, it's just like refunding the transaction. * You can refund an ACH transaction once. * The ACH refund works only when there is a record of the original transaction with Payabli. If a merchant has moved from a different service provider to Payabli and is trying to refund a transaction that was processed by their former provider, the refund won't work because Payabli didn't process the original ACH transaction. * When an ACH refund failure occurs, the failure appears later, as an ACH Return. * If an ACH refund fails, you aren't alerted immediately. Because of how ACH processing works, the failure appears later, as an ACH return. When an ACH refund fails, here are the steps you should take: 1. First, check to make sure the ACH refund was properly initiated for the intended original transaction. You can't refund an ACH transaction that was already refunded, or was processed by a provider other than Payabli. 2. If the refund was properly initiated but resulted in an ACH return, then the merchant must work with the customer to pay them by some other means. For example, issuing store credit, cash, or a check. Flowchart showing ACH refund decision logic

Diagram: ACH Refund Decision Process

This diagram shows the decision process for handling ACH refund attempts:

  • First, verify the refund was properly initiated - it must be for the correct original transaction
  • If the refund wasn't properly initiated: The refund can't be processed
  • If the refund was properly initiated: Check if it resulted in an ACH Return
  • If the refund resulted in an ACH Return: Merchant must compensate the customer by other means (store credit, cash, or check)
  • If the refund did not result in an ACH Return: ACH refund is successful
### ACH returns and refunds When an ACH transaction is voided or refunded, it initiates two separate processes: * The original debit attempt to the payor's account. * A credit (refund) action to reverse the original transaction. Since these processes operate independently, you may encounter a scenario where the original debit fails and returns while the credit (void/refund) succeeds. This can result in the payor having excess funds in their account since the credit went through but the original debit failed. In this case, you would need to: 1. Process a new debit to recoup the excess funds from the successful refund. 2. Process another debit for the original payment amount. To prevent this situation, we recommend that you wait for the original ACH transaction to clear, typically 3 business days, before initiating a refund. ## Card refunds Here's what you need to know about card refunds: * In card processing, "void" and "refund" have different meanings. You can void a transaction only if the batch hasn't closed and started the settlement process. You can refund a transaction only after the transaction has started the settlement process. * A transaction can be voided or refunded once. * Each card brand has its own rules that dictate how long after a transaction a refund can be processed. Typically, refunds are allowed within a window of 3 to 4 months from the original transaction date. * The card refund works only when there is a record of the original transaction with Payabli. If a merchant has moved from a different service provider to Payabli and is trying to refund a transaction that was processed by their former provider, the refund won't work because Payabli didn't process the original card transaction. * When done correctly, card refunds seldom fail because: * Even if the card is expired or lost, the card issuer redirects the funds to the new replacement card. * If the card account is closed, card issuers redirect the funds to a bank account if a banking relationship exists with the cardholder. * If those options fail, some card issuers still accept the refund, and then issue a check to the cardholder. * In each of these situations, merchants still get a Success response when refunding the transaction through Payabli. * In the rare circumstance that a card refund fails, the payment response (whether via the API or web apps) itself contain the failure, so you are notified of the failure immediately. When a card refund fails, here are the steps you should take: 1. First, check to make sure the card refund was properly initiated for the intended original transaction. Remember that you can't: * Refund a card transaction that was already refunded * Refund a transaction processed by a provider other than Payabli * Refund a transaction that hasn't started the settlement process yet (you can still void transactions before the batch closes) 2. If the refund was properly initiated but resulted in a failure, then the merchant must work with the customer to pay them by some other means. For example, issuing store credit, cash, or a check. Flowchart showing card refund decision logic

Diagram: Card Refund Decision Process

This diagram shows the decision process for handling card refund attempts:

  • First, verify the refund was properly initiated - it must be for the correct original transaction
  • If the refund wasn't properly initiated: The refund can't be processed
  • If the refund was properly initiated: Check if it failed
  • If the refund failed: Merchant must compensate the customer by other means (store credit, cash, or check)
  • If the refund did not fail: Card refund is successful
*** title: Reconcile adjustments in transfers subtitle: >- Learn how to use the Payabli API to track adjustments, such as ACH returns and chargebacks, in your money in transfers description: >- Keep your books balanced with precise transfer reconciliation. Track chargebacks, ACH returns, holds, and other adjustments in your payment transfers accurately 'og:description': >- Keep your books balanced with precise transfer reconciliation. Track chargebacks, ACH returns, holds, and other adjustments in your payment transfers accurately keywords: >- embedded payments, payment processing, accept payments, payment operations, merchant onboarding, payment settlement, reconciliation, ACH returns, chargebacks, transfer tracking slug: guides/pay-ops-developer-transfers-reconcile icon: magnifying-glass-dollar area: * Pay Ops * Pay In subArea: * Reporting audience: * developers *** If you need to build your own money in reconciliation processes or dashboards, follow this guide to find chargebacks, ACH returns, and other adjustments that are included with transfers. You can learn more about the difference between batches and transfers in the [How Money Moves](/guides/platform-how-money-moves-overview#transfers) guide. ## The process Choose a process to find transfer details. If you already have a `TransferId`, choose **Find by transfer** If you need to find transfers that include returns and chargebacks by *batch*, use this approach. Make a GET request to [/Query/batches/\{entry}\`](/developers/api-reference/query/get-list-of-batches-for-an-entrypoint) to list batches by a paypoint. You can use filters and conditions to limit the responses. ```json cURL example curl --request GET \ --url https://api.payabli.com/api/Query/batches/476aacfed00?limitRecord=20&fromRecord=0&batchDate=2024-01-17 \ --header 'requestToken: ' ``` Now, check to see if the target batch has a transfer, and if the transfer had an ACH return or chargeback. Check if the batch contains any data in the `Transfer` object: * If it doesn't, it means that the batch hasn't been transferred yet. * If it does, it means the batch has been transferred. The `Transfer` object contains the summary info about that transfer. Check in the `Transfer` object to see if `ReturnedAmount` or `ChargeBackAmount` is 0. If the amount is anything other than 0, then it means the transfer included ACH returns or chargebacks. ```json Example response { "Summary": { "totalRecords": 2, "totalAmount": 222.22, "totalNetAmount": 0.0, "totalPages": 1, "pageSize": 20, "pageidentifier": "x19smxocx..." }, "Records": [ { "IdBatch": 110297, "BatchNumber": "batch_1000_combined_01-17-2024", "ConnectorName": " ", "BatchDate": "2024-01-17T00:00:00", "BatchAmount": 222.22, "BatchFeesAmount": 0.00, "BatchAuthAmount": 222.22, "BatchReleasedAmount": 0.00, "BatchHoldAmount": 0.00, "BatchReturnedAmount": -140.00, "BatchRefundAmount": 0.00, "BatchSplitAmount": 11.60, "BatchStatus": 3, "BatchRecords": 1, "PaypointId": 123, "PaypointName": "San Valentino Acres Neighborhood Assn, LLC", "PaypointDba": "San Valentino Acres", "ParentOrgName": "HOAManager", "externalPaypointID": null, "Method": "combined", "ExpectedDepositDate": "2024-01-22T00:00:00", "TransferDate": "2024-01-20T00:00:00", "Transfer": { "TransferId": 10101, // Copy the TransferId for the next step "TransferDate": "2024-01-20T23:45:01.877", "Processor": " ", "TransferStatus": 3, "GrossAmount": 222.22, "ChargeBackAmount": 0.00, // If amount isn't 0, then this transfer has chargebacks in it "ReturnedAmount": -140.00, // If Amount isn't 0, then this transfer has ACH returns in it "RefundAmount": 0.00, "HoldAmount": 0.00, "ReleasedAmount": 0.00, "BillingFeesAmount": 0.00, "ThirdPartyPaidAmount": 0.00, "AdjustmentsAmount": 0.00, "NetFundedAmount": 93.82 } } ] } ``` Copy the `TransferId` for the next step. Fetch the transfer details to know about the specific ACH returns or chargebacks processed in the transfer. Use the `TransferId` from the last step and make a GET request to [/Query/transferDetails/\{entry}/\{transferId}](https://docs.payabli.com/developers/api-reference/query/get-list-of-transfer-details). You can use filters and conditions to limit the responses. ```bash curl example curl --request GET \ --url https://api.payabli.com/api/Query/transferDetails/476aacfed00/10101?limitRecord=20&fromRecord=0 \ --header 'requestToken: ' ``` Review the response to get details about individual transactions with chargebacks or returns. ```json Truncated response example { "Summary": { "achReturns": -140, // If this amount isn't 0, then the transfer had ACH returns "adjustments": 0, "billingFees": 0, "chargebacks": 0, // If this amount isn't 0, then the transfer had chargebacks "grossTransferAmount": 222.22, "releaseAmount": 0, "thirdPartyPaid": 0, "totalNetAmountTransfer": 93.82, ... }, "Records": [ { "transferDetailId": 34135, "transferId": 10101, "transactionId": "100-b1000d0ec123456789aa", "transactionNumber": "TRN_fEoo5pq0000XXX", "paypointId": 937, "type": "debit", "category": "return", // Indicates that a transaction had a return. The value is `chargeback` if the transaction has a chargeback "method": "ach", "grossAmount": 0, "chargeBackAmount": 0, // The chargeback amount for the transaction "returnedAmount": -140, // The ACH Return Amount for this transaction "refundAmount": 0, "holdAmount": 0, "releasedAmount": 0, "billingFeesAmount": 0, "thirdPartyPaidAmount": 0, ... } ] } ``` ```json Full response example { "Summary": { "achReturns": -140, // If this amount isn't 0, then the transfer had ACH returns "adjustments": 0, "billingFees": 0, "chargebacks": 0, // If this amount isn't 0, then the transfer had chargebacks "grossTransferAmount": 222.22, "releaseAmount": 0, "thirdPartyPaid": 0, "totalNetAmountTransfer": 93.82, "serviceFees": 0, "transferAmount": 0, "refunds": 0, "heldAmount": 0, "totalRecords": 2, "totalAmount": 0, "totalNetAmount": 0, "totalPages": 1, "pageSize": 20, "pageidentifier": "u.eqz=XXXXX" }, "Records": [ { "transferDetailId": 34135, "transferId": 10101, "transactionId": "100-b1000d0ec123456789aa", "transactionNumber": "TRN_fEoo5pq0000XXX", "paypointId": 937, "type": "debit", "category": "return", // Indicates that a transaction had a return. The value is `chargeback` if the transaction has a chargeback "method": "ach", "grossAmount": 0, "chargeBackAmount": 0, // The chargeback amount for the transaction "returnedAmount": -140, // The ACH Return Amount for this transaction "refundAmount": 0, "holdAmount": 0, "releasedAmount": 0, "billingFeesAmount": 0, "thirdPartyPaidAmount": 0, "adjustmentsAmount": 0, "netTransferAmount": -120.62, "splitFundingAmount": 19.38, "billingFeesDetails": null, "ParentOrgName": "HOAManager", "PaypointDbaname": "San Valentino Acres", "PaypointLegalname": "WSan Valentino Acres Neighborhood Assn, LLC", "PaypointEntryname": "476aacfed00", "PaymentTransId": "100-b1000d0ec123456789aa", "ConnectorName": "gp", "GatewayTransId": "TRN_fEoo5pq0000XXX", "OrderId": "65134", "Method": "ach", "BatchNumber": "batch_100_combined_02-16-2024", "BatchAmount": 591.11, "PayorId": 100001, "PaymentData": { "MaskedAccount": "5XXXXXX5112", "AccountType": "Checking", "AccountExp": null, "HolderName": "Rafael Brooklyn", "StoredId": "30000bbb-0000-0e99-0000-100000xxx-100001", "orderDescription": "payment plan due 2/15/24 ($125.00)", "accountId": null, "SignatureData": null, "paymentDetails": { "totalAmount": 140, "serviceFee": 0, "checkNumber": null, "checkImage": null, "currency": "USD", "orderDescription": null, "orderId": null, "orderIdAlternative": null, "paymentDescription": null, "groupNumber": null, "source": null, "categories": [], "splitFunding": [] } }, "TransStatus": 1, "PaypointId": 937, "TotalAmount": 140, "NetAmount": 140, "FeeAmount": 0, "SettlementStatus": -2, "Operation": "Sale", "ResponseData": { "response": null, "responsetext": "CAPTURED", "authcode": "", "transactionid": "TRN_fEoo5pq0000XXX", "avsresponse": null, "avsresponse_text": null, "cvvresponse": null, "cvvresponse_text": null, "orderid": null, "type": null, "response_code": "100", "response_code_text": "Operation successful.", "customer_vault_id": null, "emv_auth_response_data": null, "additional_response_text": " " }, "Source": "api", "ScheduleReference": 0, "OrgId": 152, "RefundId": 0, "ReturnedId": 2501, "TransAdditionalData": null, "invoiceData": { "invoiceNumber": null, "invoiceDate": null, "invoiceDueDate": null, "invoiceEndDate": null, "invoiceStatus": null, "invoiceType": null, "frequency": null, "paymentTerms": null, "termsConditions": null, "notes": null, "tax": null, "discount": null, "invoiceAmount": null, "freightAmount": null, "dutyAmount": null, "purchaseOrder": null, "firstName": null, "lastName": null, "company": null, "shippingAddress1": null, "shippingAddress2": null, "shippingCity": null, "shippingState": null, "shippingZip": null, "shippingCountry": null, "shippingEmail": null, "shippingPhone": null, "shippingFromZip": null, "summaryCommodityCode": null, "items": null, "attachments": null, "additionalData": null }, "EntrypageId": 0, "externalPaypointID": null, "TransactionTime": "2024-01-16T01:06:40.97", "Customer": { "Identifiers": "[\"customernumber\"]", "FirstName": "Rafael", "LastName": "Brooklyn", "CompanyName": null, "BillingAddress1": null, "BillingAddress2": null, "BillingCity": null, "BillingState": null, "BillingZip": null, "BillingCountry": null, "BillingPhone": null, "BillingEmail": null, "CustomerNumber": "10001", "ShippingAddress1": null, "ShippingAddress2": null, "ShippingCity": null, "ShippingState": null, "ShippingZip": null, "ShippingCountry": null, "customerId": 100001, "customerStatus": 0, "AdditionalData": {}, "CreatedAt": "2023-12-15T01:00:57.957" }, "splitFundingInstructions": [ { "recipientEntryPoint": "c87b3c240e", "AccountId": "OOO_100000xxx00000", "Description": "Servicing Fee", "Amount": 19.38 }, { "recipientEntryPoint": "476aacfed00", "AccountId": "OOO_100000xxx999999", "Description": "payment plan due 2/15/24 ($125.00)", "Amount": 120.62 } ], "CfeeTransactions": [], "TransactionEvents": [ { "TransEvent": "Created", "EventData": null, "EventTime": "2024-01-16T01:06:39.8107905+00:00" }, { "TransEvent": "Approved", "EventData": { "id": "TRN_fEoo5pq0000XXX", "time_created": "2024-01-16T08:06:40.97Z", "type": "SALE", "status": "CAPTURED", "channel": "CNP", "capture_mode": "AUTO", "amount": "14000", "currency": "USD", "merchant_amount": "14000", "country": "US", "merchant_id": "99999999999xxxxxx", "merchant_name": "XXXX 9999 00000", "account_id": "OOO_100000xxx999999", "account_name": " ", "reference": "100-b1000d0ec123456789aa", "order": { "reference": "" }, "fees": { "amount": "0", "rate": "0.00", "total_amount": "0" }, "payment_method": { "result": "00", "message": "Success", "entry_mode": "ECOM", "narrative": "ACH Payment", "bank_transfer": { "masked_account_number_last4": "XXXXX1234", "account_type": "CHECKING", "bank": { "name": "" } } }, "batch_id": "", "action": { "id": "XXXX00000", "type": "AUTHORIZE", "time_created": "2024-01-16T08:06:40.97Z", "result_code": "SUCCESS", "app_id": "0000-9999", "app_name": "HOAManager_app" } }, "EventTime": "2024-01-16T01:06:41.0076121+00:00" }, { "TransEvent": "ClosedBatch", "EventData": null, "EventTime": "2024-01-16T15:03:12.2401091+00:00" }, { "TransEvent": "Transferred", "EventData": null, "EventTime": "2024-01-19T16:47:41.8318725+00:00" }, { "TransEvent": "ACH Return", "EventData": null, "EventTime": "2024-01-20T09:46:18.3652227+00:00" } ] } ] } ] } ``` If you need to find returns and chargebacks by transfers, use this method. If you already have your target `TransferId`, you can skip to step 3: *Get transfer details*. Make a GET request to [/Query/transfers/\{entry}\`](/developers/api-reference/query/get-list-of-transfers) to list transfers by a paypoint. You can use filters and conditions to limit the responses. ```json cURL example curl --request GET \ --url https://api.payabli.com/api/Query/batches/476aacfed00?limitRecord=20&fromRecord=0&batchDate=2024-01-17 \ --header 'requestToken: ' ``` In the response, check in the `Transfer` object to see if `returnedAmount` or `chargeBackAmount` is 0. If the amount is anything other than 0, then it means the transfer included ACH returns or chargebacks. ```json Example response { "Summary": { "totalPages": 1, "totalRecords": 1, "pageSize": 20 }, "Records": [ { "transferId": 10101, // Copy the transferId for the next step "paypointId": 123, "batchNumber": "batch_123_combined_01-17-2024", "batchId": 1000, "transferDate": "2024-01-20T23:45:01.877", "processor": " ", "transferStatus": 3, "grossAmount": 222.22, "chargeBackAmount": 0, // If this amount isn't 0, then the transfer had chargebacks "returnedAmount": -140, // If this amount isn't 0, then the transfer had ACH returns "holdAmount": 0, "releasedAmount": 0, "billingFeesAmount": 0, "thirdPartyPaidAmount": 0, "adjustmentsAmount": 0, "netTransferAmount": 93.82, "eventsData": [ { "description": "TransferCreated", "eventTime": "2024-01-20T23:45:01.8762702+00:00", "refData": "", "extraData": null, "source": null }, { "description": "TransferSuccess", "eventTime": "2024-01-20T23:45:03.3073994+00:00", "refData": " ", "extraData": null, "source": null } ] } ] } ``` Copy the value in `transferId` for the next step. Fetch the transfer details to know about the specific ACH returns or chargebacks processed in the transfer. Use the `TransferId` from the last step and make a GET request to [/Query/transferDetails/\{entry}/\{transferId}](https://docs.payabli.com/developers/api-reference/query/get-list-of-transfer-details). You can use filters and conditions to limit the responses. ```bash curl example curl --request GET \ --url https://api.payabli.com/api/Query/transferDetails/476aacfed00/10101?limitRecord=20&fromRecord=0 \ --header 'requestToken: ' ``` Review the response to get details about individual transactions with chargebacks or returns. ```json Truncated response example { "Summary": { "achReturns": -140, // If this amount isn't 0, then the transfer had ACH returns "adjustments": 0, "billingFees": 0, "chargebacks": 0, // If this amount isn't 0, then the transfer had chargebacks "grossTransferAmount": 222.22, "releaseAmount": 0, "thirdPartyPaid": 0, "totalNetAmountTransfer": 93.82, ... }, "Records": [ { "transferDetailId": 34135, "transferId": 10101, "transactionId": "100-b1000d0ec123456789aa", "transactionNumber": "TRN_fEoo5pq0000XXX", "paypointId": 937, "type": "debit", "category": "return", // Indicates that a transaction had a return. The value is `chargeback` if the transaction has a chargeback "method": "ach", "grossAmount": 0, "chargeBackAmount": 0, // The chargeback amount for the transaction "returnedAmount": -140, // The ACH Return Amount for this transaction "refundAmount": 0, "holdAmount": 0, "releasedAmount": 0, "billingFeesAmount": 0, "thirdPartyPaidAmount": 0, ... } ] } ``` ```json Full response example { "Summary": { "achReturns": -140, // If this amount isn't 0, then the transfer had ACH returns "adjustments": 0, "billingFees": 0, "chargebacks": 0, // If this amount isn't 0, then the transfer had chargebacks "grossTransferAmount": 222.22, "releaseAmount": 0, "thirdPartyPaid": 0, "totalNetAmountTransfer": 93.82, "serviceFees": 0, "transferAmount": 0, "refunds": 0, "heldAmount": 0, "totalRecords": 2, "totalAmount": 0, "totalNetAmount": 0, "totalPages": 1, "pageSize": 20, "pageidentifier": "u.eqz=XXXXX" }, "Records": [ { "transferDetailId": 34135, "transferId": 10101, "transactionId": "100-b1000d0ec123456789aa", "transactionNumber": "TRN_fEoo5pq0000XXX", "paypointId": 937, "type": "debit", "category": "return", // Indicates that a transaction had a return. The value is `chargeback` if the transaction has a chargeback "method": "ach", "grossAmount": 0, "chargeBackAmount": 0, // The chargeback amount for the transaction "returnedAmount": -140, // The ACH Return Amount for this transaction "refundAmount": 0, "holdAmount": 0, "releasedAmount": 0, "billingFeesAmount": 0, "thirdPartyPaidAmount": 0, "adjustmentsAmount": 0, "netTransferAmount": -120.62, "splitFundingAmount": 19.38, "billingFeesDetails": null, "ParentOrgName": "HOAManager", "PaypointDbaname": "San Valentino Acres", "PaypointLegalname": "WSan Valentino Acres Neighborhood Assn, LLC", "PaypointEntryname": "476aacfed00", "PaymentTransId": "100-b1000d0ec123456789aa", "ConnectorName": "gp", "GatewayTransId": "TRN_fEoo5pq0000XXX", "OrderId": "65134", "Method": "ach", "BatchNumber": "batch_100_combined_02-16-2024", "BatchAmount": 591.11, "PayorId": 100001, "PaymentData": { "MaskedAccount": "5XXXXXX5112", "AccountType": "Checking", "AccountExp": null, "HolderName": "Rafael Brooklyn", "StoredId": "30000bbb-0000-0e99-0000-100000xxx-100001", "orderDescription": "payment plan due 2/15/24 ($125.00)", "accountId": null, "SignatureData": null, "paymentDetails": { "totalAmount": 140, "serviceFee": 0, "checkNumber": null, "checkImage": null, "currency": "USD", "orderDescription": null, "orderId": null, "orderIdAlternative": null, "paymentDescription": null, "groupNumber": null, "source": null, "categories": [], "splitFunding": [] } }, "TransStatus": 1, "PaypointId": 937, "TotalAmount": 140, "NetAmount": 140, "FeeAmount": 0, "SettlementStatus": -2, "Operation": "Sale", "ResponseData": { "response": null, "responsetext": "CAPTURED", "authcode": "", "transactionid": "TRN_fEoo5pq0000XXX", "avsresponse": null, "avsresponse_text": null, "cvvresponse": null, "cvvresponse_text": null, "orderid": null, "type": null, "response_code": "100", "response_code_text": "Operation successful.", "customer_vault_id": null, "emv_auth_response_data": null, "additional_response_text": " " }, "Source": "api", "ScheduleReference": 0, "OrgId": 152, "RefundId": 0, "ReturnedId": 2501, "TransAdditionalData": null, "invoiceData": { "invoiceNumber": null, "invoiceDate": null, "invoiceDueDate": null, "invoiceEndDate": null, "invoiceStatus": null, "invoiceType": null, "frequency": null, "paymentTerms": null, "termsConditions": null, "notes": null, "tax": null, "discount": null, "invoiceAmount": null, "freightAmount": null, "dutyAmount": null, "purchaseOrder": null, "firstName": null, "lastName": null, "company": null, "shippingAddress1": null, "shippingAddress2": null, "shippingCity": null, "shippingState": null, "shippingZip": null, "shippingCountry": null, "shippingEmail": null, "shippingPhone": null, "shippingFromZip": null, "summaryCommodityCode": null, "items": null, "attachments": null, "additionalData": null }, "EntrypageId": 0, "externalPaypointID": null, "TransactionTime": "2024-01-16T01:06:40.97", "Customer": { "Identifiers": "[\"customernumber\"]", "FirstName": "Rafael", "LastName": "Brooklyn", "CompanyName": null, "BillingAddress1": null, "BillingAddress2": null, "BillingCity": null, "BillingState": null, "BillingZip": null, "BillingCountry": null, "BillingPhone": null, "BillingEmail": null, "CustomerNumber": "10001", "ShippingAddress1": null, "ShippingAddress2": null, "ShippingCity": null, "ShippingState": null, "ShippingZip": null, "ShippingCountry": null, "customerId": 100001, "customerStatus": 0, "AdditionalData": {}, "CreatedAt": "2023-12-15T01:00:57.957" }, "splitFundingInstructions": [ { "recipientEntryPoint": "c87b3c240e", "AccountId": "OOO_100000xxx00000", "Description": "Servicing Fee", "Amount": 19.38 }, { "recipientEntryPoint": "476aacfed00", "AccountId": "OOO_100000xxx999999", "Description": "payment plan due 2/15/24 ($125.00)", "Amount": 120.62 } ], "CfeeTransactions": [], "TransactionEvents": [ { "TransEvent": "Created", "EventData": null, "EventTime": "2024-01-16T01:06:39.8107905+00:00" }, { "TransEvent": "Approved", "EventData": { "id": "TRN_fEoo5pq0000XXX", "time_created": "2024-01-16T08:06:40.97Z", "type": "SALE", "status": "CAPTURED", "channel": "CNP", "capture_mode": "AUTO", "amount": "14000", "currency": "USD", "merchant_amount": "14000", "country": "US", "merchant_id": "99999999999xxxxxx", "merchant_name": "XXXX 9999 00000", "account_id": "OOO_100000xxx999999", "account_name": " ", "reference": "100-b1000d0ec123456789aa", "order": { "reference": "" }, "fees": { "amount": "0", "rate": "0.00", "total_amount": "0" }, "payment_method": { "result": "00", "message": "Success", "entry_mode": "ECOM", "narrative": "ACH Payment", "bank_transfer": { "masked_account_number_last4": "XXXXX1234", "account_type": "CHECKING", "bank": { "name": "" } } }, "batch_id": "", "action": { "id": "XXXX00000", "type": "AUTHORIZE", "time_created": "2024-01-16T08:06:40.97Z", "result_code": "SUCCESS", "app_id": "0000-9999", "app_name": "HOAManager_app" } }, "EventTime": "2024-01-16T01:06:41.0076121+00:00" }, { "TransEvent": "ClosedBatch", "EventData": null, "EventTime": "2024-01-16T15:03:12.2401091+00:00" }, { "TransEvent": "Transferred", "EventData": null, "EventTime": "2024-01-19T16:47:41.8318725+00:00" }, { "TransEvent": "ACH Return", "EventData": null, "EventTime": "2024-01-20T09:46:18.3652227+00:00" } ] } ] } ] } ``` ## Go further You can use this process to reconcile other adjustments to your transfers. Just follow the steps and look for these values instead of `ChargeBackAmount` and `ReturnedAmount`: * `holdAmount` * `releasedAmount` * `billingFeesAmount` * `thirdPartyPaidAmount` * `adjustmentsAmount` *** title: Manage Pay In transactions in the UI subtitle: Learn about reporting on and managing Pay In transactions in the Payabli UI icon: file-chart-column slug: guides/pay-in-portal-transactions-reports area: * Pay In subArea: * Transactions * Reporting audience: * partners * merchants description: >- View and manage Pay In transaction reports in PayHub. Access transaction details, filter payment data, export reports, and perform voids, refunds, and searches 'og:description': >- View and manage Pay In transaction reports in PayHub. Access transaction details, filter payment data, export reports, and perform voids, refunds, and searches keywords: >- embedded payments, payment processing, accept payments, transaction reports, payment reporting, transaction management, payment analytics, transaction history *** The Pay In Transactions report is a list of all inbound transactions for your company across a specified period. From the report page, you can get an overview of the total count and amount of these transactions, or view and work with individual transactions. View your Pay In Transactions report by navigating to **Money In > Reports > Transactions**. ## Overview The main transactions screen gives you a high-level overview of your company's Pay In transactions. This view is customizable: you can include whichever transaction-level details are most meaningful to your organization. To do so, click the **Columns** icon and select the columns to display in your transactions overview. * Payment ID * Transaction ID * Order ID * Batch Number * Organization * Paypoint DBA name * Paypoint ID * External Paypoint ID * Customer Company * Customer # * Email * Phone # * Billing Address * Shipping Address * Invoice number * Date Time of transaction * Pay method * Last four digits of the pay method * Transaction type * Cycle * Payment status * Batch status * Amount Fee * Total Amount * Currency * Auth Code * Source * Notes The default report period is the last 60 days, but you can change this using filters. ## Work with a transaction To open an individual transaction, locate the transaction you're interested in and click the three-dot icon in the **Action** column. In the menu that appears, select an action: * Choose **Quick View** to open the *Transaction Details* panel. This panel displays basic information about the transaction itself and the customer who made it. From here, you can void or refund the transaction, send a receipt, or open the customer's dashboard by selecting **Customer Information**. * Choose **View Customer** to go directly to the customer's record. * Choose **Charge Again** to run the charge again. This opens the *Charge Again* panel, where you can charge the customer again. * Choose **Send Receipt** to send a receipt for the charge to the customer. In the modal that appears, verify the customer's email address and click **Send**. * Choose **Void** to void the transaction. In the confirmation modal that appears, click **Void**. * Choose **Refund** to refund the transaction. * Choose **Hold Transaction** to hold the transaction. In the confirmation modal that appears, click **Hold**. The actions available for a transaction depend on the transaction's status and other variables. ## Export transaction list To download a list of transactions, first filter the report, then click the **Download** icon and select a format. The file will be downloaded to your device. *** title: Manage Pay In batches and funding in the UI subtitle: Learn how to report on and manage Pay In batches and funding in the Payabli UI slug: guides/pay-in-portal-batches-funding-manage icon: layer-group area: * Pay In subArea: * Batches and Funding * Reporting audience: * partners * merchants description: >- View and manage Pay In transaction batches in PayHub. Track batch processing, download settlement reports, and monitor funding amounts and transaction data 'og:description': >- View and manage Pay In transaction batches in PayHub. Track batch processing, download settlement reports, and monitor funding amounts and transaction data keywords: >- embedded payments, payment processing, accept payments, batch processing, settlement reports, transaction batching, payment reconciliation, funding reports *** Batches are collections of transactions grouped together for processing at one time. This guide explains how to manage and view Pay In batch details in the Payabli UI. To open the *Batches* screen, navigate to **Transactions > Batches**. From here, you can view and manage your Pay In batches. If you're logged in as an organization, batches are organized by paypoint and date, and you can have multiple batches for a single paypoint on any given date. If you're logged in as a paypoint, you'll see only the batches for that paypoint. For each batch record, you can: * View detailed transaction information * Download batch data * Track batch status and funding amounts ## View batch details To view the transactions in a batch and other batch details, follow these steps: 1. Locate the batch record you want to view. 2. Click the three-dot icon in the **Actions** column. 3. Select **View Transactions**. 4. In the *Batch & Transactions* panel, you see: * Batch details including status (open or closed), close date, gross amount, service fees, net amount, and transfer amount * Individual transaction records with customizable columns showing amount, ID, date, payment method details, type, and status For open batches, some values may change as transactions are processed. To view details for an individual transaction: 1. Find the transaction in the list. 2. Click the three-dot icon in the **Actions** column. 3. Select **View Details** to open the *Quick View* panel. The transaction's details appear in the panel. ## Download batch data To download a batch, follow these steps: 1. Locate the batch record you want to download. 2. Click the three-dot icon in the **Actions** column. 3. Select **Download**. The batch data will download automatically to your computer in CSV format. *** title: Credit card payments cycle subtitle: Learn how credit card transactions work description: >- Understand credit card transaction flows from authorization to settlement. Learn the roles of issuers, acquirers, processors, and card networks in payments 'og:description': >- Understand credit card transaction flows from authorization to settlement. Learn the roles of issuers, acquirers, processors, and card networks in payments keywords: >- embedded payments, payment processing, accept payments, credit card processing, card payments, payment authorization, payment settlement, card networks slug: guides/pay-in-cards-cycle-overview icon: credit-card area: * Pay In subArea: * Making Transactions audience: * developers * partners * merchants *** This guide covers the basics of the credit card payments cycle. ## Credit card terms Familiarize yourself with the basic concepts involved in a card transaction. * **Cardholder**: The person to whom a credit card belongs. * **Issuing bank**: The bank that issued the cardholder's credit card. * **Processor**: A third-party entity that handles the technical parts of credit card transactions on behalf of the merchant. * **Paypoint**: In this context, a paypoint is an individual merchant. * **Sponsoring bank**: Also known as an acquiring bank, the sponsoring bank acts as an intermediary between the merchant and the credit card networks. ## The credit card process Here's an overview of the basic credit card process. It has three phases: authorization, clearing, and settlement. ### Authorization phase
1 Paypoint
2 Card Processor Processes the transaction details with the cardholder's bank.
3 Cardholder Bank Verifies the transaction and transmits the approval or decline back to the paypoint.
The customer dips, taps, swipes, or manually enters the card info into the paypoint's credit card terminal or website. Payabli supports acceptance of Visa, Mastercard, American Express, Discover, JCB, and Diners Club cards. Information from the card is transmitted to the card processor. The card processor sends transaction detail to the cardholder’s bank. The cardholder’s bank responds with an authorization or a decline and the card processor sends that to the paypoint's terminal or website. ### Clearing phase
1 Paypoint
2 Card Processor Acquiring bank or processor sends the batch of authorized transactions to the appropriate payment networks for clearing.
3 Payment Networks Networks route the transactions to the issuing banks.
4 Issuing Bank Checks the transaction and records it as a debit to the cardholder's account.
The paypoint gathers and transmits the batch of authorized transactions to the processor. The acquiring bank or payment processor sends the batch of authorized transactions to the appropriate payment networks for clearing. The payment networks route the transactions to the appropriate issuing banks. The issuing banks check the transactions for validity and fraud, and make sure the cardholder has enough funds to cover the charge. They then calculate and gather the amount needed to settle the batch. ### Settlement phase
1 Issuing Banks
2 Card Processor
or
Acquiring Bank Route the funds to the paypoint's bank account.
3 Paypoint's Bank Credits the merchant's account with the transaction amount.
The issuing bank routes funds for settlement to the appropriate processors or acquiring banks. The processors or acquiring banks then route the funds to the paypoint's bank account. The funds are deposited into the paypoint's bank account. ## Settlement time Settlement time depends on the funding schedule configured for each paypoint. Traditional Funding takes between two and three business days. Paypoints that qualify for Next Day Funding get funds deposited the next day. ## Gross settlements and net settlements Some paypoints are configured for gross settlements, meaning that the total batch amount processed are deposited into the paypoint's bank account for that day. The processing fees that applied to those transactions, and all other transactions that month, are withdrawn from the paypoint bank account on the 1st day of the following month. This is monthly discounting and is the industry norm. Some paypoints prefer a net-settlement configuration known as Daily Discount. This means that instead of receiving their full batch amount, paypoints receive the full amount *minus* their processing fees on a daily cadence, taking into account deposit timelines. ## Voids and refunds Transactions can be voided if they haven't been settled yet. If funds have settled, you can initiate a refund, which gets the funds back to the payor. Learn more in [Void, Refund, or Reverse a Transaction](/guides/pay-in-developer-transactions-cancel). *** title: Level II and level III processing subtitle: 'Learn about the fields required for Level I, II, and III processing' description: >- Reduce processing costs with Level II and Level III card data. Save up to 1.10% per transaction with enhanced data for B2B and B2G payments and field specs 'og:description': >- Reduce processing costs with Level II and Level III card data. Save up to 1.10% per transaction with enhanced data for B2B and B2G payments and field specs keywords: >- embedded payments, payment processing, accept payments, Level 2 processing, Level 3 processing, interchange rates, B2B payments, processing fees, card processing icon: layer-group slug: guides/pay-in-transactions-l2-l3-overview mode: wide area: * Pay In subArea: * Making Transactions audience: * developers * partners * merchants *** There are three credit card processing levels: Level I, Level II, and Level III (also called Level 1, Level 2, and Level 3). Each level each requires varying levels of information about the transaction. You can save on processing fees sending Level II or Level III data with transactions. By including Level II and Level III data, you can influence interchange rates and bring down the per-transaction costs, often saving between .30% and 1.10%. Level I transactions are the most basic, and are typically between a business and an individual consumer (B2C). These transactions require the least amount of information. Level II transactions require more detail than Level I transactions. These are typically business-to-business (B2B) transactions. Level III transactions require the most information. These are often business-to-government (B2G) or large transactions. If you deal with B2B transactions, it's best practice to send as much of the Level II and Level III data you have with the transaction. This table shows the required transaction data for each level of processing. A checkmark indicates the field is required.
Field Level I Level II Level III
Merchant Name
Transaction Amount (Total)
Date
Tax Amount
Customer Code
Merchant Postal Code
Tax Identification
Merchant Minority Code
Merchant State Code
Ship from Postal Code
Destination Postal Code
Invoice Number
Order Number
Item Product Code
Item Commodity Code
Item Description
Item Quantity
Item Unit of Measure
Item Extended Amount
Freight Amount
Duty Amount
*** title: Process card payments in Canada subtitle: Learn how to process card payments in Canada via the API description: >- Process card payments in Canada through the Payabli API. Configure Canadian payment processing with the right region-specific requirements and settlement rules 'og:description': >- Process card payments in Canada through the Payabli API. Configure Canadian payment processing with the right region-specific requirements and settlement rules keywords: >- embedded payments, Canadian payments, card processing, payment API, Canada transactions, international payments, cross-border slug: guides/pay-in-developer-transactions-canada icon: money-from-bracket area: * Pay In subArea: * Transactions audience: * developers *** Merchants can process card-not-present card transactions in Canadian dollars (CAD) through Payabli. ## Considerations Keep the following considerations in mind when implementing Canadian processing: * US and Canadian currencies can't be commingled in a single Payabli organization. Partners that require both US and Canadian processing will have separate Payabli organizations for each currency. The Payabli team sets up any additional organization you need for you before you begin boarding Canadian merchants. * Canadian processing is available for credit card transactions only. ACH processing isn't available. * Canadian processing doesn't support card-present transactions. All credit card transactions must be processed as Card Not Present * Card processing isn't available for merchants conducting business in Quebec, or anyone who requires French-language terms and conditions. ## Processing card payments To process a card payment in CAD via the API, use the same API endpoints as for US processing. Payabli recommends that you specify the `CAD` currency in your requests, but it's not required. If you don't specify a currency, it defaults to the paypoint's default currency. ## Related resources See these related resources to help you get the most out of Payabli. * **[Make a sale transaction with the API](/guides/pay-in-developer-transactions-create)** - Learn how to authorize and capture a sales transaction in one step using the API *** title: ACH payments cycle subtitle: Learn how ACH transactions work description: >- Master ACH payment timing and workflows with clear explanations of the clearing process. Learn settlement schedules, return windows, and best practices for ACH 'og:description': >- Master ACH payment timing and workflows with clear explanations of the clearing process. Learn settlement schedules, return windows, and best practices for ACH keywords: >- embedded payments, payment processing, accept payments, ACH payments, bank transfers, electronic payments, payment settlement, payment timing slug: guides/pay-in-ach-cycle-overview icon: money-check area: * Pay In subArea: * Making Transactions audience: * developers * partners * merchants *** The Automated Clearing House (ACH) is a system for transferring electronic funds, run by [Nacha](https://www.nacha.org/). This guide covers the basics of the ACH payments cycle and timing. ## ACH terms Familiarize yourself with the basic entities involved in a Pay In ACH transaction. {/* vale Payabli.We = NO */} * **Initiator**: The initiator is a company or person who begins the ACH transaction process. In Payabli's Pay In functions, the initiator is always a paypoint or the paypoint's customer. ACH transactions must be authorized by the person or company being debited, either as part of the transaction or in advance of the transaction. * **Third Party Sender** - This is Payabli's designation with the banking networks that allows us to manage transactions. * **ODFI**: The Originating Depository Financial Institution (ODFI) is a bank that accepts ACH transactions on behalf of the initiator. This is one of Payabli's bank partners who manages our connection with the ACH network. * **RDFI**: The Receiving Depository Financial Institution (RDFI) is the bank that receives the request. These requests are typically a payment from a customer to a merchant, a settlement to a paypoint from an organization, or a settlement to a vendor from a paypoint. * **ACH Operator**: The ACH operator receives entries from ODFIs, distributes them to RDFIs, and settles the transactions. {/* vale Payabli.We = YES */} ## The ACH process Here's an overview of the basic ACH process for a Pay In transaction: Diagram showing the ACH process for transactions

Diagram: ACH Process for Pay In Transactions

This sequence diagram illustrates the flow of an ACH Pay In transaction through the payment network:

  1. Initiator requests ACH transaction from Payabli
  2. Payabli (Third Party Sender) communicates request for funds to the ODFI
  3. ODFI sends request to customer's bank (RDFI) via the ACH Operator
  4. RDFI responds with funds or reject message via the ACH Operator back to ODFI
  5. ODFI provides the response from the RDFI to Payabli
  6. Payabli transfers/settles funds to the Initiator
Someone initiates the transaction, this could be a customer "crediting" a paypoint or a paypoint "debiting" a customer. Payabli (the Third Party Sender) communicates the request for funds to the ODFI. The ODFI receives the request and passes the request to the ACH operator for processing. The ODFI is one of Payabli's partner banks. The ACH operator processes the incoming and outgoing requests for many financial institutions and sends them to the recipient bank (RDFI). The recipient bank (RDFI) receives the request and begins processing. 1. The request may fail for various reasons, such as insufficient funds or invalid banking information. 2. If the funds for the transaction are available in account, they're withdrawn and a line item appears in the customer's bank statement. The RDFI responds back through the ACH network with the funds or reject message. The ACH operator sends the message to the ODFI. The ODFI processes the message and credits the paypoint with the funds as requested. If the payment rejected, no funds will be passed and the paypoint may incur a fee for erroneously debiting an account. Payabli settles and transfers the funds to the paypoint. ## ACH processing times The ACH network settles payments only when the Federal Reserve's settlement service is open. The Federal Reserve's settlement system operates on banking days from 7:30 AM to 6:30 PM Eastern Time, excluding weekends and federal holidays. Here are some key terms used when discussing processing timelines:
Term Definition
Transaction time The time the transaction occurred.
Transaction day The calendar day when the transaction occurred.
Batch day The day's batch that the transaction is on for processing. Transactions made after the batch cutoff go on the next day's batch.
Review days Also known as "hold days", this is the number of days that the funds are held for review and monitoring.
Transfer day The calendar day when the instruction to send money is initiated. This can be any day of the week, including weekends and holidays. The transfer Day is calculated by adding review days to the batch day.
Fund day The day when Payabli receives confirmation from ODFI that the funds are on their way through the ACH system. This only occurs on banking days.
Important notes about fund day: * Treat the fund date as a confirmation that ODFI has sent the funding instruction to the ACH Operator and the money is on its way. * Fund date isn't a guarantee that merchants have already received the money in their bank account. The amount of time it takes to move the funds between ACH Operator and the RDFI varies, depending who the RDFI is. For most banks and financial institutes the fund day is when the money appears as "Pending" or "Processing" in the merchant's bank account. * ACH returns can happen after the fund day. * Although the fund day is typically the next banking day after the transfer day, it can take longer. It may take longer during high-volume periods, when the ODFI, ACH Operator, or RDFI experiences delays, or extended holidays. Check with your financial institution for the most up-to-date information about a specific transaction. If you have specific funding schedule expectations, reach out to Payabli to discuss. ### ACH timeline calculator This ACH timeline calculator helps you understand how the transaction day, batch day, review days, transfer day, and fund day work together. This calculator is for informational purposes only and doesn't guarantee specific processing times. The actual processing times may vary based on the ODFI, ACH Operator, and RDFI involved in the transaction. ### Timeline examples with 0 review days This table gives several examples of ACH processing timelines with a 0 day review period. | Transaction day | Batch day | Transfer day | Fund day | Notes | | :-------------- | :-------- | :----------- | :------- | :----------------------- | | Mon | Mon | Mon | Tue | Regular Week | | Fri | Fri | Fri | Mon | No processing on weekend | | Sat | Sat | Sat | Mon | No processing on weekend | | Sun | Sun | Sun | Mon | No processing on weekend | | Fri | Fri | Fri | Tue | Monday is a bank holiday | | Sun | Sun | Sun | Tue | Monday is a bank holiday | ### Timeline examples with 2 review days This table gives several examples of ACH processing timelines with a 2 day review period. | Transaction day | Batch day | Transfer day | Fund day | Notes | | :-------------- | :-------- | :----------- | :------- | :------------------------------------------------------------------------- | | Mon | Mon | Wed | Thu | Regular week | | Wed | Wed | Fri | Mon | No processing on weekend | | Fri | Fri | Mon | Tuesday | No processing on weekend, and transfer instructions aren't sent on Sundays | | Sat | Sat | Mon | Tue | Regular week | | Sun | Sun | Tue | Wed | Regular week | | Wed | Wed | Fri | Tue | Monday is a bank holiday | | Fri | Fri | Sun | Tue | Monday is a bank holiday | ### Timeline examples with 5 review days This table gives several examples of ACH processing timelines with a 5 day review period. | Transaction day | Batch day | Transfer day | Fund day | Notes | | :-------------- | :-------- | :----------- | :------- | :----------------------- | | Mon | Mon | Sat | Tue | No processing on weekend | | Tue | Tue | Sun | Tue | No processing on weekend | | Wed | Wed | Mon | Tue | Regular week | | Thu | Thu | Tue | Wed | Regular week | | Fri | Fri | Wed | Thu | Regular week | | Sat | Sat | Thu | Fri | Regular week | | Sun | Sun | Fri | Mon | No processing on weekend | ## ACH returns An ACH return is a message from the check writer's bank that lets the ODFI (Originating Depository Financial Institution) know the ACH Network couldn't make the deposit or collect funds from the receiver's account (RDFI- Receiving Depository Financial Institution). Learn more in the [ACH Returns](/guides/pay-ops-disputes-chargebacks-returns-overview#ach-returns) guide. *** title: Capturing in-person checks subtitle: >- Learn how to use RDC (remote deposit capture) to convert paper checks into electronic payments description: >- Convert in-person paper checks to electronic payments with Remote Deposit Capture. Capture check images via mobile or scanner, extract data, and process via ACH 'og:description': >- Convert in-person paper checks to electronic payments with Remote Deposit Capture. Capture check images via mobile or scanner, extract data, and process via ACH keywords: >- embedded payments, payment processing, accept payments, RDC, remote deposit capture, check processing, mobile check deposit, OCR, back office conversion icon: money-check slug: guides/pay-in-checks-rdc-overview area: * Pay In subArea: * Transactions * RDC audience: * partners * developers * merchants *** {/* vale Payabli.Weasel["clearly"] = NO */} {/* vale Payabli.Condescending["clearly"] = NO */} {/* vale Payabli.Acronyms["CAR", "LAR"] = NO */} Remote Deposit Capture (RDC) is a service that allows you to convert paper checks received in-person into electronic payments without physically depositing them at a bank. This guide explains the key concepts, requirements, and best practices for implementing RDC. RDC with Back Office Conversion (BOC) only supports checks received in-person at a point-of-sale or staffed payment location. Mailed checks, checks from drop boxes, and checks from unstaffed locations aren't eligible. See [eligible checks](#back-office-conversion-boc) for details. RDC is the process of: 1. Capturing images of paper checks 2. Extracting check information using OCR (Optical Character Recognition) 3. Converting the checks into electronic payments 4. Processing these payments through the ACH (Automated Clearing House) network When you capture a check image, you typically take a photo of the front and back of the check using a mobile device or scanner. The images are then sent to a payment processor for verification and conversion. ## Back Office Conversion (BOC) In Payabli, when you capture a check image using RDC, that's the first step in converting it into an electronic payment. This process is called Back Office Conversion (BOC). BOC allows businesses to convert checks received at a point-of-sale or staffed payment location into electronic payments. Only some checks are eligible for BOC processing, and the process must comply with specific rules and regulations. **Eligible checks:** * Consumer checks only (no business, insurance, or government checks) * Checks received in-person at point-of-sale for goods or services * Checks from staffed bill payment locations * Checks with proper MICR line data **Ineligible checks:** * Checks that weren't received in-person (for example, mailed checks) * Checks from un-staffed payment locations (for example, drop boxes) * Checks where the consumer has opted out of electronic conversion ## Check image requirements For successful RDC processing, check images must meet these standards: * **Format**: Image must be in JPEG or PNG format. * **Size**: File size should be less than 1MB per image. * **Quality**: The entire check must be visible, clear, and legible. * **Positioning**: No partial, blurry, or illegible images. * **Lighting**: Good lighting conditions that help create a clear image. * \*\* Magnetic Ink Character Recognition (MICR) line\*\*: The bottom line containing routing and account numbers must be clearly visible. The MICR line at the bottom of a check contains: * Routing number (⑆123456789⑆) * Account number (⑈123456⑈) * Check number (0123) * **CAR and LAR values**: The check image must have clear and legible CAR (Courtesy Amount Recognition) and LAR (Legal Amount Recognition) values. The CAR is the numerical amount, while the LAR is the written amount. They system verifies the two amounts match. When implementing RDC, you must comply with the following requirements: 1. **Customer notice**: Tell the customers that checks may be converted to electronic payments 2. **Check retention**: Retain the original check for a minimum period (typically 14 days) 3. **Secure destruction**: Securely destroy converted checks after the retention period 4. **No double presentment**: Never process both the paper check and the electronic version 5. **Privacy protection**: Safeguard all customer banking information 6. **Opt-out mechanism**: Give the customers a way to opt out of check conversion ## Next steps If you're interested in using RDC, contact the Payabli team to enable it. You can use the API to integrate Payabli's RDC features into your app. See the [RDC developer guide](/guides/pay-in-developer-checks-rdc) for more information. *** title: Use Remote Deposit Capture (API) subtitle: >- Learn how to use RDC (remote deposit capture) to convert paper checks received in-person into electronic payments via the API description: >- Process paper checks electronically with Remote Deposit Capture via the API. Convert in-person checks to electronic payments with image capture and validation 'og:description': >- Process paper checks electronically with Remote Deposit Capture via the API. Convert in-person checks to electronic payments with image capture and validation keywords: >- embedded payments, remote deposit capture, RDC, check processing, electronic payments, check scanning, payment API slug: guides/pay-in-developer-checks-rdc icon: money-check area: * Pay In subArea: * Transactions * RDC audience: * developers *** {/* vale Payabli.Weasel["clearly"] = NO */} {/* vale Payabli.Condescending["clearly"] = NO */} {/* vale Payabli.Acronyms["CAR", "LAR"] = NO */} Remote Deposit Capture (RDC) is a service that allows you to convert paper checks received in-person into electronic payments without physically depositing them at a bank. This guide explains how to implement RDC via the API. Contact the Payabli support team to enable Remote Deposit Capture for your account. RDC uses Back Office Conversion (BOC), which only supports consumer checks received in-person at a point-of-sale or staffed payment location. Mailed checks, drop box checks, and business/government checks aren't eligible. See [Capturing in-person checks](/guides/pay-in-checks-rdc-overview#back-office-conversion-boc) for full eligibility details. The implementation process consists of two main API calls: 1. Check image capture and OCR extraction 2. Payment processing using the extracted check information Before you begin, make sure you read [Capturing in-person checks](/guides/pay-in-checks-rdc-overview) to understand the key concepts and requirements for Remote Deposit Capture (RDC). ## Step 1: Process check images First, send the check images to Payabli for processing using the /CheckCapture/CheckProcessing endpoint. You need to send the front and back images of the check in JPEG or PNG format, base64 encoded. A successful response includes the extracted check information, including the OCR account and routing numbers, as well as the check amount. If the check processing fails, the response includes error information to help you troubleshoot the issue. Some errors appear in the `errors` array of 200 response, and validation errors are returned as a 400 response. ```json 200 response with errors {17-19} { "id": "", "success": false, "processDate": "0001-01-01T00:00:00", "ocrMicr": null, "ocrMicrStatus": "", "ocrMicrConfidence": null, "ocrAccountNumber": null, "ocrRoutingNumber": null, "ocrCheckNumber": null, "ocrCheckTranCode": null, "ocrAmount": "107", "ocrAmountStatus": "", "ocrAmountConfidence": null, "amountDiscrepancyDetected": false, "endorsementDetected": false, "errors": [ "It appears you submitted 2 images of front of check. Please retake both front and rear photos." ], "messages": [], "carLarMatchConfidence": null, "carLarMatchStatus": null, "frontImage": null, "rearImage": null, "checkType": 0, "referenceNumber": "0" } ``` ```json 400 response due to validation errors { "type": "https://tools.ietf.org/html/rfc9110#section-15.5.1", "title": "One or more validation errors occurred.", "status": 400, "errors": { "CheckAmount": [ "The field checkAmount must be between 1 and 2147483647." ] }, "traceId": "00-1c904c7c430bcc27d345d2a01bf0adb0-c3eb27340963e477-01" } ``` ## Step 2: Process payment After successfully processing the check images, use the extracted information to complete the payment transaction. Send a POST request to /MoneyIn/getpaid: ```json { "entryPoint": "41035afaa7", "paymentMethod": { "method": "ach", "achAccount": "123456", // Use ocrAccountNumber from step 1 "achRouting": "123456789", // Use ocrRoutingNumber from step 1 "achCode": "BOC", // Must be "BOC" for check conversion "achHolder": "John Doe", // Account holder name "achAccountType": "Checking" // Must be "Checking" }, "paymentDetails": { "checkUniqueId": "abc123def456", // Use id from step 1 response "totalAmount": 125.50 // Use dot (.) as decimal separator }, } ``` This request has some differences from the standard transaction, pay attention to the following fields: | Field | Value | Description | | ---------------- | -------------- | ------------------------------------------------------------- | | `method` | `ach` | Payment method must be ACH | | `achCode` | `BOC` | ACH SEC code must be BOC for check conversion | | `achAccountType` | "Checking" | Account type must be Checking | | `totalAmount` | `125.50` | Amount in dollars, using a dot (`.`) as the decimal separator | | `checkUniqueId` | `abc123def456` | ID from the check processing response | A successful request returns a 200 response. ## Implementation recommendations When implementing RDC, consider the following recommendations, which can help create a smoother user experience and reduce errors. ### Data validation Before submitting to the API: * Ensure check images are correctly encoded and within size limits * Verify the check amount sent to `/CheckCapture/CheckProcessing` is in cents (integer value), and the amount sent to `/MoneyIn/getpaid` uses dot (`.`) decimal notation * Check that the required parameters are correctly formatted ### Error handling strategies When implementing error handling, consider the following scenarios and strategies: | Error scenario | Handling strategy | | ------------------------------ | ----------------------------------------------------- | | OCR confidence below threshold | Implement manual review for low confidence results | | Image quality issues | Give the user feedback to retake images | | Amount discrepancies | Show warning and allow user to confirm correct amount | | Connectivity problems | Implement retry logic with exponential backoff | ### Testing recommendations When testing your RDC implementation, consider the following scenarios: 1. **Image quality testing**: Test with varied image qualities and lighting conditions. 2. **Error handling**: Test with intentionally poor images and various check types to verify error handling. 3. **End-to-end flow**: Test the complete flow from image capture to payment processing. 4. **Integration testing**: Verify proper integration with your existing systems. ## Related resources See these related resources to help you get the most out of Payabli. * **[Capturing in-person checks](/guides/pay-in-checks-rdc-overview)** - Learn how to use RDC (remote deposit capture) to convert paper checks into electronic payments *** title: Apple Pay overview subtitle: Learn about using Apple Pay with Payabli description: >- Accept secure Apple Pay payments with Payabli. Use Face ID and Touch ID authentication for fast, convenient checkout on Apple devices with enterprise security 'og:description': >- Accept secure Apple Pay payments with Payabli. Use Face ID and Touch ID authentication for fast, convenient checkout on Apple devices with enterprise security keywords: >- embedded payments, payment processing, accept payments, Apple Pay, digital wallets, mobile payments, contactless payments, biometric authentication slug: guides/pay-in-wallets-apple-pay-overview icon: brands apple-pay area: * Pay In subArea: * Wallets audience: * developers * partners *** Apple Pay is a digital wallet and mobile payment service that allows payors to make payments using their Apple devices. You can accept Apple Pay in the store using any of the hardware devices that Payabli supports. Payabli also supports Apple Pay for payments made online on any of the supported browsers on Apple devices except for Safari 17 and below on iOS. ## How Apple Pay transactions work The payor selects goods or services to buy and chooses Apple Pay as the payment method. The payor then authenticates the transaction using Face ID, Touch ID, or the device passcode. The website or mobile app, through integration with Payabli's JS SDK, receives the payment request. This request includes an encrypted payment token representing the payor's payment information. The token is unique to each transaction and is used to securely transmit payment data to Payabli. Merchant's software platform receives the encrypted payment token and uses Payabli integration to send the payment token in the transaction request to Payabli for payment processing. The payment processor Payabli receives the transaction details including the encrypted payment token. Payabli decrypts the payment token and forwards the transaction to the acquirer. The Acquirer receives the decrypted payment information from Payabli. It then forwards the transaction to the card network for authorization. The card network reviews the transaction details and works with the card Issuer to either approve or decline the transaction. The transaction decision is sent back the same path from the card network to the acquirer to Payabli, and then to the merchant platform. The merchant platform then completes the transaction based on the response (approved or declined). When the transaction is complete, the merchant platform provides the customer with a transaction confirmation, such as a receipt. Apple Pay transaction flow from user to payment network

Diagram: Apple Pay Transaction Flow

This diagram shows how Apple Pay transactions are processed through the payment network:

  • User authenticates with Touch ID or Face ID in the app or website
  • App/website sends encrypted Apple Pay payment object to merchant platform
  • Merchant platform maps data to Payabli's PSP API/SDK
  • Payabli (PSP) decrypts the payment token and sends transaction for authorization to the acquirer
  • Acquirer tokenizes and authorizes the payment through the payment network
  • Authorization response travels back through the same path to complete the transaction
## Considerations * Apple Pay is available for one-time payments. * Payabli supports Apple Pay from the ExpressCheckout embedded component and hosted payment pages. You can't use Apple Pay for API transactions. * The ExpressCheckout embedded component doesn't support Apple Pay for Safari versions lower than 17 on iOS. ## Get started To get started, configure and activate Apple Pay via [the API](/guides/pay-in-developer-wallets-apple-pay-enable). ## Related resources See these related resources to help you get the most out of Payabli. * **[Activate Apple Pay (API)](/guides/pay-in-developer-wallets-apple-pay-enable)** - Learn about setting up Apple Pay via the Payabli API * **[Manage Apple Pay (API)](/guides/pay-in-developer-wallets-apple-pay-manage)** - Learn about managing Apple Pay and payment method domains via the Payabli API *** title: Activate Apple Pay (API) subtitle: Learn about setting up Apple Pay via the Payabli API description: >- Enable Apple Pay transactions through the Payabli API. Register and verify domains, then activate Apple Pay for your organization with step-by-step instructions 'og:description': >- Enable Apple Pay transactions through the Payabli API. Register and verify domains, then activate Apple Pay for your organization with step-by-step instructions keywords: >- embedded payments, payment processing, accept payments, Apple Pay, digital wallets, mobile payments, wallet integration, domain verification slug: guides/pay-in-developer-wallets-apple-pay-enable icon: toggle-on area: * Pay In subArea: * Wallets audience: * developers * partners *** Payabli has simplified the process of getting ready to accept Apple Pay. You don't need to create your own Apple developer account, encryption keys, certificates, or merchant identifiers. This guide walks through how to enable Apple Pay for your organization via the API. Enabling Apple Pay via the API has several steps. 1. Add the domain. 2. Validate domain ownership. 3. Cascade the domain. 4. Activate the Apple Pay service for your org. The following sections go over each step in detail. ## Add payment method domains Payment method domains are the web domains where you can accept Apple Pay payments. Payabli needs to know which payment domains should accept Apple Pay payments to mitigate risk and make sure that transactions are coming from known websites. Managing your payment method domains involves configuring them in Payabli, and then verifying domain ownership with Apple. To add a domain via the API, make a POST request to the [/PaymentMethodDomain](/developers/api-reference/paymentmethoddomain/paymentmethoddomain-add) endpoint. The domain must be public. It can't be `localhost`, hidden by a VPN, or protected by a password. ### Payment method domain examples The following example walks through the general structure of payment method domains. Pretend that you own the domain *example.com*, and you want to accept Apple Pay on a number of different pages on your various subdomains. You must set up payment method domains for each of your target domains and subdomains. | Page URL | Payment Method Domain | | ----------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- | | https:{/* break link */}//www{/* break link */}.{/* break link */}example.{/* break link */}com/monthlydues | www{/* break link */}.example.{/* break link */}com | | https\://{/* break link */}subdomain1{/* break link */}.example{/* break link */}.com/payments | subdomain1{/* break link */}.example.{/* break link */}com | | https\://{/* break link */}subdomain2{/* break link */}.example{/* break link */}.com/donations/pay | subdomain2{/* break link */}.example.{/* break link */}com | | https\:/{/* break link */}/subdomain3{/* break link */}.example{/* break link */}.com/order | subdomain3{/* break link */}.example.{/* break link */}com | ## Verify domain ownership Before you can accept Apple Pay, you must verify your ownership of a payment method domain using something called a domain-verification file. This process has two main steps: get the file, and host the file on your domain. You must download the domain-verification file from these links. Choose the correct file for your Payabli environment. * Sandbox: [Download](https://payabli-public-objects-sandbox.s3.amazonaws.com/apple-developer-merchantid-domain-association) * Production [Download](https://payabli-public-objects-prod.s3.amazonaws.com/apple-developer-merchantid-domain-association) After you've downloaded your domain-verification file, you need to host it on the path `/.well-known/apple-developer-merchantid-domain-association` for each the domains you want to use to accept Apple Pay. For example: * https:{/* break link */}//www{/* break link */}.example.{/* break link */}com/.{/* break link */}well-known/apple-developer-merchantid-domain-association * https:{/* break link */}//subdomain1.{/* break link */}example.{/* break link */}com/{/* break link */}.well-known/apple-developer-merchantid-domain-association * https{/* break link */}://subdomain2{/* break link */}.example.{/* break link */}com/.{/* break link */}well-known/apple-developer-merchantid-domain-association * https\:/{/* break link */}/subdomain3{/* break link */}.example{/* break link */}.com/.well-known/apple-developer-merchantid-domain-association Payabli automatically checks for the domain-verification file. If verification succeeds, the domain is activated in Payabli. If verification fails, the domain is added but remains inactive. You can verify the domain later. ## Cascade domains You have the option to cascade domains. When you cascade a domain, all of the organization's children, including suborganizations and paypoints, inherit the domain. This reduces future operational overhead by automatically adding verified domains to all new suborganizations and paypoints. Payabli strongly recommends cascading domains. Cascade a domain via the API by sending a POST request to [/PaymentMethodDomain/\{domainId}/cascade](/developers/api-reference/paymentmethoddomain/paymentmethoddomain-cascade). You can run a GET request to [/PaymentMethodDomain/\{domainId}](/developers/api-reference/paymentmethoddomain/paymentmethoddomain-get) to check the cascade status. The `cascades.jobStatus` field indicates whether the cascade process is complete, failed, or in progress. ```json {5} // response truncated "cascades": [ { "jobId": "550139", "jobStatus": "completed", "jobErrorMessage": null, "createdAt": "2024-09-05T14:13:54.698Z", "updatedAt": "2024-09-05T14:13:54.698Z" } ], ``` Payabli recommends a 10 second polling interval when checking domain cascade status. ## Activate Apple Pay To activate Apple Pay for an organization, make a POST request to the [/Wallet/applepay/configure-organization](/developers/api-reference/wallet/applepay/applepay-configure-organization). In the body, send `isEnabled` as `true` to activate the Apple Pay for the organization. Send `cascade` as `true` to activate Apple Pay for the organization's children (including suborganizations and paypoints). ```bash Example activation request curl --request POST \ --url https://api-sandbox.payabli.com/api/Wallet/applepay/configure-organization \ --header 'Content-Type: application/json' \ --header 'requestToken: ' \ --data '{ "orgId": 123, "isEnabled": true, "cascade": true }' ``` After you've sent the activation request, Payabli will enable the service and cascade the settings, if applicable. This can take a few minutes, depending on how your entities are structured. To check whether Apple Pay is activated, send a GET request to [/api/Organization/settings/\{orgId}](/developers/api-reference/organization/get-organization-settings). Check the response for `forWallets`, when Apple Pay is active, you'll see the following in the response: ```json "forWallets": [ { "key": "IsApplePayEnabled", "value": "true", "readOnly": true } ] ``` ## Related resources See these related resources to help you get the most out of Payabli. * **[Apple Pay overview](/guides/pay-in-wallets-apple-pay-overview)** - Learn about using Apple Pay with Payabli * **[Manage Apple Pay (API)](/guides/pay-in-developer-wallets-apple-pay-manage)** - Learn about managing Apple Pay and payment method domains via the Payabli API *** title: Manage Apple Pay (API) subtitle: Learn about managing Apple Pay and payment method domains via the Payabli API description: >- Manage your Apple Pay integration with domain management APIs. Add, verify, and cascade domains across organizations, and toggle Apple Pay acceptance as needed 'og:description': >- Manage your Apple Pay integration with domain management APIs. Add, verify, and cascade domains across organizations, and toggle Apple Pay acceptance as needed keywords: >- embedded payments, payment processing, accept payments, Apple Pay, digital wallets, domain management, payment configuration slug: guides/pay-in-developer-wallets-apple-pay-manage icon: bars-progress area: * Pay In subArea: * Wallets audience: * developers * partners *** You can manage Apple Pay payment method domains and settings via the Payabli APIs. ## Domain management ### Add a domain Send a POST request to [/api/PaymentMethodDomain](/developers/api-reference/paymentmethoddomain/paymentmethoddomain-add) to add more domains to an organization. ### Cascade domain Send a POST request to [/api/PaymentMethodDomain/\{domainId}/cascade](/developers/api-reference/paymentmethoddomain/paymentmethoddomain-cascade) to cascade the domain to all of the organization's children (both suborganizations and paypoints). ### Stop accepting Apple Pay To stop accepting Apple Pay from a domain, send a PATCH request to [/api/PaymentMethodDomain/\{domainId}](/developers/api-reference/paymentmethoddomain/paymentmethoddomain-update) and send `applePay.isEnabled` as `false`. You can't deactivate an inherited domain. You must deactivate domains at the domain owner organization's level. ### Start accepting Apple Pay To start accepting Apple Pay on a domain, send a POST request to [/api/PaymentMethodDomain/\{domainId}/verify](/developers/api-reference/paymentmethoddomain/paymentmethoddomain-verify) to verify the domain. If verification succeeds, Apple Pay is activated automatically for the domain. You can't verify an inherited domain. You must verify domains at the domain owner organization's level. ### View domain details To view a domain's details, send a GET request to [/api/PaymentMethodDomain/\{domainId}](/developers/api-reference/paymentmethoddomain/paymentmethoddomain-get) retrieve a domain's details. The response includes `cascades.jobStatus`, which gives the status of the domain cascade process. ### Delete domain You can remove a domain from an organization by sending a DELETE request to the [/PaymentMethodDomain/\{domainId}](/developers/api-reference/paymentmethoddomain/paymentmethoddomain-delete) endpoint. You can't delete an inherited domain. You must delete a domain at the owning organization's level. ### Get list of domains To get a list of domains associated with an entity, send a POST request to the [/PaymentMethodDomain/list](/developers/api-reference/paymentmethoddomain/get-list-of-payment-method-domains) endpoint. * Send `entityType` as `organization` and the organization ID in `entityId` to get the details for the organization. * Send `entityType` as `paypoint` and the paypoint's ID in `entityId` to get the details for the paypoint. ## Apple Pay service management You can activate and deactivate the Apple Pay service for an organization and cascade the settings to all of the organization's children (including suborganizations and paypoints). ### Activate Apple Pay To activate Apple Pay via the API, see [Activate Apple Pay (API)](/guides/pay-in-developer-wallets-apple-pay-enable). ### Deactivate Apple Pay To deactivate the Apple Pay service, make a POST request to the [/Wallet/applepay/configure-organization](/developers/api-reference/wallet/applepay/applepay-configure-organization). In the body, send `isEnabled` as `false` and `cascade` as `true` to deactivate Apple Pay on the organization and cascade the deactivation to all of the organization's children. ```bash Example deactivation request {7-8} curl --request POST \ --url https://api-sandbox.payabli.com/api/Wallet/applepay/configure-organization \ --header 'Content-Type: application/json' \ --header 'requestToken: ' \ --data '{ "orgId": 123, "isEnabled": false, "cascade": true }' ``` After you've sent the deactivation request, Payabli deactivates the service and cascades the settings, if applicable. This can take a few minutes, depending on how your entities are structured. To check whether Apple Pay is deactivated, send a GET request to [/api/Organization/settings/\{orgId}](/developers/api-reference/organization/get-organization-settings). Check the response for `forWallets`, when Apple Pay isn't active, you can see the following in the response: ```json "forWallets": [ { "key": "IsApplePayEnabled", "value": "false", "readOnly": true } ] ``` ## Related resources See these related resources to help you get the most out of Payabli. * **[Apple Pay overview](/guides/pay-in-wallets-apple-pay-overview)** - Learn about using Apple Pay with Payabli * **[Activate Apple Pay (API)](/guides/pay-in-developer-wallets-apple-pay-enable)** - Learn about setting up Apple Pay via the Payabli API *** title: Google Pay™ overview subtitle: Learn about using Google Pay with Payabli description: >- Offer fast, secure Google Pay checkout to hundreds of millions of users worldwide. Accept Google Pay on web with payment pages and ExpressCheckout component UI 'og:description': >- Offer fast, secure Google Pay checkout to hundreds of millions of users worldwide. Accept Google Pay on web with payment pages and ExpressCheckout component UI keywords: >- embedded payments, payment processing, accept payments, Google Pay, digital wallets, mobile payments, web payments, fast checkout slug: guides/pay-in-wallets-google-pay-overview icon: brands google-pay area: * Pay In subArea: * Wallets audience: * developers * partners *** Google Pay is a digital wallet and mobile payment service that enables fast checkout on your website, and gives you convenient access to hundreds of millions of cards saved to Google Accounts worldwide. For the current version, Payabli supports only web payments via Payment Page and Express checkout component. There is no API support. ## How Google Pay transactions work The user taps the Google Pay button on the payment page or ExpressCheckout component. The Google Pay payment sheet loads for the user, and shows the available payment methods and additional details, like a shipping address, that come from user details and merchant requirements. The user selects a payment method and confirms other details in the Google Pay payment sheet. Google encrypts the payload with Payabli's Public key which has been registered with Google. The payment page or ExpressCheckout component sends the encrypted payload to Payabli's API. Payabli decrypts the encrypted payload with the appropriate private key, and then performs the transaction like any other transaction. API sends the transaction result back to the payment page or ExpressCheckout component. Google Pay transaction flow from user to payment network

Diagram: Google Pay Transaction Flow

This diagram shows how Google Pay transactions are processed through the payment network:

  • User taps the Google Pay button on the payment page or ExpressCheckout component
  • Google returns encrypted payment payload to the payment page/component
  • Payment page/component sends encrypted Google Pay payload to merchant platform
  • Merchant platform maps data to Payabli's PSP API/SDK
  • Payabli (PSP) decrypts the encrypted payload with its private key and sends transaction for authorization to the acquirer
  • Acquirer tokenizes and authorizes the payment through the payment network
  • Authorization response travels back through the same path to complete the transaction
## Considerations * Google Pay is supported in Android and web. For the current version, Payabli supports only web payments via payment pages and the ExpressCheckout component. * You can't use Google Pay for API transactions yet. * Merchants have the responsibility to configure requirements for payment methods and additional details that appear in the Google Pay payment sheet. ## Get started To get started with Google Pay, configure and activate it via [API](/guides/pay-in-developer-wallets-google-pay-enable). ## Related resources See these related resources to help you get the most out of Payabli. * **[Activate Google Pay™ (API)](/guides/pay-in-developer-wallets-google-pay-enable)** - Learn about setting up Google Pay via the Payabli API * **[Manage Google Pay™ (API)](/guides/pay-in-developer-wallets-google-pay-manage)** - Learn about managing Google Pay and payment method domains via the Payabli API *** title: Activate Google Pay™ (API) subtitle: Learn about setting up Google Pay via the Payabli API description: >- Enable Google Pay checkout with API-driven setup. Register domains, cascade configurations, and activate Google Pay to reach millions of saved cards worldwide 'og:description': >- Enable Google Pay checkout with API-driven setup. Register domains, cascade configurations, and activate Google Pay to reach millions of saved cards worldwide keywords: >- embedded payments, payment processing, accept payments, Google Pay, digital wallets, mobile payments, wallet integration, one-click checkout slug: guides/pay-in-developer-wallets-google-pay-enable icon: toggle-on area: * Pay In subArea: * Wallets audience: * developers * partners *** Payabli has simplified the process of getting ready to accept Google Pay. You don't need to create your own Google developer account, encryption keys, certificates, or merchant identifiers. This guide walks through how to enable Google Pay for your organization via the API. Enabling Google Pay via the API has several steps. 1. Add the domain. 2. Cascade the domain. 3. Activate the Google Pay service for your org. The following sections go over each step in detail. ## Add payment method domains Payment method domains are the web domains where you can accept Google Pay payments. Payabli needs to know which payment domains should accept Google Pay payments to mitigate risk and make sure that transactions are coming from known websites. Managing your payment method domains involves configuring them in Payabli. To add a domain via the API, make a POST request to the [/PaymentMethodDomain](/developers/api-reference/paymentmethoddomain/paymentmethoddomain-add) endpoint. The domain must be public. It can't be `localhost`, hidden by a VPN, or protected by a password. ### Payment method domain examples The following example walks through the general structure of payment method domains. Pretend that you own the domain *example.com*, and you want to accept Google Pay on a number of different pages on your various subdomains. You must set up payment method domains for each of your target domains and subdomains. | Page URL | Payment Method Domain | | ----------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- | | https:{/* break link */}//www{/* break link */}.{/* break link */}example.{/* break link */}com/monthlydues | www{/* break link */}.example.{/* break link */}com | | https\://{/* break link */}subdomain1{/* break link */}.example{/* break link */}.com/payments | subdomain1{/* break link */}.example.{/* break link */}com | | https\://{/* break link */}subdomain2{/* break link */}.example{/* break link */}.com/donations/pay | subdomain2{/* break link */}.example.{/* break link */}com | | https\:/{/* break link */}/subdomain3{/* break link */}.example{/* break link */}.com/order | subdomain3{/* break link */}.example.{/* break link */}com | ## Cascade domains You have the option to cascade domains. When you cascade a domain, all of the organization's children, including suborganizations and paypoints, inherit the domain. This reduces future operational overhead by automatically adding verified domains to all new suborganizations and paypoints. Payabli strongly recommends cascading domains. Cascade a domain via the API by sending a POST request to [/PaymentMethodDomain/\{domainId}/cascade](/developers/api-reference/paymentmethoddomain/paymentmethoddomain-cascade). You can run a GET request to [/PaymentMethodDomain/\{domainId}](/developers/api-reference/paymentmethoddomain/paymentmethoddomain-get) to check the cascade status. The `cascades.jobStatus` field indicates whether the cascade process is complete, failed, or in progress. ```json {5} // response truncated "cascades": [ { "jobId": "550139", "jobStatus": "completed", "jobErrorMessage": null, "createdAt": "2024-09-05T14:13:54.698Z", "updatedAt": "2024-09-05T14:13:54.698Z" } ], ``` Payabli recommends a 10 second polling interval when checking domain cascade status. ## Activate Google Pay To activate Google Pay for an organization, make a POST request to the [/Wallet/googlepay/configure-organization](/developers/api-reference/wallet/googlepay/googlepay-configure-organization). In the body, send `isEnabled` as `true` to activate the Google Pay for the organization. Send `cascade` as `true` to activate Google Pay for the organization's children (including suborganizations and paypoints). After you've sent the activation request, Payabli will enable the service and cascade the settings, if applicable. This can take a few minutes, depending on how your entities are structured. To check whether Google Pay is activated, send a GET request to [/api/Organization/settings/\{orgId}](/developers/api-reference/organization/get-organization-settings). Check the response for `forWallets`, when Google Pay is active, you'll see the following in the response: ```json "forWallets": [ { "key": "IsGooglePayEnabled", "value": "true", "readOnly": true } ] ``` ## Related resources See these related resources to help you get the most out of Payabli. * **[Google Pay™ overview](/guides/pay-in-wallets-google-pay-overview)** - Learn about using Google Pay with Payabli * **[Manage Google Pay™ (API)](/guides/pay-in-developer-wallets-google-pay-manage)** - Learn about managing Google Pay and payment method domains via the Payabli API *** title: Manage Google Pay™ (API) subtitle: Learn about managing Google Pay and payment method domains via the Payabli API description: >- Manage your Google Pay integration with flexible domain and service controls. Add domains, cascade settings across organizations, and toggle Google Pay easily 'og:description': >- Manage your Google Pay integration with flexible domain and service controls. Add domains, cascade settings across organizations, and toggle Google Pay easily keywords: >- embedded payments, payment processing, accept payments, Google Pay, digital wallets, domain management, payment configuration, service activation slug: guides/pay-in-developer-wallets-google-pay-manage icon: bars-progress area: * Pay In subArea: * Wallets audience: * developers * partners *** You can manage Google Pay payment method domains and settings via the Payabli APIs. ## Domain management ### Add a domain Send a POST request to [/api/PaymentMethodDomain](/developers/api-reference/paymentmethoddomain/paymentmethoddomain-add) to add more domains to an organization. ### Cascade domain Send a POST request to [/api/PaymentMethodDomain/\{domainId}/cascade](/developers/api-reference/paymentmethoddomain/paymentmethoddomain-cascade) to cascade the domain to all of the organization's children (both suborganizations and paypoints). ### Stop accepting Google Pay To stop accepting Google Pay from a domain, send a PATCH request to [/api/PaymentMethodDomain/\{domainId}](/developers/api-reference/paymentmethoddomain/paymentmethoddomain-update) and send `googlePay.isEnabled` as `false`. You can't deactivate an inherited domain. You must deactivate domains at the domain owner organization's level. ### Start accepting Google Pay To start accepting Google Pay on a domain, send a POST request to [/api/PaymentMethodDomain/\{domainId}/verify](/developers/api-reference/paymentmethoddomain/paymentmethoddomain-verify) to verify the domain. If verification succeeds, Google Pay is activated automatically for the domain. You can't verify an inherited domain. You must verify domains at the domain owner organization's level. ### View domain details To view a domain's details, send a GET request to [/api/PaymentMethodDomain/\{domainId}](/developers/api-reference/paymentmethoddomain/paymentmethoddomain-get) retrieve a domain's details. The response includes `cascades.jobStatus`, which gives the status of the domain cascade process. ### Delete domain You can remove a domain from an organization by sending a DELETE request to the [/PaymentMethodDomain/\{domainId}](/developers/api-reference/paymentmethoddomain/paymentmethoddomain-delete) endpoint. You can't delete an inherited domain. You must delete a domain at the owning organization's level. ### Get list of domains To get a list of domains associated with an entity, send a POST request to the [/PaymentMethodDomain/list](/developers/api-reference/paymentmethoddomain/get-list-of-payment-method-domains) endpoint. * Send `entityType` as `organization` and the organization ID in `entityId` to get the details for the organization. * Send `entityType` as `paypoint` and the paypoint's ID in `entityId` to get the details for the paypoint. ## Google Pay service management You can activate and deactivate the Google Pay service for an organization and cascade the settings to all of the organization's children (including suborganizations and paypoints). ### Activate Google Pay To activate Google Pay via the API, see [Activate Google Pay (API)](/guides/pay-in-developer-wallets-google-pay-enable). ### Deactivate Google Pay To deactivate the Google Pay service, make a POST request to the [/Wallet/googlepay/configure-organization](/developers/api-reference/wallet/googlepay/googlepay-configure-organization). In the body, send `isEnabled` as `false` and `cascade` as `true` to deactivate Google Pay on the organization and cascade the deactivation to all of the organization's children. ```bash Example deactivation request {7-8} curl --request POST \ --url https://api-sandbox.payabli.com/api/Wallet/googlepay/configure-organization \ --header 'Content-Type: application/json' \ --header 'requestToken: ' \ --data '{ "orgId": 123, "isEnabled": false, "cascade": true }' ``` After you've sent the deactivation request, Payabli deactivates the service and cascades the settings, if applicable. This can take a few minutes, depending on how your entities are structured. To check whether Google Pay is deactivated, send a GET request to [/api/Organization/settings/\{orgId}](/developers/api-reference/organization/get-organization-settings). Check the response for `forWallets`, when Google Pay isn't active, you can see the following in the response: ```json "forWallets": [ { "key": "IsGooglePayEnabled", "value": "false", "readOnly": true } ] ``` ## Related resources See these related resources to help you get the most out of Payabli. * **[Google Pay™ overview](/guides/pay-in-wallets-google-pay-overview)** - Learn about using Google Pay with Payabli * **[Activate Google Pay™ (API)](/guides/pay-in-developer-wallets-google-pay-enable)** - Learn about setting up Google Pay via the Payabli API *** title: Devices overview subtitle: Learn the basics of using the Devices API to accept in-person payments description: >- Accept in-person payments using the Devices API with cloud-connected terminals. Manage PAX devices, process card-present sales, and handle device registration 'og:description': >- Accept in-person payments using the Devices API with cloud-connected terminals. Manage PAX devices, process card-present sales, and handle device registration keywords: >- embedded payments, payment devices, card-present, in-person payments, PAX terminal, device API, payment terminal slug: guides/pay-in-devices-overview icon: credit-card area: * Pay In subArea: * Cloud Devices audience: * developers *** Payabli offers integrated P2PE (point-to-point encryption) cloud devices, also known as credit card terminals, that you can use to make sales via the Payabli API. Payabli has made setting up devices frictionless. First, order a device from Payabli, then register each new device with a single API call. an image of a PAX A920 ## Point-to-point encryption (P2PE)\[#p2pe] Point-to-point encryption (P2PE) provides the most secure and effective solution to protect sensitive cardholder data in combination with EMV and tokenization. P2PE can help reduce the cost and scope of PCI DSS and PA-DSS. Encrypted cardholder data has no value if stolen, as only Payabli and secured providers can decrypt the data.
a graphic describing P2P encryption a graphic describing P2P encryption
P2PE ensures that no cardholder data is exposed during a transaction by encrypting the data inside the card reader, terminal, or payment device. This encryption makes the data useless in the event of a skimming attack. Using the payment industry standard encryption algorithm, DUKPT (Derived Unique Key Per Transaction), a key is injected securely into each card reader or payment device when it's manufactured. This key is then used to encrypt every transaction. Each transaction remains encrypted until received by Payabli, where it's decrypted, then passed to the bank or processor for authorization via Payabli's secure payment gateway. 1. At the point of card acceptance, within the card reader or payment device, the card data is securely encrypted. 2. After the data is encrypted, it can then be passed over standard public networks to the payment gateway and processor. 3. When the data arrives in the secure data zone of Payabli's PCI DSS certified payment gateway, it's decrypted and passed to the bank processor for authorization. There are numerous benefits to using P2PE devices: * Easy integration through the use of Payabli's [Quickstart Guide](/guides/pay-in-devices-overview) and [Cloud Device API](/developers/api-reference/cloud/register-cloud-device) * Reduce scope, complexity and compliance cost of PCI DSS * Simplified PA-DSS for equipment manufacturers * Mitigate the risk of cardholder data fraud * Reduce financial liability * Reduce software development cost * Increased cardholder data protection * Simplified payment processing architecture Contact your Payabli Customer Success Manager to order credit card terminals. This guide gives a high-level overview of device setup and making sales using a payment cloud device (also known as credit card terminals). ## Devices quickstart These next sections cover getting started with devices, including how to register a device, make a transaction, and handle asynchronous transactions with the PAX A920 device. ### Step 1: Register a device Each hardware device has its own detailed setup instructions, so when in doubt, consult the documentation that came with the device. 1. Turn on the device and connect to the internet. 2. After you configure WiFi, an activation code appears on the screen. This is the `registrationCode` value you need for the next step. If you can't find the activation code, consult the device's documentation. 3. Register the device using the activation code via the API [Register Hardware Device in Cloud Service](/developers/api-reference/cloud/register-cloud-device). 1. Follow the [PAX A920 Setup Guide](/guides/pay-in-developer-devices-pax-a920-setup) 2. Find the serial number on the back of the device. This is the `registrationCode` value you need for the next step. 3. Register the device using the activation code via the API [Register Hardware Device in Cloud Service](/developers/api-reference/cloud/register-cloud-device). If the API response is successful, you get a device identifier in the **ResponseData** field. Use this device identifier to make payments or store payment methods using the device. ### Step 2: Make a transaction Submit a payment request and include the device identifier in the field **device** inside the object **paymentMethod** and ensuring that the **method** field contains the value **cloud**. For example, this transaction is using the device with the ID `6c361c7d-674c-44cc-b790-382b75d1xxx`. ```json { "paymentMethod": { "method": "cloud", "device": "6c361c7d-674c-44cc-b790-382b75d1xxx" }, "paymentDetails": { "totalAmount": 100 }, "customerData": { "customerId": 224, }, "entryPoint": "my-entry-point" } ``` Ingenico devices only: You can pull signature data from a transaction made with a cloud device. Wait 10 seconds then send a request with the transaction ID to the [MoneyIn/details](/developers/api-reference/moneyin/get-details-for-a-processed-transaction) endpoint. The signature data is returned in the response. ## Related resources See these related resources to help you get the most out of Payabli. * **[Manage cloud devices](/guides/pay-in-developer-devices-manage)** - Learn how to register, unregister, and list cloud devices for making card-present sales * **[Register cloud device](/developers/api-reference/cloud/register-cloud-device)** - Learn how to register a cloud device using the API *** title: Manage cloud devices subtitle: >- Learn how to register, unregister, and list cloud devices for making card-present sales description: >- Register, unregister, and list cloud payment devices via the API. Manage PAX terminals and other card-present devices for in-person payment processing workflows 'og:description': >- Register, unregister, and list cloud payment devices via the API. Manage PAX terminals and other card-present devices for in-person payment processing workflows keywords: >- embedded payments, cloud devices, PAX terminal, card-present payments, device management, payment terminal, in-person payments slug: guides/pay-in-developer-devices-manage icon: cash-register area: * Pay In subArea: * Cloud Devices audience: * developers *** Use Payabli's device management functions to register, unregister, and list cloud devices. This guide covers the key operations for managing devices through the API. ## Register a device Send a POST request to `/api/Cloud/register/{paypointId}` to register a new cloud device. See the [API reference](/developers/api-reference/cloud/register-cloud-device) for this endpoint for full documentation. If you're setting up a PAX A920 device, check out the [PAX A920 Setup Guide](/guides/pay-in-developer-devices-pax-a920-setup) for more detailed instructions. The registration code you need varies depending on your device. For an Ingenico device, you need the activation code that appears on the screen after you configure WiFi. For a PAX A920 device, you need the serial number on the back of the device. This example registers the device with the registration code `YS7DS5` to the `8cfec329267` paypoint, and gives it the description of "Front Desk POS". A successful registration returns a response with the device ID in the body. ## List devices Send a GET request to `/api/Cloud/list/{paypointId}` to retrieve a list of registered devices for a paypoint. See the [API reference](/developers/api-reference/cloud/list-registered-devices-in-cloud) for this endpoint for full documentation. This example lists devices for the `8cfec329267` paypoint. This request returns a list of devices registered to the paypoint. ## Unregister a device Send a DELETE request to `/api/Cloud/register/{paypointId}/{deviceId}` to remove a device registration. See the [API reference](/developers/api-reference/cloud/unregister-cloud-device) for this endpoint for full documentation. This example unregisters the device with the deviceId `6c361c7d-674c-44cc-b790-382b75d1xxx` from the `8cfec329267` paypoint. A successful operation returns a 200 response with the device ID in the body. ## Related resources See these related resources to help you get the most out of Payabli. * **[Register cloud device](/developers/api-reference/cloud/register-cloud-device)** - Learn how to register a cloud device using the API * **[PAX A920 guide](/guides/pay-in-developer-devices-pax-a920-setup)** - Learn how to set up and register a PAX A920 device with the API to make card-present sales *** title: PAX A920 guide subtitle: >- Learn how to set up and register a PAX A920 device with the API to make card-present sales description: >- Set up and register a PAX A920 payment terminal with the Payabli API. Follow step-by-step instructions to configure the device for card-present transactions 'og:description': >- Set up and register a PAX A920 payment terminal with the Payabli API. Follow step-by-step instructions to configure the device for card-present transactions keywords: >- embedded payments, PAX A920, payment terminal, card-present payments, device setup, in-person payments, terminal configuration slug: guides/pay-in-developer-devices-pax-a920-setup icon: credit-card-front area: * Pay In subArea: * Cloud Devices audience: * developers *** The PAX A920 is an integrated portable payment device that lets you process payments initiated via the Payabli Virtual Terminal or your own integrated software. The PAX A920 accepts payments via magnetic stripe, EMV chip, and NFC contactless technology. This guide walks through the steps to set up your new PAX device and register it with Payabli so you can start processing transactions. Contact your Payabli solutions engineer to start the process of integrating with the PAX A920. ## Setup The next sections cover how to unbox and set up your PAX A920 device. ### Prepare the device When you receive your PAX A920 device, follow these instructions to unbox and get the device ready to register in Payabli. The PAX A920 comes with a USB power cord and 3 rolls of receipt paper (one roll preinstalled). 1. Plug the device in to a power source. You can plug into a wall or a computer using the included USB power adapter. 2. Fully charge the device before turning it on. 3. When the device is charged, power it on by pressing and holding the small rectangle button on the right side of the device for 2 to 4 seconds. After the device boots up, it automatically launches the WSPLink app. You can't use your own apps with the PAX device 1. Exit the WSPLink app by pressing the top left and bottom right corners of the screen at the same time. 2. Open the **Settings** app. 3. Toggle WiFi on, then press **Wi-Fi**. The device will detect nearby WiFi networks. 4. Select the network you want to connect to, enter password, and allow the device to connect. The PAX A920 connects only to 2.4Ghz WiFi networks, and can't connect to 5 GHz networks. 5. Press the circle icon at the bottom of the screen to go back to the home screen. After the device connects to WiFi, it will cycle through updating the embedded software. This step can take up to 15 minutes, and the device may make some noises or alerts during this process. Don't turn off the device, open any apps or disconnect WiFi during the update process. When the updates have finished, the screen will be fully white. WSPLink is the app that you use to make transactions. Press the WSPLink icon to open the app. The screen may be blank or all white. This is normal. The screen lights up when a payment is sent to it. Now, you must register the device in Payabli before you can accept payments. ### Register the device To register a PAX A920, copy the serial number from the back of the device, and then send a request the [/Cloud/register/\{entry}](/developers/api-reference/cloud/register-cloud-device) endpoint. ## PAX A920 asynchronous flow The PAX A920 device uses an asynchronous flow to process transactions. After you initiate a transaction via the Payabli Virtual Terminal or your own integrated software, the Payabli API sends a response to indicate the transaction has been initiated. The device is then ready to collect payment information from the customer. After the transaction is completed, the final status is sent to you in a webhook event. A transaction is initiated from the Payabli Virtual Terminal or your own integerated software. The Payabli API responds with the current status of the transaction. The transaction isn't complete yet. The PAX A920 device collects payment information from the customer. When the transaction is complete, the API sends a webhook event to notify you of the final status of the transaction. You must enable webhook notifications to receive them. They are not sent by default. See [Set up and receive events using Web](/guides/pay-ops-developer-webhooks-quickstart) for more information. The response for an initiated transaction looks like this: ```json Initiated transaction response { "responseText": "Success", "isSuccess": true, "pageIdentifier": null, "responseData": { "authCode": null, "referenceId": "237-e2928ea2f73d473f95f4094d56870ffc", "resultCode": 1, "resultText": "Initiated", "avsResponseText": null, "cvvResponseText": null, "customerId": 319082, "methodReferenceId": null } } ``` The `resultText` has a value of `"Initiated"`, which means the transaction is in progress. To get the final status of the transaction, you need to listen for either the `ApprovedPayment` webhook event or the `DeclinedPayment` webhook event. The webhook payloads for a completed transaction look like this: ```json Success { "Event": "ApprovedPayment", "Paypoint": "Athlete Factory LLC\r\n", "Text": "Payment Approved!", "transId": "10-33eb676a-da48-401f-9494-e69a324b152d", "NetAmount": "100.00", "Fee": "0.00", "TotalAmount": "100.00", "transTime": "04/04/2022 13:56:17", "CustomerId": "224", "CustomerNumber": "888" } ``` ```json Failure { "Event": "DeclinedPayment", "Paypoint": "Athlete Factory LLC", "Text": "Payment Declined!", "transId": "10-073d7d504e3c4357be3ff904f9653b4a", "NetAmount": "0.05", "Fee": "0.00", "TotalAmount": "0.05", "transTime": "9/18/2023 7:20:14 PM", "CustomerId": "1323", "CustomerNumber": "customer-xchg_004" } ``` See [Notifications and Reports Overview](/guides/pay-ops-notifications-webhooks-overview) for more information on how to set up webhooks. ## Related resources See these related resources to help you get the most out of Payabli. * **[Devices overview](/guides/pay-in-devices-overview)** - Learn the basics of using the Devices API to accept in-person payments *** title: Set up a PAX A920 device in PayHub subtitle: Learn how to set up a PAX A920 device in PayHub to make card-present sales slug: guides/pay-in-portal-device-setup-pax-a920 icon: credit-card-front area: * Pay In subArea: * Cloud Devices audience: * partners * merchants description: >- Set up your PAX A920 terminal in PayHub for card-present transactions. Complete registration, configuration, and testing to start accepting in-person sales 'og:description': >- Set up your PAX A920 terminal in PayHub for card-present transactions. Complete registration, configuration, and testing to start accepting in-person sales keywords: >- embedded payments, payment processing, accept payments, PAX A920, payment terminal, card present payments, POS device, payment hardware, device setup *** The PAX A920 is an integrated portable payment device that lets you process payments initiated via the Payabli Virtual Terminal or your own integrated software. The PAX A920 accepts payments via magnetic stripe, EMV chip, and NFC contactless technology. This guide walks through the steps to set up your new PAX device and register it with Payabli so you can start processing transactions. Contact your Payabli solutions engineer to start the process of integrating with the PAX A920. ## Prepare the device When you receive your PAX A920 device, follow these instructions to unbox and get the device ready to register in Payabli. The PAX A920 comes with a USB power cord and 3 rolls of receipt paper (one roll preinstalled). 1. Plug the device in to a power source. You can plug into a wall or a computer using the included USB power adapter. 2. Fully charge the device before turning it on. 3. When the device is charged, power it on by pressing and holding the small rectangle button on the right side of the device for 2 to 4 seconds. After the device boots up, it automatically launches the WSPLink app. You can't use your own apps with the PAX device 1. Exit the WSPLink app by pressing the top left and bottom right corners of the screen at the same time. 2. Open the **Settings** app. 3. Toggle WiFi on, then press **Wi-Fi**. The device will detect nearby WiFi networks. 4. Select the network you want to connect to, enter password, and allow the device to connect. The PAX A920 connects only to 2.4Ghz WiFi networks, and can't connect to 5 GHz networks. 5. Press the circle icon at the bottom of the screen to go back to the home screen. After the device connects to WiFi, it will cycle through updating the embedded software. This step can take up to 15 minutes, and the device may make some noises or alerts during this process. Don't turn off the device, open any apps or disconnect WiFi during the update process. When the updates have finished, the screen will be fully white. WSPLink is the app that you use to make transactions. Press the WSPLink icon to open the app. The screen may be blank or all white. This is normal. The screen lights up when a payment is sent to it. Now, you must register the device in Payabli before you can accept payments. ## Register the device Now, you can register the device. Depending on your situation, you register the device via the device management UI of your integrated software, or using PayHub. To register the device in PayHub: 1. From the PayHub for the merchant, click **Settings**. 2. On the next screen, click **Devices**. 3. Click **Add Device**. 4. In the Add Device modal: * Enter a Device Description. This is the device nickname. Use something descriptive like "Front Desk POS". * Enter the Device ID. For the PAX A920, the Device ID is the serial number located on the back of the device. It's the 10-digit number after the “S/N” on the barcode sticker. 5. Save when finished. *** title: Manage subscriptions with the API subtitle: >- Learn how to create, update, and delete your scheduled, subscription, and autopay transactions with the Payabli API description: >- Automate recurring billing with the subscription API. Create, update, pause, and delete subscriptions and autopays with full control over frequency and amounts 'og:description': >- Automate recurring billing with the subscription API. Create, update, pause, and delete subscriptions and autopays with full control over frequency and amounts keywords: >- embedded payments, payment API, REST API, payment processing, accept payments, recurring payments, subscription billing, autopay, scheduled payments, recurring transactions slug: guides/pay-in-developer-subscriptions-manage icon: calendar-plus area: * Pay In subArea: * Subscriptions and Autopays audience: * developers *** Subscriptions, also known as recurring transactions, autopays, or scheduled payments, are a powerful way to automate billing and payment collection. With Payabli's API, you can manage these transactions, including creating, updating, and deleting subscriptions. This guide covers the key operations for managing subscriptions through the API. ## Considerations When working with subscriptions, keep the following in mind: * Payabli automatically tokenizes payment information and assigns stored payment methods to the provided customer. * Subscriptions are always linked to a customer - if no `customerId` is provided and the `customerData` fields don't match an existing customer, a new customer is created. * Best practice is to create the customer first and pass the `customerId` in the customerData object. * When using a stored payment method, ensure the `storedId` in paymentMethod corresponds to the customer in `customerData`. * Subscription and autopay transactions typically run between 2:30 AM and 3:30 AM Eastern time. * If a subscription payment is declined, you can update the subscription and retry the payment. See [Subscription retry logic](/guides/pay-in-developer-subscriptions-utilities#subscription-retry-logic) for more information. Payabli doesn't retry failed autopays. * If you pass an `invoiceData` object to a subscription, the payments in the subscription are automatically added to the invoice as they're processed. * Before enrolling customers in recurring billing, make sure you have clear terms and conditions that cover cancellation policies, refund rules, billing frequency, and payment amounts. Work with your legal team to draft these. Displaying terms and capturing customer consent protects you in the event of a [chargeback dispute](/guides/pay-ops-disputes-chargebacks-returns-overview#baseline-documentation-requirements). ## Pause a subscription or skip a payment Pausing a subscription stops all future payments until the subscription is unpaused. Skipping payments allows the subscription to continue but skips the next scheduled payment. To skip a payment, update the subscription's `totalAmount` to `0`. To resume payments, update `totalAmount` to a non-zero amount. Note that if `totalAmount` is set to `0`, then `serviceFee` must also be set to `0`. To pause a subscription, send a PUT request to `/api/Subscription/\{subscriptionId\}` with the `setPause` field set to `true`. When you're ready to resume the subscription, send another PUT request with `setPause` set to `false`. ## Create a subscription Send a POST request to `/api/Subscription/add` to create a new subscription or scheduled payment. See the [API reference](/developers/api-reference/subscription/create-a-subscription-or-scheduled-payment) for this endpoint for full documentation. Creates an autopay subscription using a card payment method. Creates an autopay subscription using a bank account to pay via ACH. Creates a subscription using a saved payment method (also known as a payment token or stored payment method). This is useful for recurring payments where the customer has previously saved their payment information. A successful request sends a response that includes the subscription ID (in `responseData`) and customer ID. ## Get subscription details Send a GET request to `/api/Subscription/{subscriptionId}` to retrieve details about a specific subscription. This example gets the details for the subscription with ID `263`. A successful request returns a response that includes all available details about a subscription. See the [API reference](/developers/api-reference/subscription/get-subscription) for a full response example. ## Update a subscription Send a PUT request to `/api/Subscription/{subscriptionId}` to change an existing subscription's payment details, schedule, or pause status. See the [API reference](/developers/api-reference/subscription/update-subscription) for this endpoint for full documentation. A successful request returns a response that includes the subscription ID (in `responseData`) and customer ID. ## Delete a subscription Send a DELETE request to `/api/Subscription/{subscriptionId}` to cancel a subscription and stop future payments. See the [API reference](/developers/api-reference/subscription/remove-a-subscription) for this endpoint for full documentation. This example deletes the subscription with the ID `396`. A successful deletion returns a response that includes the subscription ID (in `responseData`) and customer ID. ## Next steps Use the [Subscription Utilities](/guides/pay-in-developer-subscriptions-utilities) to manage your subscriptions. These utilities provide additional functionality, such as retrying failed payments and managing autopay transactions. ## Related resources See these related resources to help you get the most out of Payabli. * **[Subscription utility code](/guides/pay-in-developer-subscriptions-utilities)** - Use example code to enhance your subscription management via the API *** title: Subscription utility code subtitle: Use example code to enhance your subscription management via the API description: >- Ready-to-use code utilities for subscription management in apps. Includes a SubscriptionManager class and intelligent retry logic for handling declined payments 'og:description': >- Ready-to-use code utilities for subscription management in apps. Includes a SubscriptionManager class and intelligent retry logic for handling declined payments keywords: >- embedded payments, payment processing, accept payments, recurring payments, subscription management, payment retry logic, declined payments, subscription API icon: screwdriver-wrench slug: guides/pay-in-developer-subscriptions-utilities area: * Pay In subArea: * Subscriptions and Autopays audience: * developers *** This guide contains code snippets to help you manage subscriptions in your application and explanations on their usage. The guide includes: * A `SubscriptionManager` class to help you perform subscription operations in your application, such as creating and updating subscriptions. * A set of examples showing how to implement retry logic for declined subscription payments. ## Subscription manager class The `SubscriptionManager` class is a utility class that helps you manage subscriptions in your code. It has methods to create, read, update, delete, and query subscriptions from the API. You can use the class in TypeScript or JavaScript projects. The `SubscriptionManager` class uses your private Payabli API token to authenticate API requests. Make sure you keep your API token secure and do not expose it in your client-side code. ### Constructor The class is constructed with the following configuration: The entrypoint value for your Payabli paypoint. Your Payabli API token. The environment to use. ### Methods The class has the following methods: Creates a new subscription. Fetches a subscription based on ID. Updates an existing subscription based on ID. Deletes a subscription based on ID. Fetches a list of all subscriptions. The `SubscriptionRequest` type matches the structure of the request body for creating a subscription but doesn't need an `entryPoint` to be manually defined. See [Create a Subscription, Scheduled Payment, or Autopay](/developers/api-reference/subscription/create-a-subscription-or-scheduled-payment) for more information. ### Examples The class implementation contains the `SubscriptionManager` class and the types used in the class. The usage example initializes the class and shows how to create, update, get, and delete a subscription. The `SubscriptionManager` class is framework-agnostic and doesn't have any dependencies. You can use it universally. ```ts TS type Environment = "sandbox" | "production"; type PaymentMethodCard = { method: "card"; cardnumber: string; cardexp: string; cardcvv?: string | null; cardzip?: string | null; cardHolder?: string | null; initiator?: "payor" | "merchant"; saveIfSuccess?: boolean; } type PaymentMethodAch = { method: "ach"; achAccount: string | null; achRouting: string | null; achHolder?: string | null; achAccountType?: "Checking" | "Savings" | null; achHolderType?: "personal" | "business" | null; initiator?: "payor" | "merchant"; achCode: "PPD" | "TEL" | "WEB" | "CCD"; saveIfSuccess?: boolean; } type PaymentMethodStored = { storedMethodId: string; initiator?: "payor" | "merchant"; storedMethodUsageType?: "unscheduled" | "subscription" | "recurring"; } type PaymentDetails = { totalAmount: number; serviceFee?: number | null; currency?: string | null; checkNumber?: string | null; checkImage?: object | null; categories?: { label: string; amount: number; description?: string | null; qty?: number | null; }[] | null; splitFunding?: { recipientEntryPoint?: string | null; accountId?: string | null; description?: string | null; amount?: number | null; }[] | null; }; type CustomerData = { customerId?: number | null; firstName?: string | null; lastName?: string | null; company?: string | null; customerNumber?: string | null; billingAddress1?: string | null; billingAddress2?: string | null; billingCity?: string | null; billingState?: string | null; billingZip?: string | null; billingCountry?: string | null; billingPhone?: string | null; billingEmail?: string | null; shippingAddress1?: string | null; shippingAddress2?: string | null; shippingCity?: string | null; shippingState?: string | null; shippingZip?: string | null; shippingCountry?: string | null; additionalData?: { [key: string]: any } | null; identifierFields?: (string | null)[] | null; }; type InvoiceData = { invoiceNumber?: string | null; // Max length: 250 invoiceDate?: string | null; // Formats: YYYY-MM-DD, MM/DD/YYYY invoiceDueDate?: string | null; // Formats: YYYY-MM-DD, MM/DD/YYYY invoiceType?: 0 | null; // Only 0 is supported invoiceEndDate?: string | null; // Formats: YYYY-MM-DD, MM/DD/YYYY invoiceStatus?: 0 | 1 | 2 | 4 | 99 | null; // Status values frequency?: "one-time" | "weekly" | "every2weeks" | "every6months" | "monthly" | "every3months" | "annually" | null; paymentTerms?: "PIA" | "CIA" | "UR" | "NET10" | "NET20" | "NET30" | "NET45" | "NET60" | "NET90" | "EOM" | "MFI" | "5MFI" | "10MFI" | "15MFI" | "20MFI" | "2/10NET30" | "UF" | "10UF" | "20UF" | "25UF" | "50UF" | null; termsConditions?: string | null; notes?: string | null; tax?: number | null; discount?: number | null; invoiceAmount?: number | null; freightAmount?: number | null; dutyAmount?: number | null; purchaseOrder?: string | null; firstName?: string | null; lastName?: string | null; company?: string | null; shippingAddress1?: string | null; // Max length: 250 shippingAddress2?: string | null; // Max length: 100 shippingCity?: string | null; // Max length: 250 shippingState?: string | null; shippingZip?: string | null; // Max length: 50 shippingCountry?: string | null; shippingEmail?: string | null; // Max length: 320 shippingPhone?: string | null; shippingFromZip?: string | null; summaryCommodityCode?: string | null; items?: { itemProductName: string | null; // Max length: 250 itemCost: number; itemQty: number | null; itemProductCode?: string | null; // Max length: 250 itemDescription?: string | null; // Max length: 250 itemCommodityCode?: string | null; // Max length: 250 itemUnitOfMeasure?: string | null; // Max length: 100 itemMode?: 0 | 1 | 2 | null; itemCategories?: (string | null)[] | null; itemTotalAmount?: number | null; itemTaxAmount?: number | null; itemTaxRate?: number | null; }[] | null; attachments?: object | null; additionalData?: { [key: string]: any } | null; }; type SubscriptionRequest = { subdomain?: string | null; source?: string | null; setPause?: boolean; paymentMethod: PaymentMethodCard | PaymentMethodAch | PaymentMethodStored; paymentDetails: PaymentDetails; customerData: CustomerData; invoiceData?: InvoiceData; scheduleDetails: { planId: number; startDate: string; endDate?: string | null; frequency: string; }; }; type SubscriptionManagerConfig = { entryPoint: string; apiToken: string; environment?: Environment; }; class SubscriptionManager { private baseUrl: string; private apiToken: string; private entryPoint: string; constructor({ entryPoint, apiToken, environment = "sandbox" }: SubscriptionManagerConfig) { this.baseUrl = this.getBaseUrl(environment); this.apiToken = apiToken; this.entryPoint = entryPoint; } private getBaseUrl(env: Environment): string { switch (env) { case "production": return "https://api.payabli.com/api"; case "sandbox": default: return "https://api-sandbox.payabli.com/api"; } } async create(subscription: SubscriptionRequest): Promise { try { const response = await fetch(`${this.baseUrl}/Subscription/add`, { method: "POST", headers: { "Content-Type": "application/json", "requestToken": this.apiToken, }, body: JSON.stringify({ ...subscription, entryPoint: this.entryPoint }), }); if (!response.ok) { const errorData = await response.json(); console.error("Error response:", errorData); throw new Error(errorData.message || "Failed to create subscription"); } const res = await response.json(); return res; } catch (error: any) { console.error("Error creating subscription:", error.message); throw error; } } async update(subId: number, subscription: Partial): Promise { try { const response = await fetch(`${this.baseUrl}/Subscription/${subId}`, { method: "PUT", headers: { "Content-Type": "application/json", "requestToken": this.apiToken, }, body: JSON.stringify({ ...subscription, entryPoint: this.entryPoint }), }); if (!response.ok) { const errorData = await response.json(); console.error("Error response:", errorData); throw new Error(errorData.message || "Failed to update subscription"); } const res = await response.json(); return res; } catch (error: any) { console.error("Error updating subscription:", error.message); throw error; } } async get(subId: number): Promise { try { const response = await fetch(`${this.baseUrl}/Subscription/${subId}`, { method: "GET", headers: { "Content-Type": "application/json", "requestToken": this.apiToken, }, }); if (!response.ok) { const errorData = await response.json(); console.error("Error response:", errorData); throw new Error(errorData.message || "Failed to get subscription"); } const res = await response.json(); return res; } catch (error: any) { console.error("Error getting subscription:", error.message); throw error; } } async list(): Promise { try { const response = await fetch(`${this.baseUrl}/Query/subscriptions/${this.entryPoint}`, { method: "GET", headers: { "Content-Type": "application/json", "requestToken": this.apiToken, }, }); if (!response.ok) { const errorData = await response.json(); console.error("Error response:", errorData); throw new Error(errorData.message || "Failed to get list of subscriptions"); } const res = await response.json(); return res; } catch (error: any) { console.error("Error getting list of subscriptions:", error.message); throw error; } } async delete(subId: number): Promise { try { const response = await fetch(`${this.baseUrl}/Subscription/${subId}`, { method: "DELETE", headers: { "Content-Type": "application/json", "requestToken": this.apiToken, }, }); if (!response.ok) { const errorData = await response.json(); console.error("Error response:", errorData); throw new Error(errorData.message || "Failed to delete subscription"); } const res = await response.json(); return res; } catch (error: any) { console.error("Error deleting subscription:", error.message); throw error; } } } export default SubscriptionManager; ``` This example uses the `SubscriptionManager` class to make API calls for creating, updating, getting, and deleting subscriptions. See the comments in the code to understand how each method is used. ```ts TS const paysub = new SubscriptionManager({ entryPoint: "A123456789", // replace with your entrypoint apiToken: "o.Se...RnU=", // replace with your API key environment: "sandbox" }); const sub1 = await paysub.create({ paymentMethod: { method: "card", initiator: "payor", cardHolder: "John Cassian", cardzip: "12345", cardcvv: "996", cardexp: "12/34", cardnumber: "6011000993026909", }, paymentDetails: { totalAmount: 100, serviceFee: 0, }, customerData: { customerId: 4440, }, scheduleDetails: { planId: 1, startDate: "05-20-2025", endDate: "05-20-2026", frequency: "weekly" } }) const sub1Id = sub1.responseData; // hold the subscription ID returned from the API console.log(sub1Id); // log the response from the API after creating the subscription console.log(await paysub.get(sub1Id)); // log the details of the created subscription await paysub.update(sub1Id, { paymentDetails: { totalAmount: 150, // update the total amount }, }); console.log(sub1Id); // log the response from the API after updating the subscription console.log(await paysub.get(sub1Id)); // log the details of the updated subscription console.log(await paysub.delete(sub1Id)); // log the response from the API after deleting the subscription const subList = await paysub.list() // fetch the list of all subscriptions console.log(subList.Summary); // log the summary of all subscriptions ``` ## Subscription retry logic Sometimes a subscription payment may fail for various reasons, such as insufficient funds, an expired card, or other issues. When a subscription payment declines, you may want to retry the payment or take other actions to ensure the subscription remains active, such as contacting the customer. Payabli doesn't retry failed subscription payments automatically, but you can follow this guide to implement your own retry logic for declined subscription payments. ### Retry flow Before you can receive webhook notifications for declined payments, you need to create a notification for the `DeclinedPayment` event. After creating the notification, you can listen for the event in your server and implement the retry logic. Build retry logic based on this flow: Subscription retry flow from webhook to subscription update

Diagram: Subscription Retry Flow Process

This sequence diagram shows how to handle declined subscription payments:

  1. Server receives webhook payload
  2. Webhook handler checks if Event is `DeclinedPayment`
    • If not `DeclinedPayment` : Stop processing
    • If `DeclinedPayment` : Continue to next step
  3. Webhook handler queries transaction using `transId` from webhook
  4. Transaction API returns transaction details
  5. Webhook handler checks `ScheduleReference` field in transaction
    • If `ScheduleReference` is 0 or doesn't exist: Not a subscription payment, stop processing
    • If `ScheduleReference` exists: Continue with subscription ID
  6. Webhook handler requests subscription details from Subscription API
  7. Subscription API returns subscription details
  8. Webhook handler updates subscription or retries payment
  9. Subscription API confirms operation completed

This flow enables custom retry logic for declined subscription payments. Payabli doesn't automatically retry failed subscription payments.

Set up an endpoint in your server to receive webhooks. For every webhook received, check if the `Event` field has a value of `DeclinedPayment`. If the `Event` field has a value of `DeclinedPayment`, query the transaction details using the `transId` field from the webhook payload. From the transaction details, fetch the subscription ID which is stored in the `ScheduleReference` field. If this value is 0 or not found, this declined payment isn't associated with a subscription. Use the subscription ID to fetch the subscription details. Use the subscription ID to perform business logic. Some examples include: updating the subscription with a new payment method, retrying the payment, or notifying the customer. This section covers two examples for implementing retry logic for declined subscription payments: * Express.js: A single-file program using Express.js. * Next.js: A Next.js API route. Both examples respond to the `DeclinedPayment` event for declined subscription payments and update the subscription to use a different payment method. ### Examples The following examples show how to implement retry logic for declined subscription payments. Before implementing the retry logic, you need to create a webhook notification for the `DeclinedPayment` event. After the notification is created, you can listen for the event in a server and implement the retry logic. For more information, see [Manage Notifications](/guides/pay-ops-developer-notifications-manage). ```js JS const url = "https://api-sandbox.payabli.com/api/Notification"; const headers = { "requestToken": "o.Se...RnU=", // Replace with your API key "Content-Type": "application/json" }; // Base payload structure const basePayload = { content: { timeZone: "-5", webHeaderParameters: [ // Replace with your own authentication parameters { key: "myAuthorizationID", value: "1234" } ], eventType: "DeclinedPayment", }, method: "web", frequency: "untilcancelled", target: "https://my-app-url.com/", // Replace with your own URL status: 1, ownerType: 2, ownerId: "255" // Replace with your own paypoint ID }; // Function to send webhooks const sendWebhook = async () => { const payload = basePayload; try { const response = await fetch(url, { method: "POST", headers, body: JSON.stringify(payload) }); const responseText = await response.text(); console.log(`Notification for DeclinedPayment, Status: ${response.status}, Response: ${responseText}`); } catch (error) { console.error(`Failed to create notification for DeclinedPayment:`, error); } }; sendWebhook(); ``` ```ts TS const url: string = "https://api-sandbox.payabli.com/api/Notification"; const headers: Record = { "requestToken": "o.Se...RnU=", // Replace with your API key "Content-Type": "application/json" }; // Base payload structure interface WebHeaderParameter { key: string; value: string; } interface Content { timeZone: string; webHeaderParameters: WebHeaderParameter[]; eventType: string; } interface Payload { content: Content; method: string; frequency: string; target: string; status: number; ownerType: number; ownerId: string; } const basePayload: Payload = { content: { timeZone: "-5", webHeaderParameters: [ // Replace with your own authentication parameters { key: "myAuthorizationID", value: "1234" } ], eventType: "DeclinedPayment", }, method: "web", frequency: "untilcancelled", target: "https://my-app-url.com/", // Replace with your own URL status: 1, ownerType: 2, ownerId: "255" // Replace with your own paypoint ID }; // Function to send webhooks const sendWebhook = async (): Promise => { const payload: Payload = basePayload; try { const response: Response = await fetch(url, { method: "POST", headers, body: JSON.stringify(payload) }); const responseText: string = await response.text(); console.log(`Notification for DeclinedPayment, Status: ${response.status}, Response: ${responseText}`); } catch (error) { console.error(`Failed to create notification for DeclinedPayment:`, error); } }; sendWebhook(); ``` The Express.js example can be used as a standalone server in a server-side JavaScript or TypeScript runtime such as Node, Bun, or Deno. ```ts TS // npm install express // npm install --save-dev @types/express import express, { Request, Response } from "express"; // Constants for API request const ENVIRONMENT: "sandbox" | "production" = "sandbox"; // Change as needed const ENTRY = "your-entry"; // Replace with actual entrypoint value const API_KEY = "your-api-key"; // Replace with actual API key // API base URLs based on environment const API_BASE_URLS = { sandbox: "https://api-sandbox.payabli.com", production: "https://api.payabli.com", }; // Define the expected webhook payload structure interface WebhookPayload { Event?: string; transId?: string; [key: string]: any; // Allow additional properties } // Function to handle declined payments const handleDeclinedPayment = async (transId?: string): Promise => { if (!transId) { console.log("DeclinedPayment received, but it didn't include a transaction ID."); return Promise.resolve(); } // Fetch transaction from transId in DeclinedPayment event const transactionQueryUrl = `${API_BASE_URLS[ENVIRONMENT]}/api/Query/transactions/${ENTRY}?transId(eq)=${transId}`; const headers = { requestToken: API_KEY }; // Get subscription ID from transaction return fetch(transactionQueryUrl, { method: "GET", headers }) .then(res => res.ok ? res.json() : Promise.reject(`HTTP ${res.status}: ${res.statusText}`)) .then(data => { const subscriptionId = data?.Records[0]?.ScheduleReference; if (!subscriptionId) { console.log("DeclinedPayment notification received, but no subscription ID found."); return; } return subscriptionRetry(subscriptionId); // Perform logic on subscription with subscription ID }) .catch(error => console.error(`Error handling declined payment: ${error}`)); }; const subscriptionRetry = async (subId: string): Promise => { const subscriptionUrl = `${API_BASE_URLS[ENVIRONMENT]}/api/Subscription/${subId}`; const headers = { "Content-Type": "application/json", requestToken: API_KEY, }; const body = JSON.stringify({ setPause: false, // unpause subscription after decline paymentDetails: { storedMethodId: "4000e8c6-...-1323", // Replace with actual stored method ID storedMethodUsageType: "recurring", }, scheduleDetails: { startDate: "2025-05-20", // Must be a future date }, }); return fetch(subscriptionUrl, { method: "PUT", headers, body }) .then(response => !response.ok ? Promise.reject(`HTTP ${response.status}: ${response.statusText}`) : response.json()) .then(data => console.log("Subscription updated successfully:", data)) .catch(error => console.error("Error updating subscription:", error)); }; const app = express(); const PORT = 3333; // Middleware to parse JSON payloads app.use(express.json()); // Webhook endpoint app.post("/webhook", (req: Request, res: Response): void => { const payload: WebhookPayload = req.body; if (payload.Event === "DeclinedPayment") { handleDeclinedPayment(payload.transId); } res.sendStatus(200); // Acknowledge receipt }); // Start server app.listen(PORT, () => { console.log(`Server is running on port ${PORT}, Environment: ${ENVIRONMENT}`); }); ``` The Next.js example can't be used as a standalone server but can be dropped into a Next.js project. See the [Next.js API Routes](https://nextjs.org/docs/pages/building-your-application/routing/api-routes) documentation for more information. ```ts TS // use in a Next.js project // something like /pages/api/webhook-payabli.ts import { NextApiRequest, NextApiResponse } from "next"; // Constants for API request const ENVIRONMENT: "sandbox" | "production" = "sandbox"; // Change as needed const ENTRY = "your-entry"; // Replace with actual entrypoint value const API_KEY = "your-api-key"; // Replace with actual API key // API base URLs based on environment const API_BASE_URLS = { sandbox: "https://api-sandbox.payabli.com", production: "https://api.payabli.com", }; // Define the expected webhook payload structure interface WebhookPayload { Event?: string; transId?: string; [key: string]: any; // Allow additional properties } // Function to handle declined payments const handleDeclinedPayment = async (transId?: string): Promise => { if (!transId) { console.log("DeclinedPayment notification received, but it didn't include a transaction ID."); return Promise.resolve(); } // Fetch transaction from transId in DeclinedPayment event const transactionQueryUrl = `${API_BASE_URLS[ENVIRONMENT]}/api/Query/transactions/${ENTRY}?transId(eq)=${transId}`; const headers = { requestToken: API_KEY }; // Get subscription ID from transaction return fetch(transactionQueryUrl, { method: "GET", headers }) .then(res => res.ok ? res.json() : Promise.reject(`HTTP ${res.status}: ${res.statusText}`)) .then(data => { const subscriptionId = data?.Records[0]?.ScheduleReference; if (!subscriptionId) { console.log("DeclinedPayment notification received, but no subscription ID found."); return; } return subscriptionRetry(subscriptionId); // Perform logic on subscription with subscription ID }) .catch(error => console.error(`Error handling declined payment: ${error}`)); }; const subscriptionRetry = async (subId: string): Promise => { const subscriptionUrl = `${API_BASE_URLS[ENVIRONMENT]}/api/Subscription/${subId}`; const headers = { "Content-Type": "application/json", requestToken: API_KEY, }; const body = JSON.stringify({ setPause: false, // unpause subscription after decline paymentDetails: { storedMethodId: "4000e8c6-...-1323", // Replace with actual stored method ID storedMethodUsageType: "recurring", }, scheduleDetails: { startDate: "2025-05-20", // Must be a future date }, }); return fetch(subscriptionUrl, { method: "PUT", headers, body }) .then(response => !response.ok ? Promise.reject(`HTTP ${response.status}: ${response.statusText}`) : response.json()) .then(data => console.log("Subscription updated successfully:", data)) .catch(error => console.error("Error updating subscription:", error)); }; export default (req: NextApiRequest, res: NextApiResponse): void => { if (req.method === "POST") { const payload: WebhookPayload = req.body; if (payload.Event === "DeclinedPayment") { handleDeclinedPayment(payload.transId); } res.status(200).end(); // Acknowledge receipt } else { res.setHeader("Allow", ["POST"]); res.status(405).end(`Method ${req.method} Not Allowed`); } }; ``` ## Related resources See these related resources to help you get the most out of Payabli. * **[Manage subscriptions with the API](/guides/pay-in-developer-subscriptions-manage)** - Learn how to create, update, and delete your scheduled, subscription, and autopay transactions with the Payabli API *** title: Manage autopays in the UI subtitle: Learn how to set up and manage recurring payments in the Payabli UI slug: guides/pay-in-portal-autopays-manage icon: calendar-plus area: * Pay In subArea: * Subscriptions and Autopays audience: * partners * merchants description: >- Set up and manage recurring payments with autopays in PayHub. Create subscriptions, schedule automatic charges, pause or resume billing, and track your history 'og:description': >- Set up and manage recurring payments with autopays in PayHub. Create subscriptions, schedule automatic charges, pause or resume billing, and track your history keywords: >- embedded payments, payment processing, accept payments, recurring payments, subscription billing, autopay, scheduled payments, subscription management, recurring billing *** Autopays, also known as subscriptions, are recurring payments that allow you to charge your customers at a scheduled interval. This guide explains how to set up and manage autopays in the Payabli UI. To access the Autopays screen, navigate to **Money In > Reports > Autopays**. This action opens the *Autopays* view. This is where you can locate and manage all recurring payments to your organization. You can also apply filters to narrow the scope of your autopays view. For each autopay record, you can: * View autopay details * Edit autopay settings * Pause autopay * Cancel autopay * Continue a paused autopay To see all options for managing an individual autopay, click the three-dot icon in the **Actions** column. ## Create an autopay Before enrolling customers in recurring billing, make sure you have clear terms and conditions that cover cancellation policies, refund rules, billing frequency, and payment amounts. Work with your legal team to draft these. Displaying terms and capturing customer consent protects you in the event of a [chargeback dispute](/guides/pay-ops-disputes-chargebacks-returns-overview#baseline-documentation-requirements). You can't create autopays from the Autopays screen. To do that, find the target customer record and create it from there. To create a new autopay from the UI, follow these steps: 1. Navigate to **Money In > Customers**. 2. Locate the customer record and click the three-dot icon in the **Action** column. 3. Select **Create autopay** to open the *Create Autopay* panel. 4. Specify the operation type (**Sale** or **Authorize or "Capture Later"**). 5. Enter the payment **amount** and a **description**, or enter a line item from the catalog. If Payabli can't find the item listed in your catalog, you must either select **Add a One-Time Item** or **Add Item to Catalog** to add the line item. 6. (Optional) Enter an invoice number. 7. Specify the **start date**, **end date**, and **frequency** of the autopay. 8. Enter the customer's payment information. You can select a stored payment method, or enter new payment information. To store the payment method, select **Save payment details for future use**. 9. (Optional) Add any relevant notes to the payment record. 10. Click **Review & Pay**. ## View an autopay To view an autopay's details from the UI, follow these steps: 1. Locate the autopay record and click the three-dot icon in the **Action** column. 2. Select **View autopay** from the menu to open the *Autopay Details* panel. From here, you can see: * Overview of the autopay settings * Customer information (click the icon next to **Customer Information** to view the full customer record) You can't edit an autopay from inside the **Autopay Details** panel. ## Edit an autopay To edit an autopay from the UI, follow these steps: 1. Locate the autopay record and click the three-dot icon in the **Action** column. 2. Select **Edit autopay** from the menu to open the edit modal. 3. You can edit the following settings: * Start date * End date * Frequency 4. Save your changes. You can't change an autopay's payment method from the UI, but you can using the API. See [Manage Subscriptions (API)](/guides/pay-in-developer-subscriptions-manage#update-a-subscription) for more. ## Pause or cancel an autopay To pause or cancel an autopay from the UI, follow these steps: 1. Locate the autopay record and click the three-dot icon in the **Action** column. 2. Select one of these options: * Select **Pause autopay** and click **Pause Autopay** in the confirmation modal. * Select **Cancel autopay** and click **Cancel** in the confirmation modal. ## Resume an autopay To restart a paused autopay from the UI, follow these steps: 1. Locate the paused autopay record and click the three-dot icon in the **Action** column. 2. Select **Continue autopay** from the menu to restart the autopay. *** title: Understanding CIT and MIT indicators subtitle: >- Learn about Cardholder Initiated Transaction (CIT) and Merchant Initiated Transaction (MIT) indicators for Pay In transactions description: >- Optimize card processing with proper CIT and MIT indicators. Understand cardholder versus merchant initiated transactions to reduce declines and stay compliant 'og:description': >- Optimize card processing with proper CIT and MIT indicators. Understand cardholder versus merchant initiated transactions to reduce declines and stay compliant keywords: >- embedded payments, payment processing, accept payments, CIT, MIT, card transactions, recurring payments, payment compliance, transaction indicators icon: credit-card-front slug: guides/pay-in-transactions-cit-mit-overview area: * Pay In subArea: * Making Transactions audience: * partners * merchants * developers *** Cardholder Initiated Transaction (CIT) and Merchant Initiated Transaction (MIT) are indicators used in transactions to identify whether a transaction was initiated by the cardholder or the merchant. These indicators help card networks, issuers, and processors determine the appropriate authentication measures, risk assessment, and processing flows for each transaction based on who initiated it. A cardholder initiated transaction is a transaction where the cardholder is an active participant. Here are examples of CIT transactions: * In-store purchases made at a physical card terminal, where the cardholder consents to saving their card details for future transactions * One-time online purchases where the cardholder manually enters their card information and consents to saving their card details for future purchases * Online purchases made by cardholder using a card-on-file A merchant initiated transaction is a transaction that's made with a saved payment method for which a cardholder gave prior authorization to the merchant to use. The saved payment method can be used without the cardholder's active involvement. Here are examples of MIT transactions: * Online subscriptions like streaming services or autoship orders * Recurring automatic payments such as utility bills or payment plans Sending the correct CIT and MIT indicators helps prevent fraud and maintain customer trust. Failing to send the right indicators can lead to negative consequences like declined transactions, financial penalties, and increased fraud and chargebacks. ## Benefits Although sending CIT and MIT indicators with transactions isn't required by Payabli, there are benefits to including them, and potential drawbacks if you don't. Payabli isn't supported in regions that require CIT and MIT indicators for regulatory compliance. We've included this information for educational purposes. * **PSD2 and SCA**: In regions governed by regulations like the Payment Services Directive 2 (PSD2), transactions must comply with Strong Customer Authentication (SCA) requirements. Sending the wrong indicators can result in fines and penalties. * **Global compliance**: Regions have different regulations for electronic payments. Sending the correct indicators can help you stay compliant with local laws. * **Accurate risk assessment**: Card networks and card issuers use CIT and MIT indicators to help assess a transaction's risk. CIT transactions involve active cardholder participation, which allows for real-time fraud checks. MIT transactions depend on the initial authorization and might follow different fraud detection protocols. * **Security measures**: Incorrect indicators might bypass typical security checks, which can increase the risk of fraud. **Example** The card network or card issuer's fraud detection mechanism detects something suspicious and finds that the `initiator` value is `merchant`. They can decline the transaction, and send a notification by text, email, or push notification to let the cardholder know about the suspicious activity. If the `initiator` value is `payor`, then the card network or issuer knows that the cardholder is present at the time of the transaction. They may hold the transaction and wait for the cardholder to approve it by responding to a notification. If the response is received within a reasonable period, then the transaction is approved. Otherwise, the card network or issuer can decline the transaction and let the cardholder know about the suspicious activity. If you know how the transaction was initiated, send the correct initiator value to trigger the proper security measures. If you don't send values, Payabli defaults to `unscheduled` and MIT. Allowing Payabli to send default values may not trigger the correct fraud detection and security measure. * **Fee calculation**: Interchange and other processing fees can differ between CIT and MIT transactions. Using the wrong indicators can lead to incorrect fee calculations, which can affect you financially. * **Authorization and Settlement**: Card networks process CIT and MIT transactions differently. Sending incorrect indicators can cause declined transactions, delays, or issues in settlement. With CIT transactions, the card networks send the transaction to the card issuer for verification. With MIT transactions, the card networks fetch the original transaction from when the card was tokenized for the first time. This verifies the validity of the original transaction and that the merchant is the same before sending the transaction to the card issuer. * **Dispute handling**: Using the correct indicators can help in disputes. When indicators aren't accurate, it can complicate chargeback processes and dispute handling, leading to customer dissatisfaction. Card networks take several things into account when deciding who is liable in a dispute. The following example shows how proper use of the CIT and MIT indicator can help the merchant. If a cardholder disputes a MIT transaction, the merchant must prove that the transaction was legitimate. If the cardholder disputes a CIT, then card issuer won't be able to pass the dispute to the merchant. * **Service continuity**: For recurring payments or subscriptions (MIT), making sure that transactions have the correct indicators helps maintain uninterrupted service. Incorrect indicators can cause payment failures that lead to service disruptions and customer churn. ## Send CIT and MIT indicators in Payabli To send CIT and MIT indicators in Payabli, use the `storedMethodUsageType` and `initiator` field in the Payment Method section in your transaction request. You can also view a transaction's CIT or MIT indicator in transaction-related query requests. ```bash Unscheduled CIT curl --request POST \ --url 'https://api-sandbox.payabli.com/api/MoneyIn/getpaid?forceCustomerCreation=false' \ --header 'accept: application/json' \ --header 'content-type: application/*+json' \ --header 'requestToken: API TOKEN' // This example tokenizes a card method and makes a transaction with one call. // It sets the indicators to qualify this as an unscheduled CIT { "entryPoint": "f743aed24a", "ipaddress": "255.255.255.255" "paymentMethod": { "method": "card", "cardnumber": "4293189100000008", "cardexp": "0924", "cardcvv": "345", "cardzip": "34234", "cardHolder": "John Smith", "initiator": "payor", "storedMethodUsageType": "unscheduled", "saveIfSuccess": true }, "paymentDetails": { "totalAmount":20, "serviceFee": 0.00 }, "customerData": { "customerId": 224, "customerNumber": "888", "billingAddress1": "5127 Linkwood ave" } } ``` ```bash Subscription MIT curl --request POST \ --url 'https://api-sandbox.payabli.com/api/MoneyIn/getpaid?forceCustomerCreation=false' \ --header 'accept: application/json' \ --header 'content-type: application/*+json' \ --header 'requestToken: API TOKEN' // This example makes a transaction with a saved payment method. // It sets the indicators to qualify this as an subscription MIT { "entryPoint": "f743aed24a", "ipaddress": "255.255.255.255" "paymentMethod": { "method": "card", "storedMethodId": "1ec55af9-7b5a-4ff0-81ed-c12d2f95e135-4440", "initiator": "merchant", "storedMethodUsageType": "subscription", }, "paymentDetails": { "totalAmount":20, "serviceFee": 0.00 }, "customerData": { "customerId": 224, "customerNumber": "888", "billingAddress1": "5127 Linkwood ave" } } ``` How a merchant saves a card and uses it later depends on their business processes. In the next two sections, we've outlined the most common scenarios: save the card and charge later, and charge and save the card at the same time. ### Charge later Customers sign up with the merchant and save a payment method for future use, but aren't charged immediately. Later, the customer is charged using the saved payment method. This first charge could happen when their plan begins, or the time when their first subscription order is sent or first service is provided. Use the `/tokenstorage/add` endpoint to save the payment method. The API response includes the stored payment method's ID. Use the `/getpaid` or `/authorize` endpoint to make the sale or authorize the transaction sending the saved payment method ID as the `storedMethodId`. To qualify the transaction as a first-time CIT transaction, send `initiator` = "payor" and `storedMethodUsageType` = "unscheduled". If `initiator` and `storedMethodUsageType` aren't sent, or sent with values different from what Payabli expects, Payabli detects the sequence and defaults to the correct values of `initiator`= "payor" and `storedMethodUsageType` = "unscheduled" to help qualify the transaction as a first-time CIT transaction. Use the `/getpaid` or `/authorize` endpoint to make a sale or authorize the transaction sending the saved payment method ID as the `storedMethodId`. To qualify the transaction as a subsequent MIT transaction, send `initiator` = "merchant" and `storedMethodUsageType` = "subscription". Both `initiator` and `storedMethodUsageType` should be sent to qualify the transaction correctly. If you don't send them, Payabli defaults to `initiator` = "merchant" and `storedMethodUsageType` = "unscheduled". This qualifies the transaction as a subsequent MIT transaction, but without the correct `storedMethodUsageType` of "subscription". ### Charge at sign up When signing up with the merchant, customers save their payment method for future use, and they're charged their first payment as part of the sign up process. Customers give their card information for the payment, payment is processed, and Payabli tokenizes and saves the card information. Future payments are then processed with the saved payment method. Use the `/getpaid` or the `/authorize` endpoints and include the first payment's amount and the parameter `saveIfSuccess` set to `true`. To qualify the transaction as a first-time CIT transaction, include `initiator` = "payor" and `storedMethodUsageType` = "unscheduled". The tokenized payment method's ID is returned in the API response. If `initiator` and `storedMethodUsageType` aren't sent, or sent with values different from what Payabli expects, Payabli detects the sequence and defaults to the correct values of `initiator`= "payor" and `storedMethodUsageType` = "unscheduled" to help qualify the transaction as a first-time CIT transaction. Use the `/getpaid` or `/authorize` endpoint to make a sale or authorize the transaction sending the saved payment method ID as the `storedMethodId`. To qualify the transaction as a subsequent MIT transaction, send `initiator` = "merchant" and `storedMethodUsageType` = "subscription". Both `initiator` and `storedMethodUsageType` should be sent to qualify the transaction correctly. If you don't send them, Payabli defaults to `initiator` = "merchant" and `storedMethodUsageType` = "unscheduled". This qualifies the transaction as a subsequent MIT transaction, but without the correct `storedMethodUsageType` of "subscription". ### One-time transactions Sometimes, a customer wants to use their saved payment method to make a one-time purchase outside of their subscription or recurring payment. The following are some example scenarios: * A customer's gym membership is paid monthly using a saved card. The customer wants to make a one-time purchase of a block of classes, and wants to pay with their card on file. * A customer's media subscription is paid monthly using a saved card. The customer wants to rent a game, and wants to pay with their card on file. * A customer's landscaping service is paid monthly using a saved card. The customer wants to make a one-time purchase of hedge shaping and pay with their card on file. Depending on how the merchant has designed their workflow in their web or mobile app, and their customer agreements, these purchases could be initiated by the customer themselves, or the customer could authorize the merchant to automatically charge to the saved card. #### Customer initiates the payment If a customer initiates the one-time payment from the merchant's web or mobile app, use the `/getpaid` or `/authorize` endpoint to make or authorize the transaction sending the saved payment method ID as the `storedMethodId`. To correctly qualify the transaction as a subsequent CIT transaction, send `initiator` = "payor" and `storedMethodUsageType` = "unscheduled". If the request message contains only `initiator` = "payor", then Payabli detects the intent and sets `storedMethodUsageType` to "unscheduled"\` and treats it as a subsequent CIT transaction. If neither `initiator` or `storedMethodUsageType` are sent, Payabli defaults to `initiator` = "merchant" and `storedMethodUsageType` = "unscheduled". This qualifies the transaction as a subsequent MIT transaction, which isn't accurate, because it's a CIT transaction. #### Merchant initiates the payment If the merchant initiates the one-time payment, use the `/getpaid` or `/authorize` endpoint to make or authorize the transaction sending the saved payment method ID as the `storedMethodId`. To correctly qualify the transaction as a subsequent MIT transaction, send `initiator` = "merchant" and `storedMethodUsageType` = "unscheduled". Payabli recommends sending both `initiator` and `storedMethodUsageType` to qualify the transaction correctly. However, when no indicators are sent, Payabli defaults to `initiator` = "merchant" and `storedMethodUsageType` = "unscheduled". In this case, the default values correctly classify the transaction as a subsequent MIT transaction. *** title: 'Decision guide: Invoice delivery' subtitle: >- Use this guide to help you choose the right approach for creating and delivering invoices to customers description: >- Choose the right invoice delivery strategy with interactive decision trees. Compare native invoicing, embedded components, and payment links for your platform 'og:description': >- Choose the right invoice delivery strategy with interactive decision trees. Compare native invoicing, embedded components, and payment links for your platform keywords: >- embedded payments, invoicing, invoice delivery, payment collection, hosted payment pages, invoice management, customer billing slug: guides/pay-in-invoicing-delivery-decision icon: clipboard-question area: * Pay In subArea: * Invoices audience: * developers * partners *** When building your integration with Payabli, you need to decide how to create, deliver, and collect payment on invoices. This guide helps you choose between using Payabli's native invoicing system or building custom invoice delivery based on your specific use case and requirements. ## Decision tree Use this interactive decision tree to walk through the best approach for invoice delivery in your integration.
#### Decision guide: Invoice delivery * If you don't need full control over invoice design and delivery → **Payabli native invoicing** — use Payabli's end-to-end system for invoice creation, email/SMS delivery, hosted payment pages, and automatic reconciliation. * If you need full control and want to embed the payment UI directly in your invoice → **Custom invoice with embedded components** — host your own invoice, use the temporary token flow with EmbeddedMethod UI or PayMethod UI to collect payment on-page, then process via API. * If you need full control and prefer to redirect customers to a payment page → **Custom invoice with hosted payment link** — host your own invoice and include a link to Payabli's hosted payment page for minimal PCI compliance scope.
## Recommended strategy by use case Choose the right invoice delivery approach based on your needs. Here's a quick reference to help you decide: | **Use case** | **Recommended approach** | | -------------------------------------------------- | ------------------------------------- | | Standard service invoicing | Payabli native invoicing | | Quick implementation with minimal developer effort | Payabli native invoicing | | Recurring subscription billing | Payabli native invoicing with autopay | | SaaS platform with existing invoices | Custom invoice + embedded components | | Complex invoice workflows | Custom invoice + embedded components | | Strict branding requirements | Custom invoice + embedded components | | PDF invoice delivery via email | Custom invoice + payment link | | Reducing PCI compliance scope | Custom invoice + payment link | | Multi-tenant platform invoicing | Custom invoice + payment link | ## Payabli native invoicing Payabli native invoicing is ideal when you need complete invoice management with minimal development effort. The system handles invoice creation, delivery, payment collection, and status tracking. Use native invoicing when: * You need standard invoice functionality without custom design requirements * You want to minimize development effort and technical overhead * You're processing recurring invoices with autopay enrollment * You need built-in payment tracking and reconciliation * You want automated email delivery with payment links Native invoicing is reliable when: * You can use Payabli's standard invoice template * Your customers accept email delivery with hosted payment pages * You don't require custom invoice layout or branding * Standard invoice workflows meet your business needs ### Implementation overview Native invoicing requires only API integration to create and send invoices. Payabli handles all other aspects of the invoice lifecycle. First, [create a Payabli invoice](/guides/pay-in-developer-invoices-manage#create-an-invoice). Next, [email the invoice](/guides/pay-in-developer-invoices-manage#email-an-invoice) that contains a payment link to the customer. Receive payment notification via the `InvoicePaid` webhook. You must configure this. See [Webhook setup](/guides/pay-ops-developer-notifications-manage). ### Key features Understanding what Payabli native invoicing provides helps you determine if it meets your requirements. | Feature | Description | | ------------------ | -------------------------------------------------------------------------- | | Invoice creation | API and UI options for creating invoices with line items, taxes, discounts | | Automated delivery | Email and SMS options with payment links automatically included | | Status management | Track invoice lifecycle from draft through paid with automatic updates | | Recurring support | Set up autopay enrollment for subscription-style billing | | Payment tracking | Dashboard visibility for all invoices and payment status | | Hosted payment | Secure payment pages with PCI compliance handled by Payabli | ### Native invoicing best practices Follow these best practices to build reliable native invoicing implementations. * Set up webhooks for immediate payment notifications rather than polling invoice status * Include detailed line items for customer clarity and proper accounting * Set appropriate due dates and configure reminder notifications * Enable autopay enrollment for recurring billing scenarios * Monitor invoice status through dashboard for customer service inquiries ## Custom invoice with embedded components Custom invoicing with embedded components is ideal when you need complete control over invoice design and want customers to pay without leaving your page. You host custom invoice pages and use the temporary token flow with Payabli embedded components to collect payment securely. Use embedded components when: * You need complete branding control over invoice presentation * You're building SaaS platforms with existing invoice systems * You want customers to pay directly on your invoice page * You have frontend and backend development resources * You need custom invoice workflows or business logic * You need complete control over transaction parameters Embedded components with temporary token flow are reliable when: * You can manage component lifecycle and error handling * You implement proper invoice status tracking in your system * You handle customer confirmations and receipt delivery * You can make secure API calls from your backend ### Implementation overview Custom invoicing with embedded components uses the temporary token flow to give you complete control while maintaining PCI compliance. This approach combines the security of embedded components with the flexibility of direct API calls. Create your own custom webpage to host invoices with your branding and layout, with a container for the embedded component on the page. Configure the [EmbeddedMethod UI component](/guides/pay-in-components-embeddedmethod-ui) to generate a temporary token. ```javascript var payabliConfig = { type: "methodEmbedded", rootContainer: "payment-container", defaultOpen: 'card', token: "YOUR_API_TOKEN", temporaryToken: true, // Generate temporary token hideComponent: false, // Additional styling and configuration }; ``` Capture the temporary token returned by the embedded component after customer enters payment details. ```javascript // Component returns temporary token response.responseData = { "referenceId": "30e7658e-5c2c-4638-8308-b48edec0718b-1647", "resultCode": 1, "resultText": "Added", "customerId": 1647 } ``` Use the temporary token (from the `referenceId` field) to make a call the MoneyIn/getpaid endpoint for the invoice amount. ```javascript // Use temporary token to process payment POST /api/MoneyIn/getpaid { "paymentMethod": { "method": "card", "storedMethodId": "30e7658e-5c2c-4638-8308-b48edec0718b-1647" }, "orderId": "INV-2025-001", "entryPoint": "invoice_payment", "paymentDetails": { "totalAmount": 1500.00 }, "customerData": { "customerId": 1647 } } ``` ### Component options Understanding which embedded component to use helps you choose the right approach for your invoice payment collection. | Component | Use case | Key features | | ------------------- | ---------------------- | ----------------------------------------------------------------------------------- | | `EmbeddedMethod UI` | Inline payment form | Displays directly on page, supports all payment methods, temporary token generation | | `PayMethod UI` | Modal payment form | Opens in modal overlay, supports all payment methods, temporary token generation | | `ExpressMethod` | Digital wallet methods | Quick payment with Apple Pay™ or Google Pay™ methods | ### Embedded components best practices Follow these best practices to build reliable embedded component implementations. * Use temporary token flow for complete control over transaction parameters * Implement proper error handling for declined payments and validation errors * Use webhooks in addition to API responses for reliable payment confirmation * Apply custom styling to match your invoice design and brand guidelines * Track invoice status changes in your system for accurate reporting * Send branded confirmation emails with transaction details to customers * Make secure API calls from your backend, never expose API credentials in frontend * Set up webhooks for payment notifications and status updates ## Custom invoice with payment links Custom invoicing with payment links is ideal when you need control over invoice design with minimal technical complexity. You create custom invoices and include links that redirect customers to Payabli's hosted payment page. Use payment links when: * You need custom invoice design without embedded component complexity * You're delivering PDF invoices via email * You want to minimize PCI compliance scope * You have limited frontend development resources * You're building email-based invoice workflows Payment links are reliable when: * Customer redirect to payment page provides acceptable experience * You can manage invoice status tracking in your system * You implement webhook handling for payment notifications * Your invoice format supports clickable links ### Implementation overview Custom invoicing with payment links requires invoice design capability and payment link generation. Create custom invoice HTML or PDF with a payment button. Generate a hosted payment page and payment link. See [Generate Payment Link](/guides/pay-in-developer-payment-links-manage) for more information. On your custom invoice, add a payment button or link to the Payment Link with a clear call to action. Set up the `InvoicePaid` webhook to receive payment notifications when customers complete payment via the payment link. ### Link configuration options Understanding payment link configuration helps you create the best customer experience. | Configuration | Description | | --------------- | ------------------------------------------------------------- | | Basic link | URL with invoice amount and customer information | | Customized page | Configure appearance, logo, colors to match your branding | | Return URL | Redirect customers back to your site after payment completion | | Metadata | Include invoice references for tracking and reconciliation | ### Payment link best practices Follow these best practices to build reliable payment link implementations. * Generate unique payment links for each invoice to track payment accurately * Configure return URLs to provide confirmation pages after payment * Customize hosted page appearance to match your invoice branding * Use webhooks for reliable payment notification rather than return URL only * Include clear payment instructions and support contact in invoices ## Choosing the right approach Selecting the appropriate invoice delivery method is crucial for meeting your business needs and providing a seamless customer experience. Consider the following factors when making your decision: ### Decision framework Start with your requirements to determine the best approach. **Need standard invoicing with minimal development?** Use Payabli native invoicing for complete invoice management with API-only integration. **Need complete branding control with inline payment?** Use custom invoices with embedded components for seamless customer experience on your pages. **Need custom design with easy implementation?** Use custom invoices with payment links for branding control without component integration complexity. ### Comparison matrix Compare approaches across key factors to make the best decision for your integration. | Factor | Native Invoicing | Embedded Components | Payment Links | | -------------------- | ----------------------- | -------------------------------- | ----------------------- | | **Design control** | Standard template | Complete control | Complete control | | **Payment UX** | Redirect to hosted page | Inline on invoice | Redirect to hosted page | | **Developer effort** | Minimal (API only) | Moderate (component integration) | Low (link generation) | | **PCI scope** | None | Reduced | Minimal | | **Branding** | Limited | Full customization | Full customization | | **Invoice delivery** | Payabli handles | You handle | You handle | | **Status tracking** | Automatic | You manage | You manage | ## Best practices Follow these best practices to ensure successful invoice delivery and payment collection regardless of the approach you choose. Follow these best practices when creating and designing invoices. * Include all required invoice information like terms, tax details, itemization * Make payment instructions clear with prominent calls-to-action * Specify accepted payment methods and processing expectations * Provide support contact information for payment questions * Ensure mobile-responsive design for customer convenience Follow these best practices for post-payment communication. * Send immediate confirmation to customers after successful payment * Include complete transaction details and payment method information * Provide receipts with your branding for professional appearance * Store receipts in customer accounts for future reference * Make customer support easily accessible for questions Follow these best practices for managing invoice status. * Implement reliable webhook endpoints with proper error handling * Use idempotency to handle duplicate webhook deliveries gracefully * Update invoice status immediately when webhooks received * Implement polling as backup for webhook delivery failures * Maintain clear audit trail of all status changes ## Quick reference This section provides quick links to relevant API endpoints, webhook events, and integration guides mentioned in the decision tree and throughout this guide. **API References:** * [Create invoice API](/developers/api-reference/invoice/add-invoice) * [Send invoice API](/developers/api-reference/invoice/send-invoice-via-email) * [Query invoices API](/developers/api-reference/invoice/get-list-of-invoices-for-an-entrypoint) **Integration Guides:** * [Invoice management guide](/guides/pay-in-developer-invoices-manage) **Integration Guides:** * [Temporary token flow with embedded components](/guides/platform-developer-tokenization-temp-flow) * [EmbeddedMethod UI configuration](/guides/pay-in-components-embeddedmethod-ui) * [PayMethod UI configuration](/guides/pay-in-components-paymethod-ui) * [ExpressMethod component](/guides/pay-in-components-express-checkout) * [Component integration overview](/guides/pay-in-components-overview) **API References:** * [Create hosted payment page](/developers/api-reference/hostedpaymentpages/create-a-payment-page) **Integration Guides:** * [Hosted payment page quick start](/guides/pay-in-payment-page-overview) **Webhook Payloads:** * [InvoicePaid webhook payload](/guides/pay-ops-webhooks-payloads#invoicepaid) * [ApprovedPayment webhook payload](/guides/pay-ops-webhooks-payloads#approvedpayment) **Integration Guides:** * [Webhook setup and configuration](/guides/pay-ops-developer-notifications-manage) **API References:** * [Make transaction via the API](/developers/api-reference/moneyin/make-a-transaction) **Integration Guides:** * [Make a sale transaction](/guides/pay-in-developer-transactions-create) * [Return codes and errors](/guides/platform-return-codes-and-errors-reference) *** title: Bills and invoices subtitle: Learn the difference between bills and invoices description: >- Learn the difference between bills and invoices in Payabli. Invoices collect money from customers while bills track what you owe vendors for payouts 'og:description': >- Learn the difference between bills and invoices in Payabli. Invoices collect money from customers while bills track what you owe vendors for payouts keywords: >- embedded payments, payment processing, accept payments, vendor payments, payables automation, invoicing, bills, accounts payable, accounts receivable slug: guides/platform-bills-vs-invoices icon: file-invoice-dollar area: * Pay In * Pay Out subArea: * Bills * Invoices audience: * developers * partners * merchants *** Bills are used for money out, and invoices are used for money in. Invoices are documents that you send to your customers, that you expect the customer to pay. Paid invoices bring money in. [Learn more about invoices](/guides/pay-in-developer-invoices-manage) Bills represent invoices from your vendors, that the vendors expect you to pay. Use managed payables with Payabli to turn those payouts to vendors into an income stream. Paid bills send money out. [Learn more about bills](/guides/pay-out-developer-bills-manage) *** title: Manage invoices with the API subtitle: 'Learn how to create, update, delete, and send invoices with the Payabli API' description: >- Create, update, delete, and send invoices programmatically with the Payabli API. Automate your invoicing workflow and manage invoice lifecycle through API calls 'og:description': >- Create, update, delete, and send invoices programmatically with the Payabli API. Automate your invoicing workflow and manage invoice lifecycle through API calls keywords: >- embedded payments, invoice API, payment invoicing, invoice management, automated invoicing, payment collection, billing API slug: guides/pay-in-developer-invoices-manage icon: file-invoice-dollar area: * Pay In subArea: * Invoices audience: * developers *** In Payabli, invoices are what you send to customers when you expect payment. You can use Payabli's invoicing APIs to send basic invoices or invoices with detailed descriptions, order quantities, and payment terms. This guide covers the key operations for managing invoices through the API. ## Considerations When working with invoices, keep the following in mind: * Invoices are always linked to a customer. If you don't include a `customerId` and the `customerData` fields don't match an existing customer, Payabli creates a new customer. * Payabli *strongly recommends* creating the customer first and passing the `customerId` in the customerData object. * Invoice numbers must be unique within an paypoint. * Invoices can be one-time or recurring. * You can attach a PDF version of an invoice when sending via email using the `attachfile=true` parameter. ## Create an invoice Send a POST request to `/api/Invoice/{entry}` to create a new invoice. See the [API reference](/developers/api-reference/invoice/add-invoice) for this endpoint for full documentation. A successful request sends a 200 response with a JSON body that contains the invoice ID. ## Update an invoice Send a PUT request to `/api/Invoice/{idInvoice}` to change an existing invoice's details such as amount, items, or status. See the [API reference](/developers/api-reference/invoice/update-invoice) for this endpoint for full documentation. A successful request sends a 200 response with a JSON body, exactly like the one in the create an invoice example. ## Get invoice details Send a GET request to `/api/Invoice/{idInvoice}` to retrieve details about a specific invoice. See the [API reference](/developers/api-reference/invoice/get-invoice) for this endpoint for full documentation. This example gets details for the invoice with ID `332`. A successful request sends a 200 response that contains the invoice details. ## Delete an invoice Send a DELETE request to `/api/Invoice/{idInvoice}` to delete an invoice. See the [API reference](/developers/api-reference/invoice/delete-invoice) for this endpoint for full documentation. This example deletes the invoice with ID `332`. A successful request sends a 200 response with a JSON body. ## Email an invoice Send a GET request to `/api/Invoice/send/{idInvoice}` to email an invoice to a customer. See the [API reference](/developers/api-reference/invoice/send-invoice-via-email) for this endpoint for full documentation. Before you get started, you need the `IdInvoice` value returned in the response when you created the invoice and the customer email address. This example emails the invoice with ID 332 to `tamara@example.com`, and attaches a PDF copy of the invoice. A successful request returns a 200 response with a JSON body. ## Related resources See these related resources to help you get the most out of Payabli. **Manage bills with the API** - Don't confuse invoices with bills, which are used in Pay Out See [Manage bills with the API](/guides/pay-out-developer-bills-manage) *** title: Manage Payment Links subtitle: 'Learn how to generate, send, and manage payment links via the API' description: >- Generate, send, and manage payment links through the Payabli API. Create shareable links that direct customers to hosted payment pages for fast, secure checkout 'og:description': >- Generate, send, and manage payment links through the Payabli API. Create shareable links that direct customers to hosted payment pages for fast, secure checkout keywords: >- embedded payments, payment links, hosted payments, checkout links, payment collection, shareable payment URL, payment API slug: guides/pay-in-developer-payment-links-manage icon: link-simple area: * Pay In subArea: * Invoices audience: * developers *** Use Payabli's payment link functions to generate customized payment links from invoices and send them directly to customers for payment. Use payment links to create payment requests with your accepted payment methods, branding, and invoice details without having to build or host your own payment pages. Payment links look great in email and on mobile by default, so you can focus on getting paid. ## Considerations Keep these considerations in mind when working with payment links: * You can create payment links for invoices created via the API. * If you create and send an invoice from PartnerHub or PayHub, a payment link is automatically created for the invoice. * You can send payment links via email or SMS (if SMS is enabled for your account). ## URL structure Payment links follow a specific URL structure (base URL + entrypoint identifier + payment link ID). The base URL varies depending on the environment and UI:
Production Sandbox
v2 `https://app.payabli.com/payment-link/` `https://app-sandbox.payabli.com/payment-link/`
v1 `https://paypages.payabli.com/paymentlink/` `https://paypages-sandbox.payabli.com/paymentlink/`
Here is an example of a payment link in the sandbox environment for UI v2: `https://app-sandbox.payabli.com/payment-link/04c516da24/19809-31551041-c576-4c50-b208-dadbf048e36d-341652`. In this example, the entrypoint identifier is `04c516da24`. The last section of the URL is the payment link ID. The payment link ID is returned from the API when you generate a payment link. ## Generate a payment link Send a POST request to `/api/PaymentLink/{idInvoice}` to create a payment link for an invoice. See the [API reference](/developers/api-reference/paymentlink/generate-payment-link-from-invoice) for full documentation. This example creates a payment link for the invoice with ID `23548884` and includes custom branding and payment options. A successful request sends a 200 response with a JSON body that contains the payment link ID. ## Send a payment link Send a POST request to `/api/PaymentLink/push/{payLinkId}` to deliver a payment link to a customer via email or SMS. See the [API reference](/developers/api-reference/paymentlink/send-payment-link) for full documentation. Pay by SMS is an add-on feature. Before you can start sending payment links by SMS, the Payabli team must configure SMS sending for your organization. Contact us for more information. This example sends a payment link via email to the customer and an additional recipient, with a PDF invoice attached. If SMS is enabled, you can also send payment links via SMS. A successful request sends a 200 response with a JSON body that contains the payment link ID. ## Get payment link details Send a GET request to `/api/PaymentLink/{payLinkId}` to retrieve information about a specific payment link. See the [API reference](/developers/api-reference/paymentlink/get-payment-link-from-id) for full documentation. This example retrieves details for the payment link with ID `332-c277b704-1301`. A successful request sends a 200 response that contains the payment link details. ## Update a payment link Send a PUT request to `/api/PaymentLink/{payLinkId}` to modify an existing payment link's details. See the [API reference](/developers/api-reference/paymentlink/update-payment-link) for full documentation. This example updates the payment link with ID `332-c277b704-1301` with new payment button text and notes. A successful request sends a 200 response with a JSON body that contains the updated payment link's ID. ## Related resources See these related resources to help you get the most out of Payabli. * **[Generate payment link from invoice](/api-reference/paymentlink/generate-payment-link-from-invoice)** - Generating payment links from invoices is a prerequisite for managing payment links. If you create an invoice from the API, generate a payment link from the API. If you create an invoice from the UI, the payment link is generated automatically. *** title: Pay by SMS subtitle: Learn how pay by SMS works with Payabli description: >- Enable pay-by-SMS to let customers pay invoices directly from a text message. Streamline collections with automated SMS delivery of secure hosted payment links 'og:description': >- Enable pay-by-SMS to let customers pay invoices directly from a text message. Streamline collections with automated SMS delivery of secure hosted payment links keywords: >- embedded payments, pay by SMS, text payments, invoice delivery, payment links, mobile payments, automated collections slug: guides/pay-in-developer-invoices-pay-by-sms icon: message-sms area: * Pay In subArea: * Invoices audience: * developers * partners * merchants *** You can use Payabli's pay by SMS functionality to send payment links to customers, enabling your customers to pay in a quick and convenient way. Pay by SMS is an add-on feature. Before you can start sending payment links by SMS, the Payabli team must configure SMS sending for your organization. Contact us for more information. ## How it works Pay by SMS allows you to send payment links for your invoices directly to customers, by text. This diagram shows the high-level overview of how pay by SMS functions. Pay by SMS opt-in and delivery process

Diagram: Pay by SMS Opt-In Process

This diagram shows how payment links are delivered via SMS with customer consent:

  1. Merchant or partner initiates payment link message
  2. Payabli checks if customer has opted in to receiving SMS messages
  3. If customer already opted in: SMS provider sends payment link SMS with short URL
  4. If customer not opted in: Opt-in process begins
    • Payabli sends opt-in request email to customer
    • Customer clicks to agree and sign up with paypoint
    • SMS provider sends opt-in confirmation message with keyword STOP
    • After opt-in complete, SMS provider sends payment link
  5. Customer receives SMS and either:
    • Clicks payment link to process payment for invoice
    • Link expires after 3 days, customer receives message to contact paypoint

Customers must opt in before receiving SMS messages.

The merchant can generate and send a payment link for an invoice via the API, or send a payment link via the UI. Payabli checks the customer record for their opt in status. If the customer has already consented to receiving SMS and email from the merchant or partner, then the payment link SMS is sent almost instantly (skip to Step 3). If the customer hasn't already consented to receiving SMS messages, Payabli sends an email to the email address on file for the customer. This email invites the customer to opt in to SMS communications. If the customer opts in, the SMS provider will send a text to the customer phone number on file, with the required consent process. After the customer completes the opt in process, they can receive payment links via SMS. The customer receives an SMS with a message that reference's the paypoint's DBA name and a shortened payment link. The message looks like this, where *Paypoint DBA* is the paypoint's DBA name.: > You've received an invoice from Paypoint DBA. Click the link to pay: linkabli.com/384h34kl34 > From here, the customer can click the shortened link to go directly to the payment page. ## Considerations Here are some things you need to know about the pay by SMS functionality: * You can only send payment links for invoices. You can't create payment links for bills. * Customers must opt in to receive SMS communications. If they decide not to opt in, you can't send them SMS messages. * If a customer replies STOP to the SMS, they're opted out from receiving future texts. The paypoint would have to opt them back in * The opt-in process is started automatically the first time you send a customer a payment link via text. You can also kick off the opt-in process manually using the [/Customer/\{customerId}/consent](/developers/api-reference/customer/customer-consent) endpoint. * Payment links sent by SMS expire after three days. * Opt in emails and texts are sent only to the email address and phone number on the customer record. If there isn't an email address or phone number on the record, you will get an error. * SMS messages for a payment link can be sent to only one phone number, which is the phone number on the customer's record. ## Related resources See these related resources to help you get the most out of Payabli. * **[Customer consent API](/developers/api-reference/customer/customer-consent)** - Learn how to manage customer consent for Pay by SMS *** title: Manage invoices in the UI subtitle: 'Learn how to create, send, and manage invoices in the Payabli UI' icon: file-invoice slug: guides/pay-in-portal-invoices-manage area: * Pay In subArea: * Invoices audience: * partners * merchants description: >- Create, send, and manage customer invoices in PayHub. Configure payment terms, set up recurring invoices, and track invoice payment status in the portal easily 'og:description': >- Create, send, and manage customer invoices in PayHub. Configure payment terms, set up recurring invoices, and track invoice payment status in the portal easily keywords: >- embedded payments, payment processing, accept payments, invoicing, invoice management, payment terms, billing, accounts receivable, invoice tracking *** Invoices allow you to bill customers and track payments in Payabli. This guide explains how to manage invoices through the Payabli UI. To access your invoices, navigate to **Money In > Invoices**. This opens the *All Invoices* view where you can manage all invoices created in your account. For each invoice, you can: * View and edit invoice details including customer information, payment terms, and line items * Send invoices to customers with optional payment links * Download invoice copies for your records * Mark invoices as paid when payment is received * Access customer records associated with invoices * Delete invoices when needed To filter invoices by status, click the triangle next to **All Invoices** and select from Draft, Open, Past Due, Partially Paid, or Paid. ## View or edit an invoice To view or edit an invoice from the UI, follow these steps: 1. Find the invoice you want to edit. 2. Click the three-dot icon in the **Action** column. 3. Select **View/Edit Invoice**. 4. In the *Edit Invoice* panel, you can: * Update customer details, invoice numbers, due dates, and [line items](/guides/platform-portal-catalog-manage) * Set payment terms by clicking the **Term** icon * Schedule future or recurring invoices using the **Schedule** option * Edit payment link headers under **Advanced options** * Specify allowed payment methods under **Advanced options** 5. Under **Payment**, choose to either: * **Send Invoice** to email it to the customer * **Charge customer now** to process payment and send a paid invoice Click **Show Preview** to review the invoice before sending. Use **Save & Download** to keep a copy for your records. ## Send an invoice To email an invoice to the email on file from the UI, follow these steps: 1. Locate the desired invoice. 2. Click the three-dot icon in the **Action** column. 3. Select **Send Invoice**. 4. Follow the prompts in the modal to send the invoice. ## Download an invoice To download a PDF version of an invoice from the UI, follow these steps: 1. Find the invoice you want to download. 2. Click the three-dot icon in the **Action** column. 3. Select **Download Invoice**. ## Mark an invoice as paid To mark an invoice as paid from the UI, follow these steps: 1. Locate the invoice to mark as paid. 2. Click the three-dot icon in the **Action** column. 3. Select **Mark as Paid**. 4. Follow the prompts in the modal to mark the invoice as paid. ## Delete an invoice Deleting an invoice is permanent and can't be undone. To delete an invoice from the UI, follow these steps: 1. Locate the invoice to delete. 2. Click the three-dot icon in the **Action** column. 3. Select **Delete**. 4. Follow the prompts in the confirmation modal to delete the invoice. *** title: Manage Customers with the API subtitle: Learn how to add and manage customers with the Payabli API description: >- Add, update, and manage customer records through the Payabli API. Store customer details, link payment methods, and organize customer data programmatically 'og:description': >- Add, update, and manage customer records through the Payabli API. Store customer details, link payment methods, and organize customer data programmatically keywords: >- embedded payments, customer management, customer API, payment profiles, customer records, payment methods, customer data slug: guides/pay-ops-developer-customers-manage icon: person area: * Pay Ops subArea: * Entities audience: * developers seeAlso: * api-reference/customer/add-customer.mdx * user-guides/pay-in-manage-customers-ui.mdx *** In Payabli, customers are the entities that buy goods and services and make payments to your paypoints (merchants). This guide explains how to manage customers with the API. ## Custom identifiers By default, when working with the API on any task that involves customer data, you must include at least one of these identifier fields: * `firstname` and `lastname` * `email` * `customerId` These tasks include things like making transactions, working with customer records, managing invoices, and more. Payabli first searches to match customer records based on your custom identifiers. If you don't have any custom identifiers set, then Payabli falls back to matching on `customerId`. Custom identifiers are managed in PartnerHub by navigating to **Settings > Custom Fields**. Payabli recommends using the system-generated `customerId` field to identify customers for ease of integration and consistency. However, you can configure custom identifiers, which lets you decide which customer profile fields to use to uniquely identify and associate customer records and payments. Custom identifiers cascade from org parent to child entities, so you can set them at the organization level and have them apply to all child paypoints. This is useful if you want to use a specific field across all your customers, such as `email` or `clientId`. For example. if your company uses the customer's email address as their unique identifier, you can choose `email` as the identifier. If your organization prefers to identify customers by a field called `clientId`, you can create that custom field in Payabli and set it as an identifier. This means that every API call that involves a customer must include the `clientID` because Payabli uses that field to search for customers. image of the custom identifiers screen Pass custom identifiers in the `customerData.additionalData` object like this: ```json "customerData": { "additionalData": { "YourCustomIdentifier": "123" } } ``` The max field length for custom identifiers is 100 characters. ## Create a customer To create a customer record, send a POST request to the `/api/Customer/single/{entry}` endpoint. For complete details, see the [API reference](/developers/api-reference/customer/add-customer) for this endpoint. The add customer request has these optional parameters: When set to `1`, an existing customer record will be overwritten with a new customer record (if the identifiers find a match). Possible values: 0 (don't replace), 1 (replace). Default is `0`. When set to `true`, a new customer record will be created even if an existing customer record is found. Possible values: `true` or `false`. Default is `false`. The body is where you include information about the customer, including [identifiers](/guides/pay-ops-developer-customers-manage). An identifier is required to create customer records. You can change your identifier settings in **Settings > Custom Fields** in PartnerHub. When you create a new customer record, Payabli first looks for an existing customer based on matching any of your configured identifier fields. If Payabli doesn't find a match, then it attempts to match based on the `CustomerNumber` field, if included. If there is no match, Payabli creates a new customer. This example creates a customer record. It includes `firstname` and `lastname` as the minimum required identifiers, as set in the example account. A successful request returns a JSON response. The `customerId` value is the Payabli-generated identifier that you can use with other endpoints to manage the customer and make transactions. ## Import customers You can import a list of customers into Payabli using the API. This is useful if you have a large number of customers to add at once, or if you want to automate the process. Before you get started, download the example CSV file and open it with the editor of your choice. Use it as an example to help you build your import file. To import a list of customer, send a POST request to the `/api/Import/customersForm/{entrypoint}` endpoint, with an attached CSV file. When importing customers, there is an optional query parameter: `replaceExisting` - Flag indicating whether to replace existing customer with a new record. Possible values: * `0` (don't replace) * `1` (replace). {/* vale Payabli.FileCapitalization = NO */} This example imports customerImport.csv for the entrypoint `e56ce00572`. {/* vale Payabli.FileCapitalization = YES */} A successful request returns a JSON response with the number of added and rejected records, and any errors. The imported data is now available for use, and you can confirm by checking PartnerHub or PayHub. The `responseData` object contains the number of records added and rejected. The `errors` field contains any errors that occurred during the import process. After you import customers, you can manage them with the API. For example, you can update customer information, check customer status, and run payments for customers. ## Customer status In customer endpoints and endpoints that return customer data, the customer status field is `customerStatus`.
Value Key
Inactive 0
Active 1
Deleted -99
Locked 85
## Managing customers You can also manage customers via the API. See these endpoint references for more information: * [Update Customer](/developers/api-reference/customer/update-customer-record) * [Delete Customer](/developers/api-reference/customer/delete-customer-record) * [Get Customer](/developers/api-reference/customer/get-customer-record) *** title: Manage customers in the UI subtitle: Learn how to add and manage customers in the Payabli UI icon: people slug: guides/pay-in-portal-customers-manage area: * Pay In * Pay Ops subArea: * Entities audience: * partners * merchants description: >- Add and manage customer records in PayHub. Store payment methods, view transaction history, create payments, and organize customer data with custom identifiers 'og:description': >- Add and manage customer records in PayHub. Store payment methods, view transaction history, create payments, and organize customer data with custom identifiers keywords: >- embedded payments, payment processing, accept payments, payment operations, merchant onboarding, customer management, payment methods, customer records, CRM integration *** In Payabli, customers are the entities that buy goods and services and make payments to your paypoints (merchants). This guide explains how to add and manage customers with the UI. To access the customers screen, navigate to **Money In > Customers**. This action opens the *All Customers* view. This is where you can locate and edit information for any of your customers. You can also see an up-to-date total count of all your customers here. For each customer record, you can: * Create a payment * Create an autopay * Quick view * View customer * Edit customer * Add a payment method * Delete a customer To see all options for managing an individual customer, click the three-dot icon in the **Actions** column. ## Add a customer To add a customer from the UI, follow these steps: 1. Navigate to **Customer** and click the **+** icon. 2. Enter the required fields, and save your work. You can add customers only at the paypoint level. If you don't see the **+** icon, you may not have the necessary permissions to add a customer, or you may be logged into an organization. ## View a customer record The customer record contains details about your customer, including their transaction history. To view a customer record from the UI, follow these steps: 1. Locate the customer record and click the three-dot icon in the **Action** column. 2. Select **View Customer** from the menu to go to the customer's record. From here, you can see whatever you need to know about this customer, including: * Account information * Payment history * Active autopays and autopay history * Invoice history, including past due invoices * Saved payment methods For a less detailed view, or to see a customer's information without leaving the *All Customers* screen, select **Quick View** instead of **View Customer** in step 2. This action opens the *Quick view* panel and displays payment history and basic account information. ## Edit a customer record To edit a customer record from the UI, follow these steps: 1. From the *All Customers* screen, locate the customer record and click the three-dot icon in the **Action** column. 2. Select **Edit Customer** from the menu to open the *Edit customer* modal. 3. Here, you can edit the account information, billing details, shipping address, any custom fields you may be using. 4. When finished, save your changes. ## Create a payment To create a payment from within a customer record in the UI, see [Create a one-time transaction from a customer record](/guides/pay-in-portal-transactions-create#create-a-one-time-payment-from-a-customer-record). ## Add a payment method You can add a new payment method for a customer separately from creating a payment or autopay. To save a new payment method for a customer from the UI, follow these steps: 1. From the *All Customers* screen, locate the customer record and click the three-dot icon in the **Action** column. 2. Select **Add Payment Method** from the menu to open the customer's payment methods screen. 3. In the Payment Method modal, select the type of payment method and enter the details. 4. Click **+ Add a payment method.** ## Delete a customer Deleting a customer is permanent and can't be undone. To delete a customer record from the UI, follow these steps: 1. From the *All Customers* screen, locate the customer record and click the three-dot icon in the **Action** column. 2. Select **Delete Customer**. 3. In the confirmation modal that appears, click **Delete** if you are sure you want to permanently delete this customer. ## Download and upload customers To download a list of all customers from the UI, click the **Download** icon on the *All Customers* screen. Your download will begin automatically. To upload a list of customers from the UI, follow these steps: 1. From the *All Customers* screen, click the **Upload** icon. 2. Follow the prompts to upload a CSV file. Uploaded files must be in CSV format. To get a sample file in the format Payabli requires for importing, click **Download Sample Files (\*.csv)**. ## Custom fields and identifiers Custom fields let you create new fields to capture more information about your customers. Custom identifiers give you the flexibility to match customers in Payabli using the conventions you already use. ### Manage custom fields To add a custom field in the UI: 1. Navigate to **Settings > Custom Fields**. 2. Click **Add custom field**. 3. Enter the field's name. You can now use this field to capture additional information about your customers, or use the field as a custom identifier. To delete a custom field, click trash icon. ### Custom identifiers Payabli recommends using the system-generated `customerId` field to identify customers for ease of integration and consistency. However, you can configure custom identifiers, which lets you decide which customer profile fields to use to uniquely identify and associate customer records and payments. Custom identifiers cascade from org parent to child entities, so you can set them at the organization level and have them apply to all child paypoints. This is useful if you want to use a specific field across all your customers, such as `email` or `clientId`. For example. if your company uses the customer's email address as their unique identifier, you can choose `email` as the identifier. If your organization prefers to identify customers by a field called `clientId`, you can create that custom field in Payabli and set it as an identifier. This means that every API call that involves a customer must include the `clientID` because Payabli uses that field to search for customers. image of the custom identifiers screen *** title: Payment disputes subtitle: Learn how payment disputes like chargebacks and ACH returns work description: >- Understand payment disputes with expert guidance on chargebacks and ACH returns. Learn causes, timelines, dispute processes, and strategies to minimize losses 'og:description': >- Understand payment disputes with expert guidance on chargebacks and ACH returns. Learn causes, timelines, dispute processes, and strategies to minimize losses keywords: >- embedded payments, payment processing, accept payments, payment operations, merchant onboarding, chargebacks, ACH returns, payment disputes, dispute management, fraud prevention slug: guides/pay-ops-disputes-chargebacks-returns-overview icon: money-check-pen max-toc-depth: 3 area: * Pay Ops * Pay In subArea: * Disputes audience: * developers * partners * merchants *** Chargebacks and ACH returns are both kinds of payment disputes that result in a negative action, and can impact your bottom line and ability to accept certain payment methods. This guide covers the basics of what you need to know about chargebacks and ACH returns. Use the `ReceivedChargeBack` and `ReceivedAchReturn` webhook event notifications to integrate new chargeback and ACH return notifications into your own app. See [Manage Notifications](/guides/pay-ops-developer-notifications-manage) for more. ## Chargebacks A chargeback provides cardholders with a way to dispute a transaction with a merchant (paypoint in Payabli). Chargebacks happen for several reasons, including: * Fraudulent transactions * Shipping, delivery, or pricing issues * Credit or refund not processed * Unsatisfied with product or service purchased * Duplicate charges * Unrecognizable business name on credit card statement The credit card networks set the chargeback rules, while processors, acquirers, and merchant processing providers set fee schedules for chargebacks. In addition to chargebacks, an issuing bank can also initiate a retrieval request, in which the bank asks for more information about a transaction. Not all retrieval requests turn into chargebacks, but if a merchant doesn't respond in time or the documentation they offer isn't satisfactory, the issuer will open a chargeback. An important difference between a chargeback and a retrieval request is that funds aren't withdrawn from the merchant when a retrieval request is initiated. Processors charge a fee for both retrieval requests and chargebacks, even if the merchant wins the dispute. ### The chargeback process At its core, the chargeback process works like this: 1. The cardholder contacts the issuing bank and disputes a transaction. 2. A chargeback is initiated and posted to the processor and merchant. The funds are immediately credited back to the cardholder by the issuer and the merchant's account is debited immediately for the chargeback amount. The chargeback fee is debited at end of month billing. 3. The processor requests documentation related to the transaction from the merchant. If the merchant has decided to defend themselves, the merchant provides the documentation, and the processor forwards it to the issuer. They can also accept the chargeback by not defending it. 4. The issuer weighs the evidence and decides in the cardholder or merchant's favor and updates the chargeback status. Chargeback dispute resolution process

Diagram: Chargeback Dispute Process

This diagram shows the decision flow for resolving chargeback disputes:

  • Cardholder disputes transaction with issuing bank
  • Processor requests documentation from merchant
    • If merchant accepts chargeback without challenge: Processor maintains chargeback status (merchant loses)
    • If merchant provides documentation: Processor evaluates evidence
  • Processor evaluates chargeback based on documentation
    • If processor rules in cardholder's favor: Chargeback status maintained (merchant loses)
    • If processor rules in merchant's favor: Chargeback status reverted (merchant wins)
Here's the chargeback process explained in more detail: When a cardholder disputes a transaction, the issuer requests documentation to validate the transaction in question. The information that the cardholder gives to the chargeback representative at the issuing bank determines the dispute code chosen and the documentation needed to defend it, initiating a retrieval request. If a chargeback is initiated, the issuing bank posts the chargeback to the processor and merchant. If the merchant chooses to challenge the chargeback, they can submit evidence that proves the validity of the original transaction. The processor requests any supporting documentation related to the transaction from the merchant, and then forwards the provided documentation to the issuer. After they receive the documentation, the issuing bank determines if the evidence is strong enough to support the merchant's defense. If the evidence is strong enough, the issuer decides in the merchant's favor and updates the chargeback status. If the evidence isn't strong enough, the issuing bank and merchant may initiate the process of arbitration, where both parties will make their argument with the card networks. At this stage, the issuer may charge a fee to both parties. When the issuer has decided in favor of the cardholder or merchant, they contact both parties with the final decision. After a chargeback has been initiated, you can't refund the associated transaction. You *can* refund a transaction during a retrieval request. ### Why chargebacks matter You should take steps to keep your chargebacks low for several reasons. **You're charged for retrieval requests and chargebacks** Merchants are charged a fee of between \$10 and \$15 for each retrieval request. If a retrieval request becomes a chargeback, there is another fee of \$25 or higher. Each processor, acquirer, and merchant processing provider has their own fee schedule. **You lose money and time, even if you win** If you lose the dispute, the issuer charges you the amount of the original transaction. This means that you lose money, and time. Even if you win the dispute, you still have to pay the chargeback fees. **You can have a certain number of chargebacks in a month** These limits are both a count threshold and a percentage threshold. For example, Visa and Mastercard have a count threshold of 75 chargebacks per month, and chargebacks must amount to less than 2% of your monthly volume. If you go over these limits, you enter the issuer's "chargeback program" and you have 3 months to lower your chargeback counts and volume. The program includes large fines, and if you continue to go over the chargeback limits, you will lose the privilege of accepting cards from that issuer. ### Handling chargebacks It's crucial that you respond to chargebacks within 10 days from chargeback date by doing one of the following: * Respond to the chargeback via PartnerHub or PayHub. You should send a detailed rebuttal addressing all claims and whether you issued a full or partial credit. If you issued partial credit, explain why. Include as much documentation as possible including signed invoices or receipts, photos, written correspondences, and so on to defend your case. * [POST response to Chargeback or Return](/developers/api-reference/chargebacks/add-response-to-chargeback-or-return) * Ask the paypoint call the Payabli Chargeback Hotline at 213-282-7272 extension 2 to have a support representative help them with the process. The chargeback process can differ between payment processors, but it traditionally takes between 60 and 90 days to resolve a chargeback fully. ### Chargeback documentation requirements To successfully defend a chargeback, you must provide comprehensive documentation that proves the transaction was legitimate and authorized. The required documentation varies by transaction type, but you should always include certain baseline documentation regardless of the dispute reason. #### Baseline documentation requirements Every chargeback response should include these basic documentation types: * **Transaction receipt**: A copy of the original receipt with the date, time, transaction amount, and description of purchased items * **Customer communication**: All correspondence with the customer, including emails, chat logs, or text messages. This shows you attempted to resolve the issue before the chargeback was filed * **Terms and conditions**: A copy of your refund, return, or cancellation policy, with clear indication the customer agreed to these terms at purchase. A screenshot of the checkout page with the policy and "click to accept" button is powerful evidence * **Dispute notification**: The chargeback notification document itself, which includes response instructions and the specific reason code #### Transaction-specific documentation requirements These next sections outline additional documentation types that may be required based on the nature of the transaction. Providing the right evidence tailored to the transaction type can improve your chances of winning a chargeback dispute. ##### For in-person (card-present) transactions Here are additional documentation types for card-present transactions.
Documentation Type Requirements Purpose
Signed receipt or contract Physical receipt or contract with customer's signature Powerful evidence to counter fraud claims
Cardholder information Copy of customer's photo ID (if collected) and point-of-sale data Proves customer identity and presence
Secure payment method Documentation of chip & PIN/tap to pay usage Demonstrates secure transaction processing
Card-not-present transactions are covered in the next section. ##### For online (card-not-present) transactions Here are additional documentation types for different kinds of card-not-present transactions.
Transaction Type Requirements Purpose
Subscription-based services • Subscription agreement and terms of service with autorenewal disclosure
• Order confirmation email
• Payment authorization
• Usage and access logs
• Customer communication (renewal reminders, welcome emails)
• AVS/CVV match and IP address data
Highlight auto-renewal disclosure and prove ongoing service usage
Services, rentals, and dues payments • Signed contract or work order
• Proof of service delivery
• Payment authorization
• Usage logs (login or download records)
• IP address match
• Customer communication
• AVS/CVV confirmation
Demonstrate actual service access or delivery
General card-not-present requirements • Transaction receipt
• Customer communication
• Terms and conditions
• Customer authentication data (AVS/CVV)
• Cardholder information (if collected)
• Secure payment method documentation
Focus on proving authorization and legitimate transaction
#### Quick reference for common scenarios Use these documentation checklists based on your transaction type to help you prepare a strong chargeback response. * Signed agreement or service contract: Include terms, pricing, and customer signature/date * Service completion evidence: Work orders, service tickets, technician logs, or photos (if applicable) * Customer communication: Emails, messages, or recorded calls confirming service delivery * Payment authorization proof: Signed payment form, terminal receipt, or recurring authorization * Billing descriptor match: Proof descriptor matches what was disclosed to the customer * Subscription agreement/terms of service: Highlight autorenewal or recurring billing disclosure * Usage/access logs: Records showing the customer logged in or accessed resources * Customer communication: Renewal reminders, welcome emails, or acknowledgements * Cancellation policy evidence: Proof policy was disclosed and if cancellation was before charge * Payment authorization: Recurring billing consent and last authorization date * Donation receipt: With amount, date, and donor details * Donation form/pledge agreement: Signed or accepted online * Payment authorization: Donation agreement or confirmation page * Communications: Thank-you letters, emails, or event attendance records * Billing descriptor match: Proof donor was informed of descriptor * HOA payment statement or invoice: Showing homeowner name, address, and amount due * Proof of payment authorization: Signed payment form or recurring authorization * HOA account ledger: Showing the payment posted to the correct homeowner account * Communications: Emails or letters confirming payment arrangement or dues schedule * Storage unit rental agreement: Showing tenant name, unit number, rental term, and payment schedule * Proof of payment authorization: Signed rental agreement or recurring billing consent * Access logs: Showing tenant entry to facility/unit after payment * Communications: Emails or letters confirming rental terms or payment receipt * AVS match: Proof billing address matches issuer's records * CVV confirmation: Record CVV entered correctly * IP address & device data: Matches known customer information * Date/time stamp of authorization: Gateway logs or terminal receipt For additional guidance, Payabli recommends referencing Visa's compelling documentation examples on page 691 of [this PDF](https://usa.visa.com/content/dam/VCOM/download/about-visa/visa-rules-public.pdf). ### Preventing chargebacks You can take steps to help lower your risk of chargebacks. First, give stellar customer service. Be prompt in responding to customer emails and calls, and be willing to work with them to make them happy. For example, if the customer wants a refund, but you don't want to give them one, find some other way to make them happy. You want to prevent them from opening a dispute the charge with their card issuer. Second, keep good records! Keep documentation of every interaction you have with a customer. This documentation can make the difference in whether you lose or win a dispute. Other tips for avoiding chargebacks include: * If the authorization request was declined, don't try to make another authorization. Wait at least 24 hours before reattempting the transaction. * Always obtain cardholder signatures. * Refund any duplicate or incorrectly entered transactions immediately. * Share your return, refund, or cancellation policies to the cardholder at the time of transaction by including it on the receipt or invoice. Obtain confirmation of acknowledgment of these policies. * Process refunds quickly to prevent customers from opening an dispute. * Respond to requests to cancel recurring payments immediately. * For services rendered, having photographic evidence can be used as supporting documentation in a dispute. ### Card brand reason codes references Each card brand has its own set of chargeback reason codes. #### Visa These are the return codes for Visa codes. {/* vale Payabli.Acronyms = NO */} {/* vale Payabli.ComplexWords["Incorrect", "Provide", "Additional"] = NO */} | Reason Code | Description | | ----------- | --------------------------------------------- | | 10 | FRAUD | | 10.1 | EMV Liability Shift, Counterfeit Fraud | | 10.2 | EMV Liability Shift, Non-counterfeit Fraud | | 10.3 | Other Fraud, Card Present Environment | | 10.4 | Other Fraud, Card Absent Environment | | 10.5 | Visa Fraud Monitoring Program | | 11 | AUTHORIZATION | | 11.1 | Card Recovery Bulletin | | 11.2 | Declined Authorization | | 11.3 | No Authorization | | 12 | PROCESSING ERRORS | | 12.1 | Late Presentment | | 12.2 | Incorrect Transaction Code | | 12.3 | Incorrect Currency | | 12.4 | Incorrect Account Number | | 12.5 | Incorrect Amount | | 12.6 | Duplicated Processing/Paid by Other Means | | 12.7 | Invalid Data | | 13 | CONSUMER DISPUTES | | 13.1 | Merchandise/Services Not Received | | 13.2 | Canceled Recurring | | 13.3 | Not as Described or Defective | | 13.4 | Counterfeit Merchandise | | 13.5 | Misrepresentation | | 13.6 | Credit Not Processed | | 13.7 | Canceled Merchandise/Services | | 13.8 | Original Credit Transaction Not Accepted | | 13.9 | Non-receipt of Cash or Load Transaction Value | #### Mastercard These are the reason codes for Mastercard cards. {/* vale Payabli.Contractions = NO */} | Reason Code | Description | | ----------- | --------------------------------------------------------------- | | 2 | Requested/Required Information Illegible or Missing | | 7 | Warning Bulletin File | | 8 | Requested/Required Authorization Not Obtained | | 12 | Account Number Not On File | | 31 | Transaction Amount Differs | | 34 | Duplicate Processing | | 35 | Card Not Valid or Expired | | 37 | No Cardholder Authorization | | 40 | Fraudulent Processing of Transactions | | 41 | Cancelled Recurring Transaction | | 42 | Late Presentment | | 46 | Correct Transaction Currency Code Not Provided | | 47 | Exceeds Floor Limit, Not Authorized, and Fraudulent Transaction | | 49 | Questionable Merchant Activity | | 50 | Credit Posted as a Purchase | | 53 | Cardholder Dispute, Defective / Not as Described | | 55 | Non-receipt of Merchandise | | 57 | Card-Activated Telephone Transaction | | 59 | Services Not Rendered | | 60 | Credit Not Processed | | 62 | Counterfeit Transaction Magnetic Stripe POS Fraud | | 63 | Cardholder Does Not Recognize-Potential Fraud | {/* vale Payabli.Contractions = NO */} #### AMEX These are the chargeback reason codes for American Express cards. | Reason Code | Description | | ----------- | ------------------------------------------------------ | | 16 | Credit Purchase Amount, Damaged Goods | | 93 | Charge Origination Unknown | | 024 | Return Authorization, Damaged Goods | | 030 | Merchandise Defective, Credit Requested | | 059 | Repair Damaged Goods | | 063 | Dissatisfied Customer | | 127 | No Purchase Made | | 155 | No Merchandise Received | | 175 | Duplicate Charge | | 176 | No Knowledge of Charge | | 177 | Authorization Not Given | | 193 | Fraudulent Charges | | 680 | Overcharged | | 691 | Provide Documentation | | 712 | Services Not Provided | | 4544 | Recurring Subscription Cancellation | | A01 | Charge Amount Exceeds Authorization Amount | | A02 | No Valid Authorization | | A03 | Authorization Approval Expired | | A04 | Merchant Failed to Call | | C02 | Insufficient Credit | | C04 | Goods/Services Returned or Refused | | C05 | Goods/Services Canceled | | C06 | History of Chargebacks, Chance to Resolve | | C08 | Goods/Services Not Received or Only Partially Received | | C10 | Continuing to Bill | | C14 | Paid by Other Means | | C18 | No Show or CARDeposit Canceled | | C28 | Canceled Recurring Billing | | C31 | Goods/Services Not as Described | | C32 | Goods/Services Damaged or Defective | | C42 | Card Not Present Fraud | | F10 | Missing Imprint | | F14 | Missing Signature | | F22 | Expired or Not-yet Valid Card | | F24 | No Card Member Authorization | | F28 | Ticket/Mail Fraud | | F29 | Card Not Present | | F30 | In Possession–Unauthorized | | FR2 | Fraud Full Resource Program | | FR4 | Immediate Chargeback Program | | FR6 | Partial Immediate Chargeback Program | | M01 | Merchant Initiated–Fraud Suspicions | | M10 | Vehicle Rental, Capital Damages | | M36 | All Encompassing | | M49 | Vehicle Rental, Theft or Loss of Use | | P01 | Unassigned Card Number | | P03 | Credit Processed as Charge | | P04 | Charge Processed as Credit | | P05 | Incorrect Charge Amount | | P07 | Late Submission | | P08 | Duplicate Charge | | P22 | Non-matching Card Number | | P23 | Currency Discrepancy | | R03 | Insufficient Reply | | R13 | No Reply | #### Discover These are the chargeback reason codes for Discover cards. | Reason Code | Description | | ----------- | --------------------------------------------------------------------------------------- | | AL | Airline Transaction Dispute | | AP | Automatic Payment | | AW | Altered Amount | | CA | Cash Advance Dispute | | CD | Credit Posted as Card Sale | | CR | Canceled Reservation | | DA | Declined Authorization | | DP | Duplicate Processing | | DP1 | ATM Duplicate Processing | | EX | Expired Card | | IC | Illegible Sales Data | | IN | Invalid Card Number | | IS | Missing Signature | | LP | Late Presentment | | N | Discover Network ATM Transaction, No Funds Dispersed | | NA | No Authorization | | NC | Not Classified | | P | Discover Network ATM Transaction, Partial Funds Dispersed | | RG | Non-receipt of Goods or Services | | RM | Cardholder Disputes Quality of Goods or Services | | RN1 | Additional Credit Requested | | RN2 | Credit Not Received | | SV | Stored Value Dispute | | TF | Dispute Initiated by Discover Network for Violation of Operating Regulations | | TNM | Discover Network ATM Transaction, Transaction Improperly Posted to Cardholder's Account | | UA01 | No Authorization | | UA02 | Declined Authorization | | UA32 | Address Verification Service Failure, Card Not Present Card Transaction | | UA99 | Non-compliance with Operating Regulations | | UA03 | Sale Exceeds Authorization Amount | | UA10 | Request Transaction Receipt for Swiped Card Transaction | | UA11 | Swiped Card Transaction, No Signature | | UA1 | Swiped Card Transaction, Invalid Signature | | UA18 | Swiped Card Transaction, Illegible Copy | | UA20 | Request Transaction Documentation for Keyed Card Transaction | | UA21 | Keyed Card Transaction, No Signature | | UA22 | Keyed Card Transaction, Invalid Signature | | UA23 | Keyed Card Transaction, Invalid Imprint | | UA28 | Keyed Card Transaction, Illegible Copy | | UA30 | Request Transaction Document for Card Not Present Transactions | | UA31 | Card Not Present Card Transaction, Invalid Proof of Delivery | | UA38 | Card Not Present Card Transaction, Illegible Copy | {/* vale Payabli.ComplexWords["Incorrect", "Provide", "Additional"] = NO */} ## ACH disputes Disputes happen when a customer's bank reverses an ACH debit for reasons like an unauthorized or duplicated transaction, or the wrong amount. ACH disputes work like ACH returns, but they're similar to credit card chargebacks. This is because the customer disputes the transaction and involves their financial institution to recover their funds from the merchant. There's nothing Payabli can do to help with an ACH dispute, and banks typically side with the customer. There's no formal process for dispute resolution available to you as a merchant within the ACH Network. Disputes are a type of ACH return identified by one of these return codes: R05, R07, R10, R29. See [ACH Return Codes](/guides/platform-ach-return-codes-reference) for full descriptions of each of these codes. ### Handling an ACH dispute When a customer opens an ACH dispute, you receive an ACH return with one of the dispute-related codes. The funds are automatically taken from your account and returned to the customer's account, and like with other returns and chargebacks, you are charged an ACH dispute fee. Although there isn't much you can do as a merchant in a dispute, you should immediately suspend any recurring payment schedules for the bank account. This prevents other transactions from being returned while you address the issue with the customer. Contact the customer and resolve any issues that caused them to dispute the transaction. If you think the dispute was in error, you can reach out to the customer and ask them to retract the dispute with the bank. If you do this, get written authorization from the customer before charging them again. If the customer claims the transaction wasn't authorized, but you have proof that it was correctly authorized, you may consider small claims court as a last resort. You can help protect yourself in an ACH disputes by getting written authorization for a transaction, and offering detailed receipts. Written authorization could be a signed agreement, a confirmation email, or a clear agreement they must check during checkout. Every receipt should include the date, the sale amount, the sale description, and contact information. However, there's no guarantee that you'll recover the money, and be aware that Payabli doesn't participate in the small claims process. Seek legal advice if you want to go this route. ## ACH returns ACH transfers are electronic, bank-to-bank money transfers processed through the Automated Clearing House Network. An ACH return is a message from the check writer's bank that lets the ODFI (Originating Depository Financial Institution) know the ACH Network couldn't make the deposit or collect funds from the receiver's account (RDFI- Receiving Depository Financial Institution). Typically, an ACH return comes from the RDFI, but in some instances the ODFI or even the ACH operator itself might send a message. Returns can happen for several reasons, and ACH return codes help identify why an ACH was returned. You can refer to the [ACH Return Codes table](/guides/platform-ach-return-codes-reference) for a full list of the various codes. ### Handling ACH returns How you handle a return depends on the ACH return code. ACH Returns should complete within 2 banking days. However, some returns may take up to 60 days for the RDFI to initiate the return. The paypoint should contact the customer to address why the return happened and request that the customer contact their bank to have the transaction to go through. The [ACH Return Codes table](/guides/platform-ach-return-codes-reference) gives more details on how to handle each kind of ACH return. It's important that paypoints limit their ACH Returns to certain thresholds: * Administrative Returns: Must stay below 3% for a rolling 60 day period. * Unauthorized Returns: Must stay below .5% for a rolling 60 day period. * Overall Returns must stay below 15% for a rolling 60 day period. ## Chargebacks and ACH return statuses If you work with chargebacks or ACH returns via the Payabli API, you can check the status in the response data as `Status`. For example, `"Status": 0` means that the chargeback is open.
Value Key
Open (Chargebacks only) 0
Pending (Chargebacks only) 1
Closed-Won (Chargebacks only) 2
Closed-Lost (Chargebacks only) 3
ACH Return (ACH only) 4
ACH Dispute, Not Authorized (ACH only) 5
*** title: Manage ACH returns and chargebacks in the UI subtitle: >- Learn how to manage payment disputes like ACH returns and chargebacks in the Payabli UI slug: guides/pay-in-portal-disputes-manage icon: money-check-pen area: * Pay In * Pay Ops subArea: * Reporting * Disputes audience: * partners * merchants description: >- Handle payment disputes in PayHub including credit card chargebacks and ACH returns. Respond to disputes, accept liability, and track dispute status effectively 'og:description': >- Handle payment disputes in PayHub including credit card chargebacks and ACH returns. Respond to disputes, accept liability, and track dispute status effectively keywords: >- embedded payments, payment processing, accept payments, payment operations, merchant onboarding, ACH payments, chargebacks, ACH returns, payment disputes, dispute management, chargeback response *** Chargebacks and ACH returns are both kinds of payment disputes that result in a negative action, and can impact your bottom line and ability to accept certain payment methods. This guide explains how to report on and manage ACH returns and credit card chargebacks in the Payabli UI. To access the ACH returns and chargebacks screen, navigate to **Reports > ACH Returns & Chargebacks**. This action opens the *ACH Returns & Chargebacks* screen, where you can view all credit card chargebacks and returned ACH transactions. For each record, you can: * View chargeback details * View ACH return details * Respond to chargebacks * Accept liability for chargebacks * View original transaction details * View customer payment history To see all options for managing an individual record, click the three-dot menu in the **Actions** column. ## Chargebacks Credit card chargebacks provide cardholders with a way to dispute a transaction with a merchant. Learn more about chargebacks in the [Chargeback section](/guides/pay-ops-disputes-chargebacks-returns-overview#chargebacks) of the Payment Disputes guide. ### View a chargeback To view a chargeback from the UI, follow these steps: 1. From the *ACH Returns & Chargebacks* screen, locate the chargeback record. 2. Click the three-dot menu in the **Actions** column. 3. Select **View chargeback** from the menu. 4. The chargeback dashboard opens, where you can see: * Basic details about the rejected transaction * Options to take further actions ### Respond to a chargeback You can respond to a chargeback by providing additional information and documentation to support your case. This can help you win the dispute and recover the funds. To respond to a chargeback from the UI, follow these steps: 1. Navigate to the chargeback record. 2. Click **Respond to Chargeback**. 3. In the modal that opens, provide comprehensive information as your response. 4. Upload any supporting documentation as needed. 5. Submit your response. You can also respond to a chargeback by clicking **Respond to Chargeback** from the chargeback record. ### Accept liability for a chargeback If the chargeback is valid and you don't wish to defend it, you can accept liability. To accept liability for a chargeback from the UI, follow these steps: 1. Navigate to the chargeback record. 2. Click **Accept Liability**. 3. Follow the prompts in the modal to accept liability for the chargeback. ## ACH returns ACH disputes happen when a customer's bank reverses an ACH debit for reasons like unauthorized or duplicated transactions, and ACH returns are messages from the check writer's bank indicating the ACH Network couldn't process the transaction. Both disputes and returns are treated the same in Payabli, and are handled from the *ACH Returns & Chargebacks* screen. Learn more about ACH returns and disputes in the [Payment Disputes](/guides/pay-ops-disputes-chargebacks-returns-overview#ach-disputes) guide. To view an ACH return from the UI, follow these steps: 1. From the *ACH Returns & Chargebacks* screen, locate the ACH return record. 2. Click the three-dot menu in the **Actions** column. 3. Select **View ACH return** from the menu. 4. The return record opens, where you can see: * Basic details about the rejected transaction * See the customer's transaction history *** title: Managing merchant ACH debit failures and returns subtitle: >- Learn how to manage merchant ACH debit failures and returns and how they impact merchant funding and transfers description: >- Resolve merchant ACH debit failures and returns to prevent funding delays and account holds. Understand return codes, notifications, and resolution procedures 'og:description': >- Resolve merchant ACH debit failures and returns to prevent funding delays and account holds. Understand return codes, notifications, and resolution procedures keywords: >- embedded payments, payment operations, merchant onboarding, ACH returns, transfer failures, payment disputes, funding issues, merchant debits icon: triangle-exclamation slug: guides/pay-ops-transfers-ach-returns area: * Pay Ops subArea: * Disputes * Reporting * Batches and Funding audience: * partners *** When Payabli attempts to debit or credit a merchant, and the ACH transaction fails (either when sending money to merchants or pulling funds), the system returns a specific code that identifies the reason for the failure. These returns can trigger holds and prevent batches from being processed. This guide explains how a merchant ACH debit failure or return can impact merchant funds, potential account suspensions, and resolution procedures. ## Notification process To help partners manage transfer exceptions and ACH returns, Payabli has several automated notifications that you must enable. These notifications alert you when a transfer fails or a return is received. Payabli recommends that you enable these notifications: * Transfer Error * Transfer Return You can read about other available transfer notifications in [Notifications and Webhooks Overview: Pay In Events](/guides/pay-ops-notifications-webhooks-overview#pay-in-events). See [Manage Notifications (UI)](/guides/pay-ops-portal-notifications-manage) for help setting up these notifications. These notifications help you catch transfer exceptions and ACH returns early, so you can resolve them and prevent account suspensions and funding delays. ## Common return codes This section explains the most common ACH return codes that affect merchant debits, and their resolutions. {/* vale Payabli.Contractions = NO */} | Return Code | Explanation | Settlement Impact | Resolution Requirement | | ------------------------------------- | --------------------------------------------------------------------------- | --------------------------------- | -------------------------------------------------------------------------------- | | **R01: Insufficient Funds** | There weren't enough funds in the account at the time of the debit attempt. | May lead to account suspension | Ensure sufficient funds and confirm when Payabli can reattempt the debit | | **R02: Account Closed** | The bank has closed the account on file. | Account suspension until resolved | Provide updated banking details immediately | | **R03: Cannot Locate Account** | The provided account details are incorrect or outdated. | Account suspension until resolved | Verify and update banking details | | **R05: Unauthorized Corporate Debit** | The bank has rejected the debit as unauthorized. | Account suspension until resolved | Provide written confirmation authorizing Payabli to debit the account | | **R07: Authorization Revoked** | The customer has revoked authorization for debits. | Account suspension until resolved | Provide written confirmation authorizing Payabli to debit the account | | **R08: Payment Stopped** | A manual stop payment was placed on the ACH debit. | May affect transaction processing | If unintentional, remove the stop payment and confirm when Payabli can reattempt | | **R24: Duplicate Entry** | The transaction was mistakenly processed more than once. | No significant impact | No action required; Payabli will void the duplicate entry | | **R29: Debit Block** | The bank has blocked Payabli from debiting the account. | Account suspension until resolved | Contact bank to authorize Payabli as an approved ACH processor | | **R38: Source Document Stop Paid** | Specific item stop payment. | May affect transaction processing | If unintentional, remove the stop payment and confirm when Payabli can reattempt | | **R52: Stop Payment** | Stop payment order active. | May affect transaction processing | If unintentional, remove the stop payment and confirm when Payabli can reattempt | | **R61: Misrouted Return** | The return may have been incorrectly processed. | Possible processing delay | Payabli will work to resolve; confirm any updated banking information | | **R67: Duplicate Return** | Return entry processed more than once. | No significant impact | No action required; Payabli will handle automatically | {/* vale Payabli.Contractions = YES */} If an ACH return indicates unauthorized debits, account closure, or insufficient funds, Payabli may suspend deposits until the issue is cleared. During suspension, the merchant's deposits may be held until the issue is resolved. ## Preventing ACH returns on debits To prevent ACH returns for attempted debits that could impact transfers, merchants should take the following steps: Check your account details and make sure that your banking information is correct. Use the Payabli UI or contact Support to update your details. Make sure that the account has sufficient funds to help float returned transactions and other debits without impacting your transfers. Some banks require pre-authorization for ACH transactions. To ensure smooth processing and prevent ACH returns due to authorization issues, we recommend that merchants take the following steps: 1. Authorize ACH transactions with your bank in advance. 2. Provide the bank with the ACH ID and descriptor: 1841393599 / WFMSPROPAY for allowlisting. Pre-authorization is not always required, it depends on the bank. If the merchant no longer uses Payabli, contact Support to make sure their account is properly closed to prevent unexpected returns. ## Recommended messages for your clients Partners can use these email templates to alert their merchants about ACH returns and the necessary steps to resolve them. **Subject:** Action Required: ACH Debit Returned – Insufficient Funds Dear \[Merchant Name], We attempted to debit your account, but the transaction was returned due to insufficient funds (ACH Return Code: R01). **Transaction Details:** * Amount of Attempted Debit: $\[Amount] * Reason for Attempted Debit: \[Explain purpose, e.g., settlement, fee, etc.] * Date of Attempted Debit: \[Date] Please ensure that sufficient funds are available and confirm when we can reattempt the debit. Let us know if you need assistance. Best,\ \[Your Name]\ Partner Team **Subject:** Urgent: ACH Debit Failed – Account Closed Dear \[Merchant Name], We attempted to debit your account, but the transaction was returned due to a closed account (ACH Return Code: R02). **Transaction Details:** * Amount of Attempted Debit: $\[Amount] * Reason for Attempted Debit: \[Explain purpose] * Date of Attempted Debit: \[Date] Please provide updated banking details at your earliest convenience to ensure uninterrupted processing. Best,\ \[Your Name]\ Partner Team **Subject:** Action Required: Incorrect Bank Account Details Dear \[Merchant Name], We attempted to debit your account, but the transaction was returned due to incorrect or invalid account details (ACH Return Code: R03/R04). **Transaction Details:** * Amount of Attempted Debit: $\[Amount] * Reason for Attempted Debit: \[Explain purpose] * Date of Attempted Debit: \[Date] Please verify and provide updated banking information so we can process your transactions smoothly. Best,\ \[Your Name]\ Partner Team **Subject:** Urgent: ACH Debit Authorization Needed Dear \[Merchant Name], We received a return for your recent ACH debit, marked as unauthorized (ACH Return Code: R05/R07). **Transaction Details:** * Amount of Attempted Debit: $\[Amount] * Reason for Attempted Debit: \[Explain purpose] * Date of Attempted Debit: \[Date] To continue processing, we will need a written confirmation that you authorize Payabli to debit your account. Please confirm your authorization or provide an updated payment method. Best,\ \[Your Name]\ Partner Team **Subject:** ACH Payment Stopped – Immediate Action Needed Dear \[Merchant Name], We attempted to debit your account, but the transaction was returned due to a stop payment request (ACH Return Code: R08/R52/R38). **Transaction Details:** * Amount of Attempted Debit: $\[Amount] * Reason for Attempted Debit: \[Explain purpose] * Date of Attempted Debit: \[Date] If this was unintentional, please confirm when we can reattempt the debit. If there is an issue, kindly provide further details so we can assist. Best,\ \[Your Name]\ Partner Team **Subject:** ACH Debit Blocked by Your Bank Dear \[Merchant Name], We attempted to debit your account, but the transaction was returned due to a debit block set by your bank (ACH Return Code: R29). **Transaction Details:** * Amount of Attempted Debit: $\[Amount] * Reason for Attempted Debit: \[Explain purpose] * Date of Attempted Debit: \[Date] Please contact your bank to authorize Payabli as an approved ACH debit processor and let us know once this has been resolved. Best,\ \[Your Name]\ Partner Team **Subject:** Duplicate ACH Transaction Identified Dear \[Merchant Name], We identified a duplicate ACH transaction that was returned under (ACH Return Code: R24/R67). **Transaction Details:** * Amount of Attempted Debit: $\[Amount] * Reason for Attempted Debit: \[Explain purpose] * Date of Attempted Debit: \[Date] We have voided the duplicate entry, and no further action is required on your end. If you have any questions, please let us know. Best,\ \[Your Name]\ Partner Team **Subject:** ACH Return Issue – Misrouted Transaction Dear \[Merchant Name], Your recent ACH debit was returned due to a misrouted transaction (ACH Return Code: R61). **Transaction Details:** * Amount of Attempted Debit: $\[Amount] * Reason for Attempted Debit: \[Explain purpose] * Date of Attempted Debit: \[Date] We are working on resolving this issue, but please let us know if you have any updated banking information. Best,\ \[Your Name]\ Partner Team *** title: Fund routing overview subtitle: Learn your options for sending Pay In funds into different accounts description: >- Discover flexible fund routing options to direct transaction proceeds where you need them. Route payments to specific bank accounts or split across accounts 'og:description': >- Discover flexible fund routing options to direct transaction proceeds where you need them. Route payments to specific bank accounts or split across accounts keywords: >- embedded payments, payment processing, accept payments, fund routing, split funding, multi-account deposits, payment distribution slug: guides/pay-in-routing-overview icon: route area: * Pay In subArea: * Routing Funds audience: * developers *** If you are in an industry that prohibits co-mingling of funds, or if your business prefers separate bank accounts for separate accounting, Payabli can help. Instead of the burden of maintaining separate software integrations for each bank account, Payabli offers two options for routing funds to meet your needs: * Split funding functionality allows you to split the funds from a transaction and deposit them into multiple bank accounts or to bank accounts of different paypoints. * Route funds from a transaction into a specific bank account of the paypoint. ## Example The routing options may look similar, but they have some important differences. For example, you want to accept payment from a customer for three different services and deposit the funds in three different accounts. * Split funding allows you to run one transaction and split the funds three ways, one for each service, into bank accounts of different paypoints or to three bank accounts of the same paypoint. * The other option is to run three different transactions (one for each service) on the same paypoint, and route the funds from each transaction into a specific bank account of that paypoint. ## Get started When you've decided what option works best for your needs, check out the guides for each routing option: * [Split funding](/guides/pay-in-developer-routing-split-funds) * [Route funds](/guides/pay-in-developer-routing-multiple-accounts) ## 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 * **[Route funds from a transaction](/guides/pay-in-developer-routing-multiple-accounts)** - Route funds from transactions to different bank accounts for a single paypoint * **[Split funds from a transaction](/guides/pay-in-developer-routing-split-funds)** - Split funds from a transaction into different bank accounts or paypoints *** title: Route funds from a transaction subtitle: Route funds from transactions to different bank accounts for a single paypoint description: >- Route funds from a single transaction to multiple bank accounts for one paypoint. Configure split funding rules to distribute payments across accounts easily 'og:description': >- Route funds from a single transaction to multiple bank accounts for one paypoint. Configure split funding rules to distribute payments across accounts easily keywords: >- embedded payments, split funding, fund routing, multi-account payments, payment distribution, settlement routing, payment API slug: guides/pay-in-developer-routing-multiple-accounts icon: arrows-split-up-and-left area: * Pay In subArea: * Routing Funds audience: * developers *** Payabli allows you to route funds from a transaction to a specific bank account for the paypoint. This option only works with a single paypoint that's running the transaction, and can't be used to distribute funds to accounts that belong to other paypoints. ## Setup Contact the Payabli team to enable and configure fund routing. After a paypoint is boarded, the Payabli team configures the merchant's bank accounts. Payabli can add as many separate accounts as you need, and each account has an `accountId`. ## Retrieve `accountId` You can retrieve `accountId` values for all a Paypoint's accounts by sending a GET request to the [/Paypoint endpoint](/developers/api-reference/paypoint/get-paypoint-details). They're returned in objects in the `Credentials` array. In this example, there are two accounts for ACH (187-782 and 187-783) and two accounts for card (187-798 and 187-799) ```json { "isSuccess": true, "responseText": "Success", "responseCode": 1, "": { "Paypoint": { "IdPaypoint": 187, "DbaName": "The Board Haus", "LegalName": "Board Haus LLC.", "Address1": "1801 Main Avenue", "Address2": "", "City": "Durango", "Zip": "81301", "ServiceData": null, // Example truncated "Credentials": [ { "Service": "ach", "Mode": 1, "Minticket": 0.0, "Maxticket": 100000.0, "CfeeFix": 0.0, "CfeeFloat": 0.0, "CfeeMin": 0.0, "CfeeMax": 0.0, "ReferenceId": 348, "AccountId": "187-782" }, { "Service": "ach", "Mode": 0, "Minticket": 0.0, "Maxticket": 100000.0, "CfeeFix": 0.0, "CfeeFloat": 0.0, "CfeeMin": 0.0, "CfeeMax": 0.0, "ReferenceId": 348, "AccountId": "187-783" }, { "Service": "card", "Mode": 0, "Minticket": 0.0, "Maxticket": 100000.0, "CfeeFix": 0.0, "CfeeFloat": 0.0, "CfeeMin": 0.0, "CfeeMax": 0.0, "ReferenceId": 358, "AccountId": "187-798" }, { "Service": "card", "Mode": 1, "Minticket": 0.0, "Maxticket": 100000.0, "CfeeFix": 0.0, "CfeeFloat": 0.0, "CfeeMin": 0.0, "CfeeMax": 0.0, "ReferenceId": 358, "AccountId": "187-799" }, // Example truncated ] }, }, } ``` ## Routing transactions When there is more than one account set up for a payment method, you must pass an `accountId` with the transaction. For example, if you have Account A and Account B set up for card transactions, each transaction must include an `accountId` for either Account A or Account B. In these examples, Account A has an `accountId` of 187-798, and Account B has an `accountId` of 187-799. ```bash Card payment to Account A curl --request POST \ --url 'https://api-sandbox.payabli.com/api/MoneyIn/getpaid?forceCustomerCreation=false' \ --header 'accept: application/json' \ --header 'content-type: application/*+json' \ --header 'requestToken: API TOKEN' { "entryPoint": "41035afaa7", "paymentMethod": { "method": "card", "cardnumber": "4293189100000008", "cardexp": "0924", "cardcvv": "345", "cardzip": "34234", "cardHolder": "John Smith" }, "paymentDetails": { "totalAmount":20, "serviceFee": 0.00 }, "customerData": { "customerId": 224, "customerNumber": "888", "billingAddress1": "5127 Linkwood ave" }, "accountId": "187-798" ``` ```bash Card payment to Account B curl --request POST \ --url 'https://api-sandbox.payabli.com/api/MoneyIn/getpaid?forceCustomerCreation=false' \ --header 'accept: application/json' \ --header 'content-type: application/*+json' \ --header 'requestToken: API TOKEN' { "entryPoint": "41035afaa7", "paymentMethod": { "method": "card", "cardnumber": "4293111111111111", "cardexp": "0927", "cardcvv": "999", "cardzip": "34234", "cardHolder": "Rafael Campos" }, "paymentDetails": { "totalAmount":3670.56, "serviceFee": 10.00 }, "customerData": { "customerId": 222, "customerNumber": "987", "billingAddress1": "221 Judge Gault Pkwy" }, "accountId": "187-799" ``` If a paypoint is set up with multiple accounts and you don't include an `accountId` with a transaction, you'll get a "Multiple Gateway Data for payment method" error: ```json Example error response { "responseText": "Declined", "isSuccess": false, "responseData": { "authCode": null, "referenceId": null, "resultCode": 3, "resultText": "Multiple Gateway Data for payment method", "avsResponseText": null, "cvvResponseText": null, "customerId": null, "methodReferenceId": null } } ``` ## Related resources See these related resources to help you get the most out of Payabli. * **[Fund routing overview](/guides/pay-in-routing-overview)** - Learn your options for sending Pay In funds into different accounts *** title: Split funds from a transaction subtitle: Split funds from a transaction into different bank accounts or paypoints description: >- Distribute funds from a single transaction across accounts or paypoints with split funding. Automate payment distribution for property management and beyond 'og:description': >- Distribute funds from a single transaction across accounts or paypoints with split funding. Automate payment distribution for property management and beyond keywords: >- embedded payments, payment processing, accept payments, split funding, payment distribution, multi-party payments, fund routing slug: guides/pay-in-developer-routing-split-funds icon: split area: * Pay In subArea: * Routing Funds audience: * developers *** With Payabli's split funding functionality, you can use split instructions in the transaction request to distribute the funds from a single transaction to different bank accounts for a paypoint, or to different paypoints set up for split funding. ## Setup Contact the Payabli team to use this feature. The team will work with you to understand your business needs and design the best configuration. ## Usage To split funds, send split instructions in the `paymentDetails` object of a transaction request. Split funding is available in these endpoints: * [MoneyIn/getpaid](/developers/api-reference/moneyin/make-a-transaction) * [MoneyIn/authorize](/developers/api-reference/moneyin/authorize-a-transaction) ### Get required values Split instructions support `recipientEntryPoint`, `accountId`, or both. This means that you can route funds to other paypoints, or to separate bank accounts of a single paypoint. This means that you can route funds to multiple accounts in other eligible paypoints, or to separate bank accounts of a the paypoint that's processing the transaction. Find the entrypoint value for the paypoints you want to send funds to. See [Entrypoint Overview](/developers/api-reference/api-overview#entrypoint-vs-entry) for instructions. You can retrieve `accountId` values for all a Paypoint's accounts by sending a GET request to the [/Paypoint endpoint](/developers/api-reference/paypoint/get-paypoint-details). They're returned in objects in the `Credentials` array. In this example, there are two accounts for ACH (187-782 and 187-783) and two accounts for card (187-798 and 187-799) ```json { "isSuccess": true, "responseText": "Success", "responseCode": 1, "": { "Paypoint": { "IdPaypoint": 187, "DbaName": "The Board Haus", "LegalName": "Board Haus LLC.", "Address1": "1801 Main Avenue", "Address2": "", "City": "Durango", "Zip": "81301", "ServiceData": null, // Example truncated "Credentials": [ { "Service": "ach", "Mode": 1, "Minticket": 0.0, "Maxticket": 100000.0, "CfeeFix": 0.0, "CfeeFloat": 0.0, "CfeeMin": 0.0, "CfeeMax": 0.0, "ReferenceId": 348, "AccountId": "187-782" }, { "Service": "ach", "Mode": 0, "Minticket": 0.0, "Maxticket": 100000.0, "CfeeFix": 0.0, "CfeeFloat": 0.0, "CfeeMin": 0.0, "CfeeMax": 0.0, "ReferenceId": 348, "AccountId": "187-783" }, { "Service": "card", "Mode": 0, "Minticket": 0.0, "Maxticket": 100000.0, "CfeeFix": 0.0, "CfeeFloat": 0.0, "CfeeMin": 0.0, "CfeeMax": 0.0, "ReferenceId": 358, "AccountId": "187-798" }, { "Service": "card", "Mode": 1, "Minticket": 0.0, "Maxticket": 100000.0, "CfeeFix": 0.0, "CfeeFloat": 0.0, "CfeeMin": 0.0, "CfeeMax": 0.0, "ReferenceId": 358, "AccountId": "187-799" }, // Example truncated ] }, }, } ``` ### Split instructions Send split instructions in the `splitFunding` array inside the `paymentDetails` object in the request. See [Example request](#example-request) for help. The amounts in the split instructions must add up to match the transaction net total *exactly*, or the request will fail. An array of `splitFundingContent` objects. The split funding instruction's content. Entrypoint ID for a recipient entrypoint. Account ID of the account that the split funds should be deposited in. Double. The amount of the split. A description or note to describe the split. Payabli strongly recommends that you use this field on every refund split. This helps identify the purpose of the refund split for reconciliation by the merchant. ## Example request ```bash Split a GetPaid transaction curl --request POST \ --url 'https://api-sandbox.payabli.com/api/MoneyIn/getpaid?forceCustomerCreation=false' \ --header 'accept: application/json' \ --header 'content-type: application/*+json' \ --header 'requestToken: API TOKEN' \ --data { "entryPoint": "41035afaa7", "accountId": "187-234", "paymentMethod": { "method": "card", "cardnumber": "4111111111111111", "cardexp": "12/25", "cardcvv": "999", "cardzip": "85284", "cardHolder": "Lisandra Olonets" }, "paymentDetails": { "totalAmount": 123.45, "serviceFee": 23.45, "splitFunding": [ { "recipientEntryPoint": "41035afaa7", "accountId": "187-300", "description": "Monthly maintenance fee", "amount": 50.45 }, { "recipientEntryPoint": "3005cdba0", "accountId": "230-391", "description": "Payment toward special assessment", "amount": 30.33 }, { "recipientEntryPoint": "995d16ccba", "accountId": "298-239", "description": "Security deposit", "amount": 19.22 } ] }, "customerData": { "customerId": "4440" } } ``` ## Example response The success response is the standard transaction success response. ```json Success response { "responseText": "Success", "isSuccess": true, "pageIdentifier": null, "responseData": { "authCode": "TAS726", "referenceId": "245-d6af5e23b5db43fbbb2bea04614d2735", "resultCode": 1, "resultText": "Approved", "avsResponseText": null, "cvvResponseText": null, "customerId": 4440, "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 * **[Refund a split funded transaction](/guides/pay-in-developer-routing-refund-split)** - Learn how to refund a transaction that was sent with split instructions * **[Fund routing overview](/guides/pay-in-routing-overview)** - Learn your options for sending Pay In funds into different accounts *** title: Refund a split funded transaction subtitle: Learn how to refund a transaction that was sent with split instructions description: >- Refund transactions that used split funding instructions. Handle partial and full refunds across multiple accounts while maintaining accurate fund balances 'og:description': >- Refund transactions that used split funding instructions. Handle partial and full refunds across multiple accounts while maintaining accurate fund balances keywords: >- embedded payments, split refund, refund processing, split funding, multi-account refund, payment refunds, fund distribution slug: guides/pay-in-developer-routing-refund-split icon: rotate-left area: * Pay In subArea: * Routing Funds audience: * developers *** How you refund a split funded transaction depends on whether you want to do a full refund or a partial refund. ## Full refunds Full refunds of a split transaction work the same as refunds for a transaction without splits. Payabli returns the total of the transaction, less any pass-through fees, to the payor, reversing the original transaction's split instructions. For example, a \$103 transaction had a \$100 total, plus a \$3 pass-through fee. Payabli returns \$100 to the payor, removing the funds from the same accounts the funds were originally split into. To run a full refund, see [the refund](/guides/pay-in-developer-transactions-cancel#refund-a-transaction) guide for help. A request to this endpoint refunds the transaction based on the original transaction's split instructions. ## Partial refunds Payabli accepts partial refunds when the original transaction was split *only if* the refund request includes split instructions. You must specify how much to return to the customer, and from whom. ### Partial refund considerations * You can only make refunds from the accounts and entrypoints used in the original request. * You don't have to include every account on the original transaction in a partial refund request. * An account can't refund more than it received in the original transaction. For example, if Account A received \$35 in the original transaction, you will get an error if you try to refund more than \$35 from Account A. * The split amounts are validated for partial refunds. They can't total more than the original transaction, or the refund request fails. For example, a \$103 transaction had a \$100 total plus a \$3 pass-through fee. The \$100 total was split three ways: * Account A received \$50 * Account B received \$30 * Account C received \$20 A partial refund request comes with split instructions that request \$20 from Account A , \$10 from Account B , and \$5 from Account C. Payabli takes the designated amount back from those recipients and returns a total of \$35 to the Payor. Accounts A, B, and C retain the balance from the original transaction: * Account A keeps \$50 - \$20 = \$30 * Account B keeps \$30 - \$10 = \$20 * Account C keeps \$20 - \$5 = \$15. For example, a \$103 transaction had a \$100 total plus a \$3 pass-through fee. The \$100 total was split three ways: * Account A received \$50 * Account B received \$30 * Account C received \$20 A partial refund request comes with split instructions that request \$20 from Account A and \$10 from Account B. Payabli takes the designated amount back from those recipients and returns a total of \$30 to the Payor. Accounts A, B, and C retain the balance from the original transaction: * Account A keeps \$50 - \$20 = \$30 * Account B keeps \$30 - \$10 = \$20 * Account C keeps \$20 - \$0 = \$20. ## Split refund examples To refund a split transaction, send a POST request to api/MoneyIn/refund/\{transId}. This endpoint is used to refund a transaction that was sent with split instructions. See the [API reference](/developers/api-reference/moneyin/refund-a-settled-transaction-with-instructions) for full information. The Refund endpoint has a required path parameter, `transId`, which is the `referenceId` for the transaction. The referenceId identifying the transaction (PaymentId). You can find this in the success response for the payment you want to refund. There is a required request body, which is a JSON object. This example refunds the transaction with a `referenceId` of `10-3ffa27df-b171-44e0-b251-e95fbfc7a723` for the total amount of the \$100 transaction. This example refunds a partial amount of \$70 (out of \$100) of the transaction with a `referenceId` of `10-3ffa27df-b171-44e0-b251-e95fbfc7a723`. A successful refund returns a 200 status with a JSON body. ## 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 * **[Split funds from a transaction](/guides/pay-in-developer-routing-split-funds)** - Split funds from a transaction into different bank accounts or paypoints *** title: Split payment chargebacks and returns subtitle: Learn how Payabli handles chargebacks and ACH returns for split transactions description: >- Understand chargeback and ACH return handling for split-funded transactions. Learn how Payabli reverses split instructions and re-balances accounts on disputes 'og:description': >- Understand chargeback and ACH return handling for split-funded transactions. Learn how Payabli reverses split instructions and re-balances accounts on disputes keywords: >- embedded payments, payment processing, accept payments, split funding, chargebacks, ACH returns, payment disputes, fund reversal, split transactions icon: split slug: guides/pay-in-split-disputes-overview area: * Pay In subArea: * Routing Funds * Refunds audience: * developers * partners * merchants *** In a split funded transaction, a part of the original transaction amount funds to one bank accounts and part funds to another account. ## General flow Here's how Payabli handles ACH returns and chargebacks for split transactions. 1. Payabli receives an ACH return or chargeback for a payment to the merchant who originated the transaction. 2. Because of how transaction authorizations work, when there is a return or chargeback, Payabli removes the entire amount from the origination merchant's Payabli ledger. Payabli then reverses the original split instructions and transfers any split funds that were sent to the other accounts from those accounts back to the origination merchant. Because fees are non-refundable, they're not returned to merchants in the event of a return or chargeback. See [Pass-through Fees](/guides/pay-in-fees-passthrough-overview#considerations) for more information. ## Examples The following examples show how funds move between accounts when a chargeback or return is applied to a split transaction. These examples are simplified to assume a $0 Payabli ledger balance. **Original Transaction**: A school receives tuition payment of \$10000, with \$8000 going to its main account and \$2000 to a partner account. **ACH Return**: The student's payment is returned for fraud. **Payabli's Action**: Payabli reverses the total \$10000 from the school's Payabli ledger. Payabli then transfers \$2000 from the partner ledger to the school's account. Finally, Payabli removes \$8000 from the school's account and \$2000 from the partner's account to reconcile their Payabli ledgers. **Original Transaction**: An HOA collects annual dues of \$1500 from a homeowner, splitting the payment with \$1000 going to the HOA's account and \$500 to a fund for landscaping maintenance. **Chargeback**: The homeowner disputes the charge, claiming services weren't rendered as agreed, and initiates a chargeback. **Payabli's Action**: Payabli debits the entire \$1500 from the HOA's Payabli ledger. Payabli then recovers the \$500 initially sent to the landscaping fund's Payabli ledger and sends it to the HOA's account. Finally, Payabli removes \$1000 from the HOA's account, and \$500 from the landscaping fund's account to reconcile their Payabli ledgers. **Original Transaction**: A flooring contractor receives a payment of \$5000 for a large project, dividing the payment with \$3500 to their business account and \$1500 to an account used for materials purchasing. **Chargeback**: The client is unsatisfied with the installation and files a chargeback. **Payabli's Action**: Payabli removes \$5000 from the contractor's Payabli ledger. Payabli also reclaims the \$1500 from the materials fund Payabli ledger and adds it back to the contractor's account. Finally, Payabli removes \$1500 fom the material fund's bank account, and \$3500 from the contractor's bank account to reconcile their Payabli ledgers. *** title: Custom batch times subtitle: >- Learn how to set a preferred batch cutoff time with the Custom Batch Time feature description: >- Configure custom batch cutoff times for your payment processing schedule. Automate when transactions settle to align with your business operations workflow 'og:description': >- Configure custom batch cutoff times for your payment processing schedule. Automate when transactions settle to align with your business operations workflow keywords: >- embedded payments, batch processing, custom batch times, settlement schedule, payment batches, transaction settlement slug: guides/pay-in-batches-custom-times-overview icon: clock area: * Pay In subArea: * Batches and Funding audience: * developers * partners * merchants *** The Custom Batch Times feature allows you to choose any hour of the day as your preferred batch cutoff time instead of using the default of 5 PM Eastern Time. Custom batch times help you align the settlement process with your business operations. For example, a merchant in Texas can choose 8 PM CT (9 PM ET) as their batch cutoff time. A merchant in Hawaii can choose 12 AM HST (5 AM ET) as theirs. The Payabli team must configure your custom batch times, it's not a self-service process. Reach out to the Payabli team to get started. ## Considerations When working with the custom batch times, keep the following in mind: * Batches can close on the hour (for example, 1:00, 2:00, 3:00). Mid-hour times such as 2:30 PM, 10:15 PM aren't available. * Transactions until the top of the hour are included in the batch. For example, if a paypoint has batch cutoff time of 9 PM ET, then transactions from 9:00:00.001 PM ET to 9:00:00.000 PM ET the next day are in the same batch. ## Merchant funding timing Custom batch times can impact funding availability for merchants. Here's how: * If the custom batch cutoff time is between 12 AM ET and 5 PM ET, then merchant funding can be as early as the next day, if the paypoint is on Next Day Funding. * If the custom batch cutoff time is between 6 PM ET and 11 PM ET, then merchant funding can be as early as two days later. | Time Range (ET) | Earliest Funding | | --------------- | ---------------- | | 00:00 to 17:00 | T + 1 (next day) | | 18:00 to 23:00 | T + 2 (2 day) | ## Migrating to custom batch times After Payabli configures a custom batch time for your merchant, they're migrated to the new batch time. On the migration day, the batch for the day will close at 5 PM ET as usual. Then a short batch with transactions from 5 PM ET until the new chosen batch cutoff time will close. Going forward, all batches follow the usual 24 hour cycle with the new custom batch cutoff time. Here's an example of how batches work during and after migration. In this example, the merchant has chosen to close batches at 11:00 PM ET. **Migration Day (June 1)** * The last regular batch closes at 5:00 PM ET and includes transactions from May 31, 5:00 PM through June 1, 5:00 PM. * The short batch closes at 11:00 PM ET, and includes transactions from 5:00 PM till 11:00 PM on June 1 **Next Day (June 2+)** * Batches close at 11:00 PM ET each day. * Batches include full 24 hours of transactions from 11:00 PM the day before through 11:00 PM the current day. ## Voids and refunds Custom batch times can have an effect on how refunds are processed. The [Enhanced Refund Flow](/guides/pay-in-refunds-enhanced-flow-overview) is enabled by default for all paypoints that have a custom batch time configured. This feature ensures that refunds are processed at the optimal time to avoid issues with the backend processor. Custom batch times don't affect void processing, as only transactions in an open batch can be voided. See [Voids and refunds](/guides/pay-in-developer-transactions-cancel#reverse-a-transaction) for more details about how refunds, voids, and reversals are processed. *** title: Hosted payment page overview and quickstart subtitle: >- Build payment pages with no code, send to customers, and get paid with limited effort description: >- Build and send hosted payment pages with no code to collect payments from customers. Customize branding, add fields, and start accepting payments in minutes 'og:description': >- Build and send hosted payment pages with no code to collect payments from customers. Customize branding, add fields, and start accepting payments in minutes keywords: >- embedded payments, hosted payment page, no-code payments, payment collection, checkout page, payment links, online payments slug: guides/pay-in-payment-page-overview icon: forward-fast area: * Pay In subArea: * Payment Page audience: * developers *** Payabli's hosted payment pages are secure, configurable checkout pages that your customers can use to pay you. Hosted payment pages let you provide secure pages with built-in payment experience without any development effort required. After you configure a payment page, you only need to pass along the specific field data needed, allowing your customer to have a seamless checkout experience. You can build as many payment pages as your paypoint needs. Give your customers payment page links or iframe payment page content in your website or landing pages. We don't recommend embedding a hosted payment page in an iframe, as it can lead to unexpected behavior and performance issues. an image of example payment pages ## Features and benefits Leveraging Payabli's hosted payment pages provides benefits to partners, merchants, and their paying customers: * Configure the fields to display, then prefill them using URL parameters * Integrated security that reduces your PCI scope * Customize pages with your logo and brand colors * Decide payment options to give to your customers * Redirect the payor and capture authorization data in real time. Get started with hosted payment pages in 4 steps. ## Step 1: Create a payment page Create a payment page from PayHub or via the API. * To create a payment page from PayHub, navigate to **Payment Pages** and click **+ New Payment Page**. * To create a payment page via the API, send a POST request to `/api/Paypoint/{entry}` and include the required fields. See the [Create a payment page API reference](/developers/api-reference/hostedpaymentpages/create-a-payment-page) for details. You can also manage payment pages with the API: * [Get payment page details](/developers/api-reference/hostedpaymentpages/get-payment-page-details) * [Get all payment page details](/developers/api-reference/hostedpaymentpages/get-all-payment-page-details) * [Delete a payment page](/developers/api-reference/hostedpaymentpages/delete-a-payment-page) ## Step 2: Prefill fields Payabli has two different data injection via URL methods that you can use to prefill various fields like amount, description, invoice number, and customer number. **1. Query string:** You can pass the fields into the payment page via URL. **2. JSON:** For advanced use cases, you can prefill more details by passing the corresponding data via a Base64-encoded JSON file. You can include the following fields in the URL, to prefill the payment page: Prefilled amount on the payment page.
Example: `100.45`
Option that allows the user to edit the amount to pay. When `true`, the amount is editable. Option that allows you disable autopay options when autopay is active by payment page configuration.
Allowed values: `0`= autopay disabled
Example: `0`
Payor is an array of options to allow overwriting the payor information by input field like "first name", you can overwrite the value (value) in the field and `readonly` property of the input (fixed). If fixed is (1) the input is blocked and the user can't write. Option that controls acceptance of credit or debit card. If the paypoint is only set up to accept card payments it won't be disabled.
Allowed values: `0`= disabled `1`= enabled
Example: `1`
Option that controls acceptance of ACH. If the paypoint is only set up to accept ACH payments, it won't be disabled.
Allowed values: `0`= disabled `1`= enabled
Example: `1`
Option that controls acceptance of Apple Pay. To accept Apple Pay, you must first [activate it](/guides/pay-in-developer-wallets-apple-pay-enable), and the payment page must have `card` enabled.
Allowed values: `0`= disabled `1`= enabled
Example: `1`
Name of business
Example: `Acme, Inc`
Customer first name
Example: `John`
Customer last name
Example: `Smith`
Email address of customer and where receipt will be sent.
Example: `email@example.com`
Primary phone number of customer making payment. Don't include dash characters.
Example: `8005555555`
Number or reference to customer identification in your system of record.
Example: `1409`
Invoice number to apply payment to.
Example: `INV-12345`
Billing address of customer.
Example: `123 Walnut Street`
Shipping address of customer.
Example: `123 Walnut Street`
Custom fields, configured for your payment page. You can include as many custom fields you need. If you create a custom field, the Field ID will use the naming convention of `additional_` followed by a unique name. If the name matches a custom field defined in the paypoint, it will point to that custom field. The following JSON shows a custom field called `salesRep` in the body.
Example: `"payor": { "company": { "value": "Blue Turtle", "fixed": 0 }, "firstName": { "value": "Cyril", "fixed": 0 }, "lastName": { "value": "Methodius", "fixed": 0 }, "billingEmail": { "value": "cyril@boardhaus.com", "fixed": 0 }, "billingPhone": { "value": "8009998765", "fixed": 0 }, "invoiceNumber": { "value": "12345", "fixed": 0 }, "customerNumber": { "value": "98756", "fixed": 0 }, "billingAddress1": { "value": "12764 Testing Way", "fixed": 0 }, "shippingAddress1": { "value": "12764 Testing Way", "fixed": 0 }, "additional_salesRep": { "value": "Mihail Bulgarski" } }`
This option allows redirection to another URL after payment is processed and the user clicks on the button at the end of Payment Receipt. The payment response is appended to the end of URL (Callback).
Example: `{callbackUrl}/?authCode=123456&referenceId=2-28b0fc7&resultCode=1&resultText=Approved&customerId=705`
## Step 3: Data injection Select data injection method. You can use either the query string or JSON method to pass data to the payment page. ### Query string Pass the page configuration via the URL in normal query string format. Data passed through via query string can't be edited by the payor. If you want the payor to be able to edit information, use the JSON method. In this example, the `amount` is 133.9, `autopay` is 0, which means false, `card`, `ach`, and `applepay` are enabled, the `company` is Acme, Inc. The customer `firstName` is John, `lastName` is Smith, the `billingEmail` is [mail@hotmail.com](mailto:mail@hotmail.com), and the `billingPhone` is 9541234567. Note that text is URL-encoded. ```txt https://paypages-sandbox.payabli.com/boardhaus/1664810006928?amount=133.9&autopay=0&card=1&ach=1&applepay=1&company=Acme,%20Inc&firstName=John&lastName=Smith&billingEmail=mail@hotmail.com&billingPhone=9541234567 ``` ### JSON For more complex needs, like adding line items to a payment page, Payabli recommends sending the page configuration options via JSON. Add the configuration to the end of the URL of the payment page using Base64 encoding. For example:\ `{Payment Page URL}/json/{Base64 JSON config}` In the encrypted JSON, you must replace the characters "/" and "+" with "\_" and "." respectively to avoid problems in the format of the URL. The FieldIDs are the same as the Query String version. **Example:** ```json { "autopay": 0, "card": 1, "ach": 1, "applepay": 1, "callbackUrl": "boardhaus.com", "amount": 200.76, "invoiceNumber": "100012", "payor": { "company": { "value": "Blue Turtle", "fixed": 0 }, "firstName": { "value": "Cyril", "fixed": 0 }, "lastName": { "value": "Methodius", "fixed": 0 }, "billingEmail": { "value": "cyril@boardhaus.com", "fixed": 0 }, "billingPhone": { "value": "8009998765", "fixed": 0 }, "invoiceNumber": { "value": "12345", "fixed": 0 }, "customerNumber": { "value": "98756", "fixed": 0 }, "billingAddress1": { "value": "12764 Testing Way", "fixed": 0 }, "shippingAddress1": { "value": "12764 Testing Way", "fixed": 0 } } } ``` **Example:** The JSON in the example has been Base64-encoded: ```txt https://paypages-sandbox.payabli.com/snowmountainmaintenance/1670240442714/json/ewoJImF1dG9wYXkiOiAwLAoJImNhcmQiOiAxLAoJImFjaCI6IDEsCgkiY2FsbGJhY2tVcmwiOiAiYm9hcmRoYXVzLmNvbSIsCgkiYW1vdW50IjogMjAwLjc2LAoJImludm9pY2VOdW1iZXIiOiAiMTAwMDEyIiwKCSJwYXlvciI6IHsKCQkiY29tcGFueSI6IHsKCQkJInZhbHVlIjogIkJsdWUgVHVydGxlIiwKCQkJImZpeGVkIjogMAoJCX0sCgkJImZpcnN0TmFtZSI6IHsKCQkJInZhbHVlIjogIkN5cmlsIiwKCQkJImZpeGVkIjogMAoJCX0sCgkJImxhc3ROYW1lIjogewoJCQkidmFsdWUiOiAiTWV0aG9kaXVzIiwKCQkJImZpeGVkIjogMAoJCX0sCgkJImJpbGxpbmdFbWFpbCI6IHsKCQkJInZhbHVlIjogImN5cmlsQGJvYXJkaGF1cy5jb20iLAoJCQkiZml4ZWQiOiAwCgkJfSwKCQkiYmlsbGluZ1Bob25lIjogewoJCQkidmFsdWUiOiAiODAwOTk5ODc2NSIsCgkJCSJmaXhlZCI6IDAKCQl9LAoJCSJpbnZvaWNlTnVtYmVyIjogewoJCQkidmFsdWUiOiAiMTIzNDUiLAoJCQkiZml4ZWQiOiAwCgkJfSwKCQkiY3VzdG9tZXJOdW1iZXIiOiB7CgkJCSJ2YWx1ZSI6ICI5ODc1NiIsCgkJCSJmaXhlZCI6IDAKCQl9LAoJCSJiaWxsaW5nQWRkcmVzczEiOiB7CgkJCSJ2YWx1ZSI6ICIxMjc2NCBUZXN0aW5nIFdheSIsCgkJCSJmaXhlZCI6IDAKCQl9LAoJCSJzaGlwcGluZ0FkZHJlc3MxIjogewoJCQkidmFsdWUiOiAiMTI3NjQgVGVzdGluZyBXYXkiLAoJCQkiZml4ZWQiOiAwCgkJfQoJfQp9Cg== ``` ## Step 4: Use the link for payments Send or embed the link you created to accept payments on a prefilled payment page. ## Related resources See these related resources to help you get the most out of Payabli. * **[Activate Apple Pay (API)](/guides/pay-in-developer-wallets-apple-pay-enable)** - Learn about setting up Apple Pay via the Payabli API *** title: Accept Apple Pay on a payment page subtitle: Learn how to accept Apple Pay on a hosted payment page description: >- Accept Apple Pay on a hosted payment page by configuring your domain and enabling wallet payments. Let customers check out with a single tap on Apple devices 'og:description': >- Accept Apple Pay on a hosted payment page by configuring your domain and enabling wallet payments. Let customers check out with a single tap on Apple devices keywords: >- embedded payments, Apple Pay, payment page, digital wallet, hosted payments, mobile payments, contactless payments slug: guides/pay-in-developer-payment-page-apple-pay icon: brands apple-pay area: * Pay In subArea: * Payment Page * Wallets audience: * developers *** You can accept Apple Pay on a payment page by enabling the payment method. You can also customize the Apple Pay button style, color, and language as needed. ## Considerations Before you get started, keep these considerations in mind: * You must have the Apple Pay service activated and payment method domains configured for your paypoint. See [Apple Pay Overview](/guides/pay-in-wallets-apple-pay-overview) for guidance. * Apple Pay is available only for one-time payments. If `autopay` is enabled on a payment page, Apple Pay won't be available as a payment method. * For performance reasons, we don't recommend embedding payment pages in iframes. However, when Apple Pay is enabled, a payment page embedded in an iframe won't load at all. ## Add Apple Pay to the payment page To add Apple Pay acceptance on a payment page, you must first enable it as a payment method. Set `applePay` to `true` when creating or updating the payment page. ```json "pageContent": { "paymentMethods": { "methods": { "applePay": true, "amex": true, "discover": true, "mastercard": true, "visa": true } } } ``` ## Configure the Apple Pay button If you wish to customize the Apple Pay button on the payment page, you can pass configuration options using the `paymentMethods.settings.applepay` object. The Apple Pay button style. Supported options: * “black”: Default black button. * “white-outline”: White button with an outline. * “white”: Solid white button. The Apple Pay button style. Supported options: * “black”: Default black button. * “white-outline”: White button with an outline. * “white”: Solid white button. The Apple Pay button locale. Supported options: * **en-US**: English (US) * **ar-AB**: Arabic * **ca-ES**: Catalan * **zh-CN**: Chinese (China) * **zh-HK**: Chinese (Hong Kong) * **zh-TW**: Chinese (Taiwan) * **hr-HR**: Croatian * **cs-CZ**: Czech * **da-DK**: Danish * **de-DE**: German * **nl-NL**: Dutch * **en-AU**: English (Australia) * **en-GB**: English (UK) * **fi-FI**: Finnish * **fr-CA**: French (Canada) * **fr-FR**: French (France) * **el-GR**: Greek * **he-IL**: Hebrew * **hi-IN**: Hindi * **hu-HU**: Hungarian * **id-ID**: Indonesian * **it-IT**: Italian * **ja-JP**: Japanese * **ko-KR**: Korean * **ms-MY**: Malay * **nb-NO**: Norwegian * **pl-PL**: Polish * **pt-BR**: Portuguese (Brazil) * **pt-PT**: Portuguese (Portugal) * **ro-RO**: Romanian * **ru-RU**: Russian * **sk-SK**: Slovak * **es-MX**: Spanish (Mexico) * **es-ES**: Spanish (Spain) * **sv-SE**: Swedish * **th-TH**: Thai * **tr-TR**: Turkish * **uk-UA**: Ukrainian * **vi-VN**: Vietnamese For example, in your request to the [create a payment page endpoint](/developers/api-reference/hostedpaymentpages/create-a-payment-page), you could change the button's style, color and language: ```json "paymentMethods":{ ... "settings":{ "applepay":{ "buttonType":"support", "buttonStyle":"white-outline", "language":"ca-ES" } } } ``` ## Prefill fields with Apple Pay Pre-filling payment fields is covered in the [Hosted Payment Pages Quickstart](/guides/pay-in-payment-page-overview#step-2-prefill-payment-form-fields). *** title: Pay In schemas subtitle: Learn about Pay In (money in) transaction schemas description: >- Visualize Pay In transaction workflows with interactive schemas. Follow step-by-step flows for embedded components, API token storage, and payment processing 'og:description': >- Visualize Pay In transaction workflows with interactive schemas. Follow step-by-step flows for embedded components, API token storage, and payment processing keywords: >- embedded payments, payment processing, accept payments, transaction flow, payment schemas, API workflows, payment integration, transaction lifecycle icon: diagram-successor slug: guides/pay-in-schemas-overview area: * Pay In subArea: * Reference audience: * developers * partners *** These transaction schemas cover the most common pay in, also known as money in, transaction tasks in Payabli. ### Make a transaction with the `embeddedMethodUI` component Making a transaction with the [`embeddedMethodUI` component](/guides/pay-in-components-embeddedmethod-ui) happens over several steps. Use the component to store payment methods and make a payment transaction. *This flowchart explains the basic steps for the task. Hover over a step for more information.*
Run `payabliExec(method, parameters)` Here, the action is set to `method`. Send the `paymentDetail` and `customerData` object in `parameters`.
Payment method saved The payment method is saved and includes the data sent as parameters. An ID for the payment method is returned, which is then used to make transactions.
Callback function Use a callback function to send a transaction that uses the new payment method.
Response
### Save a payment method with the API You can save a payment method using the API with the [token storage endpoint](/developers/api-reference/tokenstorage/save-a-payment-method-tokenize). If you want to store the token permanently, make sure that the `temporary` query parameter is set to `false`. *This flowchart explains the basic steps for the task. Hover over a step for more information.*
POST to `addMethod` endpoint Make a POST request to the addMethod endpoint. Set `temporary` to `true` to create a single use token that's good for 12 hours. Set `temporary` to `false` to save a permanent token.
Response
Make a POST request to the `addMethod` endpoint. Set `temporary` to `true` to create a single use token that's good for 12 hours. Set `temporary` to `false` to save a permanent token. ### Make a transaction with a stored payment method If you already have a stored payment method for the user, you can just make a POST request to the [getpaid endpoint](/developers/api-reference/moneyin/make-a-transaction) using the `storedMethodId`. *This flowchart explains the basic steps for the task. Hover over a step for more information.*
POST to transaction endpoint
using `storedMethodId` Make a POST request to a transaction endpoint (like /MoneyIn/getpaid). Use the saved method's `storedMethodId` in the `paymentMethod` object.
Response
Make a POST request to a transaction endpoint (like /MoneyIn/getpaid). Use the saved method's `storedMethodId` in the `paymentMethod` object. ### Void, refund, and reverse transactions Learn more about the difference between voids, refunds, and reversals in [Void, Refund, or Reverse a Transaction](/guides/pay-in-developer-transactions-cancel). #### Void a transaction To void an unsettled transaction, send a GET request to the [/MoneyIn/void/\{transID} endpoint](/developers/api-reference/moneyin/void-a-transaction) using the transaction's `referenceID` as the `transId` parameter. *This flowchart explains the basic steps for the task. Hover over a step for more information.*
GET to void endpoint
using `transId` Make a GET request to the void endpoint (/MoneyIn/void), using the `referenceId` returned with the transaction as the `transId` parameter.
Response
Make a GET request to the void endpoint (/MoneyIn/void), using the `referenceId` returned with the transaction as the `transId` parameter. #### Refund a transaction To refund a settled transaction, send a GET request to the [/MoneyIn/refund endpoint](/developers/api-reference/moneyin/refund-a-settled-transaction) with `transId` and `amount` parameters. *This flowchart explains the basic steps for the task. Hover over a step for more information.*
GET to return endpoint
using `transId` and `amount` Make a GET request to the refund endpoint (/MoneyIn/refund), using the `referenceId` returned with the transaction as the `transId` parameter. You must specify the amount to refund.
Response
Make a GET request to the refund endpoint (/MoneyIn/refund), using the `referenceId` returned with the transaction as the `transId` parameter. You must specify the amount to refund. #### Reverse a transaction To reverse a transaction, send a GET request to the [/MoneyIn/reverse endpoint](/developers/api-reference/moneyin/reverse-a-transaction) with `transId` and `amount` parameters. *This flowchart explains the basic steps for the task. Hover over a step for more information.*
GET to reverse endpoint
using `transId` and `amount` Make a GET request to the reverse endpoint (/MoneyIn/reverse), using the `referenceId` returned with the transaction as the `transId` parameter. You must specify the amount to refund.
Response
Make a GET request to the reverse endpoint (/MoneyIn/reverse), using the `referenceId` returned with the transaction as the `transId` parameter. You must specify the amount to refund. ## Related resources See these related resources to help you get the most out of Payabli. * **[Pay In statuses](/guides/pay-in-status-reference)** - Learn about Pay In (money in) statuses * **[EmbeddedMethod UI](/guides/pay-in-components-embeddedmethod-ui)** - Learn how to use the EmbeddedMethod UI embedded component to add the ability to securely store a payment profile or execute a sale *** title: Pay In statuses subtitle: Learn about Pay In (money in) statuses description: >- Complete reference for Pay In status codes across transactions, batches, transfers, invoices, and funding. Understand each status meaning for troubleshooting 'og:description': >- Complete reference for Pay In status codes across transactions, batches, transfers, invoices, and funding. Understand each status meaning for troubleshooting keywords: >- embedded payments, payment processing, accept payments, payment status, transaction status, batch status, transfer status, payment tracking icon: message-code slug: guides/pay-in-status-reference area: * Pay In subArea: * Reference audience: * developers * partners *** ## Money in transaction status Transaction status, also referred to as payment status, is returned as `TransStatus` when you query a money in transaction. For example, the value `"TransStatus": 1` means that the transaction has been approved or captured. | Value | Key | Description | | -------------------------------------------- | ----- | ---------------------------------------------------------------------------- | | Authorized | 11 | The transaction is authorized. | | Approved/ Captured | 1 | The transaction has been approved or captured. | | Declined (processor declined) | 2 | The processor declined the transaction. | | Declined (technical decline due to an error) | 3 | The transaction was declined due to an error. | | Voided/ Canceled | 5 | The transaction has been voided or otherwise canceled. | | Failed/ Error | -1, 0 | There was an error or failure. | | Initiated | 10 | The transaction has been initiated but hasn't been declined or approved yet. | ## Payment funding status The payment funding status describes where in the settlement process a transaction is. This status is returned as `SettlementStatus` when you query a transaction. For example, the value `"SettlementStatus":1` means the funding is in transit. | Value | Key | Description | | ------------------------- | --- | ----------------------------------------------------------------------------- | | Pending | 0 | The batch this transaction is in is still open. | | In Transit | 1 | The batch this transaction is in is closed, and is being routed to the banks. | | Transferred | 2 | The funds are being transferred to the merchant's bank account. | | Funded (settled) | 3 | The funds are in the merchant's bank account. | | Exception | -1 | There was an error in the transfer. | | ACH Return or Chargebacks | -2 | The transaction has a chargeback or ACH return. | | Held | -5 | Funding is being held because of fraud or risk concerns. | | Released | -6 | The transaction has been released after a risk review. | ## Batch status Batches, also called payment groups, are collections of transactions gathered together to be processed at one time. Transactions can be captured or cancelled in a batch while the status is Open. When the status moves to Closed, the batch begins processing, and transactions can't be cancelled or added to the batch. Batch status is returned as `BatchStatus` when you query a batch. For example, the value `"BatchStatus": 3` means that the batch has been funded. | Value | Key | Description | | ---------------------- | --- | ------------------------------------------------------------------------------------------ | | Open | 0 | Batch is open and can still be modified. | | Closed | 1 | Batch has been closed and can't be modified further. It's been transmitted for processing. | | Held | -5 | Batch funding is on hold because of fraud or risk concerns. | | Transferred | 2 | The funds are being transferred to the merchant's bank account. | | Funded (batch settled) | 3 | Batch funds are available in the merchant bank account. | | Resolved | 4 | The batch has been manually resolved. | If your batches seem stuck in the Pending or Open status, this could mean there's an issue with the funding configuration setup or other funding errors. Common causes of this include incomplete funding configuration on the paypoint or incorrect bank details entered during the underwriting process. If you notice batches staying in Pending status for an extended period, contact Support to verify your funding configuration. After the configuration is fixed, existing batches will process and future batches will go through the normal funding cycle. ## Transfer status Transfer status is the status of a payment to the merchant. Successful transactions are batched, and when those funds have been collected, Payabli transfers that amount to the merchants bank. This status is returned as `TransferStatus` when you query a batch. For example, the value `"TransferStatus":1` means the transfer is in transit. | Value | Key | Description | | ----------------------------- | --- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | Pending | 0 | Funds have been collected and the transfer to the merchant's bank account is pending. This can be due to weekends or bank holidays. The batch is still open. | | In Transit | 1 | The batch is closed and the funds and transactions are being verified. At this point, transactions can still be returned or ACH transactions can get NSF responses. | | Transferred | 2 | The final batch detail is complete and the funds are being transferred to the merchant's account. | | Funded (transfer settled) | 3 | The funds have been deposited in the merchant's bank account. | | Resolved | 4 | The transfer has been manually resolved. | | Exception | -1 | There was an error in the transfer. | | Pending by balance | -2 | The merchant doesn't have enough funds in their virtual account to transfer to the merchant's bank account. The transfer remains pending until the merchant has a sufficient balance to execute. | | ACH Return (Merchant Deposit) | -4 | There was an issue depositing the funds in the merchant's account. | ## Invoice status This status is returned as `invoiceStatus` when your query involves an invoice. For example, the value ` "invoiceStatus": 1` means that the invoice is open. | Value | Key | Description | | -------------- | --- | -------------------------------------------------------- | | Draft | 0 | The invoice is in draft format and hasn't been sent yet. | | Active/ Open | 1 | The invoice is created but hasn't been paid yet. | | Partially Paid | 2 | The invoice has been partially paid. | | Paid/ Complete | 4 | The invoice has been paid and is complete. | | Canceled | 99 | The invoice has been canceled. | ## Subscription status When you query a subscription via the API, the status is returned in the body as `SubStatus`. | Status code | Description | | ----------- | ------------------- | | 0 | Subscription paused | | 1 | Subscription active | ## 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 * **[Payment response codes and errors](/guides/platform-return-codes-and-errors-reference)** - Learn about payment response codes for different payment methods *** title: Payment response codes and errors subtitle: Learn about payment response codes for different payment methods icon: comment-code slug: guides/platform-return-codes-and-errors-reference area: * Pay In subArea: * Reference audience: * developers * partners * merchants description: >- Reference for payment response codes including card declines, ACH returns, AVS results, and CVV verification. Decode responses and troubleshoot payment failures 'og:description': >- Reference for payment response codes including card declines, ACH returns, AVS results, and CVV verification. Decode responses and troubleshoot payment failures keywords: >- embedded payments, payment processing, accept payments, response codes, error codes, decline codes, payment errors, AVS codes, CVV codes, transaction responses, card declines *** {/* vale Payabli.HeadingAcronyms = NO */} Payment response codes and messages vary by payment type. These codes don't cover general API errors. See [API `responseCode` and `resultCode` Reference](/developers/api-reference/api-responses) for API-specific responses. ## ACH response codes
Response code Name Description
100 Transaction was approved. The transaction is approved.
200 Transaction was declined by processor. The customer's bank doesn't accept the transaction. The reasons for this response vary. The customer must contact their bank for more details.
300 Transaction was rejected by gateway. The payment gateway has rejected the transaction. This can be due to different factors such as, incomplete transaction data, configuration or technical problems, fraud detection, or payment gateway restrictions.
600 Configuration error.
## Card response codes Each card brand has a limited list of decline reasons that a bank can use to decline a card. Banks choose decline messages, and because of the limited list of decline reasons the card brands allow, decline messages might not be clear at first. ### 100 codes Code 100 confirms card transaction approval. This is the only successful response code for card transactions.
Response code Name Description
100 Transaction was approved. The transaction is approved.
### 200 codes 200 codes indicate the customer's bank declined the transaction. Customers should contact their bank for details.
Response code Name Description
200 Transaction was declined by processor. The customer's bank doesn't accept the transaction. The reasons for this response vary. The customer must contact their bank for more details.
201 Do not honor. The customer's bank doesn't accept the transaction. The customer must contact their bank for more details.
202 Insufficient funds. At the time of the transaction, the account didn't have the funds to cover the transaction amount.
203 Over limit. The transaction exceeds the withdrawal limit of the account. The customer must contact their bank to change the account limits or use a different payment method.
204 Transaction not allowed. The customer's bank is declining the transaction for unspecified reasons. The customer must contact their bank or use a different payment method.
220 Incorrect payment information. The transaction is restricted or not allowed. This can be due to restricted transaction types like gambling-related transactions or cash advances, country or regional restrictions, or merchant account restrictions.
221 No such card issuer. This decline code could indicate that the submitted card number does not correlate to an existing issuing bank or that there is a connectivity error with the issuer. The customer must contact their bank for more information.
222 No card number on file with issuer. The submitted card number is not on file with the card-issuing bank. The customer will need to contact their bank.
223 Expired card. The card is expired. The customer will need to use a different payment method. Note: sometimes a card that has been reported lost or stolen is marked by the bank as expired.
224 Invalid expiration date. The customer entered an invalid payment method or made a typo in the card expiration date. Correct the payment information and attempt the transaction again. If the issue persists, the customer must contact their bank.
225 Invalid card security code. The customer entered in an invalid security code or made a typo in their card information. Attempt the transaction again. If the issue persists, the customer must contact their bank.
226 Invalid PIN The PIN is invalid or missing.
240 Call issuer for further information. This sometimes means that additional verification is needed or that there is a problem with the cardholder's account. The cardholder must contact the bank.
250 Pick up card. The customer's card has been reported as lost or stolen by the cardholder and the issuing bank has requested that merchants keep the card and call the number on the back to report it. As an online merchant, you don't have the physical card and can't complete this request. Instead, obtain a different payment method from the customer.
251 Lost card. The card used has been reported as lost. The customer must contact their bank for more information.
252 Stolen card. The card used has likely been reported as stolen. The customer must contact their bank for more information.
253 Fraudulent card. The customer's bank suspects fraud. The customer must contact their bank for more information.
### 300 codes
Response code Name Description
300 Transaction was rejected by gateway. The payment gateway has rejected the transaction. This can be due to different factors such as incomplete transaction data, configuration or technical problems, fraud detection, or payment gateway restrictions.
### 400 codes 400 codes indicate technical issues with transaction processing. These are typically re-triable after a brief delay. Contact Payabli if problems persist.
Response code Name Description
400 Transaction error returned by processor. The transaction couldn't be completed because of an issue with the processor's system.
410 Invalid merchant configuration. There was a problem with the merchant's account or settings with the processor's system.
420 Communication error. There was an issue communicating.
421 Communication error with issuer. There was an issue communicating with the card issuer.
440 Processor format error. This error typically occurs when the transaction data provided by the merchant isn't in the format or structure expected by the payment processor.
441 Invalid transaction information. The transaction data is incorrect, incomplete, or doesn't meet requirements.
460 Processor feature not available. The specific functionality requested by the merchant is not supported or enabled by the payment processor.
### 500 codes 500 codes indicate server and network errors during transmission. Retry the transaction. Contact Payabli if problems persist.
Response code Name Description
500 An error occurred while sending the request. An error occurred when transmitting the request.
500 Response status code does not indicate success: 403 (Forbidden). This usually means the server understood the request, but rejected it because of access limitations.
500 The request was canceled due to the configured HttpClient. Timeout of 100 seconds elapsing. The request timed out.
500 Host Auth initialization declined.
500 Resource temporarily unavailable.
500 Response status code does not indicate success: 500 (Internal Server Error).
500 Response status code does not indicate success: 502 (Bad Gateway).
500 Response status code does not indicate success: 503 (Service Unavailable).
500 Response status code does not indicate success: 504 (Gateway Time-out).
500 The given key 'orderid' was not present in the dictionary.
500 An error occurred while sending the request. An error occurred when transmitting the request.
### 600 codes
Response code Name Description
611 The request was canceled due to the configured HttpClient.Timeout of 30 seconds elapsing.. Exception The call to the paypoint's processor didn't provide response in the time alloted. Contact Payabli support for an assessment of the final state of this transaction.
### 800 codes 800 codes represent many different possible errors during transaction processing. Each code includes specific resolution steps.
Response code Name Description
801 Referral B – Contact Authorization Center. Usually treated as a standard decline for Ecommerce systems, the transaction can still be processed using a Manual request once an authorization code is obtained. Have the customer contact their issuer through the support phone number on the back of the card.
802 Possible Duplicate Request. Contact Payabli or org to check requests to see if multiple transactions were submitted. Customer should check their card issuer statement to see if there is already a transaction request for the same details in a recent time window.
803 Duplicate Request (Reversed previously). Contact Payabli or org to check requests to see if multiple transactions were submitted. Customer should check their card issuer statement to see if there is already a transaction request for the same details in a recent time window.
804 Duplicate Request (Declined previously). Contact Payabli or org to check requests to see if multiple transactions were submitted. Customer should check their card issuer statement to see if there is already a transaction request for the same details in a recent time window.
805 Transaction could not be refunded due to current transaction state. The transaction is processing. You can try to void it, or wait a day and retry the request for refund.
806 Direct deposit account not specified.
807 Customer requested stop to recurring payment. Don't reattempt the transaction. Payabli recommends removing saved payment method if applicable.
808 Honor with ID only. Only honor the card with verification of card holder's ID. Use `` for absolute determination of transaction state.
809 Unpaid items on customer account.
812 Transaction Already Refunded. The transaction has already been refunded and cannot be refunded again. Contact Payabli or org to check requests to see if multiple transactions were submitted. Customer should check their card issuer statement to see if there is already a transaction request for the same details in a recent time window.
813 Invalid amount. Review the request amount to make sure it's correct. No letters, spaces, or special characters are allowed in this field.
814 Invalid card number. The card number that was entered is not valid. Verify the card number and re-enter. Verify the card number and retry.
815 Invalid SEC code. Verify that the value `` is valid. Cannot exceed 3 characters. Valid values are: CCD, PPD. Review the requested SEC code and retry the transaction with a correct value.
817 Refund error. Retry the the transaction. If follow up requests fail, contact the issuer and review.
818 Modify Transaction Not Allowed. The transaction has already processed and can't be adjusted. Either refund or void the transaction and run a new transaction with the correct details.
819 Boarded Incorrectly. Often something wrong with the merchant's address. Contact Payabli to verify that merchant business address, owner address city, state and ZIP are correct per the USPS.
820 Invalid fee.
821 Unable to back out transaction.
822 Unable to contact issuing bank. Try Again Suspected malfunction. The issuing bank could not be contacted or is not responding during the transaction. The cardholder should check the card information and try processing again. Retry the transaction. If follow up requests fail, contact the issuer and review.
823 Reversal Not Allowed.
824 Return Not Allowed.
826 Invalid terminal.
827 Re-enter transaction. Retry the transaction. If follow up requests fail, contact the issuer and review.
828 Invalid transaction. Verify that the credit card information is input correctly and run the transaction again. Retry the transaction. If follow up requests fail, contact the issuer and review.
830 Host Auth initialization declined. Retry the transaction. If follow up requests fail, contact the issuer and review.
831 ACH Decline. ACH Risk Decline: A payment cannot be taken from this bank account as it has been flagged as high risk. Provide an alternative bank account that is not flagged as high risk.
832 Invalid From Account. Review the customer's account number details and make sure it doesn't contain special characters, spaces, or other non-number characters.
834 Transaction cancelled. Fraud concern. Contact Payabli Support to investigate this transaction.
835 Time limit for Pre - Auth reached. The pre-authorized transaction has expired. Run a sale or another authorization request to continue.
836 Billing ZIP Mismatch. Contact Payabli Support to investigate this transaction.
838 Check Digit Error.
839 General CardAuth Decline. Card was declined, contact issuer for additional details or try with another form of payment.
840 Transaction error returned by processor. Invalid Card.
842 Surcharge not supported by issuer of this card. Have the customer use another form of payment or contact issuer for details.
843 Card type verification error.
845 Ineligible for resubmission.
846 Closed Account. Have the customer use another form of payment or contact issuer for details.
847 AVS Referral. Have the customer review their billing address details for accuracy, use another form of payment, or contact their issuer. Then retry.
848 Invalid card holder name. The card holder name is invalid. Review the cardholder name. Special characters and numbers aren't allowed in this field.
849 Transaction amount exceeds preauthorized approval amount. Void the initial authorization and retry the sale with the full amount on a new authorization.
850 AVS or CVV failed. Have the customer use another form of payment or contact their issuer.
851 No such account. No checking account.
852 No such account. No savings account.
853 Bank does not allow this type of purchase. The card-issuing bank does not allow this type of purchase on the card. The card holder will need to call the number on the back of the card for more information. Have the customer use another form of payment or contact their issuer.
854 Credit card network does not allow this purchase. The credit card brand does not allow this kind of purchase(based on the type of terminal used). Have the customer use another form of payment or contact their issuer.
855 Credit card network does not allow this purchase. The credit card brand does not allow this kind of purchase(based on the type of merchant you are). Have the customer use another form of payment or contact their issuer.
856 Issuer does not allow this card to be charged for your business.The card cannot be used to purchase from your business. The credit card company does not allow purchases from your business type for this card. Have the customer use another form of payment or contact their issuer.
857 Security Violation. Have the customer use another form of payment or contact their issuer.
858 Activity limit exceeded. Have the customer use another form of payment or contact their issuer.
859 PIN attempts exceeded. Have the customer use another form of payment or contact their issuer.
860 CID Format error. Verify the CVV/CID information entered and retry.
861 Unable to locate account.
862 Account not recognized.
863 Cryptographic error. Retry the payment. If the error continues, contact Payabli Support.
864 Cannot verify the PIN. Have the customer use another form of payment or contact their issuer.
865 Card okay on verification request. Can all in for manual approval and enter auth code if your system allows. Have the customer use another form of payment or contact their issuer.
866 Issuer or switch unavailable. Have the customer use another form of payment or contact their issuer.
867 Unable to route transaction. Retry the payment. If the error continues, contact Payabli Support.
868 Cannot complete transaction. The transaction cannot be completed. The customer will need to call the number on the back of the card to determine the issue. Have the customer use another form of payment or contact their issuer.
869 Misc. Error Transaction failure. May be due to input data. See details of `` tag.
870 Issuer system malfunction or timeout. Have the customer use another form of payment or contact their issuer.
872 Failure HV Merchant boarding configuration error.
873 Generic decline or unable to parse issuer response code. Additional data may be returned in the `` tag for International merchant. Have the customer use another form of payment or contact their issuer.
874 Card Authentication failed. Have the customer use another form of payment or contact their issuer.
875 Stop Payment Order. Have the customer use another form of payment or contact their issuer.
876 Revoke Auth. Revoke authorization for further payments. Have the customer use another form of payment or contact their issuer.
877 Cancel Payment. Cancel all recurring payments for the card number in the request.
878 Host connectivity failed. Retry the payment. If the error continues, contact Payabli Support.
879 Transaction aborted. Retry the payment. If the error continues, contact Payabli Support.
## Cloud response codes
Response code Name Description
100 Transaction was approved. The transaction was approved.
200 Transaction was declined by processor. The customer's bank is unwilling to accept the transaction. The reasons for this response vary. The customer must contact their bank for more details.
300 Transaction was rejected by gateway. The payment gateway has rejected the transaction. This can be due to different factors, such as: incomplete transaction data, configuration or technical problems, fraud detection, or payment gateway restrictions.
500 An error occurred while sending the request. An error occurred when transmitting the request.
## AVS codes Address Verification System (AVS) is a system used to verify the billing address of a person using a credit card to help reduce fraud. When a customer makes a purchase, the merchant can check the billing address given against the address on file with the card issuer. AVS codes indicate the degree of match between the address provided by the customer and the address on file with the card issuer. These are returned as `avsResponseText` in many API responses related to Pay In transactions. {/* vale Payabli.Contractions = NO */} | Code | Description | Explanation | | ---- | ------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | | X | Exact match, Street address and 9-digit ZIP code both match | The street address and 9-digit ZIP code both match the information on file with the card issuer. This is the highest level of address verification. | | Y | Exact match, Street address and 5-digit ZIP code both match | The street address and 5-digit ZIP code both match the information on file with the card issuer. This is a strong indicator of a valid address. | | D | Exact match, Street address and 9-digit ZIP code both match | Same as 'X'. The street address and 9-digit ZIP code both match. Some systems use different codes for the same result. | | M | Exact match, Street address and 5-digit ZIP code both match | Same as 'Y'. The street address and 5-digit ZIP code both match. | | A | Partial Match, Street address matches, but both 5-digit and 9-digit ZIP code do not match | The street address matches, but neither the 5-digit nor 9-digit ZIP code matches. This could be due to a recent move or a ZIP code entry error. | | B | Partial Match, Street address matches, but both 5-digit and 9-digit ZIP code do not match | Same as 'A'. The street address matches, but ZIP codes don't. | | W | Partial Match, Street address does not match, but 9-digit ZIP code matches | The 9-digit ZIP code matches, but the street address doesn't. This could indicate an error in the street address entry. | | Z | Partial Match, Street address does not match, but 5-digit ZIP code matches | The 5-digit ZIP code matches, but the street address doesn't. | | P | Partial Match, Street address does not match, but 9-digit ZIP code matches | Same as 'W'. The 9-digit ZIP code matches, but the street address doesn't. | | L | Partial Match, Street address does not match, but 5-digit ZIP code matches | Same as 'Z'. The 5-digit ZIP code matches, but the street address doesn't. | | N | No Match, No address or ZIP match | Neither the address nor ZIP code matches the information on file. | | I | No Match, No address or ZIP match | Same as 'N'. No match for address or ZIP code. | | C | Partial Match, Street address does not match, but 5-digit ZIP code matches | Same as 'Z' and 'L'. The 5-digit ZIP code matches, but the street address doesn't. | | U | Address information unavailable | The card issuer's system is unable to verify the address. This might occur with new accounts or international cards. | | G | Address information unavailable | Same as 'U'. Address information isn't available. | | R | Issuer system unavailable or timed out | The card issuer's system is temporarily unavailable or has timed out while trying to verify the address. | | E | The provided AVS data is invalid because of a formatting issue or AVS is not allowed for this card type | There's an issue with the format of the provided address data, or AVS isn't supported for this particular card type. | | S | The bank does not support AVS | The customer's data can't be verified because the bank doesn't support the Address Verification System. | | O | AVS not available | Same as '0'. The AVS check isn't available for this transaction. | ## CVV Codes CVV (Card Verification Value) codes are a security feature used in credit and debit card transactions. It's typically a 3 or 4-digit number printed on the card. CVV can help verify that the person making a transaction physically possesses the card. This is useful in card-not-present transactions, like online purchases. These are returned as `cvvResponseText` in many API responses related to Pay In transactions. | Code | Description | Explanation | | ---- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | M | CVV2/CVC2 match | The CVV2 or CVC2 provided matches the one on file with the card issuer. This is the desired response and suggests that the person making the transaction has the physical card. | | N | CVV2/CVC2 no match | The CVV2 or CVC2 provided doesn't match the one on file with the card issuer. | | P | Not processed. Indicates that the expiration date was not provided with the request, or that the card does not have a valid CVV2 code. If the expiration date was not included with the request, resubmit the request with the expiration date. | The CVV2 or CVC2 check wasn't processed. | | S | Issuer indicates that CVV2 data should be present on the card, but the merchant has indicated that the data is not present on the card | There isn't a CVV2 or CVC2 present on the card. | | U | Issuer is not certified and/or has not provided Visa encryption keys | The card issuer is unable to perform CVV2 or CVC2 verification. | {/* vale Payabli.Contractions = YES */} ## General response codes
Response code Description
9999 The transaction or action was declined due to a processor error. Try again later. If the issue persists, contact Customer Support.
## 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: ACH return codes reference subtitle: Understand how to handle different types of ACH returns description: >- Decode ACH return codes with a complete Nacha code reference. Understand insufficient funds, invalid accounts, authorization issues, and steps for each code 'og:description': >- Decode ACH return codes with a complete Nacha code reference. Understand insufficient funds, invalid accounts, authorization issues, and steps for each code keywords: >- embedded payments, payment processing, accept payments, ACH returns, ACH codes, Nacha codes, payment failures, ACH troubleshooting, bank account issues icon: turn-down-left slug: guides/platform-ach-return-codes-reference area: * Pay In subArea: * Reference audience: * developers * partners * merchants layout: reference *** ACH return codes can help you understand what went wrong with an ACH payment and how to fix it. These are the standard Nacha codes.
Code Nacha Title Description Solution
**R01** Insufficient Funds There weren't enough available funds in the account for the transaction Try the transaction again by entering it as a new transaction up to two times within 30 days of the original authorization.
**R02** Account Closed An account that was previously active has been closed, either by the bank or the customer. Contact your customer for a different bank account, or for another form of payment.
If you haven't shipped the goods or provided the services covered by the payment, you may want to wait to do so until you have confirmation of a settled transaction.
**R03** No Account/Unable to Locate Account The account number structure is valid and it passes the check digit validation, but the account number doesn't correspond to the individual identified in the entry, or the account number designated isn't an open account. Contact your customer and confirm the routing number, bank account number and the exact name on the bank account. You can request a copy of a voided check so that you can verify.
If this information doesn't exactly match what you initially entered, make changes and submit a new payment.
**R04** Invalid Account Number The account number structure isn't valid. The entry may fail the check digit validation or may contain an wrong number of digits. Ask the customer for the correct bank account number. You can request a copy of a voided check so that you can verify. Submit a new payment using the corrected bank account number.
**R05** Unauthorized Debit to Consumer Account Using Corporate SEC Code The SEC code expects a corporate or business bank account, and the account given is a personal one. Contact your customer make sure they used the correct account.
You can ask the customer for a different form of payment, or ask to debit a different bank account.
**R06** Returned per ODFI’s Request The ODFI has requested that the RDFI return an Erroneous Entry, or a credit Entry originated without the authorization of the Originator. Contact Payabli.
**R07** Authorization Revoked by Customer (adjustment entries) The customer has revoked the authorization they gave to debit their account. Immediately suspend any recurring payment schedules entered for this bank account. This prevents additional transactions from being returned while you address the issue with your customer. Then contact your customer and resolve any issues that caused the transaction to be disputed or the schedule to be cancelled.
You can ask the customer for a different form of payment, or ask to debit a different bank account.
If you need to debit the same bank account, ask your customer to call the bank and remove the block on transactions.
There is no dispute resolution available to you within the ACH Network. If your customer continues to claim the transaction wasn't authorized, but you have proof that it was properly authorized, you may need to sue your customer in small claims court to collect. Notify Payabli if you sue the customer.
**R08** Payment Stopped or Stop Payment on Item The customer or the customer's bank issued a stop payment on an entry. Contact your customer and resolve any issues that caused the transaction to be stopped.
You can re-enter the returned transaction again with proper authorization from your customer. You can also ask your customer for a different form of payment.
**R09** Uncollected Funds The ledger balance is enough to cover the ACH amount, but the total dollar value of transactions that haven't been collected yet (like uncashed checks), bring the available or cash reserve balance below the dollar amount of the debit entry. You can try the transaction again (you will need to re-enter it as a new transaction) up to two times within 30 days of the original authorization date.
**R10** Customer Advises Originator is Not Known to Receiver and/or Originator is Not Authorized by Receiver to Debit Receiver’s Account The customer has told their bank that they don't know you and they did not authorize an ACH transaction with you. The Receiver may request immediate credit from the RDFI for an unauthorized debit. The request must be made in writing within fifteen (15) days after the RDFI sends or makes available to the Receiver information pertaining to that debit entry.
**R11** Customer Advises Entry Not in Accordance with the Terms of the Authorization In this situation you have a relationship with the customer and they have authorized ACH debits, but the returned entry had some sort of error or other problem. For example, the amount was incorrect, or the payment was debited earlier than authorized. Correct the underlying error and resubmit the corrected entry as a new entry. For example, fix the amount, the date, and resubmit. No new authorization is needed from the customer. The new corrected entry must be submitted and originated within 60 days of the Settlement Date of the R11 Return Entry.
If a correction and new entry submission isn't possible, the resolution would be similar to receiving a return with the R10 code.
**R12** Branch Sold to Another DFI The account has been sold to another branch and the entry can't be fulfilled. Contact the customer and get a new routing number and bank account number, then enter a **NEW** transaction using the updated account numbers.
If the transaction was part of a recurring payment schedule, be sure to update the schedule to use the new bank account.
**R13** Invalid ACH Routing Number The routing number isn't valid. Double check that you entered the routing number correctly, or contact your customer to confirm the routing number. Then submit a NEW payment using the correct routing number.
**R14** Representative Payee Deceased or Unable to Continue in that Capacity The representative payee is a person or institution authorized to accept entries on behalf of others, like legally incapacitated adults or minors. In this case, the representative payee is unable to continue in that capacity. The beneficiary isn't deceased.
**R15** Beneficiary or Account Holder (Other Than a Representative Payee) Deceased (1) The beneficiary is the person entitled to the benefits and is deceased. The beneficiary may or may not be the account holder;or(2) The account holder (acting in a non-representative payee capacity) is an owner of the account and is deceased.
**R16** Account Frozen The funds in the account are unavailable due to specific action taken by the RDFI or by legal action. Ask the customer for a different form of payment. You can't process transactions using this bank account until it's unfrozen.
**R17** File Record Edit Criteria/Entry with Invalid Account Number Initiated Under Questionable Circumstances/Return of Improperly-Intiated Reversal This return code typically points to field errors, or it could be due to the original transaction being questionable or anomalous.
**R20** Non-Transaction Account The ACH entry destined for a non-transaction account. This would include either an account against which transactions are prohibited or limited. Contact your customer to obtain authorization to charge a different bank account.
Or
Ask for a different form of payment.
**R21** Invalid Company Identification The ID used in the Company Identification Field isn't valid. This code is typically used on CIE transactions.
**R22** Invalid Individual ID Number In CIE and MTE entries, the Individual ID Number is used by the Receiver to identify the account. The Receiver has indicated to the RDFI that the number with which the Originator was identified isn't correct.
**R23** Credit Entry Refused by Receiver The Receiver may return a credit entry because one of the following conditions exists: (1) a minimum amount required by the Receiver has not been remitted; (2) the exact amount required has not been remitted; (3) the account is subject to litigation and the Receiver will not accept the transaction; (4) acceptance of the transaction results in an overpayment; (5) the Originator is not known by the Receiver; or (6) the Receiver has not authorized this credit entry to this account. Contact your customer to work out the problem, or ask them to work the problem out with their bank. Have your customer confirm that the refund will be accepted, then attempt to refund the transaction again.
Alternately, you can send your customer a paper check for the refund amount.
**R24** Duplicate Entry The RDFI has received what appears to be a duplicate entry; i.e., the trace number, date, dollar amount and/or other data matches another transaction. This code should be used with extreme care. The RDFI should be aware that if a file has been duplicated, the Originator may have already generated a reversal transaction to handle the situation. Contact Payabli
**R29** Corporate Customer Advises Not Authorized The RDFI has been notified by the Receiver (non-consumer) that the Originator of a given transaction has not been authorized to debit the Receiver's account. Immediately suspend any recurring payment schedules entered for this bank account. This will prevent additional transactions from being returned while you address the issue with your customer. Then contact your customer and resolve any issues that caused the transaction to be disputed or the schedule to be cancelled.
You can ask the customer for a different form of payment, or ask to debit a different bank account.
If you need to debit the same bank account, instruct your customer to call the bank and remove the block on transactions.
Unfortunately, there is no dispute resolution available to you within the ACH Network. If your customer continues to claim the transaction was not authorized, but you have proof that it was properly authorized, you will need to sue your customer in Small Claims Court to collect. Notify Payabli if you sue the customer.
**R31** Permissible Return Entry (CCD and CTX only) The RDFI has been notified by the Receiver (non-consumer) that the Originator of a given transaction has not been authorized to debit the Receiver's account. Immediately suspend any recurring payment schedules entered for this bank account. This will prevent additional transactions from being returned while you address the issue with your customer. Then contact your customer and resolve any issues that caused the transaction to be disputed or the schedule to be cancelled.
You can ask the customer for a different form of payment, or ask to debit a different bank account.
If you need to debit the same bank account, instruct your customer to call the bank and remove the block on transactions.
Unfortunately, there is no dispute resolution available to you within the ACH Network. If your customer continues to claim the transaction was not authorized, but you have proof that it was properly authorized, you will need to sue your customer in Small Claims Court to collect. Notify Payabli if you sue the customer.
**R33** Return of XCK Entry The RDFI determines at its sole discretion to return an XCK entry. This return reason code may only be used to return XCK entries. An XCK entry may be returned up to sixty days after its Settlement Date.
*** title: Pay In unified response codes reference subtitle: Complete reference for Payabli's unified Pay In transaction response codes description: >- Guide to unified Pay In response codes including approvals, declines, and errors. Understand transaction outcomes and the resolution steps for every scenario 'og:description': >- Guide to unified Pay In response codes including approvals, declines, and errors. Understand transaction outcomes and the resolution steps for every scenario keywords: >- embedded payments, payment processing, accept payments, response codes, error codes, decline codes, payment errors, transaction responses, approval codes icon: comment-code slug: guides/pay-in-unified-response-codes-reference area: * Pay In subArea: * Reference audience: * developers * partners * merchants *** Response codes help you understand transaction outcomes and take appropriate action. Payabli uses standardized codes across all Pay In transactions made with v2 of the API. ## Response code categories Payabli's unified response codes are grouped into three main categories: * **A codes (A0000-A0099)**: Approved transactions. These are returned with an HTTP 200/201 status. * **D codes (D0100-D2999)**: Declined transactions. These are returned with an HTTP 402 status. * **E codes (E3000-E9999)**: Error conditions. These are returned with an HTTP 400/500 status. ## Approval codes (A0000-A0099) {/* vale Payabli.Contractions = NO */} {/* vale Payabli.PayabliSpelling["entrypage","orgId", "startDate", "endDate", "vendorId", "customerId", "checkNumber", "netAmount", "TMax", "itemDescription", "darkColor", "lightColor", "Orgid", "Userid", "PKey", "achCode", "zip", "cardtoken", "walletType", "zip", "walletToken", "achholder", "entryId", "checknumber", "captcha"] = NO */} {/* vale Payabli.FileCapitalization = NO */} These codes indicate successful transaction authorization. | Code | HTTP Status Code | Reason | Description | Resolution | | --------- | ---------------- | --------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ | | **A0000** | 201 | Approved | Transaction approved | No action required | | **A0001** | 201 | Initiated | Transaction initiated | No action required | | **A0002** | 201 | Authorized | Transaction authorized | No action required | | **A0003** | 200 | Canceled | Transaction canceled | No action required | | **A0004** | 201 | Refunded | Transaction refunded | No action required | | **A0010** | 201 | Partial amount approved | Card issuer approved an amount less than what was requested | Use a different card or payment method for the remaining amount | | **A0020** | 201 | Approved by the card network | Approved by card network | No action required | | **A0030** | 201 | No valid reason to decline | Zero dollar account verification transaction is approved | No action required | | **A0040** | 201 | Some records processed successfully | The request partially processed with few records | No action required | | **A0050** | 201 | Pending approval | Transaction approval is pending at the transaction processor | No action required | | **A0060** | 201 | Authorization approved through the Visa VIP system | Transaction was approved through the Visa VIP system | Special handling or higher-level authorization may be required by merchant | | **A0070** | 201 | Authorization approved; merchant must verify the cardholder’s identity | Transaction approved; merchant must verify cardholder’s identity before completing the sale or providing service | Merchant must verify cardholder’s identity before completing the sale or providing service | | **A9999** | 201 | Approved. Transaction or action is successful, but with unexpected response | The transaction or action is successful but encountered an unexpected response from backend processor or other services | No action required. The transaction or action was successful | ## Decline codes (D0100-D2999) These codes indicate the transaction was declined by the card network, issuer, or processor. ### D0100-D0199 These codes cover common decline reasons from card issuers and networks, including verification failures and general Do Not Honor responses. | Code | HTTP Status Code | Reason | Description | Resolution | | --------- | ---------------- | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | | **D0100** | 402 | Do not honor | Generic decline from card network or card issuer | Use a different card or payment method | | **D0101** | 402 | Generic decline | Generic decline due to an error with card network or card issuer | Use a different card or payment method | | **D0110** | 402 | Card or cardholder verification failed | Validation of card verification value or cardholder verification method failed. Transaction declined. | Cardholder can retry with correct card verification value, or use a different card or payment method | | **D0120** | 402 | Declined due to policy restrictions | Transaction was declined due to a policy restriction applied by card network | Use a different card or payment method | | **D0121** | 402 | Declined due to violation of applicable law | Card issuer detected transaction would violate local, country or regional laws. Transaction declined. | Use a different card or payment method | | **D0122** | 402 | Domestic debit transactions are not allowed | Debit transaction within the country is not allowed on the card. Transaction declined. | Use a different card or payment method | | **D0123** | 402 | Purchase not permitted by the credit card network | The credit card brand does not allow this kind of purchase (based on the type of terminal or merchant used) | Use a different card or payment method | | **D0140** | 402 | Invalid transaction | Card network or card issuer detected incoherent data in transaction that violates business logic | Verify the transaction data and retry. Contact support if the transaction continues to fail. | | **D0145** | 402 | Partial authorization is not supported by the system | The card has insufficient balance and the card issuer or the network does not allow approving a lesser amount. The transaction is declined instead of allowing partial payments | Use a different card or payment method | | **D0150** | 402 | Partial reversal is not supported | The card issuer or the card network does not support a partial reversal for this type of transaction | Reverse the exact transaction amount | | **D0160** | 402 | Transaction could not be routed | The card issuer not found for routing the transaction. This could be due to use of test card or removal of card issuer from network. | Use different card or payment method | | **D0170** | 402 | Card verification failed | Occurs when the payment gateway is unable to validate the customer's card details, such as incorrect CVV, expired card, or mismatch in address verification | Retry the transaction with correct information or use a different card or payment method | | **D0175** | 402 | Address and CVV2 verification failed | The address verification and CVV code verification failed and the merchant is set up for auto decline on AVS and CVV2 failure | Retry the transaction with correct information or use a different card or payment method | | **D0176** | 402 | Address verification requires manual review | Address mismatch during payment; transaction held for review | Verify and update card's address information and retry the transaction or use a different card or payment method | | **D0177** | 402 | Address verification failed | Address mismatch during payment; transaction declined | Verify and update card's address information and retry the transaction or use a different card or payment method | | **D0178** | 402 | Invalid ZIP code caused address verification failure | ZIP code mismatch during payment; transaction declined | Verify the ZIP code and retry the transaction or use a different card or payment method | | **D0179** | 402 | CVV2 verification failed | CVV code verification failed and the merchant is set up for auto decline on AVS and CVV2 failure | Verify the CVV code and retry the transaction or use a different card or payment method | | **D0180** | 402 | Invalid card security code | CVV code verification failed and the merchant is set up for auto decline on AVS and CVV2 failure | Verify the CVV code and retry the transaction or use a different card or payment method | | **D0190** | 402 | Please re-enter the transaction | The transaction couldn't be processed temporarily | Use a different card or payment method | | **D0199** | 402 | Transaction failed due to system malfunction | Card network or card issuer has some malfunction, and could not be reached to authorize the transaction. Transaction was declined. | Retry the transaction later, or use a different card or payment method | | **D0198** | 402 | Server error | The transaction failed due to an unexpected internal error on the payment server or gateway | Retry the transaction later. Contact support with transaction details if the issue persists. | ### D0200-D0299 These codes provide additional decline reasons including issuer-specific responses, card restrictions, and account-related issues. | Code | HTTP Status Code | Reason | Description | Resolution | | --------- | ---------------- | ------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | | **D0204** | 402 | No such issuer | Valid card range not found, card issuer not found | Use a different card or payment method | | **D0205** | 402 | Refer to card issuer | Card issuer wants to be contacted about the transaction. Transaction was declined. | Cardholder should call the card issuer to resolve. Retry payment if the card issuer gives the go ahead, or use a different card or payment method | | **D0206** | 402 | Contact Card Issuer | Card issuer requests the cardholder to contact them. Transaction was declined. | Contact the card issuer and retry payment, or use a different card or payment method | | **D0210** | 402 | Card issuer not available | Card issuer could not be reached about the transaction. Transaction was declined. | Retry the transaction later, or use a different card or payment method | | **D0212** | 402 | Issuer unavailable or switch inoperative | Card issuer or card network not able to authorize, possible due to downtime. Transaction was declined. | Retry the transaction later, or use a different card or payment method | | **D0215** | 402 | Life cycle check | Card network or card issuer detected incorrect transaction life cycle. Transaction was declined. | Contact the card issuer and retry payment, or use a different card or payment method | | **D0220** | 402 | Exceeded daily credit limits or number of uses | The card issuer declined the transaction due to exceeding the daily credit limit or the permitted number of daily transactions | Use a different card or payment method | | **D0222** | 402 | Call Issuer - Exceeded daily credit limits or number of uses | The card issuer declined the transaction due to exceeding the daily credit limit or the permitted number of daily transactions | Call the issuer or use a different card or payment method | | **D0225** | 402 | Insufficient funds/over credit limit | Insufficient funds in cardholder's account, or transaction amount exceeds available credit | Use a different card or payment method | | **D0228** | 402 | Exceeds withdrawal amount limit | Card issuer detected the amount exceeds the allowed limit on the card and declined the transaction | Use a different card or payment method | | **D0229** | 402 | Exceeds withdrawal count limit | Card issuer detected the frequency of card usage exceeds allowed limit and declined the transaction | Use a different card or payment method | | **D0230** | 402 | Cash request exceeds issuer or approved limit | Card issuer detected the amount exceeds the allowed limit on the card and declined the transaction | Use a different card or payment method | | **D0235** | 402 | Invalid amount | Declined by card issuer due to an invalid format or field. This is often seen with cards that are not allowed to make certain purchases | Use a different card or payment method | | **D0240** | 402 | Do not retry | Do not attempt to submit this transaction again. The issuer will not approve the transaction | Use a different card or payment method | | **D0242** | 402 | Retry later | The transaction cannot be completed at this time | Retry the transaction later, or use a different card or payment method | | **D0246** | 402 | Issuer does not allow this card to be charged | The card cannot be used to purchase from your business | Use a different card or payment method | | **D0248** | 402 | Transaction not permitted to issuer/cardholder | Card issuer does not permit the transaction on this card/account | Use a different card or payment method | | **D0250** | 402 | Bank does not allow this type of purchase | The card's issuing bank does not allow this type of purchase on the card | Use a different card or payment method | | **D0252** | 402 | Purchase Amount Only, No Cash Back Allowed | Card issuer is not accepting cash back request. Transaction was declined. | Retry with no cash back, or use a different card or payment method | | **D0254** | 402 | Incorrect or missing payment information | Card issuer could not identify payment information | Use a different card or payment method | | **D0260** | 402 | Transaction not permitted to issuer/cardholder | Card issuer does not permit the transaction on this card/account | Use a different card or payment method | | **D0261** | 402 | Transaction not permitted to acquirer/terminal | Card issuer does not permit the transaction for this merchant or acquirer | Use a different card or payment method | | **D0270** | 402 | Suspected fraud | Card issuer suspects the payment to be fraudulent and declined the transaction | Use a different card or payment method | | **D0272** | 402 | Restricted card | Card issuer has restricted the use of the card, usually based on country or region embargoes | Use a different card or payment method | | **D0274** | 402 | Pickup card | Card issuer requests to withhold the card due to suspected fraud or when the card was reported as lost or stolen | Use a different card or payment method | | **D0276** | 402 | Pickup card, fraud account | Card issuer requests to withhold the card due to account suspected to have fraud | Use a different card or payment method | | **D0278** | 402 | Pickup card, lost card | Card issuer requests to withhold the card Cardholder reported the card as lost | Verify payors authenticity if possible Use a different card or payment method | | **D0280** | 402 | Pickup card, stolen card | Card issuer requests to withhold the card Cardholder reported the card as stolen | Verify payors authenticity if possible Use a different card or payment method | | **D0282** | 402 | First use, Invalid/nonexistent account specified | Card issuer detected the transaction is for a new cardholder and the account or card is not properly unblocked. Transaction was declined. | Contact the card issuer and retry payment, or use a different card or payment method | | **D0284** | 402 | Closed, suspended, cancelled, or inactive account | Card issuer found the account closed and declined transaction | Use a different card or payment method | | **D0286** | 402 | Security violation | Card issuer identified a security issue and declined the transaction | Use a different card or payment method | | **D0295** | 402 | No checking account | Card issuer did not find a checking account for the card used and declined transaction | Use a different card or payment method | | **D0296** | 402 | No savings account | Card issuer did not find a savings account for the card used and declined transaction | Use a different card or payment method | | **D0207** | 402 | Referral: Call For Voice Auth | Card issuer requires voice authorization for this transaction | Merchant must call the issuer to verify and complete the payment manually | | **D0208** | 402 | Referral: Call Acquirer | Payment acquirer flagged the transaction for additional verification | Merchant must contact the acquirer to authorize or resolve the issue before proceeding further | ### D0300-D0499 Processor and system-level declines including service unavailability, configuration issues, and backend errors. | Code | HTTP Status Code | Reason | Description | Resolution | | --------- | ---------------- | -------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | | **D0300** | 402 | Processor service unavailable | The transaction was declined as the processor service is currently unavailable | Try again later or contact support for assistance | | **D0302** | 402 | Processor configuration missing | The transaction was declined as the processor configuration is missing for the merchant | Try again later or contact support for assistance | | **D0305** | 402 | Service not allowed | Service not allowed Can be an incorrect MID or terminal number, or attempt to process an unsupported card or transaction type | Try again later or contact support for assistance | | **D0306** | 402 | This Host has been inactivated | A Host has been deactivated on a downstream platform | Try again later or contact support for assistance | | **D0308** | 402 | Generic transaction error at the processor, please retry later | The transaction was declined as the processor service is currently unavailable | Try again later or contact support for assistance | | **D0310** | 402 | Generic system error | One or more error with backend processor | Contact support for more details | | **D0315** | 402 | Insufficient privilege to run the transaction | The transaction was declined as the merchant is not configured for this transaction | Contact support for assistance | | **D0320** | 402 | Invalid card type or card brand not supported | The transaction was declined as the merchant or the transaction processor is not configured for this card type | Use a different card or payment method or contact support for assistance | | **D0322** | 402 | Invalid transaction type or transaction not supported | The transaction was declined as the merchant or the transaction processor is not configured for this type of transaction | Contact support for assistance | | **D0324** | 402 | Invalid transaction currency or unsupported currency | The transaction was declined as the merchant or the transaction processor is not configured for this currency | Contact support for assistance | | **D0325** | 402 | Invalid or missing MCC code | Transaction processor declined the transaction due to missing or invalid Merchant Category Code (MCC) required for processing | Verify the transaction details and retry, or contact support for assistance | | **D0326** | 402 | Surcharge amount not supported | The transaction was declined as the merchant or the transaction processor does not support surcharge amount | Contact support for assistance | | **D0327** | 402 | Invalid date/time or time zone | Transaction processor declined the transaction due to incorrect or invalid date, time, or time zone information provided | Verify the transaction details and retry, or contact support for assistance | | **D0329** | 402 | Invalid amount | The sum of additional charges cannot be greater than the transaction amount | Verify all the amounts and retry or contact support for assistance | | **D0330** | 402 | Capture not allowed | The transaction is not authorized for capture. This error may occur because the transaction was captured, declined, or already reversed | Contact support for assistance | | **D0332** | 402 | Modify transaction not allowed | The transaction is not authorized for modification. This error may occur because the transaction was already captured, settled, or was declined | Contact support for assistance | | **D0334** | 402 | Refund or reversal not allowed | The transaction is not authorized for reversal. This error may occur because the transaction was settled, declined, or already reversed | Contact support for assistance | | **D0340** | 402 | Duplicate transaction request | Transaction with same transaction id already exists with the transaction processor | Contact support for assistance | | **D0342** | 402 | Original transaction not found by the processor | Transaction Processor could not locate the original transaction details | Verify or re-initiate the transaction or contact support for assistance | | **D0345** | 402 | Transaction declined due to amount not falling within the authorized floor or ceiling limits | The card issuer declined the transaction because the amount is outside the allowed minimum (floor) or maximum (ceiling) limits | Verify the transaction amount and retry or contact support for assistance | | **D0350** | 402 | Transaction could not process due to incorrect format | Transaction processor declined the transaction due to incorrect data format; verify request structure and required fields before retrying | Contact support for assistance | | **D0352** | 402 | Invalid transaction information | Transaction processor declined the transaction due to invalid or incomplete information; please verify all entered details and try again | Contact support for assistance | | **D0355** | 402 | Batch close or settlement process in progress | Transaction processor declined the transaction due to batch close or settlement is in progress; please wait and try again later | Retry after some time or contact support for assistance | | **D0360** | 402 | Currency code mismatch with original transaction | Currency provided in the transaction does not match with the original transaction currency | Verify the transaction details and retry, or contact support for assistance | | **D0362** | 402 | Refund not allowed. The card number requested does not match with original transaction card number | The transaction processor declined the refund because the provided card number does not match the original transaction’s card number | Verify the transaction details and retry, or contact support for assistance | | **D0364** | 402 | Invalid refund or reversal amount | Transaction processor declined the refund, credit amount exceeds original transaction or is zero | Verify the transaction details and retry, or contact support for assistance | | **D0366** | 402 | Refund error | Refund failed due to invalid details, amount mismatch, or transaction processing error | Verify the transaction details and retry, or contact support for assistance | | **D0370** | 402 | Customer information missing | Transaction processor declined the transaction due to missing or incomplete customer information required for processing | Verify the transaction details and retry, or contact support for assistance | | **D0372** | 402 | Additional customer authentication required | Transaction requires extra customer authentication to verify identity before approval or completion | Merchant must verify the customer identity before completing the sale or providing services | | **D0374** | 402 | Honor with ID only | Only honor the card with verification of card holder's ID | Merchant must verify the customer identity before completing the sale or providing services | | **D0376** | 402 | Invalid data detected by backend processor | Invalid data detected in one or more data elements by backend processor | Retry the transaction. If the issue persists contact support for assistance. | | **D0378** | 402 | Mandatory field missing or invalid in transaction request | Transaction processor declined the transaction due to one or more mandatory field missing in transaction request | Verify the transaction details and retry, or contact support for assistance | | **D0380** | 402 | Invalid or incomplete Level 2 data | Transaction processor declined the transaction due to missing or incorrect Level 2 data required for processing | Verify the transaction details and retry, or contact support for assistance | | **D0381** | 402 | Invalid or incomplete Level 3 data | Transaction processor declined the transaction due to missing or incorrect Level 3 data required for processing | Verify the transaction details and retry, or contact support for assistance | | **D0405** | 402 | Invalid merchant configuration | Transaction processor declined the transaction due to missing or invalid merchant configuration | Verify the transaction details and retry, or contact support for assistance | | **D0410** | 402 | Invalid merchant account or merchant account is inactive | The transaction was declined by transaction processor because they did not recognize the merchant | Cardholder should call the card issuer to resolve. Retry payment if the card issuer gives the go ahead, else use a different card or payment method | | **D0415** | 402 | This Merchant is not paired with a Host | This Merchant has not been set up with a Host and therefore cannot process payments | Contact support for assistance | | **D0450** | 402 | No credit account | Card issuer did not find a credit account for the card and declined transaction | Use a different card or payment method | | **D0455** | 402 | Invalid card number | Card issuer is not able to verify the card number | Use a different card or payment method | | **D0460** | 402 | Expired card | Transaction declined because card expiration date is in the past | Use a different card or payment method | | **D0461** | 402 | Missing or Invalid card expiration date | Transaction declined because card expiration date is in the past | Use proper format for card expiration date | | **D0465** | 402 | New Card/Account Issued | Transaction processor declined the transaction as a new card or account has been issued for the customer | Use a different card or payment method | ### D0500-D0549 Card validation failures including invalid card numbers, expiration dates, and card brand restrictions. | Code | HTTP Status Code | Reason | Description | Resolution | | --------- | ---------------- | ---------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ | | **D0505** | 402 | Internal system error | Payment processor faced internal system error. Please try again later. | Try again later | | **D0510** | 402 | PIN data required | Card issuer requires PIN to be provided on transaction | Retry the transaction with PIN, or use a different card or payment method | | **D0512** | 402 | Generic PIN error | Card issuer detected some error with the PIN. Transaction was declined. | Retry the transaction with PIN, or use a different card or payment method | | **D0514** | 402 | Cryptographic error found in PIN | PIN could not be verified due to cryptographic error. Transaction was declined. | Use a different card or payment method | | **D0516** | 402 | Cannot verify PIN | PIN could not be verified by card issuer. Transaction was declined. | Retry as non-PIN transaction if possible, or use a different card or payment method | | **D0518** | 402 | Invalid PIN | Transaction declined because incorrect PIN was provided | Cardholder can retry with correct PIN, or use a different card or payment method | | **D0520** | 402 | PIN Not Changed | Card issuer requires the PIN to be changed. Transaction was declined. | Change the PIN and retry payment, or use a different card or payment method | | **D0530** | 402 | Allowable number of PIN tries exceeded | PIN was incorrect and the number of retries has exceeded allowed limit. Transaction was declined. | Use a different card or payment method | | **D0532** | 402 | KSN Error | The application was unable to generate or submit the key serial number | Verify the KSN (key serial number) data and retry, or contact support for assistance | | **D0540** | 402 | Transaction not permitted to acquirer/terminal | Card issuer does not permit the transaction for this merchant or acquirer | Use a different card or payment method | | **D0542** | 402 | Transaction flagged by AML restrictions | Card issuer identified AML (anti-money laundering) concerns and declined the transaction | Use a different card or payment method | | **D0544** | 402 | Invalid ICC data | Required data for processing chip transactions was missing from the authorization request or data could not be parsed | Verify the chip data and retry, or contact support for assistance | | **D0546** | 402 | ARPC Cryptogram Failure | Issuer's response cryptogram doesn't match the expected value | Contact support for assistance | ### D0550-D0599 Additional card validation issues related to test cards, PIN requirements, and card features. | Code | HTTP Status Code | Reason | Description | Resolution | | --------- | ---------------- | -------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | | **D0560** | 402 | Invalid POS information | Incorrect or missing data from the Point-of-Sale terminal | Verify the POS data and retry, or contact support for assistance | | **D0562** | 402 | Invalid POS/Terminal Pair info | The pairing between the POS and terminal is invalid | Verify the POS and terminal data and retry, or contact support for assistance | | **D0564** | 402 | POS device authentication successful | Rare response code treated as a decline | Activate device and retry transaction. If the issue persists try using a different terminal or contact support. | | **D0566** | 402 | POS device authentication unsuccessful | Terminal failed to verify its identity with the host or network, possibly due to invalid credentials or configuration | Verify the POS authorization data and retry, or contact support for assistance | | **D0568** | 402 | POS device deactivation successful | Rare response code treated as a decline | Activate device and retry transaction. If the issue persists try using a different terminal or contact support. | | **D0580** | 402 | Terminal is offline | The terminal failed to connect to the internet and a downstream platform. Please reconnect the device to WiFi. | Retry the transaction when the terminal is connected to the internet | | **D0581** | 402 | Inactive Device | The device is currently inactive and unavailable for transaction processing | Activate the device before retry or contact support for further assistance | | **D0582** | 402 | Terminal ID Error | The terminal unique ID is invalid, or is not registered in the system | Verify the terminal ID and retry, or contact support for assistance | | **D0583** | 402 | Device error | The device has encountered an unexpected error and is currently unable to process transactions | Retry the transaction or contact support for further assistance | | **D0584** | 402 | Terminal response does not match POS request | Data returned by the terminal is inconsistent with what was expected | Contact support for assistance | | **D0586** | 402 | Process Terminal response Error | Terminal response is invalid, incomplete, or cannot be processed correctly | Try again later or contact support for assistance | | **D0590** | 402 | Invalid transaction type | The transaction type you are trying to perform cannot be performed due to a limitation in your POS or terminal configuration | Verify the transaction type and retry, or contact support for assistance | | **D0592** | 402 | Error payment method | The payment method you are passing as a parameter is invalid or not supported | Verify the payment method information and retry, or contact support for assistance | | **D0594** | 402 | Original transaction not found | Referenced transaction ID is missing or invalid in the system records | Verify the original transaction information and retry, or contact support for assistance | | **D0596** | 402 | More than one original transaction found | Duplicate records exist, complicating the identification of the correct transaction | Verify the original transaction information and retry, or contact support for assistance | ### D0600-D0699 Card data and encryption errors including tokenization failures, invalid formats, and decryption issues. | Code | HTTP Status Code | Reason | Description | Resolution | | --------- | ---------------- | ---------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ | | **D0610** | 402 | Track 2 error | Track 2 data is unreadable, corrupted, or improperly formatted during swiping | Retry the transaction or use different payment method | | **D0620** | 402 | EMV data error | EMV data is incomplete, corrupted, or incorrectly processed during transaction | Retry the transaction or use different payment method | | **D0630** | 402 | Encryption method could not be determined | The device is configured with more than one encryption service. The request does not indicate which service to use. | Verify the encryption/decryption information and retry, or contact support for assistance | | **D0632** | 402 | Encryption not configured | No encryption service configured for this device | Verify the device encryption/decryption service and retry | | **D0634** | 402 | Encryption/decryption error | An error occurred during the encryption or decryption process Please contact support for assistance | Verify the encryption/decryption information and retry, or contact support for assistance | | **D0636** | 402 | Invalid encryption type of version | Unsupported or incorrect encryption format used in secure data transmission | Verify the encryption/decryption information and retry, or contact support for assistance | | **D0640** | 402 | This batch does not exist | You are trying to perform a batch and it does not exist in the terminal | Verify the batch information and retry, or contact support for assistance | | **D0642** | 402 | This Merchant send BatchAll command frequently | The BatchAll command can only be submitted once every 4 minutes Too many attempts in that time frame will result in that message | Retry again later | | **D0650** | 402 | Please Settle | The terminal is full of local transactions and needs to be manually settled | Settle the current batch before executing new transaction | | **D0655** | 402 | Invalid URL | You are attempting to send transactions to an invalid URL on a downstream platform | Verify the URL information and retry, or contact support for assistance | | **D0660** | 402 | CAPK Expired | Certification Authority Public Key is expired, the terminal or system may fail to complete the transaction securely | Contact support for assistance | | **D0662** | 402 | Chip Blocked | Card's chip is disabled due to repeated errors or suspected fraudulent activity | Use a different payment method or contact the card issuer | | **D0664** | 402 | Chip Read Error | Card's chip cannot be read or communicates incorrectly with the terminal | Use a different payment method or contact card issuer | | **D0666** | 402 | Chip Malfunction | Card's chip cannot be read or communicates incorrectly with the terminal | Use a different payment method or contact the card issuer | | **D0667** | 402 | Chip Not Accepted | Terminal or system refuses the chip card due to compatibility or security issues | Use a different payment method or contact the card issuer | | **D0669** | 402 | Chip Reject | Terminal declined the chip card transaction due to errors or failed authentication | Use a different payment method or contact the card issuer | | **D0671** | 402 | Contactless failed | Terminal can not read or communicates card contactless information | Use a different payment method or contact the card issuer | | **D0672** | 402 | Device memory is overflow | Terminal's storage is full, preventing new data from being saved or processed | Try restarting the terminal and then retry the transaction. If the issue persists use a different terminal or contact support. | | **D0673** | 402 | No PIN Pad | Terminal does not support PIN transaction or missing a PIN pad | Use a different payment method or contact the card issuer | | **D0674** | 402 | PIN Pad can't be used | Terminal does not support PIN transaction or missing a PIN pad | Use a different payment method or contact the card issuer | | **D0675** | 402 | PIN Pad Failure | Terminal PIN pad malfunctioned | Retry the transaction. If the issue persists try restarting the terminal, using a different terminal or contact support. | | **D0676** | 402 | PIN Pad Timeout | PIN pad timeout since customer takes too long to enter their PIN | Retry the transaction | | **D0677** | 402 | Aborted | Transaction canceled by user on the terminal | Retry the transaction | | **D0678** | 402 | Tax Amount Too Long | Entered tax value exceeds the system's allowed character or digit limit | Verify the tax information and retry | | **D0679** | 402 | Card type only for credit | Terminal or system configured for credit transactions, not debit or others | Use a credit card and retry the transaction | | **D0680** | 402 | Unsupported card type | Terminal is not configured to accept this card type | Use a card type that is supported by the terminal | | **D0681** | 402 | Terminal Amount Limits Exceeded | Amount limits in the terminal configuration exceeded | Retry the transaction with a lower amount | | **D0682** | 402 | Tap Not Accepted | Terminal does not support or allow contactless (tap) payments for this transaction | Swipe or insert the card instead of tapping | | **D0684** | 402 | Tap Not Accepted - Try another card | Terminal does not support or allow contactless (tap) payments for this transaction | Swipe or insert the card instead of tapping | | **D0685** | 402 | Tap Terminated | Contactless payment was canceled or interrupted before completion | Retry the transaction. If the issue persists insert the card or use swipe to complete the transaction | | **D0686** | 402 | Transaction declined by terminal rules | Terminal is configured to reject the transaction based on preset rules or detected errors | Use a different card, or try with a different amount | | **D0519** | 402 | PIN Not Active | Cardholder's PIN is not enabled or set up for PIN-based transactions | Cardholder should activate PIN on the card and retry, or use a different card | ### D0700-D0799 ACH-specific declines including routing number issues, account type mismatches, and service restrictions. | Code | HTTP Status Code | Reason | Description | Resolution | | --------- | ---------------- | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------- | | **D0700** | 402 | Invalid Bank Routing Number | Invalid routing number in the request message | Verify the routing number and retry the transaction | | **D0701** | 402 | Invalid Bank Account Number | The bank account number in the request message is invalid | Verify the bank account number and retry the transaction | | **D0710** | 402 | SEC violation | Transaction declined due to SEC (Standard Entry Class) code violation in ACH processing requirements | Verify the SEC code and retry the transaction | | **D0715** | 402 | Invalid request for returning ACH transaction Use AchReturn | Return is not allowed for ACH transactions. Only AchReturn is allowed | Attempt a refund action. If the issue persists contact support. | | **D0720** | 402 | Receiver limit exceeded | Transaction declined by the bank as the receiver's transaction or funding limit has been exceeded | Retry transaction with a lower amount, attempt again when limits are not exceeded. | | **D0725** | 402 | Invalid account number provided | The account in the operation was detected as invalid or nonexistent by card issuer. Transaction was declined. | Contact the card issuer and retry payment, or use a different card or payment method | | **D0730** | 402 | Invalid/nonexistent "To Account" specified | The To Account in the operation was detected as invalid or nonexistent by card issuer. Transaction was declined. | Contact the card issuer and retry payment, or use a different card or payment method | | **D0731** | 402 | Invalid/nonexistent "From Account" specified | The From Account in the operation was detected as invalid or nonexistent by card issuer. Transaction was declined. | Contact the card issuer and retry payment, or use a different card or payment method | | **D0735** | 402 | ACH Non-Participant | Transaction failed because the receiving bank is not a participant in the ACH network | Verify the routing number is a valid Fed ACH routing number and retry the transaction | ### D0800-D0899 Check processing declines covering MICR validation, duplicate checks, and check-specific restrictions. | Code | HTTP Status Code | Reason | Description | Resolution | | --------- | ---------------- | -------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | | **D0800** | 402 | Invalid MICR Data | The MICR data in the request message is invalid | MICR information on a check is incorrect or unreadable | | **D0810** | 402 | Invalid Account Type | The account type in the request message is invalid | Verify the account type information and submit again | | **D0812** | 402 | Invalid Check Type | The check type in the request message is invalid | Verify the check type information and submit again | | **D0814** | 402 | Missing Signature | Account holder signature is missing in the check | Verify the account holder signature in the check and submit again | | **D0816** | 402 | Missing Endorsement | The check is missing the required signature on the back for authorization | Verify the signature and submit again | | **D0818** | 402 | Invalid Check Date | The date format in the request message is invalid | Verify the check date and submit again | | **D0820** | 402 | Car Lar Mismatch | Mismatch between the check amount written in numbers (courtesy amount) and letters (legal amount) provided on check image | Verify the amount in digit and in letter, if there is no mismatch submit again or use a new check | | **D0822** | 402 | CallNox Timeout | Check verification or authorization failed in the terminal due to time out | Retry the transaction later | | **D0824** | 402 | Duplicate Check | Same check has already been submitted or processed, and the system is flagging it to prevent double payment or fraud | This check is already submitted or processed Do not retry with this check | | **D0826** | 402 | Blocked Check | The check provided in transaction is blocked | Try a new check since this check is blocked and can not be processed | | **D0828** | 402 | Cannot Process Image | System could not process the check image | Try uploading a fresh check image | | **D0830** | 402 | Invalid Check Number | The check number in the request message is invalid | Verify the check number and retry | | **D0832** | 402 | Bank Account Closed | The bank account does not exist | Do not retry with this check | | **D0834** | 402 | Decline NSF | Transaction was declined due to Non-Sufficient Funds in the customer's bank account | Verify that the check issuer has sufficient balance before resubmit | | **D0836** | 402 | Check Image Decline | Scanned check image is invalid, unreadable, or fails verification checks | Upload a fresh check image and retry | | **D0838** | 402 | Check Digit Error | Card number validation failed due to error in check digit | Verify the card number is entered correctly and retry the transaction | | **D0840** | 402 | Maker Check Return Stop Pay Limit Exceeded | Maker's stop payment request exceeded allowed transaction limit | Verify limit and inform maker to adjust request | | **D0842** | 402 | Maker Check Return No Auth Limit Exceeded | Unauthorized maker check amount exceeded account's authorization limit | Contact check issuer before resubmit | | **D0844** | 402 | Maker Check Return No Settlement Limit Exceeded | Maker's check amount exceeded the account's settlement threshold | Contact check issuer before resubmit | | **D0846** | 402 | Maker Check Return NSF/Other Limit Exceeded | Check returned due to insufficient funds or limit violation by maker | Contact check issuer before resubmit | | **D0848** | 402 | Maker Check Return Limit Exceeded | Maker's check exceeded allowed transaction or daily processing limit | Contact check issuer before resubmit | | **D0850** | 402 | Customer Check Return Stop Pay Limit Exceeded | Customer-issued stop payment exceeded the permitted limit threshold | Contact check issuer before resubmit | | **D0852** | 402 | Customer Check Return No Auth Limit Exceeded | Unauthorized check by customer surpassed the approval limit | Contact check issuer before resubmit | | **D0854** | 402 | Customer Check Return No Settlement Limit Exceeded | Check amount exceeded settlement limit for customer's account | Contact check issuer before resubmit | | **D0856** | 402 | Customer Check Return NSF/Other Limit Exceeded | Check bounced due to NSF or over limit by customer | Contact check issuer before resubmit | | **D0858** | 402 | Customer Check Return Limit Exceeded | Customer check exceeded allowed transaction or daily processing limit | Contact check issuer before resubmit | | **D0860** | 402 | Customer Check Cashing Limit Exceeded | Check cashing request exceeded customer's permitted cashing limit | Contact check issuer before resubmit | ### D0900-D0999 Account and card updater service errors related to closed accounts, contact requirements, and update failures. | Code | HTTP Status Code | Reason | Description | Resolution | | --------- | ---------------- | -------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | | **D0900** | 402 | The card issuer does not have a record of this card number or account | The card or account number is unrecognized or missing in issuer's records | Use a different card or payment method | | **D0910** | 402 | Cancel all recurring payments associated with the provided card number | Card holder has instructed to stop all recurring charges for the specified card number | Cancel any future recurring payments, inspect account status, contact customer if needed | | **D0920** | 402 | Updated cardholder information is available | Transaction declined by the issuer since new account or card information available for the cardholder | Use the new card or account number to complete the payment | | **D0930** | 402 | Payment declined. Try again after a few days | Transaction is temporary declined by the card issuer | Retry the transaction after waiting a few days | | **D0940** | 402 | The customer has requested a stop to recurring payments | Customer has requested a stop on future recurring payment attempts | Contact the customer | | **D0942** | 402 | A stop payment order has been issued | Issuer received and enforced a stop payment request on the transaction | Contact the customer | | **D0944** | 402 | Authorization for future payments has been revoked | Cardholder revoked consent for recurring or future transaction authorization | Contact the customer | | **D0950** | 402 | Bill payments or recurring transactions are not supported for this account | Card or account does not support recurring or bill payment transactions | Contact the customer to use a different payment method for this transaction | ### D1000-D1099 Merchant configuration declines due to missing settings, unsupported features, or account restrictions. | Code | HTTP Status Code | Reason | Description | Resolution | | --------- | ---------------- | --------------------------------------------------------------- | ------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | | **D1000** | 400 | The transaction request contains invalid or missing information | | Verify that all required fields are complete and correctly formatted and then resubmit the transaction | | **D1001** | 400 | Consumer verification failed | | Reenter accurate consumer information and then resubmit the transaction | | **D1002** | 400 | Merchant information mismatch | | Merchant related information is invalid or incomplete please contact the merchant before resubmitting | | **D1003** | 400 | Merchant account is not configured to handle this request | | Merchant account is not set up for this request please contact the merchant before resubmitting | | **D1004** | 400 | Generic system error | An unexpected error occurred in with backend processor | Contact support for assistance | ## Error codes (E3000-E9999) These codes indicate validation or processing errors. ### E3000-E3399 These codes cover basic validation failures for parameters, user configurations, and data formats. | Code | HTTP Status Code | Reason | Description | Resolution | | --------- | ---------------- | --------------------------------------- | -------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | **E3001** | 400 | Invalid entrypoint name | Entrypoint specified in parameter does not exists | Correct the parameter and try again | | **E3002** | 400 | Invalid Amount | Amount value is empty or negative | Provide a valid amount | | **E3003** | 400 | Invalid parameter value in request | The value provided in parameter is incorrect | Provide the correct value for parameter | | **E3004** | 400 | Invalid TimeZone value | The timezone value provided is invalid | Provide a correct value between -12 and +12 | | **E3005** | 400 | Invalid paypoint id | The paypoint id value provided is invalid | Provide a correct paypoint id value | | **E3006** | 400 | Invalid user status | The value provided is invalid | Provide a correct status value for user (0,1,85) | | **E3007** | 400 | The transaction cannot be refunded | We can't refund this transaction because it already has an associated chargeback or return | Contact support with questions | | **E3012** | 400 | Invalid Amount | Amount value is greater than available amount for action | Provide a valid amount and retry transaction | | **E3013** | 400 | Invalid Amount | Amount value is different to amount in invoices | Provide a valid amount and retry transaction | | **E3014** | 400 | Invalid Amount | Amount value is not the same as the authorized amount | Make sure the capture amount is the same as the authorized amount and then retry | | **E3015** | 400 | Invalid Total Amount | Total Amount cannot be zero | Make sure the total amount is greater than zero and then retry | | **E3016** | 400 | Invalid Total Amount | Amount value lesser than 85% of authorized amount is not allowed | Make sure the capture amount is greater than 85% of the authorized amount and then retry | | **E3201** | 400 | Empty scope array for user | The scope specified for user is empty | Provide a valid scope for user | | **E3202** | 400 | Empty access array for user | The access specified for user is empty | Provide a valid access array for user | | **E3203** | 400 | Empty email address for user | The email specified for user is empty | Provide a valid email address for user | | **E3204** | 400 | Duplicated email address | A user with this email address exists already | Provide a valid email address (not used yet in platform) for user | | **E3205** | 400 | 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 not allow scopes not included in the parent API token | | **E3206** | 400 | Invalid access declared by requestToken | The access provided is outside of the access authorized of the used API token in the request | Review the access provided in request The platform rules not allow access not included in the parent API token | | **E3207** | 400 | Invalid email address | The email address provided is invalid | Review the value of the email address provided in request. The email address needs to follow the format specified in RFC 881. | | **E3208** | 400 | Invalid phone number | The phone number provided is invalid | Review the value of the phone number provided in request. The phone number needs to satisfy the regular expression "^\[+]?\[(]?\[0-9]{3}\[)]?\[-\s]?\[0-9]{3}\[-\s]?\[0-9]{4,6}\$". Examples: +1(786)111-2222, 2342221234, 111 222 2345, 555-444-1111. | | **E3209** | 400 | Invalid country code | The country code provided 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. See [https://en.wikipedia.org/wiki/ISO\_3166-1](https://en.wikipedia.org/wiki/ISO_3166-1) for reference. | | **E3210** | 400 | Invalid mail country code | The mail country code provided 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. Check out [https://en.wikipedia.org/wiki/ISO\_3166-1](https://en.wikipedia.org/wiki/ISO_3166-1) for reference. | | **E3211** | 400 | Invalid start date | The start date value is invalid | Provide the value in one of accepted formats: YYYY-MM-DD or MM/DD/YYYY | | **E3212** | 400 | Invalid billing table | The billing table configuration is invalid | The paypoint already has a billing table, please use the update endpoint or delete the current billing table | ### E3400-E3699 These codes relate to specific field validation errors for bills, vendors, invoices, customers, and related entities. | Code | HTTP Status Code | Reason | Description | Resolution | | --------- | ---------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------- | | **E3401** | 400 | Invalid Bill Number | Field BillNumber empty | Provide the required value in request | | **E3402** | 400 | Duplicated Bill Number | Value provided in field BillNumber exists already in Entity | Provide a different BillNumber in request | | **E3403** | 400 | Missing Vendor information | Vendor data missing from request | Provide the minimal required data for Vendor | | **E3404** | 400 | Invalid Vendor Number | Field VendorNumber empty | Provide the required value in request | | **E3405** | 400 | Missing frequency value | Required frequency for scheduled bill is empty | Provide the required frequency value in request: onetime, weekly, every2weeks, every6months, monthly, every3months, annually | | **E3406** | 400 | Invalid frequency value | Provided frequency value for scheduled bill is invalid | Provide the required frequency value in request: onetime, weekly, every2weeks, every6months, monthly, every3months, annually | | **E3407** | 400 | Invalid EndDate format | Date value empty or in a not valid format | Provide the value in one of accepted formats: YYYY-MM-DD or MM/DD/YYYY | | **E3408** | 400 | Invalid EndDate value | Date provided cannot be lesser or equal than today date | Provide a correct value in Date field | | **E3409** | 400 | Vendor is Inactive | The vendor status is not acceptable for action | Update vendor status to active | | **E3410** | 400 | Invalid Bill Id | The provided Bill identifier doesn't exist or doesn't have a valid status | Provide a correct identifier value in the request | | **E3411** | 400 | Invalid Bill status | Current Bill status is not acceptable for action | Verify the status of the bill before resubmitting the request | | **E3412** | 400 | Bill has associated payments | Cannot execute action because payment records associated | Cancel associated payments | | **E3413** | 400 | Existing payment link for Id | A payment link already exists for the provided Id | Review the payment link id and try again | | **E3414** | 400 | Invalid entrypoint | The entrypoint associated with the bill does not exist | Verify the entrypoint related to the bill | | **E3415** | 400 | Invalid entrypage | The entrypage associated with the paypoint does not exist | Verify the entrypage related to the paypoint | | **E3416** | 400 | Missing email | The vendor associated to the bill doesn't have a valid email | Verify the vendor's email is not empty and has a valid format | | **E3417** | 400 | Invalid Invoice Id | The provided Invoice identifier doesn't exist or doesn't have a valid status | Provide a correct identifier value in the request | | **E3418** | 400 | Invalid customer | The provided Invoice identifier doesn't have a valid customer associated | Review the customer associated to the invoice and try again | | **E3419** | 400 | Invoice not available | Current Invoice status is not acceptable for action | Verify the status of the invoice before resubmitting the request | | **E3420** | 400 | Duplicated Bill Number | Value provided in field BillNumber exists already within the Vendor | Provide a different BillNumber in request | | **E3421** | 400 | Invalid Vendor Id | The provided Vendor identifier doesn't exist or doesn't have a valid status | Provide the required value in request | | **E3422** | 400 | Invalid Vendor Name | Field Name1 empty | Provide the required value in request | | **E3423** | 400 | Missing address field | Field address(1) empty | Provide the required value in request | | **E3424** | 400 | Missing address field | Field city in address empty | Provide the required value in request | | **E3425** | 400 | Missing address field | Field state in address empty | Provide the required value in request | | **E3426** | 400 | Missing address field | Field zip in address empty | Provide the required value in request | | **E3427** | 400 | Invalid EIN | Invalid value provided for EIN field | Provide the required value in request using the format of 9 digits | | **E3428** | 400 | Missing email | Vendor email address is required for vCard | Verify the vendor's email is not empty and has a valid format | | **E3429** | 400 | Empty transaction list | List of transaction in input was not provided | Verify the list of transactions is provided in request | | **E3430** | 400 | Invalid Customer Id | The provided Customer identifier doesn't exist or doesn't have a valid status | Provide the required value in request | | **E3431** | 400 | Empty approvals | Empty approvals | Provide the required value in request | | **E3432** | 400 | No attachments found | No attachments found | Provide valid attachment | | **E3433** | 400 | Invalid orgId | The organization ID provided in the request is invalid or does not exist | Provide a valid organization id | | **E3434** | 400 | Invalid Level in request | The level value provided in the request is invalid | Provide a valid level | | **E3435** | 400 | Invalid Vendor Status | The vendor status value provided in the request is invalid | Provide a valid vendor status | | **E3436** | 400 | Duplicated vendor under entry | A vendor with the same information already exists under this entrypoint | The provided vendor already exists under the provided merchant. Update the existing vendor instead, or check the values in your request. | | **E3437** | 400 | Invalid Year value | The year value provided in the request is invalid or not in the correct format | Provide the value in the accepted format: YYYY | | **E3438** | 400 | Invalid dates | The startDate cannot be greater than the endDate | Provide valid startDate and endDate parameters | | **E3439** | 400 | 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 | | **E3440** | 400 | Missing or Incomplete remit address | Remit address is required for Check | Verify the vendor's remit address is not empty and has a valid format | | **E3441** | 400 | Missing or Incorrect Bank information | Complete and valid bank account information is required for Check | Verify the vendor's bank information is not empty and has a valid format | | **E3442** | 400 | Invalid characters detected in vendor information | Only letters, numbers, and . , # ' - & characters are allowed in Name, Address, and City fields. | Remove special characters like @, \$, %, ^, \*. | | **E3501** | 400 | Invalid request | The search field is missed, null or empty in the request | Provide a valid search field in the body request | | **E3601** | 400 | Invalid payment link Id | The provided payment link id is invalid or inactive | Review the Payment link id and try again | | **E3602** | 400 | Invalid invoice/bill | The provided payment link id doesn't have a valid invoice/bill associated | Review the Payment link id and try again | | **E3603** | 400 | Entrypoint does not exist | The provided payment link id is not associated to a valid entrypoint | Review the Payment link id and try again | | **E3604** | 400 | EntryPage does not exist | The entrypoint does not have a valid entrypage | Verify the entrypoint has a payment page created Review the payment link id and try again | | **E3605** | 400 | Invalid vendorId or customerId | A customerId or a VendorId is required for a new vCard | Verify the request and provide the missing data | | **E3614** | 400 | Subdomain does not exist | The entrypoint does not have a valid subdomain | Verify the entrypoint has a payment page created Review the information in request and try again | ### E3700-E3999 These codes handle validation errors for specific transaction fields, authentication, payments, and various business logic constraints. | Code | HTTP Status Code | Reason | Description | Resolution | | --------- | ---------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ | | **E3701** | 400 | Invalid application ID | Invalid application ID or doesn't exists | Provide a valid application ID | | **E3702** | 400 | An error occurred while processing the request | An error occurred while processing the request | Try again later If the error persist please contact your API provider | | **E3703** | 400 | Duplicated Bank account | The bank account already exists | If you need to update an existing Bank account please use the edit endpoint | | **E3704** | 400 | Invalid bank id | The bank ID provided in the request does not exist in the system | Provide a valid/existing bank id | | **E3705** | 400 | Invalid routing number | The bank routing number provided is not in a valid format | Provide a valid routing number | | **E3706** | 400 | Invalid account number | The bank account number provided is not in a valid format | Provide a valid account number | | **E3707** | 400 | Invalid account type | The bank account type provided is not a valid value | Provide a valid account type: Checking/Savings | | **E3708** | 400 | Invalid bank account holder type | The bank account holder type provided is not a valid value | Provide a valid bank account holder type: Personal/Business | | **E3709** | 400 | Invalid bank account function | The bank account function/purpose provided is not a valid value | Provide a valid bank account purpose: 0 -> Deposit, 1 -> Withdraw , 2 -> Deposit/Withdraw | | **E3710** | 400 | Invalid bank name | The bank name provided is invalid or missing | Provide a valid bank name | | **E3711** | 400 | Invalid account holder name | The account holder name provided is invalid or missing | Provide a valid account holder name | | **E3712** | 400 | Billing id not found | The billing ID provided does not exist in the system | Provide a valid billing id in the request | | **E3713** | 400 | The entry point doesn't have a billing table | No billing table is configured for this entry point | Create a billing table if required | | **E3714** | 400 | Error with the billing request | Billing object has missing or invalid field | Review the billing object for any missing or invalid field | | **E3715** | 400 | 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 | | **E3721** | 400 | Unbundled flag mismatch | Vendor unbundled flag doesn't match with payment unbundled flag | Use the flag configured in the vendor details | | **E3722** | 400 | Repeated Check Number | Authorization failed because the value in the checkNumber field has been used within the last 30 days | Retry your request with a different checkNumber value | | **E3724** | 400 | Invalid amount for netAmount + discount | The sum of netAmount and discount is more than the total from the original bill | Send the correct sum for netAmount and discount | | **E3727** | 400 | Invalid Check Number | Authorization failed because the value in the checkNumber field is greater than 8 digits | Retry your request with a valid checkNumber value | | **E3728** | 400 | Invalid Check Number | Authorization failed because the value in the checkNumber field is not a number | Retry your request with a valid checkNumber value | | **E3750** | 400 | Invalid funding configuration ID | The provided funding configuration ID is invalid | Verify that the funding configuration ID is correct and try again | | **E3751** | 400 | Funding configuration already exists | A funding configuration already exist for the entry, merchant ID and service | Retry with different values | | **E3752** | 400 | Invalid primary transfer config | The provided primary transfer config cannot be empty or null | Verify transfer funding configuration is correct and try again | | **E3753** | 400 | Missing NET funding block | Required funding block NET is missing from primary transfer configuration | Add NET funding block to primary transfer configuration and try again | | **E3754** | 400 | Missing required funding blocks | All required funding blocks in the transfer configuration should exist | Include all the required funding blocks and try again | | **E3755** | 400 | Missing bank account information in ACH channel | ACH channels should have bank account information | Add bank information to ACH channel configuration and try again | | **E3801** | 400 | Max length for itemCommodityCode exceeded | Max length for itemCommodityCode field is 250 characters | Reduce the string length to 250 characters or less | | **E3802** | 400 | TMax length for itemProductCode exceeded | Max length for itemProductCode field is 250 characters | Reduce the string length to 250 characters or less | | **E3803** | 400 | Max length for itemProductName exceeded | Max length for itemProductName field is 250 characters | Reduce the string length to 250 characters or less | | **E3804** | 400 | Max length for itemDescription exceeded | Max length for itemDescription field is 250 characters | Reduce the string length to 250 characters or less | | **E3805** | 400 | Max length for itemUnitOfMeasure exceeded | Max length for itemUnitOfMeasure field is 100 characters | Reduce the string length to 100 characters or less | | **E3901** | 400 | Empty Text field | The input field Text is empty | Provide a value in required field Text | | **E3902** | 400 | Invalid color code provided in field darkColor | The hexadecimal HTML code provided is incorrect | Provide a correct HTML code value Reference [https://htmlcolorcodes.com/](https://htmlcolorcodes.com/) | | **E3903** | 400 | Invalid color code provided in field lightColor | The hexadecimal HTML code provided is incorrect | Provide a correct HTML code value Reference [https://htmlcolorcodes.com/](https://htmlcolorcodes.com/) | | **E3904** | 400 | 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://htmlcolorcodes.com/](https://htmlcolorcodes.com/) | | **E3905** | 400 | Max length for Number field exceeded | Max length for Number field is 19 chars | Reduce the string length to a maximum of 19 characters | | **E3906** | 400 | Max length for Text field exceeded | Max length for Text field is 23 chars | Reduce the string length to a maximum of 23 characters | | **E3907** | 400 | Max length for Holder field exceeded | Max length for Holder field is 30 chars | Reduce the string length to a maximum of 30 characters | | **E3908** | 400 | Max length for Holder1 field exceeded | Max length for Holder1 field is 30 chars | Reduce the string length to a maximum of 30 characters | | **E3909** | 400 | Max length for ExpDate field exceeded | Max length for ExpDate field is 8 chars | Reduce the string length to a maximum of 8 characters | | **E3910** | 400 | Max length for CVV field exceeded | Max length for CVV field is 4 chars | Reduce the string length to a maximum of 4 characters | | **E3911** | 400 | Amount cannot be negative | A negative value is not accepted | Provide a positive value in the input field | | **E3912** | 400 | Invalid Theme value provided | The theme name provided does not exist | Provide a valid value in the input field | ### E4000-E4999 Processing and system errors covering service outages, timeouts, and internal system failures. | Code | HTTP Status Code | Reason | Description | Resolution | | --------- | ---------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | | **E4001** | 400 | Invalid Xchange AccountId | Invalid Xchange AccountId | Provide a valid Xchange AccountId | | **E4002** | 400 | Invalid User account | Invalid User account | Impossible to get the user from token or user does not exist | | **E4003** | 400 | Model cannot be null | Model cannot be null | The entry model is null. Review and try again. | | **E4004** | 400 | The Server field cannot be null or empty | The Server field cannot be void or empty | The Server field cannot be null or empty. Review the request and try again. | | **E4005** | 400 | The UserId field cannot be null or empty | The UserId field cannot be void or empty | The UserId field cannot be null or empty. Review the request and try again. | | **E4006** | 400 | The RemotePathIn field cannot be null or empty | The RemotePathIn field cannot be void or empty | The RemotePathIn field cannot be null or empty. Review the request and try again. | | **E4007** | 400 | The RemotePathOut field cannot be null or empty | The RemotePathOut field cannot be void or empty | The RemotePathOut field cannot be null or empty. Review the request and try again. | | **E4008** | 400 | The Schedule field cannot be null or empty | The Schedule field cannot be void or empty | The Schedule field cannot be null or empty. Review the request and try again. | | **E4009** | 400 | The LastCheck field cannot be less than the actual date | The LastCheck field cannot be less than the actual date | The LastCheck field cannot be less than the actual date. Review and try again. | | **E4010** | 400 | The EntryName field cannot be null or empty | The EntryName field cannot be void or empty | The EntryName field cannot be null or empty. Review the request and try again. | | **E4011** | 400 | The OrgType field cannot be null or empty | The OrgType field cannot be void or empty | The OrgType field cannot be null or empty. Review the request and try again. | | **E4012** | 400 | The Orgid field cannot be null or 0 | The Orgid field cannot be null or 0 | The Orgid field cannot be null or 0. Review the request and try again. | | **E4013** | 400 | The Mode field cannot be null | The Mode field cannot be void or empty | The Userid field cannot be null or empty. Review the request and try again. | | **E4014** | 400 | The Channel field cannot be null or 0 | The Channel field cannot be null or 0 | The Channel field cannot be null or 0. Review the request and try again. | | **E4015** | 400 | The content of the PKey field is not Base64 encoded | The content of the PKey field is not Base64 encoded | The content of the PKey field must be Base64 encoded. Review the request and try again. | | **E4016** | 400 | The Organization/Paypoint has no associated token | The Organization/Paypoint has no associated token | The Organization/Paypoint has no associated token. Review the request and try again. | | **E4017** | 400 | The data was not saved in the database | An error occurred while saving the data to the database | Try again later. Contact support for help if the issue persists. | | **E4018** | 400 | Invalid Xchange Account | Invalid Xchange Account | Provide a valid Xchange Account. Review the request and try again. | | **E4019** | 400 | The user is not related to the organization | The user is not related to the organization | The user is not related to the organization. Review the request and try again. | | **E4020** | 400 | The configuration is not related to the xchange account organization | The configuration is not related to the xchange account organization | The configuration is not related to the xchange account organization | | **E4021** | 400 | The Type field cannot be null or different from IP, Card or PayorId | The Type field cannot be null or different from IP, Card or PayorId | The Type field cannot be null or different from IP, Card or PayorId. Review the request and try again. | | **E4022** | 400 | At least one of these fields is required: Content, FraudHistoryId, or TransId | 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. | | **E4023** | 400 | The service cannot be deleted | The service cannot be deleted, there are unsettled transactions | Please wait until all transactions are marked as settled to delete the service | | **E4024** | 400 | The service cannot be updated | The service cannot be updated, there are unsettled transactions | Please wait until all transactions are marked as settled to update the service | | **E4025** | 400 | Purposes cannot be null | Purposes cannot be null | Purposes cannot be null. Review the request and try again. | | **E4026** | 400 | The keyword cannot be repeated | The keyword cannot be repeated | The keyword cannot be repeated. Review the request and try again. | | **E4027** | 400 | Empty input file | Empty input file | Empty input file. Review the request and try again. | | **E4028** | 400 | Empty file content | Empty file content | Empty file content. Review the request and try again. | | **E4029** | 400 | 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 the request and try again. | | **E4030** | 400 | 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 the request and try again. | | **E4031** | 400 | 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 the request and try again. | ### E5000-E5999 Service fee calculation errors and merchant relationship configuration issues. | Code | HTTP Status Code | Reason | Description | Resolution | | --------- | ---------------- | --------------------------------------------------- | --------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | | **E5000** | 400 | Transaction rejected by backend processor | Backend processor rejected the transaction | Contact support or try to process payment with a different card or payment method | | **E5004** | 400 | 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 | | **E5005** | 400 | Invalid Service Fee value | Provided service fee value is lesser than value agreed | Review value provided in request and try again | | **E5006** | 400 | Invalid Service Fee value | Provided service fee value is greater than value agreed | Review value provided in request and try again | | **E5009** | 400 | Invalid stored method relationship | Provided stored method and customer are not related | Review value provided in request for stored method and customer and try again | | **E5010** | 400 | Invalid chargeback ID | The provided chargeback identifier does not exists in the platform | Review the value of the chargeback identifier and try again | | **E5011** | 400 | Invalid chargeback status | The chargeback status provided is not allowed | Review the value of the chargeback status and try again | | **E5012** | 400 | Invalid ACH return ID | Provided ACH return identifier does not exist in the platform | Verify ACH return identifier is correct and then try again | | **E5013** | 400 | Invalid ACH return status | Provided ACH return status is not allowed for this transaction | Verify ACH return status is valid for this transaction | | **E5014** | 400 | 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 | | **E5015** | 400 | Invalid transaction ID | The provided transaction identifier does not exist in the platform | Verify the transaction identifier and make sure that it's correct | | **E5016** | 400 | Invalid transaction ID | The transaction already has an associated return | This transaction has already been returned | | **E5017** | 400 | 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 | | **E5018** | 400 | Invalid transaction ID | The transaction already has an associated chargeback | This transaction has already been charged back | | **E5019** | 400 | Invalid chargeback status | The provided chargeback status is not allowed for this transaction | Check the chargeback status and make sure that it's valid for this transaction | | **E5020** | 400 | Invalid chargeback ID | The provided chargeback identifier does not exist in the platform | Verify the chargeback identifier and make sure that it's correct | | **E5021** | 400 | Refund failed. Missing connector data | Refund failed due to missing processor connector data | Review processor connector data and then retry refund. Contact support if you need help. | | **E5022** | 400 | Refund failed. Missing payment data | Refund failed due to missing payment data of the original transaction | Verify refund request is for valid transaction and then retry. Contact support if error persists. | | **E5023** | 500 | Error getting data from vault service | Internal system error occurred while getting vault data during de-tokenization | Retry the transaction. Contact support if error persists. | | **E5025** | 400 | Internal error creating processor gateway connector | Internal system error occurred while creating processor gateway connector | Retry the transaction. Contact support if error persists. | | **E5100** | 400 | Format error | Card network or card issuer could not process transaction due to a format error | Contact support or try to process payment with a different card or payment method | ### E6000-E6999 Domain registration, service configuration, and merchant setup validation errors. | Code | HTTP Status Code | Reason | Description | Resolution | | --------- | ---------------- | -------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | | **E6000** | 400 | 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 | | **E6001** | 400 | SMS configuration is missing | Configuration to send SMS is not complete | Contact Support to enable this feature | | **E6002** | 400 | 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 | | **E6003** | 400 | 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 | | **E6004** | 400 | Missing or invalid phone number | Phone number is required for customer consent request | Verify that the customer's phone number is not empty and has a valid format | | **E6005** | 400 | Invalid payment link type | Invalid payment link type | Payment link must be for an invoice | | **E6006** | 400 | 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 | | **E6007** | 400 | 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 | | **E6008** | 400 | 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 | | **E6009** | 400 | Invalid channel | Invalid communication channel value | Verify that the communication channel is one of the valid options: sms or email | | **E6010** | 400 | Invalid invoice | The provided payment link ID doesn't have a valid invoice associated | Verify that the invoice exists and has a valid status | | **E6101** | 400 | Invalid domain ID | The provided domain ID is invalid | Verify that the domain ID is correct and try again | | **E6102** | 400 | 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 | | **E6103** | 400 | Failed to cascade the domain | An error occurred while cascading the domain | Try cascading the domain again later | | **E6201** | 400 | No card service found for this paypoint | Card service is required to enable Apple Pay | Configure card service and then retry. Contact support if you need help. | | **E6202** | 400 | Card services are disabled for this paypoint | Card services should be enabled to use Apple Pay | Activate card service and then retry. Contact support if you need help. | | **E6203** | 400 | No card gateway found for this paypoint | Card gateway is required to enable Apple Pay | Configure card gateway and then retry. Contact support if you need help. | | **E6204** | 400 | Invalid card credentials for this paypoint | Card credentials are required to enable Apple Pay | Configure card credentials and then retry. Contact support if you need help. | | **E6205** | 400 | 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 | | **E6206** | 400 | Failed to cascade organization updates | An error occurred while cascading the organization updates | Try again later | | **E6210** | 400 | Payment tier not found for the amount | Payment tier configuration not found for the transaction amount | Verify the amount and retry transaction, or contact support to review payment tier configuration. | | **E6211** | 400 | Payment tier does not exist | Payment tier configuration with fees, min/max limits does not exist | Configure payment tier and then retry. Contact support if you need help. | | **E6212** | 400 | Processor gateway configuration missing | Processor gateway configuration required for transaction processing is missing | Configure processor gateway configuration and then retry. Contact support if you need help. | | **E6213** | 400 | Multiple processor gateway configuration for payment method | Multiple processor gateway configurations found for the specified payment method | Review processor gateway configuration and then retry. Contact support if you need help. | | **E6214** | 400 | Default processor gateway not configured for payment method | No default processor gateway found for method \[\{PaymentMethod}] and paypoint \[\{PaypointId}] | Configure default processor gateway and then retry. Contact support if you need help. | | **E6215** | 400 | Service configuration not found for payment method | Unable to locate a service for method \{paymentMethod} and paypoint \{paypointId} and group \{paymentGroup} | Review and configure payment method service and then retry. Contact support if you need help. | | **E6216** | 400 | Processor gateway mapping not found for payment method | Unable to locate a processor gateway for method \{pmethod} and paypoint \{paypointId} and group \{pgroup} | Review processor gateway configuration and then retry. Contact support if you need help. | | **E6217** | 400 | Transaction amount outside min / max limit | Transaction amount is outside the set minimum and maximum amount limits | Adjust transaction amount and then retry, or contact support to review amount limits | | **E6218** | 400 | Invalid paymentMethod storedMethodId | Stored method identifier is invalid for the specified payment method | Verify storedMethodId is for the correct payment method and then retry transaction | | **E6219** | 400 | Missing Connector Data | Required processor connector data is missing | Review processor connector data and then retry. Contact support if you need help. | | **E6220** | 400 | Same Day ACH is not enabled | Same Day ACH needs to be enabled for this paypoint before trying Same Day ACH transaction | Enable Same Day ACH and then retry transaction. Contact support if you need help. | | **E6221** | 400 | Transaction is outside the Same Day ACH window | Same Day ACH is only available between 0:00 AM and 2:00 PM EST | Process the transaction as a normal ACH transaction, or wait until window for Same DAY ACH opens. | ### E7000-E7999 Transaction validation errors for amounts, duplicates, authorization states, and business rule violations. | Code | HTTP Status Code | Reason | Description | Resolution | | --------- | ---------------- | ------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **E7001** | 400 | Invalid transaction ID | The provided transaction identifier does not exist in the platform Please note that it may take a short while for the transaction to appear in our system | Review the value of the transaction identifier and try again | | **E7002** | 400 | Invalid transaction status | The status of the transaction does not allow the action requested | Verify the status of the transaction. For refunds, the transaction must be settled. When voiding or canceling a sale, auth, or a refund transaction, the status must be Approved (1) or Authorized (11). | | **E7003** | 400 | Invalid payment method | Stored payment methods cannot be validated | Change the payment method or remove any reference to stored payment method in the request | | **E7004** | 400 | Invalid payment method | Provided payment method cannot be executed | Change the payment method | | **E7005** | 400 | Missing card number | Field cardnumber in payment method object is empty | Provide a valid card number in payment method object | | **E7006** | 400 | Missing payment method | The payment method object is empty | Provide valid data in payment method object | | **E7007** | 400 | Invalid payment method | Stored payment method provided does not exists | Provide a valid data in payment method object | | **E7008** | 400 | Missing payment details | The payment detail object is empty | Provide a valid data in payment detail object | | **E7009** | 400 | Invalid currency code | Currency code provided is invalid | Provide a valid ISO 4217 currency code | | **E7010** | 400 | Invalid card expiration date | The expiration date provided is invalid | Review the expiration date The value need to be in format MM/YY or MMYY | | **E7011** | 400 | Invalid payment method | Not payment instrument was provided in request | Review the payment method object for any missing data | | **E7012** | 400 | Invalid payment method | missing achholder or checknumber in check payment method | Review the payment method object and payment detail object for any missing data | | **E7013** | 400 | Invalid payment method | Missing bank account number in request | Review the payment method object for any missing data | | **E7014** | 400 | Invalid payment method | Invalid bank account type in request | Review the payment method object for any missing data. Accepted values for bank account type are: SAVINGS or CHECKING. | | **E7015** | 400 | Invalid card number | Invalid card number provided | Provide a valid card number in payment method object | | **E7016** | 400 | Invalid CVV number | Invalid CVV number provided | Provide a valid CVV number in payment method object | | **E7017** | 400 | Invalid payment method | Missing device identifier in paymentMethod object | Review the payment method object for any missing data | | **E7018** | 400 | Invalid payment method | Invalid device identifier in paymentmethod object | Review the payment method object for any missing data | | **E7019** | 400 | Invalid payment method | Stored payment method provided and customer do not match | Review the payment method object for any missing data. Provide the customerId linked to the stored payment method provided | | **E7020** | 400 | Error in customer data | Review customer object for any missing or invalid fields | Review customer object for any missing or invalid fields | | **E7021** | 400 | Invalid invoice number | Customer associated to payment does not match with referenced invoice | Review customer object and invoice data provided in request | | **E7022** | 400 | Invalid invoice action | Trying to pay a scheduled Invoice | Review the data provided in request and try again | | **E7023** | 400 | Invalid invoice action | Trying to pay an invoice with a not valid status | Review the data provided in request and try again | | **E7024** | 400 | Invalid invoice action | Trying to pay an invoice with zero or negative amount | Review the data provided in request and try again | | **E7025** | 400 | Invalid invoice action | Trying to overpay an invoice | Review the data provided in request and try again | | **E7026** | 400 | Invalid invoice number | Vendor associated to payment does not match with referenced invoice | Review vendor object and invoice data provided in request | | **E7027** | 400 | Invalid card expiration date | The expiration date provided is invalid | Review the expiration date. The value needs to be in MM/DD/YY format. | | **E7028** | 400 | Invalid card expiration date | The expiration date provided is invalid | Review the expiration date. The value needs to be in MM/DD/YY format. | | **E7029** | 400 | Invalid MCC value provided | The MCC value is invalid | Review the data provided in request and try again | | **E7030** | 400 | Invalid TCC value provided | The TCC value is invalid | Review the data provided in request and try again | | **E7031** | 400 | Invalid expense limit provided | The expense limit value is invalid | Review the data provided in request and try again | | **E7032** | 400 | Invalid expense limit period provided | The expense limit period value is invalid | Review the data provided in request and try again | | **E7033** | 400 | Invalid cardtoken provided | The cardtoken value is invalid | Review the data provided in request and try again | | **E7034** | 400 | Invalid cardtoken provided | The vCard is cancelled already | Review the data provided in request and try again | | **E7035** | 400 | Invalid customer id | The customer ID provided in the request is invalid or does not exist | Review the data provided in request and try again | | **E7036** | 400 | Invalid payment method | Missing bank account holder or check number in request | Review the payment method object for any missing data | | **E7037** | 400 | Invalid transaction status | The current status of transaction does not allow requested action | Review status of transaction before submit the request. The platform does not accept Void actions for payments that are funded or have funding in transit. Similarly, the platform does not accept Refund actions for payments that are not yet settled. | | **E7038** | 400 | Invalid stored method type | Provided stored method is not supported by the paypoint | A universal tokenized method was provided in request but the target paypoint does not support it | | **E7039** | 400 | Invalid stored method type | Provided stored method is not supported by the paypoint | A network tokenized method was provided in request but the target paypoint does not support it | | **E7040** | 400 | Invalid payment method | The type of the stored method cannot be used in 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 | | **E7041** | 400 | Invalid payment method | 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 the payment provider | | **E7042** | 400 | Invalid value field | Provided comments value exceed the limit of 250 chars for this field | Reduce the content and try again | | **E7043** | 400 | Void is declined | Void is not allowed after the batch is closed | Perform a refund instead. A transaction can't be voided after batch close. | | **E7045** | 400 | Missing invoices object in request body | Missing invoices object in request body | Populate invoices object | | **E7047** | 400 | Unique check id and/or check image is missing for ACH BOC | Unique check id and/or check image is missing for ACH BOC | Provide check unique id or check image for the request | | **E7048** | 400 | Routing and account number is required for this transaction. | Routing and account number is required for this transaction. | Provide routing and account number for this transaction. | | **E7049** | 400 | Invalid check unique id. | Invalid check unique id. | Provide a valid check unique id. | | **E7050** | 400 | Invalid payment method | Invalid ACH holder type in the request | Review the payment method object for any invalid data. Accepted values for ACH holder type are: personal or business | | **E7051** | 400 | Invalid payment method | Invalid ACH code in the request | Review the payment method object for any invalid data. Accepted values for ACH code are: WEB, TEL, PPD, CCD or BOC | | **E7052** | 400 | Invalid payment method | The provided ACH code and holder type combination is invalid. CCD as achCode can only be used with a business achHolderType. | Review the payment method object for any invalid data. Ensure that if achCode is CCD, then achHolderType is set to business. | | **E7060** | 400 | Invalid 'initiator' for CIT/MIT | 'initiator' provided for CIT / MIT is not supported | Send the correct 'initiator' for CIT / MIT and then retry the transaction | | **E7061** | 400 | Invalid 'storedMethodUsageType' for CIT/MIT | 'storedMethodUsageType' provided for CIT / MIT is not supported | Send the correct 'storedMethodUsageType' for CIT / MIT and then retry the transaction | | **E7062** | 400 | Invalid 'walletType' | 'walletType' provided in the request is not supported | Send the correct 'walletType' and then retry the request | | **E7063** | 400 | Invalid 'walletToken' | 'walletToken' is missing, expired, incorrectly formatted, or unable to decipher | Refresh and retry the digital wallet transaction. | ### E8000-E8999 Processing state errors when transactions are in incorrect states for requested operations. | Code | HTTP Status Code | Reason | Description | Resolution | | --------- | ---------------- | ------------------------------------ | --------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | | **E8001** | 400 | Invalid Token in request | Provided token is in use under different service | Remove provided token from other services before execute the action | | **E8002** | 400 | Invalid parameter in request | Requested component type require a valid subType | Provide a valid subtype in request | | **E8003** | 400 | 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 | | **E8012** | 400 | Invalid amount | Invalid amount value provided for action | Review the amount provided. Remember that transactions with split funding data do not support partial capture | | **E8013** | 400 | Invalid split funding instructions | Missing or invalid split instructions provided for action | Review the instructions provided for the action, and review amounts and recipients | | **E8014** | 400 | Invalid split funding instructions | Invalid Amount in split instruction. The amount provided is greater than balance in split | Review the instructions provided for the action, and review amounts and recipients | | **E8015** | 400 | Invalid split funding instructions | Invalid Amount in split instruction. The amount provided is different than sum of amounts in split instructions | Review the instructions provided for the action, and review amounts and recipients | | **E8016** | 400 | Invalid split funding instructions | Invalid Amount in split instruction. The amount cannot be negative | Review the instructions provided for the action, and review amounts and recipients | | **E8082** | 400 | Invalid split funding instructions | Empty recipient value in split funding instructions | Review the instructions provided for the action, and ensure that all the recipients for split are provided | | **E8083** | 400 | 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, and ensure that all the recipients for split are in the same level under the same parent organization | | **E8084** | 400 | Invalid split funding instructions | Invalid amount in split instruction. The amount cannot be negative or zero. | Review the instructions provided for the action, and review amounts and recipients | | **E8086** | 400 | Invalid split funding instructions | Provided recipient does not have a configured funding account | Review the recipient information. If necessary, contact the support team to configure the funding account for the recipient | | **E8088** | 400 | Invalid split funding instructions | Origination for split need to be included in split instructions | Review the instructions provided for the action, and review the recipients | | **E8099** | 400 | Invalid split funding instructions | Origination entrypoint does not have split funding enabled | Contact support to have split funding enabled | ### E9000-E9999 System-level errors, unknown conditions, and fallback responses for unexpected scenarios. | Code | HTTP Status Code | Reason | Description | Resolution | | --------- | ---------------- | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **E9001** | 400 | Invalid Authorization Token | The token does not have access to entity in scope or the token is not allowed to execute requested action | Use an authorized API token for the request. Review the reference to the entity in request parameter (entry name, paypoint id, organization id, signing) for correctness and ensure it is within the token scope | | **E9002** | 400 | Unauthorized Token | User or Customer entity does not have permission to the requested action | Verify permissions assigned to User or Customer entity | | **E9003** | 400 | Unauthorized Token | Token type or origin IP address are not accepted by action | Use the correct API token for action. The token type is different for web components than for direct API access. Verify whether your token has IP restriction | | **E9004** | 400 | Inactive Paypoint | The paypoint is not active in the platform | Contact support to clarify the status of your paypoint account | | **E9005** | 400 | Blocked by Fraud Control | The card or the origin IP of request is blacklisted in the platform | Contact support to clarify the status of your paypoint account | | **E9006** | 400 | Unauthorized Token | Expected validation code is missing or invalid | Use the correct validation code for action. Verify value provided in captcha for payment pages. | | **E9007** | 400 | Invalid entryId | The provided entry id is invalid | Review the data provided in request and try again | | **E9008** | 400 | Invalid orgId parameter | The organization ID parameter provided is invalid or does not exist | Provide a valid orgId parameter | | **E9009** | 400 | Invalid entrypoint name | The entrypoint name provided does not exist in the system | Review the entrypoint name in the request and try again | | **E9010** | 400 | Invalid Fraud History Id | The fraud history ID provided is invalid or does not exist | Provide a valid Id parameter | | **E9011** | 400 | Unauthorized Token | Domain origin not in scope | Review your domain restrictions to see the the domain originating the request is included in scope | | **E9013** | 400 | Invalid Tier Id | The tier ID provided is invalid or does not exist | Provide a valid Id parameter | | **E9014** | 400 | Invalid Tier Name | The tier name provided is invalid or does not exist | Provide a valid name parameter | | **E9031** | 400 | Expired Request Token | Token has expired or no longer exists. | A new token must be generated; any token chain operations must be restarted. | | **E9051** | 400 | Fraud alert | A velocity fraud alert condition was triggered | Verify your request and fraud limits with customer services | | **E9052** | 400 | Export action | Error in the download file format | Verify that the format of the download file is the correct one for the action | | **E9060** | 400 | Timeout | Timeout threshold with processor exceeded. Transaction may have been successful on processor. Verify transaction status before retry. | Verify the transaction result before retry. Contact support if you need help. | | **E9999** | 500 | Unexpected error | The transaction or action encountered an unexpected response from backend processor or other services. | Try again later. If the issue persists, contact Customer Support. | *** title: Pay In TransEvent reference subtitle: Learn about TransEvent values for pay in transactions icon: message-dots slug: guides/pay-in-transevents-reference area: * Pay In subArea: * Reference audience: * developers * partners description: >- Track lifecycle events for Pay In transactions with TransEvent values. Understand approvals, declines, settlements, refunds, chargebacks, and batch operations 'og:description': >- Track lifecycle events for Pay In transactions with TransEvent values. Understand approvals, declines, settlements, refunds, chargebacks, and batch operations keywords: >- embedded payments, payment processing, accept payments, vendor payments, transaction events, payment lifecycle, transaction status, payment tracking, settlement events, batch processing *** Transaction events are notes about each event that a transaction goes through during its lifecycle. This reference covers the most common `TransEvent` values you will see on pay in transactions. Most of the time, the `EventData` object contains more details about the `TransEvent`. For example `EventData` may contain information about why an operation failed, or a substatus explaining more about the event. This reference does not include every possible `TransEvent` value. Some events are specific to certain payment methods or processors. If you need information about a specific event not listed here, please contact Payabli support. If you're looking for Pay Out transaction events, see the [Pay Out TransEvent reference](/guides/pay-out-transevents-reference).
TransEvent Description Maps To
ACH Return Transaction has an ACH return. -2 (ACH Return or Chargeback)
Approved Transaction approved. 1 (Approved)
Authorized Transaction authorized. 11 (Authorized)
Capture Authorized transaction captured. 1 (Captured)
Capture Declined Authorized transaction capture failed. 2 or 3 (Declined)
Cfee Split Event related to batches and funding. N/A
Chargeback Transaction has a chargeback. -2 (ACH Return or Chargeback)
Closed Batch Batch closed. 1 (Closed)
Compensation Event related to batches and funding. N/A
Created The first event for a transaction, created automatically when a transaction is started. N/A
Declined Transaction declined. 2 or 3 (Declined)
Hold Transaction or batch held. -5 (Held) in transactions or batch statuses.
Refund Transaction refunded. N/A
Refund Declined Transaction refund failed. N/A
Refund (Split) Transaction with split instructions refunded. N/A
Released Transaction released. -6 (Released)
Returned Transaction has a chargeback or ACH return. -2 (ACH Return or Chargeback)
Settled Batch or transaction settled. 3 (Settled) in batches , payment funding , and transfer statuses, depending on the context.
Split Transaction split. N/A
Transferred Funds transferred. 2 (Transferred) in batches , payment funding , and transfer statuses, depending on the context.
Void Transaction voided. 5 (Voided/Canceled)
Void Declined Transaction void failed. N/A
*** title: Pay Out overview subtitle: >- Learn more about Payabli's Pay Out features, and find all the guides in one place description: >- Streamline vendor payments with managed payables and turn AP into revenue. Pay vendors via virtual card, ACH, or check and earn interchange on every transaction 'og:description': >- Streamline vendor payments with managed payables and turn AP into revenue. Pay vendors via virtual card, ACH, or check and earn interchange on every transaction keywords: >- embedded payments, vendor payments, payables automation, managed payables, vendor payouts, accounts payable, bill payment, B2B payments slug: guides/pay-out-overview icon: circle-info area: * Pay Out audience: * developers * partners * merchants *** Payabli's Pay Out features cover getting your payables out of your bank and to your vendors. Throughout the docs, "Pay Out" is also referred to as "money out". You might be used to "payout" referring to getting your money from your processor. In Payabli, "payouts" are payments made *from* you *to* vendors you owe money to. Think of payouts as paying bills, not getting your check deposited. Payabli's Pay Out capabilities include: * Managed payables to make frictionless and secure payments to your vendors. * Billing engine to centralize your pay-out tasks in Payabli to track, manage, and monetize payments to vendors. These guides help you make the most of Payabli's Pay Out features. ## Vendors Vendors are the entities that provide goods or services to paypoints and organizations. They're who gets paid when you make a payout transaction. These guides cover managing vendors in Payabli. * [Manage vendors with the API](/guides/pay-out-developer-vendors-manage) — Learn how to add and manage vendors with the Payabli API * [Manage Vendors in the UI](/guides/pay-out-portal-vendors-manage) — Learn how to add and manage vendors in the Payabli UI ## Bills Bills are the invoices you receive from your vendors for goods and services. You can make payouts to vendors based on these bills. These guides cover managing bills in Payabli. * [Manage bills with the API](/guides/pay-out-developer-bills-manage) — Learn how to add and manage bills for vendors via the API * [Manage bills in the UI](/guides/pay-out-portal-bills-manage) — Learn how to add and manage bills in the Payabli UI * [Bills & invoices](/guides/platform-bills-vs-invoices) — Learn the difference between bills and invoices * [Manage line items with the API](/guides/platform-developer-line-items-manage) — Learn how to add and manage line items for products and services via the API * [Manage line items & the catalog from the UI](/guides/platform-portal-catalog-manage) — Learn how to manage products and services in the Payabli UI ## Payouts Payouts are the actual payments you make to your vendors. These guides cover managing payouts in Payabli. * [Understand positive pay](/guides/pay-out-checks-positive-pay) — Learn how Positive Pay works to prevent check fraud * [Get payout transaction check image with the API](/guides/pay-out-developer-checks-get-image) — Learn how to get the check image for a paid payout to a vendor via the API * [Manage vendor payment links](/guides/pay-out-developer-payment-links-manage) — Generate, send, and manage payment links for bills so vendors can choose their preferred payment method * [Audit payout transactions with the API](/guides/pay-out-developer-payouts-audit) — Learn how to use the Payabli API to track and audit payout transactions * [Manage payouts with the API](/guides/pay-out-developer-payouts-manage) — Learn how to use the Payabli API to create, capture, and cancel payout transactions * [Understanding payables](/guides/pay-out-payables-overview) — Learn about managing your payables and payouts with Payabli * [Get Payout transaction check image in the UI](/guides/pay-out-portal-check-images-get) — Learn how to get the check image for a paid payout to a vendor from PartnerHub or PayHub ## Troubleshooting If you run into issues while using Payabli's Pay Out features, check out [the Pay Out troubleshooting guide](/guides/pay-out-troubleshooting) for help resolving common problems. *** title: Understanding payables icon: envelope-open-dollar subtitle: Learn about managing your payables and payouts with Payabli description: >- Modernize accounts payable with flexible vendor payment options including checks, ACH, and virtual cards. Streamline bill processing and vendor management now 'og:description': >- Modernize accounts payable with flexible vendor payment options including checks, ACH, and virtual cards. Streamline bill processing and vendor management now keywords: >- embedded payments, vendor payments, payables automation, accounts payable, vendor management, bill processing, payment methods, payout processing slug: guides/pay-out-payables-overview area: * Pay Out subArea: * Payouts audience: * developers * partners * merchants *** Accounts payable (AP) is how businesses manage payments to vendors, suppliers, and other external parties. It includes recording, verifying, and paying invoices for goods and services a business receives. A well-managed AP process helps maintain your business's financial health by making sure that you pay your obligations on time and stay on budget. For the best payables experience, there are some best practices to optimize bill processing, payment management, and vendor relationships. Here are key features and functions to look out for from your payables partner: * Bill processing tools that can scan and digitize paper invoices, automatically extracting key information. * An approvals system that can route payout requests to the right people for approval and track approvals. * Vendor relationship management tools that can track vendor interactions and performance. Payabli's Pay Out APIs and UI offer easy-to-use tools for managing your payables program and sending payouts (payments) to your vendors and suppliers. ## Payout payment methods Payabli enables three different payout payment methods, each of which presents different opportunities for monetization: * Mailed checks * ACH payments * Virtual cards Each payout type has distinct characteristics, costs, and revenue opportunities for partners. ### Mailed checks There have always been costs associated with making payments by mailing checks: labor, paper, envelopes, postage, and so on. Because those costs aren't assessed in the form of a separate fee, they're easy to forget about. When Payabli handles payments by mailed check, the partner pays a fee for the service which is similar to what you'd pay to process check mailings in-house. This fee is to cover the costs involved with the digitization of this service. Partners can then monetize this by charging either the merchant or the customer a premium for the privilege of using checks. For example, if Payabli charges a partner \$2 for mailing a check, the partner can monetize this service by charging \$4 to the merchant or customer. Partners can also choose to absorb the fees themselves. ### ACH payments When a vendor wants to be paid by ACH, Payabli charges the partner a fee for the ACH. Partners can pass this fee through at cost or monetize these payments by adding a markup, or they can opt to charge nothing and absorb the cost themselves. This is common in emerging markets, where partners are trying to remove incremental costs. Another partner option is to charge a monthly, all-inclusive subscription fee for ACH payments. ### Virtual cards Virtual card payments are essentially the same thing as accepting a credit card for an invoice. The vendor's Merchant Services Provider (MSP) takes a percentage of the transaction. For example, on a \$100 payment with a 1% fee, the vendor ultimately receives \$99, while the MSP receives \$1. Payabli doesn't charge partners for virtual cards. For transactions like the one described in the example above, part of the percentage comes back to Payabli, who is acting as the program manager with the issuing bank. Payabli shares that revenue with the partner. At scale, the amount a partner receives from this revenue stream can become significant. Partners often use it as a way to offset absorbing the cost of ACH and mailed check payments. ## Running your payables Payabli has two different payables programs: managed payables, and on-demand payouts. Which solution is right for you depends on your business and your goals. | Program Type | Key Feature | Best For | Funding Model | | ----------------- | --------------------------------------------------------- | ------------------------------------------------------------------ | ---------------------------- | | Managed payables | White glove service with dedicated team managing payments | Mid market/enterprise, property management, healthcare, government | Good funds model only | | On-demand payouts | Instant payment processing with later fund collection | Businesses with stable financials seeking flexibility | Good funds and credit models | ### Managed payables Managed payables are a white glove service and solution that offers businesses the convenience of outsourcing their bill payment processes. With this model, a dedicated team takes charge of determining the method and timing of payments to vendors on behalf of the business. **Pros:** * Hands-off approach for businesses after the bill is approved * Expert oversight and management that drives digital payment adoption * Full reconciliation of all payments * Comprehensive exceptions management * Reduced operational burden for vendor management **Cons:** * Less control over payment timing and methods because vendor enablement is managed * This program operates in a good funds model which requires having funds available up front (between 2 and 4 days in advance) **Considerations:** * Minimizes rejected payments risk * Reduces credit exposure through a good funds model ### On-demand payouts With on-demand payouts, payments to vendors are made immediately, and funds collected from the merchant afterward. **Pros:** * Instant payment processing means partners and merchants are in control of payment timing * Better cash flow optimization through the credit model with Payabli's partner banks * Customizable check features for enterprise clients * Direct check printing from sender's bank account so merchants can leverage positive pay with their banks **Cons:** * Partners and merchants must own the vendor enablement through Payabli APIs or tools * Partners may have additional PCI scope if they want to view virtual cards details in their platform * Partners might see lower adoption of digital payments when compared to a white glove vendor enablement service **Considerations:** * Partners need to consider the payment types available and how to manage their nuances within the program * Merchants and partners must qualify for the credit model ## Funding your payables Before a business can pay their bills through an automated flow, the payables program needs access to funds to cover the cost of the bills. Those funds are collected before the bill is initiated (good funds model) or in parallel to the initiation (credit model). The next sections explain these models. ### Good funds model In the good funds model, payments to vendors are initiated only after the funds are verified and settled, eliminating the risk of payment failures or insufficient funds. Some key features of the good funds model are: * Pre-verification of funds: Before any payment is initiated, the system verifies the availability of funds in the designated account to ensure that the payment can be successfully processed without any delays or complications. * Settlement before payment: Funds are settled and confirmed in the account before the payout transaction is executed, providing assurance that the necessary funds are securely in place. For paypoints, the good funds model could mean payments are pulled from their account 2 to 3 days in advance of the due date. ### Credit model The AP credit model helps businesses to optimize cash flow, manage working capital, and maintain strong vendor relationships while mitigating credit risk. In this model, the paypoint or organization are underwritten to determine their creditworthiness. After they're underwritten and approved, they're able to initiate payouts to suppliers and vendors on credit. Some key benefits of the credit model are: * Improved cash flow management: Businesses can preserve working capital for core operational expenses or strategic investments, optimizing working capital efficiency and financial performance. * Relationship building with suppliers: Offering quick payments may also enable businesses to negotiate favorable terms, discounts, or incentives with suppliers, reducing procurement costs. It's good to know that access to the credit line is contingent upon the business's creditworthiness and ability to meet repayment obligations. Businesses with poor credit history or limited financial resources may have challenges in getting approved for this model or may be subject to higher interest rates and more stringent terms. The credit model is only used for issuing virtual cards (vCards). ## Payables at Payabli Payabli makes it easy to manage your accounts payable process through two key components: a one-time paypoint boarding process, followed by ongoing payout management. ### Boarding paypoints When paypoints apply for merchant services with Payabli, they go through a comprehensive underwriting process to ensure that their business meets Payabli's standards and requirements. Here's what you can expect: The partner collaborates with Payabli, providing the application and information required to underwrite and board the merchant's account. Merchants must submit an application with comprehensive documentation so Payabli can underwrite them and perform thorough Know Your Customer (KYC) checks. Documentation may include identity verification documents for authorized signatories, proof of address, business licenses, and any other relevant documentation to validate the client's identity and business legitimacy. The Payabli team evaluates the application and documentation, adhering to KYC protocols to mitigate risks associated with financial crimes, fraud, and money laundering. If the merchant is approved, Payabli boards the account with a trusted bank partner. This collaborative effort makes sure that the account is seamlessly integrated into the payables program. After the merchant has been successfully boarded, Payabli confirms to the merchant that they're enrolled in the payables program and are ready to initiate bill payments. The timing of this process can vary by program and configuration. With all necessary compliance checks completed and the account fully onboarded, the merchant is able to begin initiating payouts through Payabli. ### Vendor management Before you start issuing pay outs, you must create your vendors. You can manage vendors via the [API](/developers/api-reference/vendor/create-vendor) and the [UI](/guides/pay-out-portal-vendors-manage). You can also enable vendors via Vendor Links. ### Processing payouts After a paypoint's boarding is complete, they can issue payments (pay outs) to vendors. The payout process works like this: The payment process begins when a paypoint creates a payout request. This could also involve creating a bill in Payabli to retain record information about the vendor's invoice and the payment. Before funds are collected for payment, the payment request typically undergoes a series of approvals within the paypoint. These approvals make sure that the payment request is legitimate, accurate, and authorized by the appropriate individuals or departments within the paypoint. When the payment is initiated funds are collected from the paypoint. This could occur through various methods, such as direct debit from the paypoint's bank account, credit card payment, or transfer from a designated account. **For managed and good funds payables:** After funds are collected from the paypoint, the payment request continues processing. This step ensures that the payment request meets the necessary criteria and is approved for processing. Authorization may involve validation of payment details, verification of available funds, and adherence to internal or regulatory policies. **For on-demand payouts:** The payment is initiated immediately and provided to the paypoint or vendor to begin processing. The funds collection process is initiated in parallel. After the payment is processed, confirmation of the transaction is provided to both the paypoint and the vendor. Settlement occurs when funds are transferred from the paypoint's account to the recipient's account, completing the payment transaction. After payments are processed and reconciled, the payables product may offer additional features for post-payment management. This includes options for initiating disputes, and vendor payment reporting analytics. ## Payout Calculator Use the interactive calculator below to estimate the time between initiating a payout and when funds are available to your vendors. This calculator doesn't apply to managed payouts. ### Payout timeline reference The payout timeline calculator estimates the calendar days from when you initiate a payout to when funds are available to vendors. You can select the payment method, capture date and time, and a hold period from 0–7 days. The batch cutoff is 9:00 PM ET. Payments captured afterward are included in the next business day's batch. The calculator accounts for weekends and federal holidays. Here's a summary of the timeline for each payment method: * **ACH** — Funds are pulled from the payer's account, held for the configured hold period, then an ACH credit is sent to the vendor's bank. Funds typically arrive 1–4 banking days after the ACH is sent. With a 3-day hold, expect around 6–9 calendar days from capture to funds available. * **Virtual Card (Credit)** — The virtual card is available to the vendor immediately upon capture. Funds are pulled from the payer's account in the background. This is the fastest option but not all vendors are eligible. * **Virtual Card (Good Funds)** — Funds are pulled and held first. The virtual card becomes available after funds clear, typically 3–5 banking days from capture depending on hold period. * **Paper Check** — The check is printed and mailed via USPS the business day after batch close. No hold period is applied because checks are drawn from the merchant's bank account. Delivery takes 3–13 calendar days depending on USPS. ## 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 * **[Understand positive pay](/guides/pay-out-checks-positive-pay)** - Learn how Positive Pay works to prevent check fraud * **[Understanding managed payables](/guides/pay-out-managed-payables-overview)** - Learn about managed payables and the vendor enablement process *** title: Understanding managed payables subtitle: Learn about managed payables and the vendor enablement process description: >- Streamline vendor payments with managed payables and turn AP into revenue. Let vendors choose their payment method while you earn interchange on virtual cards 'og:description': >- Streamline vendor payments with managed payables and turn AP into revenue. Let vendors choose their payment method while you earn interchange on virtual cards keywords: >- embedded payments, vendor payments, payables automation, managed payables, virtual cards, vendor enablement, accounts payable, payment methods icon: envelopes-bulk slug: guides/pay-out-managed-payables-overview area: * Pay Out subArea: * Managed Payables audience: * partners * merchants * developers *** Payabli's managed payables feature lets you pay your vendors quickly via the payment method that they choose. This guide explains the payment enablement process, sending payments, and handling payment exceptions for managed payables. ## Vendor enablement process This section explains the general process the payment enablement follows. After the payout is captured in Payabli, the payments enablement team calls the vendor within 36 business hours of capturing payments to verify their preferred payment method. The payment enablement team calls the vendor from a phone number with an (801) area code. They ask for the accounts receivable department and introduce themselves with: "My name is \[name] and calling on behalf of \[name of merchant]" Sometimes the vendor doesn't answer the call, or the payment enablement team can't reach the right person. In this case, the team will try to call one more time, or they will leave a message and wait 1 day for a return call. If the vendor doesn't return the call, or the team can't reach the vendor on the second attempt, the team automatically dispatches the payment as a physical check. The team will try vendor enablement again on the next payment to that vendor. The payments enablement team first offers to pay the vendor by vCard. 1. If the vendor accepts payment by vCard, then the payment is completed by vCard. 2. If the vendor wants to accept a vCard, but they charge a service fee above 1.2%, the payment enablement team then suggests ACH instead. 3. If they don't want to take vCard, either because they don't have the ability to or the fee is too high, then the payment enablement team will suggest ACH. The payment enablement team offers to pay the vendor via standard ACH. If the vendor accepts, then they must complete an ACH/Direct Deposit enrollment form and submit one of the following documents that includes their business name, business address, and account information: * Printed voided check from the banking institution * Account information on official bank letterhead * First page of a bank statement It can take 1-3 days to review the documentation and process the vendor's ACH enrollment. After the vendor is enrolled, payments typically take between 3-5 business days to process, depending on the financial institution. * If the form is completed and enrollment is successful, the vendor is paid via ACH. * If the form is returned incomplete, then the payment is sent as a physical check. * If the form isn't returned within 2 days, then the payment is sent as a physical check. If the vendor doesn't accept ACH, then they're mailed a physical check. The check is processed within 2 days and mailed. Delivery is subject to US Postal Service operations, and the recipient must deposit the check into their bank. This diagram shows the enablement process from a high level. Managed payables vendor enablement decision tree

Diagram: Managed Payables Vendor Enablement Process

This diagram shows the decision tree for vendor payment method selection:

  • Payment enablement team calls vendor within 1-2 days of captured payout
  • First attempt: Offer vCard payment
    • If vendor accepts: Process vCard payment
    • If vendor declines: Move to ACH attempt
  • Second attempt: Offer ACH payment
    • If vendor accepts and completes enrollment form: Process ACH payment (takes 1-3 days to review documentation, 3-5 business days to process)
    • If vendor declines, submits incomplete form, or doesn't return form within 2 days: Send paper check
  • Final fallback: Paper check mailed via USPS
## Required vendor information To ensure successful enablement, Payabli requires the following information for each vendor: * Contact name * Phone number * Email address Make sure this information is current and accurate. Payabli also needs the correct remittance address to ensure check payments are properly delivered. ## Sending payments Payments in the Payabli managed payables system follow this timeline: * Payments captured before 3:30 PM ET typically pull funds from the payer's account by the next business day * A two-day hold is applied to ensure all funds clear * Once funds clear, payment is sent through the method selected during enablement The specific delivery method and timing depends on the payment method: * **VCard**: Payments arrive by email * **ACH**: Typically arrive within three to five business days (timing depends on the banks) * **Check**: Sent through USPS First Class Mail, typically taking five to ten business days to arrive ## Canceling payments You can void or cancel a payment before it's processed or captured, but only before the 3:30 PM ET capture cutoff. After this cutoff: * The bank draw happens automatically * Cancellations are still possible, but require the funds to arrive in the FBO holding account before they can be reversed * To cancel a payment that's already been sent, contact Payabli's payment support team ## Updating vendor information To update a vendor's address or remittance information: * Make the change on the next payment submitted for that vendor when the payment enablement team calls * Note that updating this information in the Payabli portal won't automatically update the remittance address See [How do I change a vendor name with managed payables?](/guides/pay-out-troubleshooting#how-do-i-change-a-vendor-name-with-managed-payables) for complete details. ## Payment exceptions ### Lost or delayed checks If a check is lost or not received: * Contact Payabli's payment support team to stop payment on the original check and issue a new one * The reissued check will be sent within two to three business days of your request * Wait at least two weeks from the date your check was sent before requesting a replacement check due to potential USPS delays ### Undeposited checks If a check is received but not deposited: * The Payabli client success team will attempt to determine if it should be cancelled and reissued * If the check remains undeposited for 190 days, Payabli cancels it and returns the funds to the sender * Checks deposited more than 180 days after issuance are subject to review Payabli must make contact with the vendor before sending a replacement check. The merchant should contact the vendor for instructions on re-sending the payment. ### vCard payment issues If a vCard payment is made but not received: * Contact Payabli's payment support team to resolve the issue * Credit card payments that are received but not processed remain open in Payabli's systems for 180 days * Consider adding reminders in your platform when showing an open vCard payment with a status of "processed" * If a vCard payment is only processed for a partial amount, that vCard can't be used again. If you need to run more partial payments on that vCard, contact Payabli's payment support team. ## Considerations * Canadian vendors are paid only by paper check, and don't go through the full vendor enablement process. * If a vendor doesn't accept an electronic payment method and instead receives a mailed check, the payment enablement team will attempt to enable electronic payments on the next submitted invoice. * For banks that require a allowlist or positive pay, the sender must approve the funding account to draft funds from their account. Contact your bank and give them the Repay bank ID: 2820959731. * Payments worth hundreds of thousands of dollars or more, or payments that look suspicious, may be flagged for review by the bank or Payabli's risk department. *** title: Understand positive pay icon: money-check subtitle: Learn how Positive Pay works to prevent check fraud description: >- Prevent check fraud with Positive Pay verification that matches issued checks against bank deposits. Protect against forgery, counterfeits, and check washing 'og:description': >- Prevent check fraud with Positive Pay verification that matches issued checks against bank deposits. Protect against forgery, counterfeits, and check washing keywords: >- embedded payments, vendor payments, payables automation, check fraud, positive pay, fraud prevention, payment security, check verification slug: guides/pay-out-checks-positive-pay area: * Pay Out subArea: * Payouts audience: * developers * partners * merchants *** Despite the rise of digital payments, checks remain popular in payables for several reasons: * Legacy systems and business practices: Many companies have entrenched processes that rely on check issuance. For certain B2B payments or government transactions, checks are still the preferred or required payment method due to the longevity and reliability of these systems. * Underbanked populations: Some individuals or businesses might not have easy access to digital payment systems, preferring checks for their simplicity and universal acceptance. * Minimal transaction fees: Many digital payment platforms charge fees for processing transactions, but with checks, the only costs are printing and mailing. This is attractive for organizations issuing or collecting payments at scale. However, checks come with significant fraud risks, including: * Check forgery: Fraudsters can alter the details on a check to withdraw funds from the payer's account. * Counterfeit checks: Fraudulent checks can be created to mimic legitimate ones, deceiving businesses into accepting fake payments. * Check washing: Criminals can steal checks and erase details like the payee's name, allowing them to cash the check themselves. You can mitigate these risks by integrating Positive Pay. This guide explains how Positive Pay works and how to implement it to prevent payout check fraud. ## What Positive Pay is Positive Pay is an automated fraud prevention tool that matches the details of issued checks with those presented for payment. The bank or financial institution compares the check number, payee, and amount with the check-issuance file provided by the business. If discrepancies arise, the bank flags the check for further review before clearing the payment. Contact your bank to understand which Positive Pay features they support. Most institutions offer the following: * Check matching: Every issued check is compared to a list of checks the business has authorized. * Discrepancy alerts: Any discrepancies between the check information and the records trigger alerts for manual review. * Prevention of altered checks: It helps detect alterations to checks after they're issued by verifying key fields like the amount or payee. These functions help keep businesses secure ## How Positive Pay works First, the merchant must issue a payout request to Payabli. After the check is issued, you can pull a report from Payabli with check details (check number, issue date, payee, and amount), and the merchant can send this file to their bank. When the check is presented to the bank for payment, the bank compares the check's details with the previously submitted file. If the check details doesn't match the details included in the file, the bank notifies the merchant of the discrepancy before processing the check. The merchant then decides whether to honor or reject the payment. By verifying the check's details, Positive Pay reduces the likelihood of fraudulent transactions being processed. ## Reporting Use following fields from the [Payout Query endpoint](/developers/api-reference/query/get-list-of-payouts-for-entrypoint) response to get check number information. ```json { "paymentDetails": { "totalAmount": 100, "CheckNumber": 1234 }, "CreatedAt": 2022-07-01 15:00:01 } ``` *** title: Manage payouts with the API subtitle: >- Learn how to use the Payabli API to create, capture, and cancel payout transactions description: >- Execute vendor payments with a two-step authorize-and-capture flow. Process payouts via virtual card, ACH, or check with support for multiple invoices each 'og:description': >- Execute vendor payments with a two-step authorize-and-capture flow. Process payouts via virtual card, ACH, or check with support for multiple invoices each keywords: >- embedded payments, payment API, REST API, vendor payments, payables automation, payout processing, vendor disbursements, payment authorization slug: guides/pay-out-developer-payouts-manage icon: envelopes-bulk area: * Pay Out subArea: * Payouts audience: * developers *** Use Payabli's payout functions to authorize, capture, and cancel vendor payment transactions. This guide covers the complete payout lifecycle through the API. ## Considerations Keep these considerations in mind when working with payouts: * Payouts follow a two-step process: authorize then capture. * You can include multiple invoices on a payout request, provided that the invoices are for the same vendor. * At this time, you can make payouts to US and Canadian vendors only. Only paper check payments are available for Canadian vendors. * Payout processing supports ASCII characters only. Don't send non-ASCII characters in any fields related to payout processing. ## Authorize a payout request A payout request starts the process for paying vendors. Creating a payout request authorizes it immediately, but the transaction isn't flagged for batch processing until it's captured. Send a POST request to `/api/MoneyOut/authorize` to create a new payout authorization. See the [API reference](/developers/api-reference/moneyout/authorize-a-transaction-for-payout) for full documentation. This example authorizes a payout. The amount is \$47, the vendor number is 7895433, and the only invoice being paid is 54323. This example authorizes a payout using a stored ACH payment method. The amount is \$47, the vendor number is 7895433, and the only invoice being paid is 54323. A successful request returns a JSON response. You need the referenceId from the response to capture the transaction. In this example, the ID is 129-219. ### Send bill image with payout authorization For the smoothest payout experience, Payabli recommends to always attach an image of a bill in the `invoiceData` object. For example: If you use Payabli's [bill engine](/guides/pay-out-developer-bills-manage), you can add the bill image when you create the bill. If not, you can include a bill image with your payout authorization request. You have two options for attaching the image: * Base64-encoded string * A publicly accessible fURL where the file is hosted How you attached the image affects how Payabli handles the file. The table below summarizes the differences between the two methods. | Method | doNotCreateBills is true | doNotCreateBills is false | | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Base64-encoded | Payabli doesn't save a file for the base64-encoded content. During the money out capture process, Payabli sends out the capture to the payout processor without any file information. | Payabli stores base64-encoded content as a file. During the capture process, Payabli generates a publicly accessible URL for the file and sends it to the payout processor. | | fURL | If you have the file hosted publicly, you can send the file's URL as the `fURL` instead. Payabli doesn't save the file. During the capture process, Payabli passes the URL you sent with the request to the payout processor. | If you have the file hosted publicly, you can send the file's URL instead. Payabli uses the URL from the request to save the file. During the capture process, Payabli generates a publicly accessible URL for the file and sends it to the payout processor. | ### Payouts with saved ACH payment methods Vendors can have many stored ACH accounts, and you can send payouts to any of their accounts using `storedMethodId` in the payout request. How the process works depends on whether the vendor already exists in the system and how many ACH payment methods they have stored. If the vendor already exists and has exactly one ACH method stored, the system automatically uses that stored method. `storedMethodId` is not required. ```json { "entryPoint": "48acde49", "source": "api", "paymentMethod": { "method": "ach" }, "paymentDetails": { "totalAmount": 150.00 }, "vendorData": { "vendorNumber": "ACME-12345" } } ``` If the vendor has multiple ACH methods stored, you must specify `storedMethodId` to indicate which account to use. ```json { "entryPoint": "48acde49", "source": "api", "paymentMethod": { "method": "ach", "storedMethodId": "4c6a4b78-72dc-4bdd-9455-b9d30f991ee1-138020" }, "paymentDetails": { "totalAmount": 150.00 }, "vendorData": { "vendorNumber": "ACME-12345" } } ``` If the vendor doesn't exist or doesn't have any ACH method stored, `billingData` is used to: * Create a new ACH stored method in the vault * Use that method for the payment In this case, `billingData` is required and if you don't include it, you'll get an error. ```json { "entryPoint": "48acde49", "source": "api", "paymentMethod": { "method": "ach" }, "paymentDetails": { "totalAmount": 275.50 }, "vendorData": { "vendorNumber": "SUPPLIES-789", "name1": "Metro Office Supplies Inc", "name2": "Commercial Division", "ein": "12-3456789", "phone": "555-123-4567", "email": "billing@metroofficesupplies.com", "address1": "1425 Business Park Drive", "address2": "Suite 200", "city": "Austin", "state": "TX", "zip": "78759", "country": "US", "mcc": "5943", "remitAddress1": "1425 Business Park Drive", "remitAddress2": "Accounts Payable", "remitCity": "Austin", "remitState": "TX", "remitZip": "78759", "remitCountry": "US", "vendorStatus": 1, "billingData": { "bankName": "Wells Fargo Bank", "routingAccount": "121000248", "accountNumber": "9876543210", "typeAccount": "Checking", "bankAccountHolderName": "Metro Office Supplies Inc" } } } ``` In future requests for this vendor, you can use the stored method without needing to include `billingData` again. Payabli automatically saves the ACH account details as a stored method in the vault. ## Capture a payout transaction Send a POST request to `/api/MoneyOut/capture/{referenceId}` to capture an authorized payout transaction. See the [API reference](/developers/api-reference/moneyout/capture-an-authorized-payout-transaction) for full documentation. This example captures the authorized payout transaction with ID `129-219`. A successful request returns a JSON response. ## Cancel a payout transaction Pay Out transactions don't support refunds. You can cancel a payout before or shortly after capture, but once the payment status has changed to `processed`, the transaction can't be reversed. To recoup funds from a processed payout, you'd need to collect a Pay In payment from the vendor. Send a POST request to `/api/MoneyOut/cancel/{referenceId}` to cancel a payout transaction. See the [API reference](/developers/api-reference/moneyout/cancel-a-payout-transaction) for full documentation. You can cancel an authorized payout at any time, because it hasn't started processing. After a payout is captured, you have a small window in which you can cancel it. This example cancels the authorized payout transaction with ID `129-219`. A successful request returns a 200 response with a JSON body. ## Related resources See these related resources to help you get the most out of Payabli. * **[Audit payout transactions with the API](/guides/pay-out-developer-payouts-audit)** - Learn how to use the Payabli API to track and audit payout transactions *** title: Manage vendor payment links subtitle: >- Generate, send, and manage payment links for bills so vendors can choose their preferred payment method description: >- Use the Payabli API to generate and send vendor payment links. Vendors select their preferred payout method — ACH, virtual card, or check — through a secure, hosted page. 'og:description': >- Use the Payabli API to generate and send vendor payment links. Vendors select their preferred payout method — ACH, virtual card, or check — through a secure, hosted page. keywords: >- vendor payment links, pay out, vendor enablement, payment links, bill payments, ACH, virtual card, vCard, check payout slug: guides/pay-out-developer-payment-links-manage icon: link-simple area: * Pay Out subArea: * Payouts audience: * developers *** Use vendor payment links to let vendors choose how they want to get paid. When you generate a payment link for a bill, the vendor receives a secure, hosted page where they can select their preferred payment method — ACH, virtual card (vCard), or check. Their choice is stored and reused for future payouts, so you don't need to collect payment details manually or send additional links. This is ideal for on-demand payout workflows where you need vendors to self-enroll their payment preferences without building your own collection UI. ## Considerations Keep these in mind when working with vendor payment links: * You must [create a vendor](/guides/pay-out-developer-vendors-manage) and a [bill](/guides/pay-out-developer-bills-manage) before generating a payment link. * The payment link is tied to a specific bill. When the vendor completes the link, Payabli automatically authorizes and captures the payout, and the vendor's payment method preference is stored for future use. * Paypoints control which payment methods are offered to the vendor. You can configure the link to show any combination of ACH, virtual card, and check. * You can send payment links via email. ## Payment methods Vendor payment links support the following payout methods. Paypoints determine which methods to offer each vendor. | Method | Description | Delivery speed | | ------------------------ | -------------------------------------------------------------------------------------------------------------------------------- | -------------------- | | **Virtual card (vCard)** | A single-use virtual credit card delivered to the vendor via secure email. Includes card number, expiration, and CVV behind MFA. | Same day or next day | | **ACH transfer** | A direct electronic bank transfer. Same-day and standard options available depending on underwriting approval. | 1 – 3 business days | | **Check** | A physical check generated and mailed to the vendor's address on file. | 5 – 14 business days | Payments captured before 3:30 PM ET typically pull funds from the payer's account within 2–3 business days. A 3-day hold is applied to ensure funds clear before disbursement to the vendor. ## Generate a payment link Send a POST request to `/api/PaymentLink/bill/{billId}` to create a payment link for a bill. See the [API reference](/developers/api-reference/paymentlink/generate-payment-link-from-bill) for full documentation. After generating the link, use the [send endpoint](#send-a-payment-link) to send it to the vendor via email. Use the request body to configure the payment page appearance, including branding, messaging, and which payout methods are offered to the vendor. The `paymentMethods.methods` object uses Pay Out-specific field names: * `ach` — offer ACH bank transfer * `vcard` — offer virtual card * `check` — offer physical check Set `defaultMethod` to highlight a preferred option (for example, `"vcard"`), and use `allowMultipleMethods: true` to let the vendor pick from all enabled options. A successful request returns a 200 response with the payment link ID. ## Send a payment link Send a GET request to `/api/PaymentLink/send/{payLinkId}` to send a payment link to the vendor via email. Use the `mail2` query parameter to specify one or more recipient email addresses, separated by semicolons. See the [API reference](/developers/api-reference/paymentlink/send-payment-link) for full documentation. Create the payment link without the `mail2` parameter, then use this endpoint to send it. This separates link creation from sending and lets you control exactly when and where the link goes. A successful request returns a 200 response with the payment link ID. ## What the vendor sees When the vendor opens the payment link, they see a secure, branded page with the bill details and available payment methods. If you set a `defaultMethod` when generating the link, that method is highlighted as the recommended option. The vendor can choose a different method if multiple methods are enabled. The vendor selects their preferred method and provides the required details: * **ACH**: Bank account and routing number * **Virtual card**: Email address for secure card delivery * **Check**: Mailing address (if not already on file) When the vendor submits their selection, Payabli automatically authorizes and captures the payout for that bill. The bill status transitions follow the same flow as any other authorize and capture action — for example, moving from Active to In Transit to Paid. You don't need to call the authorize or capture endpoints separately. The vendor's payment method preference is also securely tokenized and stored on their vendor record. You can use this stored preference for future payouts without sending additional links. ## Get payment link details Send a GET request to `/api/PaymentLink/{payLinkId}` to retrieve information about a specific payment link. See the [API reference](/developers/api-reference/paymentlink/get-payment-link-from-id) for full documentation. A successful request returns a 200 response with the payment link details. ## Update a payment link There are two ways to update a Pay Out payment link: ### Update status or expiration Send a PATCH request to `/api/PaymentLink/out/{paylinkId}` to update the link's status, expiration date, or page content. See the [API reference](/developers/api-reference/paymentlink/update-payout-payment-link) for full documentation. Use this to cancel a link, extend its expiration, or reactivate an expired link. Setting a new expiration date on an expired link automatically reactivates it to `Active` status. Payment link statuses: `Active`, `Expired`, `Canceled`, `Deleted`. This example reactivates an expired link with a new expiration date: A successful request returns a 200 response with the payment link identifier. ### Update page content Send a PATCH request to `/api/PaymentLink/updateOut/{paylinkId}` to update the payment page configuration — branding, messaging, payment methods offered, and other page settings. See the [API reference](/developers/api-reference/paymentlink/update-payout-payment-link-content) for full documentation. This example changes which payment methods are offered to the vendor: A successful request returns a 200 response with the payment link identifier. ## Delete a payment link Send a DELETE request to `/api/PaymentLink/{payLinkId}` to delete a payment link. See the [API reference](/developers/api-reference/paymentlink/delete-payment-link) for full documentation. A successful request returns a 200 response confirming the payment link was deleted. ## Stored payment preferences When a vendor completes a payment link, their chosen method and payment details are securely tokenized and stored on their vendor record. To retrieve a vendor's stored methods, call `GET /api/Vendor/{idVendor}`. The response includes a `storedMethods` array with each method's `idPmethod` (stored method ID), `method` type, and masked account details. For subsequent payouts, reference the stored method by passing its `storedMethodId` in the authorize request. See the [API reference](/developers/api-reference/moneyout/authorize-a-transaction-for-payout) for full documentation. A successful request returns a 200 response with the authorization details. You can also set a default stored method on the vendor record using the `defaultMethodId` field on the vendor object. This identifies which stored method to use by default for that vendor's payouts. For more on authorizing and capturing payouts, see [Manage payouts](/guides/pay-out-developer-payouts-manage). ## Related resources See these related resources to help you get the most out of Payabli. * **[Manage vendors with the API](/guides/pay-out-developer-vendors-manage)** - Learn how to add and manage vendors with the Payabli API * **[Manage bills with the API](/guides/pay-out-developer-bills-manage)** - Learn how to add and manage bills for vendors via the API * **[Manage payouts with the API](/guides/pay-out-developer-payouts-manage)** - Learn how to use the Payabli API to create, capture, and cancel payout transactions * **[Pay Out schemas](/guides/pay-out-schemas-overview)** - Learn about money out statuses and events and how they work together * **[Pay Out statuses](/guides/pay-out-status-reference)** - Learn about Pay Out statuses * **[Manage Payment Links](/guides/pay-in-developer-payment-links-manage)** - Learn how to generate, send, and manage payment links via the API *** title: Audit payout transactions with the API subtitle: Learn how to use the Payabli API to track and audit payout transactions description: >- Track every payout with comprehensive audit trails. Query payout details, reconcile vendor payments, and maintain complete visibility into transfers and status 'og:description': >- Track every payout with comprehensive audit trails. Query payout details, reconcile vendor payments, and maintain complete visibility into transfers and status keywords: >- embedded payments, vendor payments, payables automation, payment operations, merchant onboarding, payout processing, payment auditing, transaction tracking, payment reconciliation slug: guides/pay-out-developer-payouts-audit icon: magnifying-glass-dollar area: * Pay Ops * Pay Out subArea: * Reporting * Payouts audience: * developers *** Payabli's Pay Out functionality allows you to send and monetize payments to your vendors. This guide aims to help you track and audit payout transactions so you can build seamless integrations with your app. ## Query the payout First, query the payout details endpoint: [/MoneyOut/details/\{transId}](/developers/api-reference/moneyout/get-details-for-a-processed-payout-transaction). You need the response data from this request to audit the payout. ```json maxLines=10 { "IdOut": 3089, "CreatedAt": "2024-03-07T18:15:57.34", "Comments": "Test payout", "Vendor": { "VendorNumber": "QA-vendor-1709853355", "Name1": "Lakeland", "Name2": "Electric", "EIN": "XXXX6789", "Phone": "8636700248", "Email": "philaret@philsfloors.com", "Address1": "123 Krill Street", "Address2": null, "City": "Lakeland", "State": "FL", "Zip": "33809", "Country": "US", "Mcc": null, "LocationCode": null, "Contacts": null, "BillingData": null, "PaymentMethod": "check", "VendorStatus": 1, "VendorId": 3412, "EnrollmentStatus": null, "Summary": null, "PaypointLegalname": null, "PaypointDbaname": null, "PaypointEntryname": null, "ParentOrgName": null, "CreatedDate": "2024-03-07T18:15:57.057", "LastUpdated": "2024-03-07T23:15:57.057", "remitAddress1": null, "remitAddress2": null, "remitCity": null, "remitState": null, "remitZip": null, "remitCountry": null, "payeeName1": null, "payeeName2": null, "customField1": null, "customField2": null, "customerVendorAccount": "testingAccount1", "InternalReferenceId": 1222, "additionalData": null, "externalPaypointID": null }, "PaypointDbaname": "Gruzya Adventure Outfitters", "PaypointLegalname": "Gruzya Adventure Outfitters", "Status": 2, "LastUpdated": "2024-03-07T19:00:00", "TotalAmount": 1000.50, "NetAmount": 1000.50, "FeeAmount": 0.00, "Source": "api", "ParentOrgName": "Pilgrim Planner", "BatchNumber": "10-20240308-CUST123", "PaymentStatus": "Pending", "PaymentMethod": null, "CardToken": null, "CheckNumber": "656768", "CheckData": null, "PaymentId": "10-3089", "PaymentData": { "MaskedAccount": "", "AccountType": "", "AccountExp": null, "AccountZip": null, "HolderName": "", "StoredId": null, "orderDescription": null, "cloudSignatureData": null, "cloudSignatureFormat": null, "paymentDetails": { "totalAmount": 1000.0, "serviceFee": 0.0, "checkNumber": null, "checkImage": null, "currency": null, "orderDescription": null, "orderId": null, "orderIdAlternative": null, "paymentDescription": null, "groupNumber": null, "source": null, "categories": [], "splitFunding": [] }, "payorData": { "customerId": 0, "firstName": null, "lastName": null, "company": null, "customerNumber": null, "billingAddress1": null, "billingAddress2": null, "billingCity": null, "billingState": null, "billingZip": null, "billingCountry": null, "billingPhone": null, "billingEmail": null, "shippingAddress1": null, "shippingAddress2": null, "shippingCity": null, "shippingState": null, "shippingZip": null, "shippingCountry": null, "additionalData": {}, "identifierFields": null }, "accountId": null, "bankAccount": null, "gatewayConnector": { "configuration": null, "Name": "repay", "Mode": 2, "Bank": null, "Descriptor": null, "gatewayID": 7, "Enabled": true, "EnableACHValidation": false, "TestMode": true }, "binData": null }, "Bills": [ { "billId": 5999, "LotNumber": "1709853355", "AccountingField1": null, "AccountingField2": null, "Terms": null, "AdditionalData": null, "attachments": null, "invoiceNumber": "QA-1709853355", "netAmount": "1000.50", "invoiceDate": "2023-06-06", "dueDate": "2023-06-06", "comments": "Floor refinish" } ], "Events": [ { "TransEvent": "Authorized", "EventData": null, "EventTime": "2024-03-07T18:15:57.47" }, { "TransEvent": "Captured", "EventData": { "id": "f4b9e2f4-957a-49c0-bb24-4a869929bfe9", "group": { "id": "e711b011-bbaf-4241-9681-6e628d00e0eb", "name": "10-20240307-CUST123-3089", "status": "Waiting Funds", "approved": false, "totalAmount": "1000.50", "custId": "CUST123", "dateCreated": "2024-03-07T23:17:48Z", "dateModified": "2024-03-07T23:17:48Z", "links": [] }, "custId": "CUST123", "paymentNumber": "10-3089", "vendor": { "id": "83e31970-25f2-4bb3-baaa-0e5ef63f1051", "custId": "CUST123", "vendorNumber": "QA-vendor-1709853355", "vendorTaxId": "123456787", "vendorName1": "LAKELAND", "vendorPhone": "18636700248", "status": "Pending", "paymentType": "Check", "contactEmail": "philaret@philsfloors.com", "statusReason": "Payment Waiting", "address": { "address1": "123 Krill Street", "city": "LAKELAND", "state": "FL", "zip": "33809", "countryCode": "US" }, "customerVendorAccountNumber": "testingAccount1", "dateCreated": "2024-03-07T23:17:48Z", "dateModified": "2024-03-07T23:17:48Z", "links": [] }, "remitAddress": { "address1": "123 Krill Street", "city": "Lakeland", "state": "FL", "zip": "33809", "countryCode": "US" }, "links": [], "invoices": [ { "netAmount": "1000.50", "dueDate": "2023-06-06", "invoiceDate": "2023-06-06", "comments": "testingAccount1-string" } ], "paymentStatus": "Awaiting Funds", "paymentType": "Pending", "dateCreated": "2024-03-07T23:17:48Z", "dateModified": "2024-03-07T23:17:48Z" }, "EventTime": "2024-03-07T18:17:48.503" }, { "TransEvent": "Cancelled", "EventData": { "Ip": "35.145.190.199" }, "EventTime": "2024-03-07T22:30:27.02" }, { "TransEvent": "Closed Batch", "EventData": { "id": "0d7489f2-2b4b-418a-88c0-1b0587c16eb9", "name": "10-20240308-CUST123", "status": "Waiting Funds", "approved": true, "totalAmount": "1512.50", "custId": "CUST123", "dateCreated": "2024-03-08T02:11:24Z", "dateModified": "2024-03-08T23:23:55Z", "links": [] }, "EventTime": "2024-03-08T18:24:00.747" } ], "externalPaypointID": "f743aed24a-10", "EntryName": "f743aed24a" } ``` ## Understand the response There are several main areas of the response that are useful for understanding a payout transaction: Events related to the transaction are described in the `Events` array, as `TransEvent` objects. There, you can find information about the payout's current and historical statuses. You can use the `PaymentMethod` field in the vendor object to understand which method the vendor selected to be paid with. You can get more information about the specific check or vCard issued in a payout. These details appear in a field associated with the method: `CardToken`,`CheckNumber` or `CheckData`. The next sections go over these topics in depth. ### TransEvents and payout status The response includes various `TransEvent` values within the `Events` array in the response. These `TransEvents` represent the stages and status of the payout transaction. Here are some examples of events objects that you will see in the `Events` array. ```json Authorized example { "TransEvent": "Authorized", "EventData": null, "EventTime": "2024-03-07T18:15:57.47" }, ``` ```json Captured example maxLines=10 // This example has been heavily truncated to show // only the relevant parts of the reponse { "TransEvent": "Captured", "EventData": { "id": "f4b9e2f4-957a-49c0-bb24-4a869929bfe9", "group": { "id": "e711b011-bbaf-4241-9681-6e628d00e0eb", "name": "10-20240307-CUST123-3089", "status": "Waiting Funds", "approved": false, "totalAmount": "1000.50", "custId": "CUST123", "dateCreated": "2024-03-07T23:17:48Z", "dateModified": "2024-03-07T23:17:48Z", "links": [...] }, "custId": "CUST123", "paymentNumber": "10-3089", "vendor": { "id": "83e31970-25f2-4bb3-baaa-0e5ef63f1051", "custId": "CUST123", "vendorNumber": "QA-vendor-1709853355", "vendorTaxId": "123456787", "vendorName1": "LAKELAND", "vendorPhone": "18636700248", "status": "Pending", "paymentType": "Check", "contactEmail": "philaret@philsfloors.com", "statusReason": "Payment Waiting", "address": {...}, "customerVendorAccountNumber": "testingAccount1", "dateCreated": "2024-03-07T23:17:48Z", "dateModified": "2024-03-07T23:17:48Z", "links": [...] }, "remitAddress": {...}, ... "invoices": [...], "paymentStatus": "Awaiting Funds", "paymentType": "Pending", "dateCreated": "2024-03-07T23:17:48Z", "dateModified": "2024-03-07T23:17:48Z" }, "EventTime": "2024-03-07T18:17:48.503" }, ``` ```json Canceled example { "TransEvent": "Cancelled", "EventData": { "Ip": "35.145.190.199" }, "EventTime": "2024-03-07T22:30:27.02" }, ``` ```json Closed batch example { "TransEvent": "Closed Batch", "EventData": { "id": "0d7489f2-2b4b-418a-88c0-1b0587c16eb9", "name": "10-20240308-CUST123", "status": "Waiting Funds", "approved": true, "totalAmount": "1512.50", "custId": "CUST123", "dateCreated": "2024-03-08T02:11:24Z", "dateModified": "2024-03-08T23:23:55Z", "links": [] }, "EventTime": "2024-03-08T18:24:00.747" } ``` The `TransEvents` for payouts are listed in the following table.
TransEvent Description Maps To
Authorized A payout is authorized. These are queued payouts, and nothing happens with them until they're captured. 11 (Authorized)
Captured A payout is captured and is now part of the batch for payout. 1 (Captured)
Capture Declined Authorized transaction capture failed. N/A
Cancelled An authorized payout has been cancelled. A captured payout can be cancelled before batch close at 5 PM ET. 0 (Cancelled)
Cancel Declined Transaction cancellation failed. N/A
Closed Batch Batch closed. 1 (Closed)
Created The first event for a transaction, created automatically when a transaction is started. N/A
Waiting funds A payout is being processed. 2 (Processing)
Funded A payout is being processed. 2 (Processing)
Pending (payment type is pending) A payout is being processed. 2 (Processing)
Generating check A payout is being processed. 2 (Processing)
Open ACH sent, vCard issued, check generated but not yet cashed. A payment method is defined for the vendor, and the payout has been sent to the recipient, but hasn't been redeemed. 3 (Processed)
Processed Payment Type is no longer pending. 3 (Processed)
Reissued A payment method has been reissued. 3 (Processed)
Returned Payment has been returned. 3 (Processed)
Errored There was an error in processing the payment. 3 (Processed)
Paid A payout has been paid and the recipient has redeemed the funds. The vCard has been used, the check has been cashed, or the ACH has settled. 5 (Paid)
The `TransEvent` value provides insight into the current and historical stages of the payout process, helping you understand the transaction status. ### Determining payment method The `PaymentMethod` field in the `Vendor` object in the response shows the payment method selected by the vendor for the payout. Initially, this field may show "managed/pending," and it changes as the payout is processed. The possible values for `PaymentMethod` are: * `vCard` * `ach` * `check` ```json ACH {13} // This example has been truncated to show the most relevant parts { "IdOut": 3089, "CreatedAt": "2024-03-07T18:15:57.34", "Comments": "Test payout", "Vendor": { "VendorNumber": "QA-vendor-1709853355", "Name1": "Lakeland", "Name2": "Electric", "EIN": "XXXX6789", ... "BillingData": null, "PaymentMethod": "ach", ... } ... } ``` ```json Check {13} // This example has been truncated to show the most relevant parts { "IdOut": 3089, "CreatedAt": "2024-03-07T18:15:57.34", "Comments": "Test payout", "Vendor": { "VendorNumber": "QA-vendor-1709853355", "Name1": "Lakeland", "Name2": "Electric", "EIN": "XXXX6789", ... "BillingData": null, "PaymentMethod": "check", ... }, ... } ``` ```json vCard {13} // This example has been truncated to show the most relevant parts { "IdOut": 3089, "CreatedAt": "2024-03-07T18:15:57.34", "Comments": "Test payout", "Vendor": { "VendorNumber": "QA-vendor-1709853355", "Name1": "Lakeland", "Name2": "Electric", "EIN": "XXXX6789", ... "BillingData": null, "PaymentMethod": "vcard", ... } ... } ``` ### Get more payout details In certain cases, you may need to retrieve more details about the payout, such as the check information or vCard details. You can find details in the parameters associated with the payment method: * `CardToken`: The token for the vCard issued for the payout * `CheckNumber`: The check number for the paper check issued for the payout * `CheckData`: The check image Base64-encoded as `fContent`. Use a Base64 decoder to view the image ```json CheckNumber {10} // Example truncated to show most relevant part { "IdOut": 3089, "CreatedAt": "2024-03-07T18:15:57.34", "Comments": "Test payout", "Vendor": {...}, ... "CardToken": null, "CheckNumber": "656768", "CheckData": null, "PaymentId": "10-3089", ... } ``` ```json CardToken {9} // Example truncated to show most relevant part { "IdOut": 3089, "CreatedAt": "2024-03-07T18:15:57.34", "Comments": "Test payout", "Vendor": {...}, ... "CardToken": "7590dc09-7130-4644-9d84-5f3770af3878", "CheckNumber": null, "CheckData": null, "PaymentId": "10-3089", ... } ``` ## Related resources See these related resources to help you get the most out of Payabli. * **[Manage payouts with the API](/guides/pay-out-developer-payouts-manage)** - Learn how to use the Payabli API to create, capture, and cancel payout transactions *** title: Get payout transaction check image with the API subtitle: Learn how to get the check image for a paid payout to a vendor via the API description: >- Retrieve check images for vendor payouts paid by check via the API. Access base64-encoded check images for record-keeping, verification, and audit purposes 'og:description': >- Retrieve check images for vendor payouts paid by check via the API. Access base64-encoded check images for record-keeping, verification, and audit purposes keywords: >- embedded payments, vendor payments, payables automation, payout processing, check images, payment documentation, vendor payouts slug: guides/pay-out-developer-checks-get-image icon: money-check area: * Pay Out subArea: * Payouts audience: * developers hide-nav-links: true *** To use the API to get a check image for a payout transaction paid via check, send a request to the `/api/Transaction/getCheckImage/{entry}` endpoint. A successful request returns a 200 OK status code and the check image encoded as a base64 string. *** title: Manage Pay Out transactions in the UI subtitle: Learn about reporting on and managing Pay Out transactions in the Payabli UI icon: file-chart-column slug: guides/pay-out-portal-transactions-reports area: * Pay Out subArea: * Transactions * Reporting audience: * partners * merchants description: >- View and manage Pay Out transaction reports in PayHub. Access payout details, filter vendor payment data, export reports, and perform captures and cancellations 'og:description': >- View and manage Pay Out transaction reports in PayHub. Access payout details, filter vendor payment data, export reports, and perform captures and cancellations keywords: >- embedded payments, vendor payments, payables automation, payout reports, payment reporting, transaction management, vendor payment tracking, payment analytics *** The Pay Out Transactions report is a list of all payout transactions across a specified period. From the report page, you can get an overview of the total count and amount of these transactions, or view and work with individual transactions. View your Pay Out Transactions report by navigating to **Money Out > Reports > Transactions**. ## Overview The main transactions screen gives you a high-level overview of your company's payouts. This view is customizable: you can include whichever transaction-level details are most meaningful to your organization. To do so, click the **Columns** icon and select the columns to display in your transactions overview. * Vendor Name * Payment ID * Lot # * Organization * Paypoint * DBA name * Paypoint ID * External Paypoint ID * Batch # * Vendor ID * Account # * Vendor # * Tax ID * Phone * Billing Address * Remit Address * Bill number * Date * Time of transaction * Type * Status * Last Event * Amount * Fee * Total Amount * Source * Notes * Last Updated On The default report period is the last 60 days, but you can change this using filters. For quick filtering, click one of the status options at the top of the screen: **Authorized**, **Captured**, **Processing**, **Processed**, **Paid**, or **Cancelled**. ## Work with a transaction To open an individual payout transaction, locate the transaction you're interested in and click the three-dot icon in the **Action** column. In the menu that appears, select an action: * Choose **Quick View** to open the *Transaction Details* panel. This panel displays basic information about the transaction itself and the vendor who received it. From here, you can cancel the payment or view included bills, or open the vendor's dashboard by selecting **Vendor Information**. * Choose **View Vendor** to go directly to the vendor's record. * Choose **Capture** to add the transaction to the batch for payout. Follow the prompts in the modals that appear to complete this action. * Choose **Cancel Payment** to cancel the transaction. In the confirmation modal that appears, follow the prompts to complete the cancellation. * Choose **Send VCard Link** to send a vCard link for the transaction (only available for virtual card payouts). In the modal that appears, follow the prompts to send the link. The actions available depend on the individual payout transaction's status and other variables. ## Export transaction list To download a list of transactions, first filter the report, then click the **Download** icon and select a format. The file will be downloaded to your device. *** title: Manage Pay Out batches and funding in the UI subtitle: >- Learn how to report on and manage Pay Out batches and funding in the Payabli UI icon: layer-group slug: guides/pay-out-portal-batches-funding-manage area: * Pay Out subArea: * Transactions audience: * partners * merchants description: >- View and manage Pay Out transaction batches in PayHub. Track payout processing, download batch reports, and monitor vendor payments and transaction details 'og:description': >- View and manage Pay Out transaction batches in PayHub. Track payout processing, download batch reports, and monitor vendor payments and transaction details keywords: >- embedded payments, vendor payments, payables automation, batch processing, payout batches, vendor payments, payment reconciliation, accounts payable *** Batches are collections of transactions grouped together to be processed at one time. This guide explains how to manage Pay Out batches and view payout transaction details in the Payabli UI. To access the Batches screen, navigate to **Money Out > Reports > Batches & Funding**. This action opens the *Batches & Funding* view. This is where you can view all Pay Out batches organized by paypoint and date. For each batch record, you can: * View transactions within a batch * Download batch information * View details for individual transactions * View vendor information To see all options for managing an individual batch, click the three-dot menu in the **Actions** column. ## View transactions in a batch To view payout transactions in a batch from the UI, follow these steps: 1. Locate the batch you're interested in (you can filter by paypoint or date), and click the three-dot icon in the **Action** column. 2. Select **View Transactions** from the menu. 3. The *Batch payments* view will open, showing: * An overview of the batch at the top with transaction count and total amount * The **Transaction details** section listing all transactions in the batch You can customize the information displayed in the Transaction details by clicking the **Columns** icon. ## View details for a payout transaction To view details for an individual payout transaction from the UI, follow these steps: 1. Locate the batch containing the transaction, and click the three-dot icon in the **Action** column. 2. Select **View Transactions** from the menu. 3. In the transaction list, find the transaction you want to examine. 4. Click the three-dot icon in the **Action** column for that transaction. 5. Select **View Details** from the menu. 6. The *Quick View* panel will open with detailed information about the transaction. ## Download a batch To download a batch from the UI, follow these steps: 1. Locate the batch record you want to download. 2. Click the three-dot icon in the **Action** column. 3. Select **Download** from the menu. The download will begin immediately. The file is in CSV format and contains details about transactions in the batch. *** title: Get Payout transaction check image in the UI subtitle: >- Learn how to get the check image for a paid payout to a vendor from PartnerHub or PayHub slug: guides/pay-out-portal-check-images-get icon: money-check area: * Pay Out subArea: * Payouts audience: * partners * merchants description: >- Retrieve check images for vendor payouts from PartnerHub or PayHub. View and download check images for completed check payments to verify and track delivery 'og:description': >- Retrieve check images for vendor payouts from PartnerHub or PayHub. View and download check images for completed check payments to verify and track delivery keywords: >- embedded payments, vendor payments, payables automation, payout processing, check payments, check images, payment verification, payment tracking *** To retrieve a check image for a paid money out transaction in PartnerHub or PayHub: 1. Navigate to **Money Out > Reports > Transactions**. 2. Find the check transaction, then click the check icon. The check image appears in a pop-up. You can also view the check image from the transaction's Quick View window. *** title: Manage vendors with the API subtitle: Learn how to add and manage vendors with the Payabli API description: >- Build a complete vendor directory with API-driven management. Create, import, update, and organize vendor records for US and Canadian suppliers and recipients 'og:description': >- Build a complete vendor directory with API-driven management. Create, import, update, and organize vendor records for US and Canadian suppliers and recipients keywords: >- embedded payments, payment API, REST API, vendor payments, payables automation, payment operations, merchant onboarding, vendor management, supplier management slug: guides/pay-out-developer-vendors-manage icon: buildings area: * Pay Out * Pay Ops subArea: * Entities audience: * developers *** Vendors are the entities that provide goods or services to paypoints and organizations. They're who gets paid in money out (pay out) transactions. Before you can use vendors in bills and payouts, you must add them. This guide explains how to add and manage vendors using the Payabli API. Payabli supports payouts to US and Canadian vendors only. International vendors aren't supported, and as a best practice you should avoid adding them in Payabli. ## Create a vendor To create a vendor record, send a POST request to the `/api/Vendor/single/{entry}` endpoint. For complete details, see the [API reference](/developers/api-reference/vendor/create-vendor) for this endpoint. This example creates a new vendor record in the entrypoint `8cfec329267`. A successful request returns a JSON response. The IdVendor is returned as `responseData`. The value returned in `responseData` is the vendor ID, and is used to manage the vendor via the API ## Import vendors You can import a list of vendors into Payabli using the API. This is useful if you have a large number of vendors to add at once, or if you want to automate the process. Before you get started, download the example CSV file and open it with the editor of your choice. Use it as an example to help you build your import file. To import a list of vendors, send a POST request to the /api/Import/vendorsForm/\{entrypoint} endpoint, with an attached CSV file. {/* vale Payabli.FileCapitalization = NO */} This example imports vendorImport.csv for the entrypoint e56ce00572. {/* vale Payabli.FileCapitalization = YES */} A successful request returns a JSON response with the number of added and rejected records, and any errors. The imported data is now available for use, and you can confirm by checking PartnerHub or PayHub. The responseData object contains the number of records added and rejected. The errors field contains any errors that occurred during the import process. Next steps After you import vendors, you can manage them with the API. For example, you can update vendor information, manage payment methods, and create bills associated with specific vendors. ## Manage vendors You can use the API to manage existing vendors, including updating their information, deleting them, and retrieving their details. See these endpoint references for more information: * [Update Vendor](/developers/api-reference/vendor/update-vendor) * [Delete Vendor](/developers/api-reference/vendor/delete-vendor) * [Get Vendor](/developers/api-reference/vendor/get-vendor) ## Vendor status In vendor endpoints and endpoints that return vendor data, the vendor status field is `VendorStatus`.
Value Key
Inactive 0
Active 1
Deleted -99
## Related resources See these related resources to help you get the most out of Payabli. * **[Entities overview](/guides/platform-entities-overview)** - Understand how entities like organizations, suborganizations, paypoints, customers, and vendors work in Payabli *** title: Manage Vendors in the UI subtitle: Learn how to add and manage vendors in the Payabli UI slug: guides/pay-out-portal-vendors-manage icon: truck area: * Pay Out * Pay Ops subArea: * Entities audience: * partners * merchants description: >- Manage vendor relationships in PayHub for Pay Out transactions. Add vendors, process bills, configure payment methods, and track vendor history in the portal 'og:description': >- Manage vendor relationships in PayHub for Pay Out transactions. Add vendors, process bills, configure payment methods, and track vendor history in the portal keywords: >- embedded payments, vendor payments, payables automation, vendor management, bill payments, vendor onboarding, payment workflow, accounts payable, vendor portal *** Vendors are the entities that provide goods or services to paypoints and organizations. They're who gets paid in money out (pay out) transactions. Before you can use vendors in bills and payouts, you must add them. This guide explains how to add and manage vendors using the Payabli UI. Payabli supports payouts to US and Canadian vendors only. International vendors aren't supported, and as a best practice you should avoid adding them in Payabli. To access the Vendors screen, navigate to **Money Out > Vendors**. This action opens the *All Vendors & Recipients* screen. This is where you can locate and edit information for any of your vendors, and see an up-to-date total count of all your vendors and recipients. For each vendor record, you can: * Pay bills * Add a bill to pay * Schedule a bill payment * Import bills * View bills for that vendor * Quick view vendor details * View vendor information * Edit vendor information * Change a vendor's status * Delete a vendor * Import an existing vendor list * Download your vendor list To see all options for managing an individual vendor, click the three-dot menu in the **Actions** column. an image of the vendor screen action menu ## View a vendor record To view vendor's details in the UI, follow these steps: 1. From the *All Vendors & Recipients* screen, locate the vendor record and click the three-dot icon in the **Actions** column. 2. Select **View Vendor** from the menu to go to the vendor's dashboard. 3. From here, you can see: * Account information * Bills you've paid to this vendor * Bills you've received from this vendor * A visual summary of this vendor's billing volume (including active volume, past due volume, in transit volume, total volume, and paid volume) For a less detailed view, or to see a vendor's information without leaving the *All Vendors & Recipients* screen: 1. Select **Quick View** instead of **View Vendor** in step 2. 2. This opens the *Quick view* panel and displays the volume summary, payment history, and account information, which you can edit here. ## Edit a vendor record To edit a vendor's record, follow these steps: 1. From the *All Vendors & Recipients* screen, locate the vendor record you're interested in and click the three-dot icon in the **Actions** column. 2. Select **Edit Vendor** from the menu to open the *Edit vendor* modal. 3. Here, you can edit the account information, billing details, remit address, and any custom fields you may be using. 4. When you've made the changes you want, click **Save Vendor**. ## Pay a bill To pay a specific bill to a vendor from the UI, follow these steps: 1. From the *All Vendors & Recipients* screen, locate the vendor record and click the three-dot icon in the **Actions** column. 2. Select **Pay Bill** from the menu to open the *All Bills* view for that vendor. 3. At the top are several quick-filter options: **Active**, **Sent to Approval**, **Approved**, **In Transit**, **Paid**, **Not Approved**, and **Deleted/Cancelled**. Each of these categories displays the number of transactions it includes, as well as the total value of those transactions. 4. If you want to implement a quick filter, click the option you're interested in. To remove the filter, click the **Reset** icon. Otherwise, continue to step 5. 5. Find the bill you want to pay and click the three-dot icon in the **Actions** column. Then select **Pay Bill** from the menu. 6. In the *Pay Bill* panel, fill in the details and select your preferred payment delivery method, either **Send vendor payment link** or **Select how vendor gets paid**. If you choose the latter, specify the payment method from the options listed. 7. Click **Send Payment Link** or **Send Payment** (the text will depend on your choice in step 6 above) to pay the bill. To run a more detailed filter, click the **Filter** icon. See this Help Center article for details. ## Add a bill to a vendor To add a bill to a vendor's record from the UI, follow these steps: 1. From the *All Vendors & Recipients* screen, locate the vendor record and click the three-dot icon in the **Actions** column. 2. Select **Add Bill to Pay** from the menu to open the *Add Bill* view. 3. Enter the bill's details and select your preferred payment delivery method, either **Send vendor payment link** or **Select how vendor gets paid**. If you choose the latter, specify the payment method from the options listed. 4. Click **Send Payment Link** or **Send Payment** (the text will depend on your choice in step 3) to pay the bill, or click **Save Bill** to save the bill and complete it later. ## Change a vendor status To change a vendor's status from the UI, follow these steps: 1. From the *All Vendors & Recipients* screen, locate the vendor record and click the three-dot icon in the **Actions** column. 2. Select **Change Status** from the menu. 3. In the *Change Status* modal, set the vendor's status to either **Active** or **Inactive**. 4. Click **Save**. ## Delete a vendor Deleting a vendor is permanent and can't be undone. To delete a vendor record from Payabli via the UI, follow these steps: 1. From the *All Vendors & Recipients* screen, locate the vendor record and click the three-dot icon in the **Actions** column. 2. Select **Delete Vendor** from the menu. 3. In the confirmation modal that appears, click **Delete** if you are sure you want to permanently delete this vendor. ## Import an existing vendor list To import a vendor list into Payabli via the UI, follow these steps: 1. From the *All Vendors & Recipients* screen, click the **Import** icon. 2. Drag the appropriate file into the modal that opens. 3. Click **Save Upload**. Your list must be in CSV format. You can download a sample CSV file to ensure yours is formatted correctly by clicking **Download Sample Files (\*.csv)**. ## Export your vendor list To download your vendor list from Payabli via the UI, follow these steps: 1. From the *All Vendors & Recipients* screen, click the **Download** icon. 2. Select **.XLSX** or **.CSV** format. The download will begin automatically. *** title: Manage bills with the API subtitle: Learn how to add and manage bills for vendors via the API description: >- Transform payables into revenue with intelligent bill management. Create, track, and pay vendor bills through the API while earning on virtual card payments 'og:description': >- Transform payables into revenue with intelligent bill management. Create, track, and pay vendor bills through the API while earning on virtual card payments keywords: >- embedded payments, payment API, REST API, vendor payments, payables automation, bill management, accounts payable, vendor payouts, managed payables slug: guides/pay-out-developer-bills-manage icon: envelope-open-text area: * Pay Out subArea: * Bills audience: * developers hide-nav-links: true *** In Payabli, bills represent a bill from a vendor that a paypoint is expected to pay. Use managed payables with Payabli to turn those payouts to vendors into an income stream. Learn how to use our OCR engine to scrape documents and create bills: [Use the OCR Engine](/guides/pay-ops-developer-ocr-use) ## Basic bill workflow 1. When you get an invoice from a vendor or supplier, add it to Payabli as a bill via the API, File Exchange, or the web. 2. Update or delete bills, and then queue them for approval. 3. After bills are approved, make payout requests, and you can pay one or many bills. Via an enablement process, your vendors are contacted to help decide on a payment method. The goal is that they choose to receive payments through virtual cards for ease, speed, and security of payment. ## Considerations Keep these points in mind when working with bills: * You don't have to use Payabli's bill engine to make a payout. When making a payout request, set the query parameter `doNotCreateBills` to `true`. * Payabli strongly recommends including bill images with your bills. Including bill images can make payouts faster, more accurate, and prevent problems. * You can pay more than one bill with one payout request. If several active bills added, queued, and ready to be paid, you can make a payout request to pay all active bills. Remittance information for that single payout request will include the details for all of the paid bills. * Bill approval isn't required. If a bill status is *Active* or *Approved* it can be sent for payout. If a bill status is *Sent to Approval* or *Pending Approval* you can't send it for payout. * You can use the [OCR engine](/developers/api-reference/import/ocr-a-base64-encoded-string) to capture data from uploaded bill images. ## Create a bill To create a single bill, send a POST request to `/api/Bill/single/{entry}`. For complete information, see the [API reference](/developers/api-reference/bill/add-bill). This example adds a bill to the entrypoint with ID `8cfec329267`. The bill is for a vendor with the `vendorNumber` "'1234-A". The bill number is *ABC-123*, and the request includes an uploaded bill image, and optional fields like comments. A successful response returns the bill ID in the `responseData` field. If your workflow requires bill approval, you can send the bill to approval with the API. For more information, see [Send a bill to approval](/developers/api-reference/bill/send-a-bill-to-approval). After your bill is approved you can make a payout request to pay the bill. For more information, see [Make a payout request](/developers/api-reference/moneyout/authorize-a-transaction-for-payout). ## Import bills You can import a list of bills into Payabli using the API. This is useful if you have many bills to add at once, or if you want to automate the process. Before you get started, download the example CSV file and open it with the editor of your choice. Use it as an example to help you build your import file. To create a bill, send a POST request to the `/api/Import/billsForm/{entrypoint}` endpoint, with an attached CSV file. {/* vale Payabli.FileCapitalization = NO */} This example imports billImport.csv for the entrypoint `e56ce00572`. {/* vale Payabli.FileCapitalization = YES */} A successful request returns a JSON response with the number of added and rejected records, and any errors. The imported data is now available for use, and you can confirm by checking PartnerHub or PayHub. The `responseData` object contains the number of records added and rejected. The `errors` field contains any errors that occurred during the import process. After you import bills, you can manage them with the API. For example, you can update or delete bills, send them for approval, and create payout requests. ## Manage bills You can also manage your bills via the API. See these endpoint references for more information: * [Update a bill](/developers/api-reference/bill/update-bill) * [Delete a bill](/developers/api-reference/bill/delete-bill) * [Send a bill to approval](/developers/api-reference/bill/send-a-bill-to-approval) * [Approve a bill](/developers/api-reference/bill/approve-or-disapprove-a-bill) ## Related resources See these related resources to help you get the most out of Payabli. * **[Manage vendors with the API](/guides/pay-out-developer-vendors-manage)** - Understanding vendors is important for using the Bills API effectively * **[Manage payouts with the API](/guides/pay-out-developer-payouts-manage)** - Making payouts is a good next step after learning about bills * **[Pay Out schemas](/guides/pay-out-schemas-overview)** - Learn about money out statuses and events and how they work together * **[Pay Out statuses](/guides/pay-out-status-reference)** - Learn about Pay Out statuses * **[Entities overview](/guides/platform-entities-overview)** - Understand how entities like organizations, suborganizations, paypoints, customers, and vendors work in Payabli * **[Manage vendors with the API](/guides/pay-out-developer-vendors-manage)** - Learn how to add and manage vendors with the Payabli API * **[Use the OCR engine](/guides/pay-ops-developer-ocr-use)** - Learn how to use Payabli's OCR engine via the API to recognize text and import invoices and bills **Manage invoices with the API** - Don't confuse bills with invoices, which are used in Pay In. See [Manage invoices with the API](/guides/pay-in-developer-invoices-manage) *** title: Manage bills in the UI subtitle: Learn how to add and manage bills in the Payabli UI icon: file-invoice-dollar slug: guides/pay-out-portal-bills-manage area: * Pay Out subArea: * Bills audience: * partners * merchants description: >- Add and manage vendor bills in PayHub. Create bills, process payments, track payment status, upload records, and filter by status for accounts payable tasks 'og:description': >- Add and manage vendor bills in PayHub. Create bills, process payments, track payment status, upload records, and filter by status for accounts payable tasks keywords: >- embedded payments, vendor payments, payables automation, bill management, accounts payable, bill payment, invoice processing, vendor billing *** Bills are records of payments owed to vendors in Payabli. This guide explains how to manage bills in the Payabli UI. To access the Bills screen, navigate to **Money Out > Bills**. This action opens the *All Bills* screen. This is where you can view and manage all bills to your organization that are in Payabli. For each bill record, you can: * View bill details * Open the bill's Quick View panel * View the vendor * Check the bill's tracking status * Download all bills * Upload bill records ## View a bill To view a bill from the UI, follow these steps: 1. From the *All Bills* screen, locate the bill, and click the three-dot menu in the **Actions** column. 2. Select **View Bill** from the menu. From here, you can see: * The bill's complete details * Payment options For a less detailed view, or to see a bill summary without leaving the main screen, follow these steps: 1. From the *All Bills* screen, locate the bill and click the three-dot menu in the **Actions** column. 2. Select **Quick View** from the menu. From here, you can see: * A summary of the bill's pertinent information * The vendor's information, which you can edit in this panel ## Add a bill You can add a bill either from the vendor record (see [Manage Vendors](/guides/pay-out-portal-vendors-manage)) or from the Bills screen. To add a bill from the Bills screen, follow these steps: 1. From the *All Bills* screen, click the **+** icon. 2. Enter the bill's details and select your preferred payment delivery method, either **Send vendor payment link** or **Select how vendor gets paid**. If you choose the latter, specify the payment method from the options listed. 3. Click **Send Payment Link** or **Send Payment** (the text will depend on your choice in step 3 above) to pay the bill, or click **Save Bill** to save the bill and complete it later. ## Pay a bill To send a bill payment from the UI, navigate to the bill record then click **Send Payment** or **Send Payment Link** (depending on the option you selected under **Payment Delivery**) to send the payment. To pay a bill from the vendor record, see [Pay a bill](/guides/pay-out-portal-vendors-manage#pay-a-bill) in the *Manage Vendors* guide. ## Cancel a bill payment You can cancel a bill that hasn't started processing from the UI. To do so, follow these steps: 1. From the *All Bills* screen, locate the bill and click the three-dot menu in the **Actions** column. 2. Select **Tracking Status** from the menu. The bill opens in the transaction view. 3. Click the three-dot menu in the **Actions** column. 4. If the bill is in a status that can be canceled, you'll see the **Cancel Payment** option. Click this and follow the prompts to cancel the payment. ## View a bill's tracking status To view a bill's tracking status from the UI, follow these steps: 1. From the *All Bills* screen, locate the bill and click the three-dot menu in the **Actions** column. 2. Select **Tracking Status** from the menu. The bill will open in the Transactions view. Learn more about [bill statuses](/guides/pay-out-status-reference#bill-statuses). ## Export and import bills To download all bills from the UI, click the **Download** icon on the *All Bills* screen. Your download will begin automatically. To upload bill records from the UI, follow these steps: 1. From the *All Bills* screen, click the **Upload** icon. 2. Select your CSV file to upload. Uploaded files must be in CSV format. To get a sample file in the format Payabli requires for importing, click **Download Sample Files (\*.csv)**. ## Filter bills by status To filter bills by status from the UI, follow these steps: 1. From the *All Bills* screen, click the status you're interested in above the list: * Active * Sent to Approval * Approved * In Transit * Paid * Not Approved * Deleted/Cancelled 2. To remove the filter, click the **Reset** icon. *** title: Pay Out schemas subtitle: Learn about money out statuses and events and how they work together description: >- Master Pay Out workflows with visual schemas for payout authorization, capture, batch processing, and settlement. See how bills, transactions, and batches work 'og:description': >- Master Pay Out workflows with visual schemas for payout authorization, capture, batch processing, and settlement. See how bills, transactions, and batches work keywords: >- embedded payments, vendor payments, payables automation, payout processing, payment schemas, payout workflow, bill processing, batch payment icon: diagram-successor slug: guides/pay-out-schemas-overview area: * Pay Out subArea: * Reference audience: * developers * partners *** Because bills, batches, and payout transactions are processed at different cadences, they have statuses and events that are independent of each other. Between when a batch is funded, processed, and paid, the individual transactions within that batch will have different statuses. This guide helps you understand the different payout transaction, bill, and batch statuses and how they work together. ## Transactions Payouts to vendors move through various statuses before being fully settled. First, a payout is authorized. Authorized payouts must be captured to be added to a batch. A *Captured* status means a payment has been added to a batch, but isn't processing yet. You can cancel payout transactions with an Authorized or Captured status, until the batch closes for processing at 5 PM Eastern Time. Payouts don't have to be associated with bills: when making a payout request, you can set the query parameter `doNotCreateBills` to `true`. When the batch runs, the payouts move to the *Processing* status. After the funds have been received from the merchant and a payment method for the vendor is confirmed, Payabli sends the payment and the status is *Processed*. When a recipient accepts the funds by either the ACH clearing, using the vCard or cashing the check, the status changes to *Paid*. *This flowchart shows how statuses typically flow. Hover over a status for more information.*
Authorized This transaction can still be canceled.
Status: 11
Event: Authorized
Captured This transaction can still be canceled.
Status: 1
Event: Captured
Processing Status: 2
Events: Waiting funds, Funded, Pending, Generating check
Processed Status: 3
Events: Open, Processed, Reissued, Returned, Errored
Paid Status: 5
Events: Paid
**Canceled status** Only those transactions in the Authorized or Captured status can be canceled.
Canceled This transaction has been canceled.
Status: 0
Event: Canceled
This transaction has been canceled. Status: 0; Event: Canceled ## Batches and funding Batches, also called *payment groups*, are collections of transactions gathered together to be processed at one time. Transactions can be captured or cancelled in a batch while the status is *Open*. When the status moves to *Closed*, the batch begins processing, and transactions can't be cancelled or added to the batch. When the batch status is *Funded*, the money has been received from the funding entity, which is typically the paypoint (merchant). After a batch is funded, the payouts are then sent to the vendors, and the batch status changes to *Processed*. A batch has the Paid status when all transactions in the batch have a status of *Paid*. For more details, see the *Paid* entry in the [Transaction statuses and events](#transactions) section. *This flowchart shows how statuses typically flow. Hover over a status for more information.*
Open Status: 0
Event: None
Closed Status: 1
Event: Approved Payment Group, Waiting Funds
Funded Status: 2
Event: Funded
Processed Status: 3
Event: Payment Group Processed
Paid Status: 4
Event: Paid
## Bills Bills are invoices that vendors have submitted to you, expecting payment. Active bills are queued bills. When an active bill is captured, the status changes to *In Transit*, and the bill's payout process starts. You can track the payout status separately from the bill, and when the payout status is *Paid*, the bill is also marked as *Paid*. **Bill Status** *This flowchart shows how statuses typically flow. Hover over a status for more information.*
Active Status: 1
Event: None
Sent to Approval Status: 2
Event: None
Approved Status: 20
Events: BillApproved, BillDisApproved
In Transit Status: 50
Event: BillProcessing
When a bill is in transit, you can track the bill's payout transaction status
Paid Status: 100
Event: BillPaid
**Bill's payout transaction status** When the bill has the *In Transit* (50) status, you can track the bill's transaction payout status in the batch. See [Payout transaction statuses](/guides/pay-out-status-reference#payout-transaction-statuses) for full details. ## Related resources See these related resources to help you get the most out of Payabli. * **[Pay Out statuses](/guides/pay-out-status-reference)** - Learn about Pay Out statuses *** title: Pay Out statuses subtitle: Learn about Pay Out statuses icon: message-code slug: guides/pay-out-status-reference area: * Pay Out subArea: * Reference audience: * developers * partners description: >- Complete reference for Pay Out status codes across payouts, batches, and bills. Track vendor payments through each stage from authorization to final settlement 'og:description': >- Complete reference for Pay Out status codes across payouts, batches, and bills. Track vendor payments through each stage from authorization to final settlement keywords: >- embedded payments, vendor payments, payables automation, payout processing, payment status, transaction status, batch status, bill status, status codes, payment tracking *** ## Payout transaction statuses Payout statuses, also known as money out transaction statuses, appear in PartnerHub and PayHub, and the API, and describe where a payout transaction is in its lifecycle. | Status | Key | Description | Events | | ---------- | --- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | | Authorized | 11 | A payout is authorized. These are queued payouts, and nothing happens with them until they're captured. | Authorized | | Captured | 1 | A payout is captured and is now part of the batch for payout. | Captured | | Canceled | 0 | An authorized payout has been canceled. A captured payout can be cancelled before batch close at 5 PM ET. | Cancelled | | Processing | 2 | A payout is being processed. | Waiting funds, Funded, Pending (payment type is pending), Generating check | | Processed | 3 | A payment method is defined for the vendor, and the payout has been sent to the recipient. | Open (vCard issued, ACH sent, check generated but not yet cashed), Processed (Payment Type is no longer pending), Reissued, Returned, Errored | | OnHold | 4 | A payout has been placed on hold and requires review before proceeding. | OnHold | | Paid | 5 | A payout has been paid and the recipient has redeemed the funds. | Paid (check cleared, vCard used, ACH settled) | If you are working with money out endpoints involve payouts in the API, the **Key** is returned as `Status`, and the most recent event is returned as `PaymentStatus`. For example, a response body that includes payout data looks like this: ```json { ... "PaypointDbaname": "Ocean Community", "PaypointLegalname": "Ocean Community", "Status": 2, "LastUpdated": "2023-04-18T18:29:17", "TotalAmount": 75, "NetAmount": 75, "FeeAmount": 0, "Source": null, "ParentOrgName": "Centavo Inc. ", "BatchNumber": null, "PaymentStatus": "Awaiting Funds", ... } ``` The `Status` is `2`, which means the payment is processing, and the current event is "Awaiting Funds", which is reflected in `PaymentStatus`. ## Batch statuses These statuses appear in PartnerHub and PayHub, and the API, and describe a money out batch's status. | Status | Key | Description | Events | | --------- | --- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------- | | Open | 0 | The batch is open and hasn't started processing yet. | None | | Closed | 1 | The batch is closed and sent to be processed. Captured payouts can't be cancelled at this point. | Approved Payment Group, Waiting Funds | | Funded | 2 | Money has been received from the funding entity (typically the paypoint). | Funded | | Processed | 3 | All payout requests in the batch have a payment type defined for the vendor, and the payments have been sent. | Payment Group Processed | | Paid | 4 | All payout transactions in the batch have been marked as Paid. | Paid | | Cancelled | -1 | The batch has been cancelled. | Cancelled | If you are working with money out endpoints in the API, the **Key** is returned as `BatchStatus`. For example, a response body that includes batch data looks like this: ```json Example batch response // Example truncated to show the most relevant fields { "Records": [ { "IdBatch": 100, "BatchDate": "2023-05-05T00:00:00", "BatchNumber": "187-20230505-EXAMPLEBATCH", "BatchStatus": 1, "BatchStatusText": "Waiting Funds", ... } ] } ``` The value of `BatchStatus` indicates the status. In the example, the `BatchStatus` is 1, which means it's closed. The `BatchStatusText` returns the most recent event for that status. ## Bill statuses These statuses appear in PartnerHub and PayHub, and the API, and describe where a bill is in its lifecycle. | Status | Key | Description | Events | | ------------------ | --- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | | Active | 1 | The bill has been added for a vendor. It can be sent for approval or sent to payment. Only bills with an Active or Approved status can be sent for payment. | None | | Sent to Approval | 2 | The bill has been sent to approval for payout. | None | | Partially Approved | 5 | The bill has been partially approved for payout. | None | | Rejected | 11 | The bill has been rejected and won't be paid. | BillDisApproved | | Approved | 20 | The bill has been approved for payout. | BillApproved | | In Transit | 50 | The payout for the bill is in transit. | BillProcessing | | Paid | 100 | The bill has been paid. | BillPaid | | Cancelled | -99 | The bill has been cancelled. This is usually to correct the payment type. | BillCanceled | If you are working with money out endpoints in the API, the **Key** is returned as `Status`. For example, a response body that includes bill data will look like this: ```json // Example truncated to show the most relevant fields { "isSuccess": true, "responseText": "Success", "responseCode": 1, "responseData": { "IdBill": 364, "BillNumber": "bill444", ... "Status": 2, ... } } ``` The value of `Status` indicates the status. In the example, the `Status` is 2, which means the bill has been sent to approval. ## Related resources See these related resources to help you get the most out of Payabli. * **[Pay Out schemas](/guides/pay-out-schemas-overview)** - Learn about money out statuses and events and how they work together *** title: Pay Out troubleshooting subtitle: Learn how to troubleshoot common issues with Pay Out features icon: triangle-exclamation slug: guides/pay-out-troubleshooting area: * Pay Out subArea: * Troubleshooting audience: * developers * partners * merchants description: >- Resolve Pay Out and vendor payment issues with troubleshooting for vCard processing, check payments, vendor management, managed payables, and vendor enablement 'og:description': >- Resolve Pay Out and vendor payment issues with troubleshooting for vCard processing, check payments, vendor management, managed payables, and vendor enablement keywords: >- embedded payments, vendor payments, payables automation, troubleshooting, payout issues, vendor management, payment cancellations, check payments, vCard processing, managed payables *** This guide covers common issues and questions related to Pay Out features. If you have a question that isn't covered here, please reach out to Payabli Support. We *strongly* suggest you use the AI chat to find answers instead of browsing through these docs. The chat has access to the most up-to-date information and can provide you with the best answers. ## Payout processing If a vendor doesn't process their vCard payment within a reasonable period, Payabli's system may automatically reissue the payment as a check. In that case, the payment status shows as IN TRANSIT when the check has been issued and mailed, indicating that it has been sent but not yet deposited by the vendor. You can track the status of these payments in [Money Out Statuses](/guides/pay-out-status-reference). If you need to verify the delivery status of a check payment, contact Payabli support with the check number and date issued. If a vendor reports that they haven't received payment despite being issued a vCard, follow these steps: 1. First, verify the vCard was issued by checking the payment status in your Payabli dashboard or via the API. 2. If the vCard is issued but not processed, contact Payabli Support to initiate a Representative Assisted Payment (RAP) process. 3. A payment specialist wil; contact the vendor directly to assist with processing the vCard payment. For faster processing, vendors may need to be contacted by phone rather than email to authorize vCard charges. If a vendor requires late fees for a payment submitted after their grace period, and they won't accept a separate payment for the late fee, follow these steps: 1. Cancel the original payment. 2. Resubmit the payment with the total amount including the late fees. ## Payout changes and cancellations When a vendor indicates that a payment is not needed (for example, if an invoice was already paid), payables agents may initiate a cancellation without requiring a client request. This process works as follows: * Payables agents verify with the vendor that the payment is not needed. * The agent cancels the payment and processes a refund. * A notification is automatically sent to let you know about the cancellation and the system updates to reflect cancelled status. Although merchants can initiate cancellations themselves, payables agents are authorized to process cancellations proactively to avoid holding funds for unnecessary payments. This helps prevent duplicate payments and ensures efficient fund management. When you need to cancel and reissue a check payment issued via managed payables, the process involves several steps: 1. Request a stop payment on the original check by emailing [repay@payabli.com](mailto:repay@payabli.com). 2. The payables team confirms the stop payment with check's issuing bank. 3. Once confirmed, the payables team reissues a new check as requested. Important notes: * A stop payment notice will be issued indicating the check should not be presented at any financial institution. * Any attempt to cash or deposit the original check may result in returned check fees. * Check copies are only available for checks that have been deposited. * All relevant parties should be notified that the original check should be destroyed. You can track the status of your payout transaction through various stages in the [Money Out Statuses](/guides/pay-out-status-reference) documentation. ## Vendor management If you're using managed payables and a vendor needs to update their bank account information for receiving ACH payment, reach out to Payabli support. The Support team helps coordinate authorizing the bank change with the vendor. For security purposes, the vendor must complete a new ACH/Direct Deposit enrollment form. If the vendor has relationships with multiple paypoints or organizations, include the vendor ID for all associated paypoints. This makes sure that the vendor's bank account information is updated across all relevant paypoints and organizations. You don't need to create a new vendor record to update a bank account. Existing vendor names can't be modified in Payabli. To change a vendor's name: 1. Create a new vendor record with the business name and details using the [Vendor API](/guides/pay-out-developer-vendors-manage) or [vendor management in the UI](/guides/pay-out-portal-vendors-manage). 2. Submit new payments under the business vendor record. 3. The vendor will go through the [payment enablement process](/guides/pay-out-managed-payables-overview) for the new business record. The original vendor record remains in the system, but is inactive. Each vendor record must have its own banking information and vendor ID. ## Related resources See these related resources to help you get the most out of Payabli. * **[Pay Out schemas](/guides/pay-out-schemas-overview)** - Learn about money out statuses and events and how they work together * **[Pay Out statuses](/guides/pay-out-status-reference)** - Learn about Pay Out statuses *** title: Pay Out TransEvent reference subtitle: Learn about TransEvent values icon: message-dots slug: guides/pay-out-transevents-reference area: * Pay Out subArea: * Reference audience: * developers * partners description: >- Track lifecycle events for Pay Out transactions with TransEvent values. Understand approvals, declines, settlements, and batch operations for payment processing 'og:description': >- Track lifecycle events for Pay Out transactions with TransEvent values. Understand approvals, declines, settlements, and batch operations for payment processing keywords: >- embedded payments, payment processing, accept payments, vendor payments, transaction events, payment lifecycle, transaction status, payment tracking, settlement events, batch processing *** Transaction events are notes about each event that a transaction goes through during its lifecycle. This reference covers the most common `TransEvent` values you might see on payout transactions. Most of the time, the `EventData` object contains more details about the `TransEvent`. For example `EventData` may contain information about why an operation failed, or a substatus explaining more about the event. This reference does not include every possible `TransEvent` value. Some events are specific to certain payment methods or processors. If you need information about a specific event not listed here, please contact Payabli support. If you're looking for Pay In transaction events, see the [Pay In TransEvent reference](/guides/pay-in-transevents-reference).
TransEvent Description Maps To
Authorized A payout is authorized. These are queued payouts, and nothing happens with them until they're captured. 11 (Authorized)
Captured A payout is captured and is now part of the batch for payout. 1 (Captured)
Capture Declined Authorized transaction capture failed. N/A
Cancelled An authorized payout has been cancelled. A captured payout can be cancelled before batch close at 5 PM ET. 0 (Cancelled)
Cancel Declined Transaction cancellation failed. N/A
Closed Batch Batch closed. 1 (Closed)
Created The first event for a transaction, created automatically when a transaction is started. N/A
Waiting funds A payout is being processed. 2 (Processing)
Funded A payout is being processed. 2 (Processing)
Pending (payment type is pending) A payout is being processed. 2 (Processing)
Generating check A payout is being processed. 2 (Processing)
Open ACH sent, vCard issued, check generated but not yet cashed. A payment method is defined for the vendor, and the payout has been sent to the recipient, but hasn't been redeemed. 3 (Processed)
Processed Payment Type is no longer pending. 3 (Processed)
Reissued A payment method has been reissued. 3 (Processed)
Returned Payment has been returned. 3 (Processed)
Errored There was an error in processing the payment. 3 (Processed)
Paid A payout has been paid and the recipient has redeemed the funds. The vCard has been used, the check has been cashed, or the ACH has settled. 5 (Paid)
## 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 * **[Payment response codes and errors](/guides/platform-return-codes-and-errors-reference)** - Learn about payment response codes for different payment methods *** title: Pay In troubleshooting subtitle: Learn how to troubleshoot common issues with Pay In features icon: triangle-exclamation slug: guides/pay-in-troubleshooting area: * Pay In subArea: * Troubleshooting audience: * developers * partners * merchants description: >- Resolve common Pay In issues with our troubleshooting guide. Find solutions for transaction failures, funding delays, declined payments, and API error codes 'og:description': >- Resolve common Pay In issues with our troubleshooting guide. Find solutions for transaction failures, funding delays, declined payments, and API error codes keywords: >- embedded payments, payment processing, accept payments, troubleshooting, payment errors, transaction failures, payment debugging, error resolution, payment issues *** This guide covers common issues and questions related to Pay In features. If you have a question that isn't covered here, please reach out to Payabli Support. We *strongly* suggest you use the AI chat to find answers instead of browsing through these docs. The chat has access to the most up-to-date information and can provide you with the best answers. ## Payment method management When saving a payment method with an embedded component or the API, you may get a success response that returns a method without it saving to the customer's profile. This typically happens because the API or embedded component was configured to create a temporary token. To fix this, configure the request or component to return permanent tokens: * **For tokenization API requests**: Set the `temporary` query parameter to `false`. See [this guide](/guides/platform-developer-tokenization-save-method#query-parameters) for more. * **For embedded components**: In the component configuration, set `temporaryToken` to `false`. See the configuration references for [EmbeddedMethod UI](/guides/pay-in-components-embeddedmethod-ui#configuration-reference) and [PayMethod UI](/guides/pay-in-components-paymethod-ui#configuration-reference) for more. When configuring the PayMethod UI embedded component, or saving a payment method via the API, setting `temporary` or `temporaryToken` to `true` creates a temporary, one-time-use token for the payment method. The token expires in 12 hours. Payabli supports the following credit card brands: * Visa * Mastercard * American Express * Discover * JCB * Diners Club If you have questions about specific card types or brands, reach out to Payabli Support. ## Troubleshooting payment issues An expired card decline can occur in two scenarios: 1. The card issuer has determined the card is expired. Sometimes a card that has been reported lost or stolen is marked by the bank as expired. In this case, the customer must provide a new card number. 2. When using a tokenized card number, if the original card associated with the token has expired, even if you provide a valid expiration date in the request. If you receive this error when using a tokenized card, you need a new card number from the customer to create a new token. For more details on card response codes, see [Payment Response Codes and Errors](/guides/platform-return-codes-and-errors-reference#card-response-codes). When an ACH payment is declined and you get the "consumer verification negative" message, it's because either: * The customer entered their account information incorrectly and caused an earlier ACH return. Have the customer check their account information and try again. If the issue persists, try a different payment method. * The account number entered is flagged as a risk because of earlier ACH returns, and the transaction has been declined. In this case, the customer must use a different payment method. The PAX terminal's contactless payment feature requires specific card placement for successful transactions: 1. Hold the card at the end of the device where the contactless logo is located (not on the face of the device). 2. Keep the card steady and held in place until you hear a beep. If the contactless payment continues to decline, we recommend completing the transaction by either inserting the chip or swiping the card instead. The PAX terminal's contactless reader can be sensitive and may not always successfully read contactless cards even when properly positioned. This is a known hardware limitation. The PAX doesn't support contactless payments with Diners Club cards, they must be inserted. ## Refunds and transaction costs Payabli supports [pass-through fees](/guides/pay-in-fees-passthrough-overview). Because pass-through fees cover the standard processing cost for the original transaction, they aren't returned when a merchant issues a full or partial refund to customers. If a transaction with a pass-through fee is voided before settlement, the fee is canceled too. Letting customers know at time of transaction that the fee is non-refundable helps minimize disputes. When you cancel a transaction by voiding it before the batch closes or refunding it, you may incur processing costs for the cancellation. ### Voids For voids, there are authorization costs for the original transaction, but there is no extra cost to make a void. Voids cancel the transaction before it's processed, so a voided transaction doesn't incur interchange costs. ### Refunds You can only refund a transaction after it's been processed, so the original transaction incurs authorization costs and interchange costs. A refund is a second transaction, so there is an additional authorization cost for the refund itself. The original transaction's costs aren't refunded to the merchant. If you have questions about your interchange and authorization costs, reach out to support. ## ACH payment handling A Check Truncation Entry Return (return code R11) occurs when an electronically processed check payment is returned unpaid. This can happen due to various reasons such as insufficient funds, invalid account numbers, or suspected fraudulent activity. When this occurs, the electronic image of the check couldn't be processed successfully through the ACH network. For more information about ACH disputes and returns, see [ACH disputes](/guides/pay-ops-disputes-chargebacks-returns-overview#ach-disputes-overview). Some banks require pre-authorization for ACH transactions. To ensure smooth processing and prevent ACH returns due to authorization issues, we recommend the following steps: 1. Recommend that your customer authorize ACH transactions with their bank in advance. 2. Provide the customer with the ACH ID and descriptor: 1841393599 / WFMSPROPAY to give to their bank for allowlisting. Pre-authorization is not always required, it depends on the customer's bank. For more information about different types of ACH returns, see the [ACH Return Codes Reference](/guides/platform-ach-return-codes-reference). When a payor initiates a stop payment on an ACH transaction, the funds are never collected from their account. This is reflected in Payabli's system through the following process: 1. The transaction is initially recorded in a batch (for example, 'batch\_combined') 2. When the stop payment is processed, it appears as a return in Payabli. 3. The return is then reconciled through a corresponding return batch (for example, 'batch\_combined\_return') To verify a stop payment: * Check the transaction status for the return indication * Review the batch reconciliation records for both the initial transaction and return entries For more information about ACH returns and disputes, see [Payment Disputes](/guides/pay-ops-disputes-chargebacks-returns-overview#ach-disputes). ## Related resources See these related resources to help you get the most out of Payabli. * **[ACH return codes reference](/guides/platform-ach-return-codes-reference)** - Understand how to handle different types of ACH returns * **[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 * **[Payment response codes and errors](/guides/platform-return-codes-and-errors-reference)** - Learn about payment response codes for different payment methods *** title: Pay Ops overview subtitle: >- Learn more about Payabli's Pay Ops features, and find all the guides in one place description: >- Master payment operations with tools for merchant boarding, reporting, notifications, entity management, and dispute handling. Run a robust payment platform 'og:description': >- Master payment operations with tools for merchant boarding, reporting, notifications, entity management, and dispute handling. Run a robust payment platform keywords: >- embedded payments, payment operations, merchant onboarding, payment reporting, payment notifications, entity management, payment disputes, merchant boarding icon: circle-info slug: guides/pay-ops-overview area: * Pay Ops audience: * developers *** Payabli's Pay Ops features cover managing your payment operations. Payabli's Pay Ops capabilities include: * Merchant boarding * Robust reporting and notifications * Organization, paypoint, user, customer, and vendor management (known as entities in Payabli) * Managing disputes and compliance If you're brand new to Payabli and want to understand the basics of how money moves, check out the intro here: [How Money Moves](/guides/platform-how-money-moves-overview). These guides will help you get up and running with Payabli's Pay Ops features. ## Boarding Boarding is the process of signing up merchants to your payment platform. Payabli provides tools to help you onboard merchants quickly and securely. * [Merchant application tips](/guides/pay-ops-boarding-application-tips) — Learn how to avoid common merchant application problems * [Bulk boarding guide](/guides/pay-ops-boarding-bulk) — Learn how to bulk board merchants in Payabli * [Decision guide: Merchant boarding](/guides/pay-ops-boarding-decision) — Use this guide to help you choose the right merchant boarding approach for your platform * [Boarding application field explorer](/guides/pay-ops-boarding-field-explorer) — Learn how boarding application fields interact and which are required and recommended * [Required fields for boarding applications](/guides/pay-ops-boarding-kyc-fields-overview) — Learn more about the know-your-customer (KYC) and know-your-business (KYB) fields required for merchant onboarding * [Boarding overview](/guides/pay-ops-boarding-overview) — Learn how merchant boarding works in Payabli * [Boarding statuses reference](/guides/pay-ops-boarding-status-reference) — Learn about statuses and substatuses during the merchant boarding process * [Add additional data to boarding applications](/guides/pay-ops-developer-boarding-add-data) — Learn how `additionalData` works in boarding applications * [Get boarding app notes & events](/guides/pay-ops-developer-boarding-get-notes-events) — Learn how to see an application's notes and events via the Payabli API * [API-driven boarding quickstart](/guides/pay-ops-developer-boarding-quickstart) — Learn to use example code to set up a custom app for boarding using the Payabli API * [Send prefilled boarding applications](/guides/pay-ops-developer-boarding-send-prefilled-apps) — Learn how to send prefilled boarding applications to prospective merchants * [Manage boarding in the UI](/guides/pay-ops-portal-boarding-manage) — Learn how to manage the boarding process for paypoints in the Payabli UI ## Reporting and notifications Payabli offers robust reporting tools and webhooks to help you track transactions, settlements, and other key metrics. You can also set up notifications to stay informed about important events. ### Notifications * [Manage notifications](/guides/pay-ops-developer-notifications-manage) — Learn how to use the Payabli API to add notifications and automated reports for important events * [Webhook quickstart](/guides/pay-ops-developer-webhooks-quickstart) — Learn to use example code to set up webhooks for payment notifications * [Notifications & reports overview](/guides/pay-ops-notifications-webhooks-overview) — Get automated reports and notifications for key events * [Manage notifications in the UI](/guides/pay-ops-portal-notifications-manage) — Learn how to add and manage notifications and automated reports in the UI * [Webhook notification response reference](/guides/pay-ops-webhooks-payloads) — Learn more about the payload for each webhook notification response body ### Reporting * [Manage ACH returns & chargebacks in the UI](/guides/pay-in-portal-disputes-manage) — Learn how to manage payment disputes like ACH returns and chargebacks in the Payabli UI * [Reconcile adjustments in transfers](/guides/pay-ops-developer-transfers-reconcile) — Learn how to use the Payabli API to track adjustments, such as ACH returns and chargebacks, in your money in transfers * [Manage notifications in the UI](/guides/pay-ops-portal-notifications-manage) — Learn how to add and manage notifications and automated reports in the UI * [Use reporting endpoints](/guides/pay-ops-reporting-overview) — Learn how to use the query and statistics Payabli API endpoints for tailored reporting * [Managing merchant ACH debit failures & returns](/guides/pay-ops-transfers-ach-returns) — Learn how to manage merchant ACH debit failures and returns and how they impact merchant funding and transfers * [Audit payout transactions with the API](/guides/pay-out-developer-payouts-audit) — Learn how to use the Payabli API to track and audit payout transactions ## Entities Entities in Payabli refer to the people and businesses that interact with your payment platform, including vendors, customers, and users. Payabli provides tools to help you manage these entities effectively. * [Manage customers in the UI](/guides/pay-in-portal-customers-manage) — Learn how to add and manage customers in the Payabli UI * [Manage Customers with the API](/guides/pay-ops-developer-customers-manage) — Learn how to add and manage customers with the Payabli API * [Manage Users](/guides/pay-ops-developer-users-manage) — Learn how to add and manage users in Payabli * [Paypoint statuses](/guides/pay-ops-paypoint-status-reference) — Learn about the different statuses of paypoints * [Manage organizations](/guides/pay-ops-portal-organizations-manage) — Learn how to manage organizations in the Payabli UI * [Manage paypoints](/guides/pay-ops-portal-paypoints-manage) — Learn how to manage paypoints in the Payabli UI * [Manage users in the UI](/guides/pay-ops-portal-users-manage) — Learn how to add and manage users in PartnerHub and PayHub * [Manage vendors with the API](/guides/pay-out-developer-vendors-manage) — Learn how to add and manage vendors with the Payabli API * [Manage Vendors in the UI](/guides/pay-out-portal-vendors-manage) — Learn how to add and manage vendors in the Payabli UI * [Entities overview](/guides/platform-entities-overview) — Understand how entities like organizations, suborganizations, paypoints, customers, and vendors work in Payabli * [Manage your profile](/guides/platform-portal-user-profile-manage) — Learn how to manage your user profile in the Payabli UI ## Disputes Disputes, like chargebacks and returns, are part of payment processing. Payabli offers tools to help you manage these situations effectively and minimize their impact on your business. * [Payment disputes](/guides/pay-ops-disputes-chargebacks-returns-overview) — Learn how payment disputes like chargebacks and ACH returns work * [ACH return codes reference](/guides/platform-ach-return-codes-reference) — Understand how to handle different types of ACH returns * [Reconcile adjustments in transfers](/guides/pay-ops-developer-transfers-reconcile) — Learn how to use the Payabli API to track adjustments, such as ACH returns and chargebacks, in your money in transfers ## Risk and compliance These guides cover risk and compliance topics related to Pay In. * [Risk & compliance basics](/guides/platform-risk-basics-overview) — Learn about suspicious activity detection and compliance in payment processing ## Billing and fees These guides cover billing and fees topics to help you understand Payabli's billing and fee structures. * [Pass-through fees](/guides/pay-in-fees-passthrough-overview) — Learn how pass-through fees work in Payabli * [Merchant processing pricing & fees](/guides/pay-ops-billing-and-fees-overview) — Learn how merchant processing fees work in Payabli * [Understanding processing fees statements](/guides/pay-ops-fees-statements-overview) — Learn how to interpret merchant statements for processing fees ## Account management These guides cover topics related to general account management in Payabli. * [Request bank account change](/guides/pay-ops-account-bank-change) — Learn how to update a paypoint's bank account information * [Understanding processing fees statements](/guides/pay-ops-fees-statements-overview) — Learn how to interpret merchant statements for processing fees * [Supported regions](/guides/pay-ops-supported-regions-overview) — Learn which countries and territories are supported for Pay In and Pay Out features * [Understanding thresholds](/guides/pay-ops-thresholds-overview) — Learn about how threshold amounts affect your payment processing * [Manage your profile](/guides/platform-portal-user-profile-manage) — Learn how to manage your user profile in the Payabli UI ## Troubleshooting If you run into issues while using Payabli's Pay Ops features, check out [the Pay Ops troubleshooting guide](/guides/pay-ops-troubleshooting) for help resolving common problems. *** title: Access PartnerHub and PayHub subtitle: Learn how to access Payabli's PartnerHub and PayHub UIs slug: guides/platform-portal-access icon: browser area: * Pay Ops audience: * partners * merchants description: >- Get started with PartnerHub and PayHub web apps. Access transaction visibility, settlement tracking, batch management, and detailed reporting for your account 'og:description': >- Get started with PartnerHub and PayHub web apps. Access transaction visibility, settlement tracking, batch management, and detailed reporting for your account keywords: >- embedded payments, payment operations, merchant onboarding, PartnerHub, PayHub, platform access, payment dashboard, transaction visibility, merchant portal *** PartnerHub (for partners) and PayHub (for paypoints/merchants) (our web apps) provide comprehensive visibility into your transactions and settlements. How you access the platform depends on whether you're a partner or a merchant. Payabli's apps let you view all transactions and batches by merchant location, track settlements and pending payments, access historical transaction data, and download detailed reports. ## Access for partners To access PartnerHub, follow these steps: 1. Request platform access from Payabli Support. 2. Receive login credentials via email. 3. Log in and create your password. 4. Complete platform tour with the Payabli team. ## Access for merchants To access PayHub, follow these steps: 1. Request platform access from your partner contact. 2. Receive login credentials via email. 3. Log in and create your password. 4. Complete platform tour with partner support team. *** title: Entities overview subtitle: >- Understand how entities like organizations, suborganizations, paypoints, customers, and vendors work in Payabli description: >- Understand the entity hierarchy including organizations, paypoints, customers, and vendors. Learn how entities relate and structure your payment operations 'og:description': >- Understand the entity hierarchy including organizations, paypoints, customers, and vendors. Learn how entities relate and structure your payment operations keywords: >- embedded payments, payment operations, merchant onboarding, entity structure, organization hierarchy, paypoint structure, merchant entities, payment architecture icon: users slug: guides/platform-entities-overview area: * Pay Ops subArea: * Entities audience: * developers * partners * merchants *** Payabli's hierarchical structure enables partners to manage unlimited suborganizations and paypoints. Below are descriptions of different entities supported within Payabli's Platform Architecture: Entities hierarchy schematic Entities hierarchy schematic ## Entity types **Organization**: Payabli was created for organizations like software companies to manage their payments business. Organizations are able to create unlimited parent-child relationships of suborganizations and Paypoints. Organizations can white label Payabli's web app, called either PartnerHub or PayHub depending on the use, for some or all payment solutions. Organizations are sometimes referred to as "partners" in Payabli. **Suborganization**: Suborganizations are created by organizations to group and manage paypoints. For example, if you have franchise groups, value added resellers, or trade association partners, you can create suborganizations empower those groups to manage their own paypoint portfolios. **Paypoint**: Paypoints are the organization's customers, that are using your product to receive and send payments. These are also referred to as merchants. **Customer**: Customers are the businesses or individuals that make payments (pay in transactions) to the paypoint via the organization's product. **Vendor**: Vendors are the inverse of customers. They're businesses or individuals that receive payments (pay out transactions) from the paypoint. ## Entity status codes (API) When working with entities via the API, you can control and monitor entity statuses with their status fields. ### Paypoint status See [Paypoint status](/guides/pay-ops-paypoint-status-reference) for more information on paypoint statuses. ### Customer status See [Customer status](/guides/pay-ops-developer-customers-manage#customer-status) for more information on customer statuses. ### Vendor status See [Vendor status](/guides/pay-out-developer-vendors-manage#vendor-status) for more information on vendor statuses. ## Related resources See these related resources to help you get the most out of Payabli. * **[Manage Customers with the API](/guides/pay-ops-developer-customers-manage)** - Learn how to add and manage customers with the Payabli API * **[Manage Users](/guides/pay-ops-developer-users-manage)** - Learn how to add and manage users in Payabli * **[Manage vendors with the API](/guides/pay-out-developer-vendors-manage)** - Learn how to add and manage vendors with the Payabli API * **[Manage organizations](/guides/pay-ops-portal-organizations-manage)** - Learn how to manage organizations in the Payabli UI * **[Manage paypoints](/guides/pay-ops-portal-paypoints-manage)** - Learn how to manage paypoints in the Payabli UI * **[Manage your profile](/guides/platform-portal-user-profile-manage)** - Learn how to manage your user profile in the Payabli UI *** title: Manage organizations subtitle: Learn how to manage organizations in the Payabli UI slug: guides/pay-ops-portal-organizations-manage icon: buildings area: * Pay Ops subArea: * Entities audience: * partners * merchants description: >- Manage organization hierarchies in PartnerHub including suborganizations, paypoint associations, and entity relationships. View dashboards and edit details 'og:description': >- Manage organization hierarchies in PartnerHub including suborganizations, paypoint associations, and entity relationships. View dashboards and edit details keywords: >- embedded payments, payment operations, merchant onboarding, organization management, portfolio management, suborganizations, entity management, business hierarchy *** Organizations are business entities that can exist either as parent organizations or suborganizations in Payabli. This guide explains how to manage organizations in the Payabli UI. To access the Organizations screen, navigate to **Portfolio > Organizations**. This is where you can view and manage all suborganizations within your organization. For each organization record, you can: * View organization details * Go to the organization's dashboard * Edit the organization's information * Delete the organization To see all options for managing an individual organization, click the three-dot menu in the **Actions** column. ## View an organization To view the details of an organization from the UI, follow these steps: 1. From the Organizations screen, locate the organization you're interested in and click the three-dot icon in the **Action** column. 2. Select **View Details** from the menu to go to the organization's summary page. From here, you can see: * Name, location details, and billing information * The number of sub-organizations this organization has * The number of paypoints associated with this organization * Active autopays, autopay volume, transactions, and gross transaction volume * Points of contact for this organization 3. Once on the summary page, you can navigate to related entities: * Click **Orgs** in the top menu to view suborganizations * Click **Paypoints** in the top menu to view affiliated paypoints For a less detailed view, or to see an organization's information without leaving the **Organizations** screen, select **Quick View** instead of **View Details**. This opens the *Quick view* panel and displays the organization's name, location details, and billing information, which you can edit here. ## Edit an organization To edit an organization from the UI, follow these steps: 1. From the Organizations screen, locate the organization you're interested in and click the three-dot icon in the **Action** column. 2. Select **Edit** from the menu to open the *Edit Organization* modal. 3. Update the basic organization information and billing details. 4. Click **Save** to confirm your changes. ## View an organization dashboard To view an organization's dashboard from the UI, follow these steps: 1. From the Organizations screen, locate the organization you're interested in and click the three-dot icon in the **Action** column. 2. Select **Go to Organization** from the menu. 3. The system will navigate to the selected organization's dashboard. ## Delete an organization Deleting an organization is permanent. This action can't be undone. To delete an organization from the UI, follow these steps: 1. From the Organizations screen, locate the organization you're interested in and click the three-dot icon in the **Action** column. 2. Select **Delete Organization** from the menu. 3. Confirm your decision in the prompt that appears. *** title: Manage paypoints subtitle: Learn how to manage paypoints in the Payabli UI slug: guides/pay-ops-portal-paypoints-manage icon: store area: * Pay Ops subArea: * Entities audience: * partners * merchants description: >- Manage merchant paypoints in PartnerHub and PayHub. View paypoint details, banking info, payment pages, transaction volumes, and navigate between dashboards 'og:description': >- Manage merchant paypoints in PartnerHub and PayHub. View paypoint details, banking info, payment pages, transaction volumes, and navigate between dashboards keywords: >- embedded payments, payment operations, merchant onboarding, paypoint management, merchant management, merchant dashboard, payment configuration, merchant accounts *** Paypoints are merchants that can send or receive payments through your organization. This guide explains how to manage paypoints in the Payabli UI. To access the Paypoints screen, navigate to **Portfolio > Paypoints**. This is where you can view and manage all paypoints associated with your organization. For each paypoint record, you can: * View details about the paypoint * Edit some paypoint information * Go to the paypoint's dashboard To see all options for managing an individual paypoint, click the three-dot menu in the **Actions** column. ## View a paypoint To view a paypoint from the UI, follow these steps: 1. From the Paypoints screen, locate the paypoint you're interested in and click the three-dot icon in the **Action** column. 2. Select **View Details** from the menu to go to the paypoint's summary page. 3. From here, you can see: * Name, location details, and banking information * A list of payment pages for this paypoint * The organization this paypoint is associated with * Active autopays, autopay volume, transactions, and gross transaction volume * Points of contact for this paypoint For a less detailed view, or to see a paypoint's information without leaving the **Paypoints** screen, select **Quick View** instead of **View Details** in step 2. This opens the *Quick view* panel and displays the paypoint's name, location details, and banking information. You can't edit this information here, however. ## Edit a paypoint To edit a paypoint from the UI, follow these steps: 1. From the Paypoints screen, locate the paypoint you're interested in and click the three-dot icon in the **Action** column. 2. Select **Manage Paypoint** from the menu to open the paypoint's Command Center view. 3. Here, you can edit some paypoint information, by clicking either the three-dot icon **> Edit** or **View & Manage Details** at the top of a section. ## Go to a paypoint dashboard To go to a paypoint's dashboard from the UI, follow these steps: 1. From the Paypoints screen, locate the paypoint you're interested in and click the three-dot icon in the **Action** column. 2. Select **Go to Paypoint** from the menu. *** title: Paypoint statuses subtitle: Learn about the different statuses of paypoints icon: store slug: guides/pay-ops-paypoint-status-reference area: * Pay Ops subArea: * Entities audience: * developers * partners description: >- Reference for paypoint status codes throughout the merchant lifecycle. Understand each status from onboarding through active processing and when action needed 'og:description': >- Reference for paypoint status codes throughout the merchant lifecycle. Understand each status from onboarding through active processing and when action needed keywords: >- embedded payments, payment operations, merchant onboarding, paypoint status, merchant status, boarding status, underwriting status, merchant lifecycle, status codes *** Paypoints can have different statuses that indicate their current state. These statuses are important for understanding the paypoint's functionality and limitations. In paypoint endpoints and endpoints that return paypoint data, the status field is `PaypointStatus`.
Status Code Description
Inactive 0 The paypoint is inactive. This can happen for a several reasons, but it's typically because the paypoint is still being configured. If a paypoint was previously active, an Inactive status means that it's no longer able to take payments but can still receive chargebacks and returns.
Active 1 The paypoint has been fully configured and is ready to accept payments.
*** title: Manage Users subtitle: Learn how to add and manage users in Payabli description: >- Create and manage user accounts and permissions in Payabli via the API. Control access levels, assign roles, and automate user provisioning for your platform 'og:description': >- Create and manage user accounts and permissions in Payabli via the API. Control access levels, assign roles, and automate user provisioning for your platform keywords: >- embedded payments, user management, user permissions, access control, user roles, user provisioning, payment operations slug: guides/pay-ops-developer-users-manage icon: user layout: overview area: * Pay Ops subArea: * Entities audience: * developers *** You can add and manage users from PartnerHub and PayHub. See [Manage Users in the UI](/guides/pay-ops-portal-users-manage) for help. If you want to add and manage users via the API, please reach out to the Payabli team for help. ## Related resources See these related resources to help you get the most out of Payabli. * **[Entities overview](/guides/platform-entities-overview)** - Understand how entities like organizations, suborganizations, paypoints, customers, and vendors work in Payabli *** title: Manage users in the UI subtitle: Learn how to add and manage users in PartnerHub and PayHub slug: guides/pay-ops-portal-users-manage icon: user area: * Pay Ops subArea: * Entities audience: * partners * merchants description: >- Add and manage users in PartnerHub and PayHub. Control access, permissions, profiles, and statuses. Reset passwords and configure roles for your organization 'og:description': >- Add and manage users in PartnerHub and PayHub. Control access, permissions, profiles, and statuses. Reset passwords and configure roles for your organization keywords: >- embedded payments, payment operations, merchant onboarding, user management, user permissions, access control, user roles, account management, team management *** In Payabli, users are individuals associated with an organization, suborganization, or paypoint who are authorized to use the Payabli platform. This guide explains how to add and manage users with PartnerHub and PayHub. Users are accounts that can access and interact with the Payabli UI. This guide explains how to add and manage users in PartnerHub and PayHub. To access the Users screen, navigate to **Settings > Manage Users**. This action opens the *User Management* view. This is where you can view all users and manage their accounts. For each user record, you can: * Add new users * View user details * Edit user information * Manage user permissions * Reset user passwords * Delete users To see all options for managing an individual user, click the three-dot menu in the **Actions** column. ## Add a user To add a user from the UI, follow these steps: 1. Navigate to **Settings > Manage Users**. 2. Click **Add User**. 3. Follow the prompts to add the user information and permissions. Email addresses can't contain the "+" character. 4. Click **Save** to create the new user account. ## View a user To view user details from the UI, follow these steps: 1. Navigate to **Settings > Manage Users**. 2. Find the user you want to view. 3. Click the three-dot icon in the **Actions** column. 4. Select **View Details**. From here, you can see: * User profile information * Contact details * Permission settings * Account status ## Edit a user To edit a user from the UI, follow these steps: 1. Navigate to **Settings > Manage Users**. 2. Find the user you want to edit. 3. Click the three-dot icon in the **Actions** column. 4. Select **View Details**. 5. Click the edit icon next to the section you want to update. 6. Make your changes and click **Save**. ## Manage user permissions To manage a user's permissions from the UI, follow these steps: 1. Navigate to **Settings > Manage Users**. 2. Find the user you want to manage. 3. Click the three-dot icon in the **Actions** column. 4. Select **View Details**. 5. Click the edit icon next to **Permissions Enabled**. 6. Make your changes and click **Save** when finished. The *Permissions Enabled* section contains a list of all permissions available to users in Payabli. The permissions enabled for a user have green checkmarks next to them. ## Reset a user password To reset a user's password from the UI, follow these steps: 1. Navigate to **Settings > Manage Users**. 2. Find the user who needs a password reset. 3. Click the three-dot icon in the **Actions** column. 4. Select **Reset Password**. 5. Confirm the action in the dialog that appears. ## Delete a user To delete a user from the UI, follow these steps: 1. Navigate to **Settings > Manage Users**. 2. Find the user you want to delete. 3. Click the three-dot icon in the **Actions** column. 4. Select **Delete**. 5. Confirm the deletion in the dialog that appears. ## User status reference User accounts can have different statuses. Here are the possible statuses and what they mean: | Status | Code | Description | | -------- | ---- | ------------------------------------------------------------------------------------------------------ | | Inactive | 0 | User account exists but isn't in use. | | Active | 1 | User account in use and accessible. | | Deleted | -99 | User account has been permanently removed. | | Locked | 85 | User account is temporarily suspended or frozen. Users can't log into accounts with the Locked status. | You can also add and manage users via the Payabli API. Reach out to the Payabli team for more information. *** title: Manage your profile subtitle: Learn how to manage your user profile in the Payabli UI slug: guides/platform-portal-user-profile-manage icon: circle-user area: * Pay Ops subArea: * Entities * Account Management audience: * partners * merchants description: >- Manage your user profile in PartnerHub and PayHub. Update contact info, login credentials, and multi-factor authentication, and view organization permissions 'og:description': >- Manage your user profile in PartnerHub and PayHub. Update contact info, login credentials, and multi-factor authentication, and view organization permissions keywords: >- embedded payments, payment operations, merchant onboarding, user profile, account settings, MFA setup, user management, access permissions, profile settings *** Your profile is where Payabli stores basic information about you as a user. This guide explains how to view and edit your profile information in the Payabli UI. To access your Profile view, navigate to **Settings > My Profile**. This is where you can manage your personal information, login credentials, and view your permissions. For your profile, you can: * Edit your user information * Update login credentials * Manage multi-factor authentication settings * View organization access * View available permissions ## Edit your user information To edit your user information from the UI, follow these steps: 1. Navigate to **Settings > My Profile**. 2. Locate the **User Information** section. 3. Click the **Edit** icon at the top of the section. 4. Update any of the following information: * Profile photo * Full name * Email address * Phone number * Time zone * Status ## Update your login credentials To update your login credentials from the UI, follow these steps: 1. Navigate to **Settings > My Profile**. 2. Locate the **Login Information** section. 3. Click the **Edit** icon. 4. Update your information. ## Manage multi-factor authentication To update your multi-factor authentication settings from the UI, follow these steps: 1. Navigate to **Settings > My Profile**. 2. Locate the **Multi-Factor Authentication** section. 3. Click the **Edit** icon. 4. Select your preferred method of authentication. ## View your access and permissions To view your organization access and permissions from the UI, follow these steps: 1. Navigate to **Settings > My Profile**. 2. Scroll down to see: * The organizations to which you have access * The complete list of permissions available to you in Payabli *** title: 'Decision guide: Merchant boarding' description: >- Choose the right merchant boarding approach for your platform with an interactive decision guide. Compare API-driven, prefilled, and default boarding options max-toc-depth: 3 subtitle: >- Use this guide to help you choose the right merchant boarding approach for your platform 'og:description': >- Choose the right merchant boarding approach for your platform with an interactive decision guide. Compare API-driven, prefilled, and default boarding options keywords: >- embedded payments, payment operations, merchant boarding, API-driven, boarding links, Payabli boarding, merchant applications, pre-filled applications slug: guides/pay-ops-boarding-decision icon: clipboard-question area: * Pay Ops subArea: * Boarding audience: * developers * partners *** When integrating Payabli's merchant boarding into your platform, selecting the right approach is critical for balancing user experience, development effort, and time to market. This guide outlines three primary merchant boarding methods: full API-driven boarding (no boarding links), prefilled applications with boarding links, and the default Payabli boarding links. ## Prerequisites Before implementing any boarding approach, make sure you have the following prerequisites in place: * **Boarding templates configured with Payabli** - Work with your Payabli account manager to set up templates that define required fields and documents * **API credentials for your environment** - Obtain sandbox and production credentials from the Payabli dashboard * **Webhook endpoints** - Set up endpoints to receive boarding status notifications (recommended for all approaches) See [related documentation](#related-documentation) for links to documentation on setting up these prerequisites. ## Decision tree Use this interactive decision tree to determine the best merchant boarding approach based on your platform's requirements and resources.
#### Decision guide: Merchant boarding * If you need full control (white-labeled experience in your app) and have development resources to build forms, validation, and workflows → **Full API-driven boarding** — submit complete merchant data and executed agreements via API calls for a fully white-labeled experience. * If you need full control but have limited development resources → **Prefilled applications with boarding links** as a hybrid solution — prefill merchant data via API, then use Payabli's hosted boarding application for completion and document execution. * If redirecting merchants to Payabli's domain is acceptable and you have merchant data to prefill → **Prefilled applications with boarding links** — provide known merchant data via API, then generate a secure boarding link for the merchant to complete. * If redirecting merchants to Payabli's domain is acceptable and you don't have merchant data to prefill → **Payabli's boarding links** — generate a boarding link from a template with no pre-population needed, and Payabli handles the entire UI, validation, and document collection.
## Understanding boarding approaches Payabli offers three distinct methods for merchant boarding, each with different workflows: Build everything in your platform. Boarding applications are created and submitted entirely through API calls, and merchants never interact with Payabli's forms or interface. **Key characteristic:** No boarding links involved at any stage. Create and prefill an application via API first, then send merchants a link to complete their specific application. This lets you populate known data while Payabli handles the completion UI. **Key characteristic:** Link points to a specific application instance that you created and prefilled. **Workflow:** 1. You create and prefill an application with merchant data via `POST /boarding/application` 2. You generate a link to this specific application 3. Merchant clicks the link, reviews, and completes their prefilled application on Payabli's hosted form Generate a link from a boarding template. When merchants click the link, it creates a new application instance that they complete on Payabli's hosted form. **Key characteristic:** Link is generated from a reusable template. The application doesn't exist until the merchant starts filling it out. **Workflow:** 1. You generate a link from a boarding template (via API or Payabli dashboard) 2. You send the link to merchants 3. Merchant clicks link and Payabli creates a new application from the template 4. Merchant completes the application and submits ## Approach comparison This table summarizes the key differences between the three merchant boarding approaches. | Feature | Full API-driven | Prefilled application with boarding links | Boarding links | | -------------------------- | --------------------------------------------------- | ------------------------------------------------------ | ------------------------------------------------- | | **Application created by** | You (via API) | You (via API, pre-filled) | Merchant (clicking link) | | **Link generated from** | N/A - no links used | Specific application instance | Boarding template | | **User experience** | Fully white-labeled, merchants never leave your app | Pre-populated data, redirect to Payabli for completion | Redirect to Payabli for entire process | | **Development effort** | High - Build forms, validation, file handling | Low - API calls only, no UI required | Minimal - Generate link and redirect | | **Time to market** | Weeks to months | Days to weeks | Hours to days | | **Data pre-population** | You handle all data collection | You prefill known data via API | None (blank form) or minimal via query parameters | | **Form validation** | You build custom validation | Payabli's built-in validation | Payabli's built-in validation | | **Document handling** | You handle file uploads | Payabli handles uploads | Payabli handles uploads | | **Brand consistency** | Complete white-label | Hybrid - Your data + Payabli execution | Limited to colors, logos, and fonts | | **Custom workflows** | Full control over workflows | Standard Payabli workflow | Standard Payabli workflow | ## Detailed approach guides In the next sections, you'll learn more about each merchant boarding approach, including when to use them, implementation requirements, and the trade-offs of a given approach. ### Full API-driven boarding With the API-driven boarding approach, you submit complete merchant data and executed agreements entirely via API calls. This approach doesn't use boarding links. API-driven boarding is ideal for platforms that require a fully embedded, white-labeled experience where merchants never leave your application. It works best for ISVs with dedicated development resources who need complete brand consistency and custom workflows. See [API-driven boarding quickstart](/guides/pay-ops-developer-boarding-quickstart) for implementation details. **Best For:** White-label platforms with custom approval workflows\ **Development Effort:** High - Build complete UI, validation, and workflows\ **Time to Market:** Weeks\ **Control Level:** Complete control over user experience\ **Uses boarding links:** No Full API-driven boarding is the right choice when you need a fully embedded, white-labeled experience where merchants never leave your application. You should also consider this approach if you need: * Custom validation rules beyond Payabli's standard validation * Specialized approval workflows that integrate with your internal systems * Complete control over the user interface and boarding flow The complete control this approach provides allows you to build boarding experiences that match your business processes. The API-driven approach has the highest development investment of the three boarding options. Initial implementation can span several weeks to months depending on your team's size and experience. Beyond the initial build, you're also responsible for any ongoing updates when Payabli's requirements or APIs change. A full API-driven solution requires careful planning, development, testing, and refinement before launch. It can take longer to get up and running compared to Payabli's boarding link options. However, the effort invested delivers returns in control and customization. You maintain complete ownership of the user experience, allowing you to create boarding flows that match your brand and integrate seamlessly with your existing workflows. For organizations where white labeling or custom approval processes are essential, this approach is the only path forward. When you choose API-driven boarding, you take on the responsibility of building and maintaining the entire boarding user interface, including: * Forms for securely collecting business information, owner details, and banking credentials * Managing the look and feel of the experience * Implementing validation logic that matches Payabli's backend requirements Application status tracking becomes your responsibility as well, which means: * Monitoring submission progress * Handling any errors that occur during processing * Providing clear feedback to merchants when issues arise * Building retry logic for network failures * Creating helpful error messages that guide merchants toward resolution The API-driven approach has several technical considerations. You must handle sensitive data like social security numbers and bank account information with appropriate encryption and access controls. All API communications should use HTTPS, and you should never log sensitive information. Your validation logic needs to match Payabli's backend requirements to avoid submission failures. This includes features like: * Format validation for EIN and SSN * Routing number verification * Email and phone number format validation * Ensuring all required fields are collected before submission The tighter your validation aligns with Payabli's requirements, the fewer errors your merchants will encounter. File handling requires secure upload mechanisms and appropriate file type validation. You need to: * Support PDF, PNG, and JPG formats * Enforce reasonable file size limits * Handle upload failures gracefully * Provide retry capabilities when network issues occur The merchant must agree to Payabli's [Terms and Conditions](https://www.payabli.com/terms-and-conditions/), and you must send Payabli an executed agreement from the merchant. The Payabli team can help you understand specific technical requirements, so reach out with any questions. *** ### Prefilled application with boarding links This approach lets you create and pre-fill a merchant application via API, then generate a secure boarding link to that specific application. Merchants click the link to review and complete their pre-populated application on Payabli's hosted form. Payabli handles form presentation, validation, document collection, and legal agreement execution via Payabli's eSign provider. This is the most popular approach, balancing development effort with user experience. See [Send prefilled boarding applications](/guides/pay-ops-developer-boarding-send-prefilled-apps) for implementation details. **Best For:** ISVs with existing merchant data, balanced approach\ **Development Effort:** Low - API calls only, no UI required\ **Time to Market:** Days to weeks\ **Control Level:** Hybrid - Your data + Payabli execution\ **Uses boarding links:** Yes - links to specific application instances Prefilled applications with boarding links work best when you already have merchant data from your platform and can use it to streamline the boarding experience. This approach is ideal when you're comfortable redirecting merchants to Payabli's domain for the final completion steps, allowing you to minimize development effort while still providing a convenient, pre-filled experience. You should consider this approach when: * Quick time-to-market is a priority * You have merchant data available to prefill application fields * You're comfortable with merchants seeing Payabli branding during completion * You want to save merchants time by reducing manual data entry The ability to prefill known information saves merchant time and reduces friction, while Payabli handles all the complex aspects of form validation, document collection, and legal agreement execution. While this approach offers advantages, there are some considerations to keep in mind. Merchants will see Payabli branding during the completion process, which means you don't maintain complete control over the visual experience. The workflow follows Payabli's standard boarding process, so if you need custom approval flows or conditional logic based on merchant characteristics, this approach won't work for you. A redirect is required for agreement execution, meaning merchants briefly leave your app's context to complete the boarding process. For organizations where maintaining complete white labeling consistency is critical, the full API-driven approach may be more appropriate despite its higher implementation effort. The prefilled application and boarding link approach follows this process: 1. **Create application via API**: Use `POST /boarding/application` to create a new application and include merchant data you've already collected 2. **Pre-fill known data**: Include business information, contact details, banking credentials, owner information, and any other data you have 3. **Generate application-specific link**: Use the API to create a secure link to this specific application instance 4. **Deliver the link**: Email it directly to merchants or display it within your app 5. **Merchant completes the form**: They arrive at Payabli's hosted form where their data is pre-populated 6. **Merchant reviews and completes**: They verify pre-filled data, complete any missing fields, and upload required documents 7. **Execute agreements**: The merchant signs required agreements through Payabli's eSign provider 8. **Track progress**: Receive webhook notifications about status changes throughout the process When merchants click the link, they only need to complete missing fields and review the prefilled data for accuracy. Throughout this process, you receive webhook notifications about status changes, letting you track progress and respond when boarding is complete or requires attention. **Key advantage:** The application already exists with merchant data before the link is sent. The link points to this specific application instance, not a generic template. This approach delivers these key advantages: **For merchants:** * Save significant time by not re-entering information they've already provided to your platform * Reduced likelihood of abandoning the application process due to fewer fields to complete * Immediate visibility into what information is still needed * Seamless experience across all devices with responsive design **For your development team:** * Minimal effort: only API calls required, no UI to build * No complex validation logic to implement or maintain * Zero document upload handling to manage * Faster implementation than full API-driven approach **What Payabli handles:** * All form validation, progress saving, and error messaging * Built-in document upload with file type validation, size restrictions, and secure storage * Payabli's eSign provider integration for legal compliance with agreement execution * Mobile-responsive form design that works across all devices *** ### Boarding links In this approach, you generate a boarding link from a pre-configured template and send it to merchants. When merchants click the link, Payabli creates a new application instance from the template and presents a hosted form for completion. This approach requires the least development effort while still providing a professional, compliant boarding experience. See [Generate boarding link from template](/developers/api-reference/templates/generate-boarding-link-from-template) for implementation details. **Best For:** Quick launches, minimal development resources\ **Development Effort:** Minimal - Generate link and redirect\ **Time to Market:** Hours to days\ **Control Level:** Standard Payabli workflow and branding\ **Uses boarding links:** Yes - links generated from templates Default boarding links are the right choice when: * You don't have merchant data to prefill applications * The quickest possible time-to-market is your primary concern * Payabli's standard boarding workflow meets your needs * Development resources are limited or unavailable The default boarding link experience provides a proven, compliant boarding workflow that you can implement with minimal technical effort, allowing you to focus on other aspects of your platform integration. The primary trade-off with the default boarding link experience is reduced control over the user experience. Consider these limitations: * Merchants see Payabli branding throughout the entire process rather than your own brand * The process follows Payabli's standard workflow with no room for custom approval steps or conditional logic * You can't pre-populate merchant-specific data (though some basic pre-population via query parameters may be possible) * You can't implement custom validation rules beyond what Payabli provides as standard While Payabli's validation is comprehensive and covers all regulatory requirements, platforms with specific business rules or additional data requirements would need to collect that information separately. For organizations where these limitations are acceptable, the dramatically reduced development effort and maintenance burden often outweigh the loss of customization capabilities. The default boarding link experience follows the simplest implementation pattern: 1. **Generate a boarding link**: Create a link from your boarding template via the Payabli dashboard or API 2. **Send the link**: Email it to merchants or redirect them from your application 3. **Merchant clicks link**: Payabli creates a new application instance from the template 4. **Merchant completes application**: They fill out the hosted form with business information, owner details, and banking credentials 5. **Payabli handles everything**: Form presentation, validation, document collection, and Payabli's eSign provider agreement execution 6. **Receive notifications**: Get webhook updates when boarding is complete or action is required You receive webhook notifications when key events occur, such as when boarding is complete or when action is required. This allows you to track merchant progress and respond appropriately in your own systems, even though the boarding process happens entirely on Payabli's domain. **Key characteristic:** The link is generated from a reusable template. No application exists until the merchant starts interacting with the form. This means the same link structure can be used for multiple merchants. **Optional enhancements:** You can enhance the default boarding link experience with a few customizations: * Customize redirect URLs so merchants return to specific pages after they submit the application * Configure webhook notifications to trigger specific workflows in your system, such as automatically provisioning merchant accounts or sending welcome emails The Payabli boarding links approach delivers the fastest path to production of any boarding method: **Speed and simplicity:** * Zero user interface development required * Hours to days implementation timeline * Minimal ongoing maintenance burden * Can generate links directly from Payabli dashboard (no code required) **Proven experience:** * Boarding workflow refined based on thousands of merchant applications * Best practices for field ordering, help text, and error messaging built in * Mobile-responsive design works seamlessly across all devices **Built-in features:** * Field validation and user guidance reduce merchant errors and abandoned applications * Automatic progress saving allows merchants to complete applications across multiple sessions * Payabli's eSign provider handles all aspects of legal agreement execution in compliance with electronic signature requirements * Document upload with built-in validation and secure storage ## Key decision factors This section highlights the primary factors to consider when choosing between the three merchant boarding approaches. **Embedded Experience Required:** If merchants must remain within your application for brand consistency or workflow integration, choose the Full API-Driven approach. This provides complete control but requires building all UI components. **Redirect Acceptable:** If merchants can be directed to Payabli's domain for completion, use prefilled applications with boarding links (if you have data to pre-fill) or the default Payabli boarding link experience (if you don't have data). These approaches significantly reduce development time. **Brand Consistency Importance:** * **Critical:** Full API-Driven only * **Important but flexible:** Prefilled application with boarding links * **Flexible:** Boarding links **Full Development Team Available:** With dedicated frontend and backend resources, the Full API-Driven approach enables complete customization. **Limited Development Resources:** Prefilled applications with boarding links or the default Payabli boarding link experience require minimal development effort. Implementation typically takes 1-2 weeks for Prefilled applications (mostly API integration and webhook handling) or hours to days for the default Payabli boarding link experience. **Time to Market:** * **Fastest:** The default Payabli boarding link experience (hours to days) * **Balanced:** Prefilled applications with boarding links (days to weeks) * **Longest:** Full API-Driven (weeks to months) **You Have Merchant Data:** If you've already collected merchant information through your platform (business details, contact info, banking information), Prefilled applications with boarding links let you pre-fill applications and save merchants time. **You Don't Have Merchant Data:** If you're starting fresh or haven't collected merchant information yet, the default Payabli boarding link experience provides a complete form that merchants fill out from scratch. **You Want to Collect Everything Yourself:** If you want complete control over data collection and validation, Full API-Driven boarding is the only option that keeps merchants entirely within your application. **Complex Custom Workflows:** If you need custom approval flows, multi-step validations, or integration with internal systems, choose the Full API-Driven approach. This gives you complete control over the boarding lifecycle. **Standard Boarding Process:** If Payabli's standard boarding workflow meets your needs, use boarding links (either prefilled applications or the default Payabli boarding link experience). This leverages proven processes and reduces maintenance burden. ## Quick reference guide **Create Merchant Application:** * Endpoint: [`POST /boarding/application`](/developers/api-reference/boarding/create-boarding-application) * Use for: Full API-Driven and prefilled applications with boarding links * Required: Business info, owner details, banking credentials * Note: For prefilled applications, you create the application first, then generate a link to it **Generate Link from Template:** * Endpoint: [`POST /boarding/templates/{templateId}/generate-link`](/developers/api-reference/templates/generate-boarding-link-from-template) * Use for: default boarding links experience * Required: Template ID * Returns: Link that creates a new application when clicked **Generate Link for Existing Application:** * Endpoint: [`POST /boarding/application/{applicationId}/generate-link`](/developers/api-reference/boarding/get-link-or-email-a-link-for-a-boarding-application) * Use for: prefilled applications with boarding links * Required: Application ID * Returns: Link to specific application instance **Check Application Status:** * Endpoint: [`GET /boarding/application/{applicationId}`](/developers/api-reference/boarding/get-boarding-application-by-id) * Use for: Polling application status * Returns: Current status, pending items, rejection reasons **Update Application:** * Endpoint: [`PATCH /boarding/application/{applicationId}`](/developers/api-reference/boarding/update-boarding-application) * Use for: Updating submitted applications * Required: Application ID, fields to update **Additional Endpoints:** * [Get boarding application by auth token](/developers/api-reference/boarding/get-boarding-application-by-auth) * [List applications for an organization](/developers/api-reference/boarding/get-list-of-applications-for-an-organization) * [Get boarding link by ID](/developers/api-reference/boarding/get-boarding-link-by-id) Subscribe to these webhook events to track boarding progress. For complete webhook payload details, see the [webhook payloads reference](/guides/pay-ops-webhooks-payloads). You must set up webhooks to receive these events. You can configure webhooks in the Payabli dashboard or via the [POST /Notifications/webhooks](/developers/api-reference/notification/add-notification) endpoint. **MerchantBoardingStarted:** * Fires when: Merchant opens boarding link * Use for: Tracking engagement * Applies to: prefilled applications and the default Payabli boarding link experience **MerchantBoardingCompleted:** * Fires when: Merchant submits application * Use for: Initiating internal boarding workflows * Applies to: All approaches **MerchantBoardingApproved:** * Fires when: Application approved for processing * Use for: Activating merchant features * Applies to: All approaches **MerchantBoardingRejected:** * Fires when: Application requires corrections * Use for: Notifying merchant of issues * Applies to: All approaches **MerchantBoardingDocumentRequired:** * Fires when: Additional documents needed * Use for: Requesting missing documentation * Applies to: All approaches **Learn more:** * [Notifications and webhooks overview](/guides/pay-ops-notifications-webhooks-overview) ## Next steps Now that you understand your boarding options, you can start planning your implementation with the Payabli team. Reach out to your Payabli account manager or support contact to discuss your requirements and get guidance on the technical integration. Also, be sure to set up webhook notifications to track boarding progress and respond to application events in your system. Webhooks help you automate boarding workflows and sending updates to your merchants. See the [Manage notifications and webhooks](/guides/pay-ops-developer-notifications-manage) guide for setup instructions. ## Related documentation * [Boarding overview](/guides/pay-ops-boarding-overview) * [Boarding application field explorer](/guides/pay-ops-boarding-field-explorer) * [Merchant application tips](/guides/pay-ops-boarding-application-tips) * [Required fields for merchant boarding](/guides/pay-ops-boarding-kyc-fields-overview) * [API-driven boarding quickstart](/guides/pay-ops-developer-boarding-quickstart) * [Send prefilled boarding applications](/guides/pay-ops-developer-boarding-send-prefilled-apps) * [Common boarding application problems](/guides/pay-ops-boarding-application-tips) * [Manage notifications and webhooks](/guides/pay-ops-developer-notifications-manage) * [Webhook payloads reference](/guides/pay-ops-webhooks-payloads) *** title: Boarding overview subtitle: Learn how merchant boarding works in Payabli description: >- Master the boarding process from template creation to activation. Understand KYC/KYB fields, application statuses, underwriting, and account provisioning steps 'og:description': >- Master the boarding process from template creation to activation. Understand KYC/KYB fields, application statuses, underwriting, and account provisioning steps keywords: >- embedded payments, payment operations, merchant onboarding, merchant boarding, KYC compliance, merchant applications, underwriting process, payment platform icon: store slug: guides/pay-ops-boarding-overview area: * Pay Ops subArea: * Boarding audience: * partners * developers *** Boarding is the process of enabling a paypoint to process payments via Payabli, and is the first step toward monetizing payments. Boarding happens in stages. These stages include the initial submission of a merchant application, underwriting the merchant account, and configuration and backend setup to activate the merchant account and enable live processing. To board and underwrite a merchant you need to collect key information about the business, the owners, and how they intend to process payments. This information is sent to underwriting to make sure the paypoint is legitimate, creditworthy, and isn't a fraud risk. The start-to-finish boarding process looks like this. Hover over steps for more information.
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.
Templates, boarding applications, and boarding links all work together to get merchants ready for underwriting and going live. Templates allow you to customize your merchant application for different boarding scenarios. The Payabli team creates your first template, called the *root template*. After you have a template, you can access a digital boarding link to send to merchants. After the merchant enters their information in boarding link and submits it, it becomes an *application* in Payabli. You can monitor the progress of the merchant account from initial submission to underwriting to live and processing. ## Boarding process overview For partners, the boarding process includes three main steps. Create a boarding template, generate boarding links for your paypoints, and wait for the paypoint to submit the application and go through underwriting. Payabli's Templating system gives your organization the ability to decide what fields you want to capture in a boarding link. This flexibility lets you send different boarding links to different paypoint segments. For example, you can use different templates to present different pricing to small and medium business (SMB), middle-market (MM), and enterprise paypoints. [Pricing packages](/guides/pay-ops-billing-and-fees-overview) are also built into the templates. The Payabli team creates boarding templates for you. Your first template is the root template, and it's used most often in testing and to build other templates. Many organizations only need the root template, but you can work with Payabli to create as many as needed for your use case. After your boarding template is created, you can send the boarding link to prospective merchants. The merchant uses the boarding link to create an application. They can save their application and return to complete the application later. After the merchant submits their application via the boarding link, the application data is securely stored in Payabli. Payabli underwrites each merchant for payment acceptance. When the merchant is approved, Payabli activates their payment processing features and alerts the organization. Stay up-to-date on paypoint boarding status by subscribing to the boarding webhook notifications or set up notifications in PartnerHub or via the API.
Notification Description
CreatedApplication A new boarding application was created.
SubmittedApplication A boarding application was received to process.
ActivatedMerchant A new merchant account was activated.
HoldingApplication An application was put on hold.
DeclinedApplication A boarding application was declined.
BoardingApplication An application passed to boarding status.
Learn more about [Notifications](/guides/pay-ops-notifications-webhooks-overview)
When the merchant is approved and activated, Payabli converts them to a paypoint. They can then run test transactions to make sure the account is working as expected. You can use the `ActivatedMerchant` webhook to receive the [entry name](/developers/api-reference/api-overview#entrypoint-vs-entry) for the paypoint, which you need to complete setup. When testing boarding functions in the sandbox, applications don't automatically move from one status to another like they do in the production environment. When you're ready to test different boarding scenarios, let the Payabli team know when you want to move applications between statuses.
## Required fields for boarding Certain Know Your Customer (KYC) and Know Your Business (KYB) fields are required for all boarding applications. These fields are required to ensure that Payabli meets regulatory standards and helps prevent fraud. The required fields depend on the merchant type (individual or business) and the region where the merchant is located. This interactive tool helps you understand which fields are required based on your boarding template configuration. Select the options that match your boarding scenario to see the required fields. Merchant underwriting is a similar process to applying for a mortgage or car loan. Payabli must gather certain information from merchants to meet federal know-your-business (KYB) and know-your-customer (KYC) requirements, and to confirm a merchant's trustworthiness. All applicants must complete a Payabli Merchant Application that includes the legal information for the business, and information about each beneficial owner. Other documents may be required if the screening verification doesn't return any verifiable digital validation. **Business information** * Legal entity name of business registered with the IRS and the state in which the business is incorporated. If Payabli can't verify the legal name during underwriting, we may request the applicant's SS-4 (A document from the IRS that confirms the EIN and managing member of the business being underwritten) or articles of incorporation. * Federal Tax ID: EIN/TIN. For a sole proprietorship, the sole proprietor may use their Social Security Number (SSN). * Applicable DBA ("doing business as") name or trade names registered to the legal entity that's applying. * Business legal address. This is the principal place of business or a local office. * Business Type and description of product sold and or service provided. This description must be detailed enough for Payabli to determine the merchant's Merchant Category Code (MCC). * Business website URL. **Beneficial owner information** For *each* beneficial owner, Payabli needs the following information: * Legal name * Date of birth * Contact information: current U.S. residence address, direct phone number, and direct email address * Identification number: either a Social Security Number (SSN) or Individual Taxpayer Identification Number (ITIN) * Driver's license number and state of issuance Payabli uses this information to verify the individual's identity and their relationship with the business. {/* vale Payabli.Contractions = NO */} To learn more about beneficial ownership, see [What is beneficial ownership?](/guides/pay-ops-boarding-kyc-fields-overview#beneficial-ownership). {/* vale Payabli.Contractions = YES */} ## Application and boarding status Applications go through several statuses during the boarding process. These statuses help you track where an application is in the process, from submission to activation. You can check the status in PartnerHub or with the API. ### Check boarding status in PartnerHub To check a boarding application's status in PartnerHub, navigate to **Portfolio > Applications**, and then find the application in the table. The boarding status appears in the **Status** column. Substatuses aren't currently available in PartnerHub. If you have a question about an application, reach out to the Payabli team. ### Check boarding status with the API To check an application's boarding status with the API, send a GET request with the `appId` to [`/api/Boarding/read/{appId}`](/developers/api-reference/boarding/get-boarding-application-by-id). The status is returned in the response as `boardingstatus`. This example queries the application with ID `100`. ```curl Request curl --request GET \ --url https://api-sandbox.payabli.com/api/Boarding/read/100 \ --header "accept: application/json" \ --header "requestToken: " ``` A successful response returns the boarding status in the `boardingStatus` field. ```json Response // Response truncated to show only the relevant fields { "idApplication": 100, ... "boardingStatus": -99, ... } ``` ### Statuses These are the available `boardingStatus` values.
Value Key Description
Not Submitted -99 The application is incomplete or hasn't been submitted yet.
Declined 0 The application has been declined.
Pending Signature 2 The application is waiting on the applicant's signature.
Underwriting 3 The application is in underwriting.
Submitted 4 The application is complete and submitted, but hasn't moved to underwriting yet.
Manual Review 6 The application is in underwriting and requires further review.
Approved 7 The application has been approved and is queued for boarding.
Withdrawn 8 The applicant has voluntarily withdrawn their application.
Boarding 10 The application is boarding with our service providers, banks, and Payabli.
Activated 99 The paypoint has been created, and all configurations have been completed, but the paypoint hasn't processed a transaction yet.
Live 100 The paypoint has successfully processed a pay in or pay out transaction.
Exception Error -1 An unidentified error has occurred with this application. Contact support to review.
### Substatuses Some statuses have substatuses to give you more information about where an application is in the process. These aren't available in PartnerHub, so use the API to check them. #### Manual Review substatus These statuses may appear when an application is in the Manual Review (6) status.
Value Key Description
Pending Review 1 The application was flagged during underwriting and is waiting on manual review.
Pending Documentation 2 The reviewer has requested additional documents from the applicant or org.
Pending Action 3 An additional task has been requested from the applicant or org.
Missing Data 4 The application needs additional data to complete underwriting.
#### Boarding substatus These statuses may appear when a merchant is in the Boarding (10) status.
Value Key Description
ServiceProvider Review 5 The application was submitted to service provider for review, validation, and boarding.
ServiceProvider Processing 6 The application is processing and waiting on final results.
ServiceProvider Hold 7 The service provider requires additional information or a correction from the applicant, org, or Payabli.
Pending Configuration 8 The paypoint has been created and is waiting on configuration and activation.
#### Declined substatus These substatuses may appear when an application has a Declined status (0).
Value Key Description
Standard Decline 9 The application has been declined for a reason. The reason is provided in the status text.
Credit Decline 10 The application has been declined for a reason. The reason is provided in the status text.
## Related resources See these related resources to help you get the most out of Payabli. * **[Add additional data to boarding applications](/guides/pay-ops-developer-boarding-add-data)** - Learn how `additionalData` works in boarding applications * **[API-driven boarding quickstart](/guides/pay-ops-developer-boarding-quickstart)** - Learn to use example code to set up a custom app for boarding using the Payabli API * **[Boarding application field explorer](/guides/pay-ops-boarding-field-explorer)** - Learn how boarding application fields interact and which are required and recommended * **[Bulk boarding guide](/guides/pay-ops-boarding-bulk)** - Learn how to bulk board merchants in Payabli * **[Manage boarding in the UI](/guides/pay-ops-portal-boarding-manage)** - Learn how to manage the boarding process for paypoints in the Payabli UI * **[Boarding statuses reference](/guides/pay-ops-boarding-status-reference)** - Learn about statuses and substatuses during the merchant boarding process * **[Paypoint statuses](/guides/pay-ops-paypoint-status-reference)** - Learn about the different statuses of paypoints * **[Pay In TransEvent reference](/guides/pay-in-transevents-reference)** - Learn about TransEvent values for pay in transactions * **[Required fields for boarding applications](/guides/pay-ops-boarding-kyc-fields-overview)** - Learn more about the know-your-customer (KYC) and know-your-business (KYB) fields required for merchant onboarding *** title: Boarding application field explorer subtitle: >- Learn how boarding application fields interact and which are required and recommended description: >- Explore merchant boarding application fields with an interactive reference tool. Filter by service type to see which KYC fields are required or recommended keywords: >- embedded payments, boarding, onboarding, payment APIs, merchant application, merchant onboarding, field reference 'og:description': >- Explore merchant boarding application fields with an interactive reference tool. Filter by service type to see which KYC fields are required or recommended 'og:site\_name': Payabli Documentation 'og:title': Merchant boarding application field explorer icon: magnifying-glass slug: guides/pay-ops-boarding-field-explorer area: * Pay Ops subArea: * Boarding audience: * partners *** This guide provides an interactive reference to help you understand the nuances of merchant onboarding API fields. Use the filters to explore which fields are required or recommended based on which Payabli services the merchant is applying for. ## Explorer Use the filters and search below to explore the fields in a boarding application. ### Boarding field reference The field explorer is a searchable, filterable reference for the fields in a merchant boarding application. You can filter by service type (Pay Ins, Managed Payouts, or On-Demand Payouts) and by requirement level (Required or Recommended). Each field shows its name, description, API path, data type, and which services require or recommend it. Fields are organized into these groups: Application Setup, Business Information, Contact Information, Business Address, Mailing Address, Business Operations, Transaction Volumes, Payout Configuration, Owner Information, Owner Address, Bank Data, Card Services, ACH Services, ODP Services, Signer Information, Signer Address, and Compliance & Legal. ## Related resources See these related resources to help you get the most out of Payabli. * **[Boarding statuses reference](/guides/pay-ops-boarding-status-reference)** - Learn about statuses and substatuses during the merchant boarding process * **[API-driven boarding quickstart](/guides/pay-ops-developer-boarding-quickstart)** - Learn to use example code to set up a custom app for boarding using the Payabli API *** title: Merchant application tips subtitle: Learn how to avoid common merchant application problems description: >- Speed up merchant approval with tips to avoid common application mistakes. Get guidance on business details, ownership structure, banking, and compliance needs 'og:description': >- Speed up merchant approval with tips to avoid common application mistakes. Get guidance on business details, ownership structure, banking, and compliance needs keywords: >- embedded payments, payment operations, merchant onboarding, merchant boarding, KYC compliance, merchant applications, underwriting, business verification icon: signature slug: guides/pay-ops-boarding-application-tips area: * Pay Ops subArea: * Boarding audience: * partners * merchants *** When a merchant wants to become a Payabli paypoint, they must fill out an application first. Payabli verifies and evaluates the information included on each application to determine a merchant's suitability to become a paypoint. The process of verifying and evaluating a merchant's application is called underwriting, and it requires a lot of information. The more accurate and complete the information is, the faster the underwriting process goes. This page goes section by section through the application and addresses the most common issues Payabli sees with applications and how to avoid them. ## Business details The business details section of the application describes the business's operations and how it interacts with its customers. Payabli uses this information to build a risk profile for the business. See [Required fields for boarding](/guides/pay-ops-boarding-kyc-fields-overview) for complete information about business information required for KYB/KYC compliance. Be sure you know the difference between your business's legal name and its DBA (doing business as) name. This is a common error, and getting it right can speed up the approval process. A business's legal name will often include "LLC," "Corp.," or "Inc." at the end of it. When entering your business names, keep in mind that these fields are sensitive to punctuation. Don't use commas, dashes, or any other punctuation, even if your DBA name includes them. One of the most common issues with applications Payabli receives is an incorrect or missing business type. This information is required for Payabli to process your information; if it's wrong or missing, the process can be delayed. Select the appropriate business type from the drop-down list: * Limited liability company * Public Corp * Non-profit org * Tax exempt * Partnership * Government * Private Corp * Sole proprietor If you don't know what type of business you have, find out before beginning the application process. In this field, enter the date your business was first formed. A common mistake is for a merchant to enter the date they'd like to become a Payabli paypoint. Don't do this. If your business has a website, enter that here. If you don't have a website, enter a link to your business's Facebook page, Instagram page, or something similar. If you leave this blank, Payabli can't auto-approve your application. This must be the physical location of your business operations. This can't be a P.O box. ## Ownership and contacts The ownership and contacts section describes the business's ownership structure and who the primary contacts are. Payabli uses this information to build a risk profile for the business. See [Required fields for boarding](/guides/pay-ops-boarding-kyc-fields-overview) for complete information about benefial ownership and contact information required for KYB/KYC compliance. Don't include any middle names, middle initials, or punctuation of any kind in this field. People sometimes try to include their credentials in this field (M.B.A., Esq., M.D., and so on). Don't include any extra information here, it slows down the approval process. This should be the owner's job title. Don't include punctuation in this field. For a single owner, this value must be at least 25%. For multiple owners, the cumulative total of their ownership stakes must be at least 25%. This requirement doesn't apply to nonprofits, publicly-traded companies, or government entities. This must be the physical location of your home. Because of regulatory requirements, this can't be a P.O. box. The business points of contact information. Don't include punctuation, middle names or initials, or credentials. ## Processing information The processing information section describes how the business interacts with its customers, and how it processes payments. Payabli uses this information to build a risk profile for the business. Payabli needs to know how you engage with your customers when payment is due. The values in these three fields must equal 100%, and you can't leave them blank. This helps Payabli create an accurate risk profile for your business. This field is for telling Payabli about your business. Use this field to tell Payabli about your business. Tell us more than just a brief description, like "roofing contractor." Instead, include details that give us an understanding of your business's longevity and reach: "been in business for 10 years," "largest business of this type in the area," and so on. The more we know about your business, the faster the approval process goes, and the more accurate your risk profile will be. Payabli needs to know your business's average monthly volume, annual revenue volume, average ticket amount, and high ticket amount in order to process your application and build an accurate risk profile. We also use this information to monitor your account for suspicious activity. These numbers *must* must be accurate. If they change in the future (which is common), you can reach out to Payabli support to update them. The available options are When Service Provided and In Advance. You must select an option. Many merchants overthink this question, especially as it relates to deposits. If you take a deposit, you are charging payment in advance. Merchants sometimes get confused about this one too. If you provide your service to a customer at any time between the moment of the transaction and 30 days after that, select 30 days or less. For example, a storage unit leasing business typically provides their service as soon the customer pays the deposit. So they would select 30 days or less, even though the customer continues to use that service indefinitely afterwards. You can't leave this field blank. Select the period in which customers generally receive products or services from you in this field. You can't leave this field blank. Card networks require that merchants have a refund policy. Select the option that applies to your business from this dropdown. You can't leave it blank. ## Banking and documents If you have separate deposit and withdrawal accounts, be sure you enter the correct routing and account numbers for each. It's vital that you know the difference between routing and account numbers, and that you can identify each for your bank accounts. The routing number identifies your bank. It's always a nine-digit number. If you have physical checks, take one and look at the bottom edge. The routing number is always be first number. If you don't have physical checks, you can find the routing number in your banking app or by calling your bank. Each bank has a different system for their account numbers, so their length varies. The account number is always the second number along the bottom of your checks. Payabli needs your **full account number**, and not just the last four digits. Don't truncate your account number, or use hashes to hide any of the digits. Without a complete account number, Payabli has no idea where to send your money. Be sure your routing and account numbers are correct. This is extremely important. If the incorrect account number you give us exists and belongs to someone else, your funds will go into that account instead of yours. This doesn't happen often, but it's not unheard of, so be careful. ## Related resources See these related resources to help you get the most out of Payabli. * **[Boarding statuses reference](/guides/pay-ops-boarding-status-reference)** - Learn about statuses and substatuses during the merchant boarding process * **[Paypoint statuses](/guides/pay-ops-paypoint-status-reference)** - Learn about the different statuses of paypoints * **[Pay In TransEvent reference](/guides/pay-in-transevents-reference)** - Learn about TransEvent values for pay in transactions * **[Required fields for boarding applications](/guides/pay-ops-boarding-kyc-fields-overview)** - Learn more about the know-your-customer (KYC) and know-your-business (KYB) fields required for merchant onboarding *** title: Required fields for boarding applications subtitle: >- Learn more about the know-your-customer (KYC) and know-your-business (KYB) fields required for merchant onboarding description: >- Meet regulatory requirements with complete KYC and KYB guidance for merchant boarding. Understand ownership rules and documentation needed for underwriting 'og:description': >- Meet regulatory requirements with complete KYC and KYB guidance for merchant boarding. Understand ownership rules and documentation needed for underwriting keywords: >- embedded payments, payment operations, merchant onboarding, merchant boarding, KYC compliance, KYB requirements, beneficial ownership, merchant underwriting, identity verification icon: fingerprint slug: guides/pay-ops-boarding-kyc-fields-overview area: * Pay Ops subArea: * Boarding audience: * developers * partners * merchants *** Merchant underwriting is a similar process to applying for a mortgage or car loan. Payabli must gather certain information from merchants to meet federal Know Your Business (KYB) and Know Your Customer (KYC) requirements, and to confirm a merchant's trustworthiness. All applicants must complete a Payabli Merchant Application that includes the legal information for the business, and information about each beneficial owner. Other documents may be required if the screening verification doesn't return any verifiable digital validation. ## Business information * Legal entity name of business registered with the IRS and the state in which the business is incorporated. If Payabli can't verify the legal name during underwriting, we may request the applicant's SS-4 (A document from the IRS that confirms the EIN and managing member of the business being underwritten) or articles of incorporation. * Federal Tax ID: EIN/TIN. For a sole proprietorship, the sole proprietor may use their Social Security Number (SSN). * Applicable DBA ("doing business as") name or trade names registered to the legal entity that's applying. * Business legal address. This is the principal place of business or a local office. This can't be a P.O. Box. * Business Type and description of product sold and or service provided. This description must be detailed enough for Payabli to determine the merchant's Merchant Category Code (MCC). * Business website URL. Payment processors don't accept P.O. Boxes as a primary address for merchants due to: * Regulatory Requirements: KYC (know-your-customer) and AML (anti- money laundering) regulations require verification of physical locations. * Fraud Prevention: Physical addresses help verify legitimate business operations. * Legal & Compliance: A physical address is needed for notices, investigations, and dispute resolution. * Business Verification: Actual locations provide stronger proof of business legitimacy. * Card Network Rules: Visa, Mastercard, and other networks require physical address verification. There are some exceptions to this rule. Some processors may accept P.O. Boxes for mailing purposes if a physical address is also provided. In some cases, virtual office or registered agent addresses may be acceptable alternatives. ## Beneficial ownership For *each* beneficial owner, Payabli needs the following information: * Legal name * Date of birth * Contact information: current U.S. residence address, direct phone number, and direct email address * Identification number: either a Social Security Number (SSN) or Individual Taxpayer Identification Number (ITIN) * Driver's license number and state of issuance Payabli uses this information to verify the individual's identity and their with the business. A beneficial owner is someone who has significant control over or ownership of a company. Control or ownership is identified through either the control prong or the ownership prong. The control prong is based on the power to influence company decisions and operations, and the ownership prong is based on holding a significant part of the company's equity. Beneficial ownership information is required by authorities in most jurisdictions. This information helps governments fight corruption, money laundering, and tax evasion, and helps maintain integrity and accountability in financial systems worldwide. The next two sections explain these prongs in more detail. ### Control prong The control prong focuses on determining beneficial ownership based on the level of control an individual or entity has over a company, regardless of their ownership stake. Someone might be a beneficial owner if they have substantial influence or control over a company's operations, decision-making processes, or financial affairs. Control is exerted through various means, such as voting rights, board representation, business management or contractual agreements. Examples of beneficial owners via the control prong include: * Executive directors of a nonprofit * C-suite members of a publicly traded company * An entity you've ceded management of your business operations to, such as a dental service organization or property management company ### Ownership prong The ownership prong focuses on determining beneficial ownership based on direct or indirect ownership interests in a company. This prong considers factors such as the percentage of shares owned, voting rights attached to those shares, and any arrangements that provide economic benefits derived from the company's assets or profits. Individuals or entities with substantial ownership of 25 percent or more of the equity interests in a company are typically considered beneficial owners. ## Related resources See these related resources to help you get the most out of Payabli. * **[Boarding statuses reference](/guides/pay-ops-boarding-status-reference)** - Learn about statuses and substatuses during the merchant boarding process * **[Paypoint statuses](/guides/pay-ops-paypoint-status-reference)** - Learn about the different statuses of paypoints * **[Pay In TransEvent reference](/guides/pay-in-transevents-reference)** - Learn about TransEvent values for pay in transactions * **[Boarding overview](/guides/pay-ops-boarding-overview)** - Learn how merchant boarding works in Payabli *** title: Bulk boarding guide subtitle: Learn how to bulk board merchants in Payabli description: >- Onboard merchant portfolios efficiently with bulk boarding. Streamline multi-entity organizations and portfolio migrations with spreadsheet-based provisioning 'og:description': >- Onboard merchant portfolios efficiently with bulk boarding. Streamline multi-entity organizations and portfolio migrations with spreadsheet-based provisioning keywords: >- embedded payments, payment operations, merchant onboarding, merchant boarding, KYC compliance, bulk onboarding, merchant migration, portfolio boarding icon: list-check slug: guides/pay-ops-boarding-bulk area: * Pay Ops subArea: * Boarding audience: * partners *** For organizations with subsidiary entities or partners managing a large merchant portfolio, boarding each merchant individually can be an arduous, time-consuming process. Payabli's bulk boarding process streamlines this operation and gets merchants boarded quickly with minimal hassle. Bulk boarding isn't a self-serve process. You must reach out to the Payabli team to get started. ## Use cases Bulk boarding is most valuable in these scenarios: * Multi-entity organizations: Companies that own or control sub-entities can use bulk boarding to bring all of them to Payabli at the same time. * Portfolio migrations: Partners migrating their entire merchant portfolio to Payabli can use bulk boarding to bring all their merchants with little hassle. . ## Bulk boarding process Before you begin, you must work with the Payabli Support team to get the spreadsheet template, discuss the number of merchants you need to board, and set expectations. The partner or managing organization supplies a spreadsheet containing merchant information via secure upload. Payabli ingests the spreadsheet and generates an application for each merchant. If needed, Payabli sends the applications for approval and signature. If all applications are under the same signer, then Payabli only needs one application signed. If each application has a different signer, then each application must be signed. After applications are signed, they proceed to underwriting for risk evaluation and approval. Payabli may request further documentation during this phase. After underwriting approval, each application is sent through Payabli's automation workflow to formally set up the merchant account through the processor and bank. This typically completes within one business day. ## Related resources See these related resources to help you get the most out of Payabli. * **[Boarding statuses reference](/guides/pay-ops-boarding-status-reference)** - Learn about statuses and substatuses during the merchant boarding process * **[Paypoint statuses](/guides/pay-ops-paypoint-status-reference)** - Learn about the different statuses of paypoints * **[Pay In TransEvent reference](/guides/pay-in-transevents-reference)** - Learn about TransEvent values for pay in transactions * **[Boarding overview](/guides/pay-ops-boarding-overview)** - Learn how merchant boarding works in Payabli * **[API-driven boarding quickstart](/guides/pay-ops-developer-boarding-quickstart)** - Learn to use example code to set up a custom app for boarding using the Payabli API *** title: Boarding statuses reference subtitle: Learn about statuses and substatuses during the merchant boarding process description: >- Track boarding progress with a complete status and substatus reference. Understand application review, underwriting, approval, and decline stages with API codes 'og:description': >- Track boarding progress with a complete status and substatus reference. Understand application review, underwriting, approval, and decline stages with API codes keywords: >- embedded payments, payment operations, merchant onboarding, merchant boarding, boarding status, application status, merchant approval, underwriting process icon: truck-ramp-box slug: guides/pay-ops-boarding-status-reference area: * Pay Ops subArea: * Boarding audience: * developers * partners *** ## Statuses These are the available boarding status values. The Key column contains the status code returned by the API.
Value Key Description
Not Submitted -99 The application is incomplete or hasn't been submitted yet.
Declined 0 The application has been declined.
Pending Signature 2 The application is waiting on the applicant's signature.
Underwriting 3 The application is in underwriting.
Submitted 4 The application is complete and submitted, but hasn't moved to underwriting yet.
Manual Review 6 The application is in underwriting and requires further review.
Approved 7 The application has been approved and is queued for boarding.
Withdrawn 8 The applicant has voluntarily withdrawn their application.
Boarding 10 The application is boarding with our service providers, banks, and Payabli.
Activated 99 The paypoint has been created, and all configurations have been completed, but the paypoint hasn't processed a transaction yet.
Live 100 The paypoint has successfully processed a pay in or pay out transaction.
Exception Error -1 An unidentified error has occurred with this application. Contact support to review.
## Substatuses Some statuses have substatuses to give you more information about where an application is in the process. ### Manual Review substatus These statuses may appear when an application is in the Manual Review (6) status. The Key column contains the status code returned by the API.
Value Key Description
Pending Review 1 The application was flagged during underwriting and is waiting on manual review.
Pending Documentation 2 The reviewer has requested additional documents from the applicant or org.
Pending Action 3 An additional task has been requested from the applicant or org.
Missing Data 4 The application needs additional data to complete underwriting.
### Boarding substatus These statuses may appear when a merchant is in the Boarding (10) status. The Key column contains the status code returned by the API.
Value Key Description
ServiceProvider Review 5 The application was submitted to service provider for review, validation, and boarding.
ServiceProvider Processing 6 The application is processing and waiting on final results.
ServiceProvider Hold 7 The service provider requires additional information or a correction from the applicant, org, or Payabli.
Pending Configuration 8 The paypoint has been created and is waiting on configuration and activation.
### Declined substatus These substatuses may appear when an application has a Declined status (0). The Key column contains the status code returned by the API.
Value Key Description
Standard Decline 9 The application has been declined for a reason. The reason is provided in the status text.
Credit Decline 10 The application has been declined for a reason. The reason is provided in the status text.
## Related resources See these related resources to help you get the most out of Payabli. * **[Paypoint statuses](/guides/pay-ops-paypoint-status-reference)** - Learn about the different statuses of paypoints * **[Pay In TransEvent reference](/guides/pay-in-transevents-reference)** - Learn about TransEvent values for pay in transactions * **[Boarding overview](/guides/pay-ops-boarding-overview)** - Learn how merchant boarding works in Payabli * **[Manage boarding in the UI](/guides/pay-ops-portal-boarding-manage)** - Learn how to manage the boarding process for paypoints in the Payabli UI *** title: Send prefilled boarding applications subtitle: Learn how to send prefilled boarding applications to prospective merchants description: >- Send prefilled boarding applications to prospective merchants via the API. Reduce onboarding friction by pre-populating known fields before merchant review 'og:description': >- Send prefilled boarding applications to prospective merchants via the API. Reduce onboarding friction by pre-populating known fields before merchant review keywords: >- embedded payments, prefilled applications, merchant boarding, boarding API, merchant onboarding, application prefill, onboarding slug: guides/pay-ops-developer-boarding-send-prefilled-apps icon: file-contract area: * Pay Ops subArea: * Boarding audience: * developers *** If you've already collected data from your prospective merchants, you can save them time on their boarding application by sending them a prefilled application to finish. Before you begin, you need the ID for the boarding template you want to use. If you are testing in the sandbox, or only have one template, the ID `0` targets the root template. If your organization uses more than one templates, and you don't know the `templateId`, use the [/Query/templates](/developers/api-reference/templates/get-list-of-boarding-templates-for-organization) endpoint to get a list of templates. ## Create the application Use the [Create boarding application](/developers/api-reference/boarding/create-boarding-application) endpoint to create and prefill the application. In the example, the request creates a boarding application prefilled with the merchant data that you already have. The example also includes some application settings to note: * The `resumable` field is `false`, which means the applicant can't save the application and return to it. They must finish and submit in one session. If you want the applicant to be able to save and return to the application, set this field to `true`. * The `recipientEmailNotification` field is `false`, which means that Payabli won't automatically email the applicant a boarding link. Setting this field to `true` automatically sends a boarding link to the applicant. All fields must include a value, or the application will error. Use empty strings for fields you want to leave blank. ```curl Example application maxLines=15 curl --request POST \ --url https://api-sandbox.payabli.com/api/Boarding/app \ --header "accept: application/json" \ --header "content-type: application/*+json" \ --header "requestToken: " \ --data @- < Special characters in the email address must be URL-encoded. For example, "[merchant+company@example.com](mailto:merchant+company@example.com)" becomes `merchant%2Bcompany%40example.com`. ```curl Send application curl --request PUT \ --url https://api-sandbox.payabli.com/api/Boarding/applink/796/merchantemailaddress%40example.com?sendEmail=true \ --header "accept: application/json" \ --header "requestToken: " ``` If the request was successful, the API response includes a link to the boarding application. ```json { "isSuccess": true, "responseText": "Success", "responseCode": 1, "responseData": { "appLink": "https://boarding-sandbox.payabli.com/boarding/externalapp/load/31C", "referenceId": "V2AdAMS3GQnU" }, "pageidentifier": null } ``` Your prospective merchant receives an email with a link to the boarding application. From there, they can complete and submit it, and the process follows the [normal boarding process](/guides/pay-ops-boarding-overview#boarding-process-overview-for-partners). ### Option 2: Create a URL Alternatively, you can give your prospective merchants a URL that launches the prefilled application without the merchant having to log in. First, create the boarding link. Use the [/Boarding/applink](/developers/api-reference/boarding/get-link-or-email-a-link-for-a-boarding-application) endpoint. You need the `appId` and the merchant contact's email address. This example creates a boarding link with `appId` 796 for `merchantemailaddress@example.com` ```curl Send application curl --request PUT \ --url https://api-sandbox.payabli.com/api/Boarding/applink/796/merchantemailaddress%40example.com\ --header "accept: application/json" \ --header "requestToken: " ``` If the request was successful, the API response includes a link to the boarding application. ```json { "isSuccess": true, "responseText": "Success", "responseCode": 1, "responseData": { "appLink": "https://boarding-sandbox.payabli.com/boarding/externalapp/load/31C", "referenceId": "V2AdAMS3GQnU" }, "pageidentifier": null } ``` Finally, using the values in the response, add the application's referenceId and the prospective merchant's email as parameters to the end of the boarding link. Here's the same example as the previous section, in the URL format: `https://boarding-sandbox.payabli.com/boarding/externalapp/load/31C?email=merchantemailaddress%40example.com&referenceId=V2AdAMS3GQnU` You can pass this URL to the merchant however you wish. ## Related resources See these related resources to help you get the most out of Payabli. * **[Boarding statuses reference](/guides/pay-ops-boarding-status-reference)** - Learn about statuses and substatuses during the merchant boarding process * **[Paypoint statuses](/guides/pay-ops-paypoint-status-reference)** - Learn about the different statuses of paypoints * **[API-driven boarding quickstart](/guides/pay-ops-developer-boarding-quickstart)** - Learn to use example code to set up a custom app for boarding using the Payabli API * **[Boarding overview](/guides/pay-ops-boarding-overview)** - Learn how merchant boarding works in Payabli *** title: Get boarding app notes and events subtitle: Learn how to see an application's notes and events via the Payabli API description: >- Retrieve notes and events for boarding applications via the API. Track application status changes, reviewer comments, and the full history of each submission 'og:description': >- Retrieve notes and events for boarding applications via the API. Track application status changes, reviewer comments, and the full history of each submission keywords: >- embedded payments, boarding notes, boarding events, application status, merchant onboarding, boarding API, application history slug: guides/pay-ops-developer-boarding-get-notes-events icon: message area: * Pay Ops subArea: * Boarding audience: * developers *** To access notes and events on a boarding application via the API, you can send a GET request to `/Boarding/read/{appId}`. ```bash Get app with appid 352 curl --request GET \ --url https://api-sandbox.payabli.com/api/Boarding/read/352 \ --header 'requestToken: ' ``` In the response, the notes associated with the application are returned in the `messages` array. The application's events are returned in `generalEvents` array. ```json Application events // Response truncated to show only the generalEvents array "generalEvents": [ { "description": "Created", "eventTime": "2022-06-17T16:35:21.1539528+00:00", "refData": null, "extraData": null, "source": null }, { "description": "Updated Status", "eventTime": "2022-06-17T16:35:22.0854265+00:00", "refData": "1", "extraData": null, "source": null } ], ``` ```json Application messages // Response truncated to show only the messages array "messages": [ { "id": 261, "roomId": 6, "userId": 104, "userName": "admin", "content": "Requested business license and bank statements.", "createdAt": "2023-10-30T19:37:20.997", "messageType": 1, "originalApplicationStatus": -99, "currentApplicationStatus": 3, "originalApplicationSubStatus": 0, "currentApplicationSubStatus": 2 }, { "id": 231, "roomId": 6, "userId": 104, "userName": "admin", "content": "TIN Failed, Need to reach out to merchant", "createdAt": "2023-10-25T18:41:55.94", "messageType": 1, "originalApplicationStatus": -99, "currentApplicationStatus": 3, "originalApplicationSubStatus": 0, "currentApplicationSubStatus": 3 }, { "id": 3, "roomId": 6, "userId": 5, "userName": "admin", "content": "Application approved, finalizing agreement.", "createdAt": "2023-09-09T00:00:00", "messageType": 1, "originalApplicationStatus": -99, "currentApplicationStatus": 7, "originalApplicationSubStatus": 0, "currentApplicationSubStatus": 5 } ] ``` ## Related resources See these related resources to help you get the most out of Payabli. * **[Boarding statuses reference](/guides/pay-ops-boarding-status-reference)** - Learn about statuses and substatuses during the merchant boarding process * **[Paypoint statuses](/guides/pay-ops-paypoint-status-reference)** - Learn about the different statuses of paypoints *** title: API-driven boarding quickstart subtitle: >- Learn to use example code to set up a custom app for boarding using the Payabli API description: >- Board merchants programmatically with the Payabli API. Follow example code to create applications, submit KYC data, and monitor approval status from your app 'og:description': >- Board merchants programmatically with the Payabli API. Follow example code to create applications, submit KYC data, and monitor approval status from your app keywords: >- embedded payments, merchant boarding, boarding API, merchant onboarding, KYC submission, application approval, quickstart slug: guides/pay-ops-developer-boarding-quickstart icon: forward-fast area: * Pay Ops subArea: * Boarding audience: * developers *** This guide covers setting up a custom app for processing boarding applications using example code, including modifying the form layout, applying a custom theme, and changing individual form fields. The result is a custom app that caters to private corporations with a fulfillment window of 30 days or less on all transactions and a minimum average transaction amount of \$100 USD. Hosting your own boarding solution means that you're responsible for maintaining it. Talk to your Payabli solutions engineer about whether API-driven boarding is a good option for your organization. Visit the repository's README for information about specific files, functions, component props, and other technical details. ## Dependencies Before you begin, make sure you have the following installed on your machine: * [npm](https://nodejs.org/en/download/) * [git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) ## Set up the app Run these commands in your terminal to configure the boarding example app on your local machine: ```bash git clone https://github.com/payabli/examples ``` ```bash cd examples/boarding ``` ```bash npm install ``` ```bash cp .env.template .env ``` Open the `.env` file in your code editor. Set `PAYABLI_API_TOKEN` to your Payabli API token and `BETTER_AUTH_SECRET` to any text string with a length of 32 characters: ```txt # your Payabli API token PAYABLI_API_TOKEN="123...XYZ" # which Payabli environment to use PAYABLI_ENVIRONMENT="sandbox" # your better-auth secret BETTER_AUTH_SECRET=ABCDEFGHIJKLMNOPQRSTUVWXYZ123456 # base URL of your app BETTER_AUTH_URL=http://localhost:4321 # https://my-production-site.com ``` The `BETTER_AUTH_SECRET` is a string used to encrypt sensitive information. You can generate a 32-character string using the [secret key generator](https://www.better-auth.com/docs/installation#set-environment-variables) in the better-auth documentation. The `BETTER_AUTH_URL` is the base URL of your app. Enter "yes" for all prompts: ```bash npx @better-auth/cli generate npx @better-auth/cli migrate ``` ```bash npm run dev ``` ## Authentication The example boarding app uses a JavaScript library called [better-auth](https://www.better-auth.com/) for user authentication. Authentication is important because it prevents access to secure information by unauthorized users. Navigate to `http://localhost:4321` in your web browser to see the login page. Screenshot of login page Click the "Sign up" link to create a new account. Screenshot of sign-up page After you sign up, you'll be authenticated and see the boarding form. Screenshot of boarding app ## Customize the boarding form The boarding form is built with React components that you can customize to fit your business needs. Follow the walkthrough below to learn how to move form fields, change section details, add validation rules, and more:
+++ Modify form steps ++ Move the "Business Summary" field from the "Financial Information" section to the "Business Information." Then rename the section to "Corporation Overview". /// Find the Financial Information section The "Financial Information" section contains fields for financial statistics about a merchant. It's located in the `src/components/PayabliForm.tsx` file. ```tsx // src/components/PayabliForm.tsx } label="Financial Information">

Step 4: Financial Information

// ... ``` /// Delete the `bsummary` field Cut the `bsummary` field from the "Financial Information" section. You'll paste this later. ```tsx // src/components/PayabliForm.tsx } label="Financial Information">

Step 4: Financial Information

// ... ``` /// Find the Business Information section The "Business Information" section contains fields for legal name and other business details. ```tsx // src/components/PayabliForm.tsx } label="Business Information">

Step 1: Business Information

// ... ``` /// Move business summary field Add the business summary field to the "Business Information" section. ```tsx focus=12-16 // src/components/PayabliForm.tsx } label="Business Information">

Step 1: Business Information

// ... ``` /// Change section label Change the wizard step's label prop to say "Corporation Overview" instead of "Business Information". Then change the icon prop to use the `Briefcase` icon provided by [lucide.dev](https://lucide.dev/). Make sure to import the `Briefcase` icon at the top of the file. ```tsx focus=1-4 // src/components/PayabliForm.tsx } label="Corporation Overview">

Step 1: Corporation Overview

// ... ``` +++ Update form schema ++ Update the form schema to reflect the changes we made to the form fields. /// Find the form schema The schema defines validation rules and default values for form fields. It's located in the `src/Schema.ts` file. ```typescript // src/Schema.ts import { z } from 'zod'; const requireString = () => z.string().min(1, { message: 'This field is required' }); const requiredNumber = () => z.coerce.number().min(1, { message: 'This field is required' }); export const formSchema = z.object({ // ... other fields legalname: requireString(), btype: requireString(), ticketamt: requiredNumber(), // ... other fields }); ``` /// Add minimum validation Add a minimum value validation for the ticket amount field. ```typescript focus=11-13 // src/Schema.ts import { z } from 'zod'; const requireString = () => z.string().min(1, { message: 'This field is required' }); const requiredNumber = () => z.coerce.number().min(1, { message: 'This field is required' }); export const formSchema = z.object({ // ... other fields legalname: requireString(), btype: requireString(), ticketamt: requiredNumber().min(100, { message: 'Ticket amount must be at least $100' }), // ... other fields }); ``` /// Set default business type Set a default value of "Private Corp" for the `btype` field. ```typescript focus=10 // src/Schema.ts import { z } from 'zod'; const requireString = () => z.string().min(1, { message: 'This field is required' }); const requiredNumber = () => z.coerce.number().min(1, { message: 'This field is required' }); export const formSchema = z.object({ // ... other fields legalname: requireString(), btype: requireString().default("Private Corp"), ticketamt: requiredNumber().min(100, { message: 'Ticket amount must be at least $100' }), // ... other fields }); ``` +++ Customize form fields ++ Customize the labels, tooltips, and options for specific form fields. /// Find `ticketamt` field Find the `` component for the ticket amount field. ```tsx // src/components/PayabliForm.tsx // ... other fields // ... other fields ``` /// Specify minimum ticket amount Customize the ticket amount field to show the minimum requirement. ```tsx focus=5-6 // src/components/PayabliForm.tsx // ... other fields // ... other fields ``` /// Find `whenDelivered` field Find the `` component for the delivery timeframe field. ```tsx // src/components/PayabliForm.tsx // ... other fields // ... other fields ``` /// Remove "Over 30 Days" option Remove the "Over 30 Days" option from the delivery timeframe field. ```tsx focus=7-9 // src/components/PayabliForm.tsx // ... other fields // ... other fields ``` /// Find `whenRefunded` field Find the `` component for the refund timeframe field. ```tsx // src/components/PayabliForm.tsx // ... other fields // ... other fields ``` /// Remove "Over 30 Days" refund option Remove the "Over 30 Days" option from the refund timeframe field. ```tsx focus=7-9 // src/components/PayabliForm.tsx // ... other fields // ... other fields ```
### Customize the app theme The example app is built with [shadcn/ui](https://ui.shadcn.com/) and [Tailwind CSS](https://tailwindcss.com/). You can customize the app's appearance by modifying the CSS file located at `styles/globals.css`. The `:root` selector contains CSS variables that apply to light mode, and the `.dark` selector contains CSS variables for dark mode. ```css Default theme @tailwind base; @tailwind components; @tailwind utilities; @layer base { :root { --background: 0 0% 100%; --foreground: 240 10% 3.9%; --card: 0 0% 100%; --card-foreground: 240 10% 3.9%; --popover: 0 0% 100%; --popover-foreground: 240 10% 3.9%; --primary: 240 5.9% 10%; --primary-foreground: 0 0% 98%; --secondary: 240 4.8% 95.9%; --secondary-foreground: 240 5.9% 10%; --muted: 240 4.8% 95.9%; --muted-foreground: 240 3.8% 46.1%; --accent: 240 4.8% 95.9%; --accent-foreground: 240 5.9% 10%; --destructive: 0 84.2% 60.2%; --destructive-foreground: 0 0% 98%; --border: 240 5.9% 90%; --input: 240 5.9% 90%; --ring: 240 5.9% 10%; --radius: 0.5rem; --chart-1: 12 76% 61%; --chart-2: 173 58% 39%; --chart-3: 197 37% 24%; --chart-4: 43 74% 66%; --chart-5: 27 87% 67%; } .dark { --background: 240 10% 3.9%; --foreground: 0 0% 98%; --card: 240 10% 3.9%; --card-foreground: 0 0% 98%; --popover: 240 10% 3.9%; --popover-foreground: 0 0% 98%; --primary: 0 0% 98%; --primary-foreground: 240 5.9% 10%; --secondary: 240 3.7% 15.9%; --secondary-foreground: 0 0% 98%; --muted: 240 3.7% 15.9%; --muted-foreground: 240 5% 64.9%; --accent: 240 3.7% 15.9%; --accent-foreground: 0 0% 98%; --destructive: 0 62.8% 30.6%; --destructive-foreground: 0 0% 98%; --border: 240 3.7% 15.9%; --input: 240 3.7% 15.9%; --ring: 240 4.9% 83.9%; --chart-1: 220 70% 50%; --chart-2: 160 60% 45%; --chart-3: 30 80% 55%; --chart-4: 280 65% 60%; --chart-5: 340 75% 55%; } } @layer base { * { @apply border-border; } html { @apply scroll-smooth; } body { @apply bg-background text-foreground; font-synthesis-weight: none; text-rendering: optimizeLegibility; } } @layer base { img { display: initial; } } ``` ### Additional customization To learn more about the available props for the form components and additional customization options, see the following resources: * **Form fields**: See the example app's [README](https://github.com/payabli/examples/tree/main/boarding) for available props * **Icons**: Browse available icons at [lucide.dev](https://lucide.dev/) {/* vale Payabli.We = YES */} ## Related resources See these related resources to help you get the most out of Payabli. * **[Manage notifications](/guides/pay-ops-developer-notifications-manage)** - Set up notifications to stay informed about boarding application status changes * **[Boarding API example](https://github.com/payabli/examples/tree/main/boarding)** - Full API-driven boarding application example on GitHub * **[Boarding statuses reference](/guides/pay-ops-boarding-status-reference)** - Learn about statuses and substatuses during the merchant boarding process * **[Paypoint statuses](/guides/pay-ops-paypoint-status-reference)** - Learn about the different statuses of paypoints * **[Send prefilled boarding applications](/guides/pay-ops-developer-boarding-send-prefilled-apps)** - Learn how to send prefilled boarding applications to prospective merchants *** title: Add additional data to boarding applications subtitle: Learn how `additionalData` works in boarding applications description: >- Attach additional data fields to merchant boarding applications via the API. Extend applications with custom metadata to capture business-specific information 'og:description': >- Attach additional data fields to merchant boarding applications via the API. Extend applications with custom metadata to capture business-specific information keywords: >- embedded payments, merchant boarding, additional data, boarding API, merchant onboarding, KYC data, application metadata slug: guides/pay-ops-developer-boarding-add-data icon: store area: * Pay Ops subArea: * Boarding audience: * developers *** The `additionalData` object is a flexible extension point in Payabli's boarding APIs that allows you to pass custom key-value pairs associated with the application, business, owners, or signers. This flexibility is useful for enriching the application context or aligning with your existing systems. To use `additionalData` fields, your boarding templates must be updated to include `additionalData`. Contact your Payabli solutions engineer to update your boarding templates. ## Common use cases Here are some common scenarios where `additionalData` is useful: * Add business-level `additionalData` to indicate how long you've worked with the merchant. Payabli uses this data to inform custom underwriting policies. * Include a unique user ID in the owner's `additionalData` to streamline post-boarding user provisioning in their portal. * Supply historical risk scores and account balance information in `additionalData` to inform your own underwriting decisions while leveraging Payabli for orchestration. Don't transmit sensitive data like credit scores, Social Security Numbers, or birthdates in `additionalData`. These fields aren't intended for storing Personally Identifiable Information (PII) or regulated data. ## Best practices Keep these best practices in mind when using `additionalData` with boarding operations: * Avoid transmitting unstructured or nested data. Stick to flat key-value pairs. * Keep keys predictable and consistent across environments and integrations. * Don't use `additionalData` as a substitute for core schema fields like legal name or Social Security Number. * If a field is critical for compliance or reconciliation, consider formalizing it in your integration rather than relying on `additionalData`. ## Where `additionalData` is available You can add the `additionalData` object to three main objects in the boarding template to be captured on boarding applications: * **Root business level**: Fields that apply to the business entity * **Owners**: Fields associated with each beneficial owner * **Signers**: Fields associated with individuals signing on behalf of the business This allows precise scoping of data depending on the entity to which it pertains. ## Adding `additionalData` to templates To update your templates to include `additionalData`, contact your Payabli solutions engineer. Boarding templates are essential for defining how services, pricing, and dynamic fields (including `additionalData`) are presented during boarding. To make sure that your `additionalData` fields are rendered in boarding applications, you must first declare them in your boarding templates. screenshot of an additionalData field in the template editor ```json Example of additionalData in a boarding template "additionalData": { "visible": true, "fields": { "HQ-Location": { "label": "Where is your headquarters located?", "type": "text", "options": null, "posRow": 0, "posCol": 0, "value": "", "visible": true, "readOnly": false, "required": true }, "ERP Usage": { "label": "Do you use an accounting system (e.g., QuickBooks, Xero)?", "type": "boolean", "options": null, "posRow": 0, "posCol": 0, "value": "", "visible": true, "readOnly": false, "required": true }, "adBudget": { "label": "How much do you spend each month advertising your services?", "type": "number", "options": null, "posRow": 0, "posCol": 0, "value": "", "visible": true, "readOnly": false, "required": false }, "referralSource": { "label": "How did you hear about us?", "type": "dropdown", "options": [ {"label": "Search engine", "value": "search"}, {"label": "Referral", "value": "referral"}, {"label": "Social media", "value": "social"} ], "value": "", "visible": true, "readOnly": false, "required": true }, "session_id": { // Prefilled field for tracking session. Notice that it includes a value and is not visible to the user. "label": "Session ID", "type": "text", "options": null, "posRow": 0, "posCol": 0, "value": "sesh-21dh2-jf4493-f34h4f8-2323", "visible": false, "readOnly": false, "required": false }, "partnerScore": { // Prefilled field for custom risk score. Notice that it includes a value and is not visible to the user. "label": "Partner Risk Score", "type": "dropdown", "options": [ {"label": "Low Risk", "value": "low-risk"}, {"label": "Medium Risk", "value": "medium-risk"}, {"label": "High Risk", "value": "high-risk"} ], "posRow": 0, "posCol": 0, "value": "low-risk", "visible": false, "readOnly": false, "required": false } } ``` The next section describes the configuration options available for each `additionalData` field in your boarding templates. ### Field configuration options Each `additionalData` object on a boarding template has these parameters: | Setting | Type | Description | Example | | ---------- | ------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ | | `key` | string | The field's name. Each field in the `additionalData` object uses a custom field name as its key. The field name is the key in the API payload. | `referralSource` | | `label` | string | The field's label displayed to the user. | "How did you hear about us?" | | `type` | string | Input type presented to the user. Supported values: `text`, `number`, `boolean`, `dropdown`, `multiselect` | `"text"` | | `value` | string \| number \| boolean \| array | The value to be prefilled or submitted for the field. For `multiselect` fields, this should be an array. | `"search engine"` | | `options` | array \| null | For `dropdown` and `multiselect` fields, an array of selectable options. Each option is an object with `label` and `value` properties. For other field types, this should be `null`. | `[{"label": "Search engine", "value": "search engine"}, {"label": "Friend", "value": "friend"}]` | | `posRow` | integer | The row position of the field in the form layout. | `0` | | `posCol` | integer | The column position of the field in the form layout. | `0` | | `visible` | boolean | When `true`, the field appears on the application form. Setting this field to `false` hides the field from the applicant, but allows you to pass system-generated or other pre-filled data with the application. | `true` | | `readOnly` | boolean | When `true`, the field is read-only and not editable by the applicant. | `true` | | `required` | boolean | When `true`, the field is required and must be filled out to submit the application. When `false`, the field is optional. | `false` | ## Field types | Field type | Description | | ------------- | ------------------------------------------------------------------ | | `text` | User can enter a string of alphanumeric text as a response | | `number` | User can enter a float number | | `boolean` | User can enter true or false selections | | `dropdown` | User can select a single answer from a predefined list of options | | `multiselect` | User can select multiple answers from a predefined list of options | These settings let you customize boarding flows based on operational or compliance requirements while creating a user-friendly experience. ## Passing `additionalData` on applications When using the [POST /Boarding/app](/developers/api-reference/boarding/create-boarding-application) endpoint, you can pre-populate `additionalData` to streamline the user experience and enrich the application context. Here is an example of how to pass `additionalData` at the business level: ```json "additionalData": { "referralSource": "search", // Custom field for tracking referral source "session_id": "sesh-21dh2-jf4493-f34h4f8-2323", // Correlates session data "partnerScore": "low-risk" // Custom risk signal } ``` This data is visible in the Payabli dashboard under the "Additional Data" section of the application or paypoint's record, and you can also retrieve it via the API by calling any of the GET boarding app endpoints, such as [GET /Boarding/read/:appId](/developers/api-reference/boarding/get-boarding-application-by-id). ## Related resources See these related resources to help you get the most out of Payabli. * **[Boarding statuses reference](/guides/pay-ops-boarding-status-reference)** - Learn about statuses and substatuses during the merchant boarding process * **[Paypoint statuses](/guides/pay-ops-paypoint-status-reference)** - Learn about the different statuses of paypoints * **[Boarding overview](/guides/pay-ops-boarding-overview)** - Learn how merchant boarding works in Payabli * **[Create merchant boarding application](/developers/api-reference/boarding/create-boarding-application)** - Learn how to create a boarding application using the API *** title: Manage boarding in the UI subtitle: Learn how to manage the boarding process for paypoints in the Payabli UI icon: user-check slug: guides/pay-ops-portal-boarding-manage area: * Pay Ops subArea: * Boarding audience: * partners * merchants description: >- Manage merchant onboarding in PartnerHub with boarding templates, application links, and tracking tools. Streamline KYC and underwriting through the UI workflow 'og:description': >- Manage merchant onboarding in PartnerHub with boarding templates, application links, and tracking tools. Streamline KYC and underwriting through the UI workflow keywords: >- embedded payments, payment operations, merchant onboarding, merchant boarding, KYC compliance, boarding templates, merchant applications, underwriting workflow, paypoint onboarding *** Boarding is the process of adding paypoints to your organization in Payabli. This guide explains how to observe the boarding process in the Payabli UI. For each paypoint, you can: * View boarding templates * Generate and send boarding links * Track boarding applications ## Manage boarding templates Boarding templates allow you to customize your merchant application for different boarding scenarios. This section explains how to view your boarding templates and template usage. ### View a boarding template To view an existing template, follow these steps: 1. Navigate to **Portfolio > Templates**. 2. Find the template and click it. ### View template usage To see the boarding links that have been generated based on a template, follow these steps in the UI: 1. Navigate to **Portfolio > Templates**. 2. Find the template you want to check. 3. Click the three-dot icon in the **Action** column. 4. Select **View Links** from the menu. 5. Review the boarding links in the panel that opens. ## Manage boarding links Boarding links allow you to send a link to an onboarding application to a merchant. To view and manage boarding links in the UI, navigate to **Portfolio > Boarding Links**. This opens the Boarding Link screen, where you can see your business's boarding links. ### Send a boarding link To use boarding links, you must either distribute the boarding link URL or email boarding links to applicants. #### Get the boarding link URL Use this option if you want to embed the boarding link in your app or send it to the applicant via text or another method. 1. From the Boarding Link screen, click the three-dot icon in the **Action** column. 2. Select **Open** from the menu. 3. The boarding link opens in the browser. Copy the URL from the address bar. 4. Use the URL as needed. You can embed it in your app or send it to the applicant. #### Email a boarding link from Payabli Use this option if you want to email a boarding link to an applicant directly from Payabli. 1. From the Boarding Link screen, click the three-dot icon in the **Action** column. 2. Select **Send Link to Email** from the menu. 3. Enter the recipient's email address. 4. Click **Send**. ### Preview a boarding link To open a preview of a boarding link and its application from the UI, follow these steps: 1. Navigate to **Portfolio > Boarding Links**. 2. Find the link you want to preview. 3. Click the three-dot icon in the **Action** column. 4. Select **Open** from the menu. ## Track boarding applications After a boarding link has been sent and completed by the applicant, you can track the application through the approval process. To view applications in the UI, follow these steps: 1. Navigate to **Portfolio > Applications**. 2. To view an application, either: * Click on it in the list, or * Click the three-dot icon in the **Action** column and select **View Details** ### See boarding app notes and events To access notes and events on a boarding application in the UI: 1. Navigate to **Portfolio > Applications**. 2. Find and click the application to open it. 3. Click the **Notes & Events** tab. Any notes and events associated with the boarding application are displayed. ## Related resources See these related resources to help you get the most out of Payabli. * **[Boarding statuses reference](/guides/pay-ops-boarding-status-reference)** - Learn about statuses and substatuses during the merchant boarding process * **[Paypoint statuses](/guides/pay-ops-paypoint-status-reference)** - Learn about the different statuses of paypoints * **[Pay In TransEvent reference](/guides/pay-in-transevents-reference)** - Learn about TransEvent values for pay in transactions *** title: Notifications and reports overview subtitle: Get automated reports and notifications for key events description: >- Power real-time workflows with Payabli notifications. Get instant alerts via email, SMS, or webhooks for payments, disputes, settlements, and boarding events 'og:description': >- Power real-time workflows with Payabli notifications. Get instant alerts via email, SMS, or webhooks for payments, disputes, settlements, and boarding events keywords: >- embedded payments, payment operations, merchant onboarding, webhooks, payment notifications, event-driven architecture, automated alerts, real-time notifications slug: guides/pay-ops-notifications-webhooks-overview icon: bell area: * Pay Ops subArea: * Notifications audience: * developers *** Payabli has a notifications engine that lets you create notifications for various events using different communication channels: **email**, **phone (SMS)** and **web (webhooks)**. The engine also lets you autogenerate reports and send them via email or webhook. ## Notifications Get near-instant notifications via email, SMS, or webhooks for important events like new payment disputes, merchant activations, fraud alerts, approved transactions, settlement history, vendor payouts, and more. Use webhooks with notifications to get real-time updates and automate operations based on key those key events. An event alerts you when an action has been completed. When you create a notification for an event, Payabli adds a notification to the notification queue within 5 minutes of the event trigger. The notification engine sends the notification's information to the target via the channel you configure, either web (webhooks), SMS, or email. The information provided with each notification varies by type. In the following tables: * The **Event** column is the `eventType` value used with the notification API. * The **Trigger** column describes what triggers the event. * The **Name in Web App** column describes the notification name in the web app's notification settings page. ### Pay In events
Event Trigger Name in UI Webhook Payload
ApprovedPayment A transaction is approved Approved payment View
AuthorizedPayment A transaction is authorized, capture pending Authorized payment View
DeclinedPayment A transaction is declined Declined payment View
FundedPayment A transaction is funded Funded payment View
InvoiceCreated An invoice is created Invoice created View
InvoicePaid Any payment is received for an invoice Invoices paid View
InvoiceSent An invoice is sent to customer Invoices sent View
OriginatedPayment A transaction is originated Originated payments View
RefundedPayment A transaction is refunded Refunded payments View
RecoveredTransaction A timed-out transaction is recovered Recovered transaction View
SettledPayment A transaction is settled or sent to funding Settled payments View
SubscriptionCreated A subscription is created Subscription created View
SubscriptionCompleted A subscription is completed (past the end date). Subscription completed View
SubscriptionCanceled A subscription is canceled Subscription canceled View
SubscriptionUpdated A subscription is updated Subscription updated View
BatchClosed A batch is closed Batch closed View
BatchNotClosed A batch isn't closed Batch not closed View
TransferAdjusted A transfer has been adjusted by Payabli Transfer adjusted View
TransferDisabledCreditFund Credit funding failed because the merchant doesn't have an active credit service Transfer credit fund disabled View
TransferDisabledDebitFund Debit funding failed because the merchant doesn't have an active debit service Transfer debit fund disabled View
TransferError Funding execution failed Transfer error View
TransferNotAvailableBalance Funding execution pending because available balance doesn't cover the transfer Transfer not available balance View
TransferReadyforRetry A transfer is ready to be retried by Payabli Transfer ready for retry View
TransferResolved A transfer has been resolved by Payabli Transfer resolved View
TransferReturn Funding execution experienced a return, which is commonly due to insufficient funds, or problems with the external bank account Transfer return View
TransferSuccess Funding execution was successful Transfer success View
TransferSuspended Merchant funding suspended Transfer suspended View
VoidedPayment A payment is voided or canceled Voided payments View
### Pay Out events
Event Trigger Name in UI Webhook Payload
BillApproved A bill is approved to be paid Bills were approved View
BillCanceled A bill is canceled Bills were canceled View
BillDisApproved A bill is disapproved to be paid Bills were rejected View
BillPaid A bill is paid Bills paid View
BillProcessing A payout is being processed for a bill Payment for bills in transit View
CardCreated A virtual card was created Card created View
CardActivated A virtual card was activated Card activated View
CardDeactivated A virtual card was deactivated Card deactivated View
CardExpired A virtual card has expired Card expired View
CardExpiring A virtual card is about to expire Card expiring View
CardLimitUpdated The limit of a virtual card was updated Card limit updated View
PayOutCanceled A payout is canceled Payouts were canceled View
PayOutFunded A payout is funded Payout funded View
PayOutPaid A payout is paid Payouts were paid View
PayOutProcessed A payout is processed Payouts were processed View
PayOutCanceled A payout is canceled Payouts were canceled View
PayOutReturned A payout is returned Payouts were returned View
PayoutSubscriptionCreated A payout subscription is created Payout subscription created View
PayoutSubscriptionUpdated A payout subscription is updated Payout subscription updated View
PayoutSubscriptionCanceled A payout subscription is canceled Payout subscription canceled View
PayoutSubscriptionCompleted A payout subscription is completed Payout subscription completed View
PayoutSubscriptionReminder A payout subscription is about to be paid Payout subscription reminder View
### Pay Ops events #### Fraud and Risk events
Event Trigger Name in UI Webhook Payload
FraudAlert A fraud alert is triggered Fraud alerts View
HoldTransaction A transaction is held Hold transaction View
HoldBatch A batch is held Hold batch View
ReleasedBatch A held batch is released Released batch View
ReleasedTransaction A held transaction is released Released transaction View
#### Boarding events
Event Trigger Name in UI Webhook Payload
ActivatedMerchant A new merchant account is activated Paypoints activated View
BoardingApplication An application sent to "boarding" status Paypoints boarded View
CreatedApplication A new boarding application is created Applications newly created View
FailedBoardingApplication A boarding application failed to process N/A View
ApprovedApplication A boarding application is approved Applications approved View
DeclinedApplication An application is declined Applications declined View
HoldingApplication An application is put on hold Application is under review View
SubmittedApplication A boarding application is sent to processing Applications submitted View
UnderWritingApplication An application is sent to underwriting Application is in underwriting View
#### Other
Event Trigger Name in UI Webhook Payload
exportFileError There was an error generating an export file File transmission aborted View
exportFileSent A generated export file is sent File sent View
importFileError An imported file was rejected because of errors File processing aborted by errors View
importFileProcessed An imported file was processed File processed View
importFileReceived A file is received for import data via Payabli eXchange File received View
UpdatedMerchant A paypoint (merchant) record is updated N/A View
SystemAlert A system alert occurs N/A View
UserPasswordExpired A user password expires N/A View
UserPasswordExpiring A user password is about to expire N/A View
ReceivedAchReturn A returned ACH is received ACH returns View
ReceivedChargeBack A chargeback is received Credit card chargebacks View
ChargebackUpdated A chargeback is updated Chargeback status updated View
ReceivedRetrieval A retrieval request is received Credit card retrieval View
RetrievalUpdated A retrieval request is updated Retrieval status updated View
TransactionNotFound A transaction can't be found N/A View
Report Pre-defined event name for methods **report-email** and **report-web** N/A
For email and SMS methods, The notification includes only the notification content in the email body or in the text for SMS. ## Set up and receive events using Web (webhooks)\[#set-up-webhooks] For webhook notifications, Payabli offers flexibility so you can build and use the notifications as needed. See [Webhook Payload Reference](/guides/pay-ops-webhooks-payloads) for example notification webhook payloads. The web notifications are sent to the target URL via HTTP POST. When you create the notification, specify any custom headers or fields to submit with the event in the request. The notification uses standard HTTPS ports: `80`, `443`, `8080`, or `4443`. If needed, you can include an Authorization header for your webhook server in the field `webHeaderParameter` in the `content` object. For example, if your webhook server requires basic authorization and your key is `AD4566F3S2T76901`, then your request would look like this: ```json { "ownerId": 20, "ownerType": 0, "method": "web", "frequency": "untilcancelled", "target": "https://mywebhook.domain.com/entrypoint", "content": { "eventType": "ApprovedPayment", "webHeaderParameters":[ {"Authorization":"Basic AD4566F3S2T76901"} ] } } ``` You can also send any other variable in the body with some custom data using the field `internalData` in the content object: ```json { "ownerId": 20, "ownerType": 0, "method": "web", "frequency": "untilcancelled", "target": "https://mywebhook.domain.com/entrypoint", "content": { "eventType": "ApprovedPayment", "webHeaderParameters":[ {"Authorization":"Basic AD4566F3S2T76901"} ], "internalData":[ {"myData1":"Value1"}, {"myData2":"Value2"} ] } } ``` ### Retry logic If sending a webhook fails, Payabli retries the webhook POST 2 times in 5-minute intervals. If the request fails after 2 retries, you can manually resend the failed webhook notification via the API. Follow the steps below to manually resend a failed webhook notification: To find the ID of the failed notification, you can search Payabli's notification logs by calling the **POST /api/v2/notificationlogs** endpoint. When calling the endpoint, make sure to pass the `"succeeded": false` field in the request to filter for failed notifications. See [Search notification logs](/developers/api-reference/notification-logs/search-notification-logs-with-filtering-and-pagination) for more information. To resend a failed notification, call the **GET /api/v2/notificationlogs/\{uuid}/retry** endpoint. Replace **\{uuid}** with the ID of the failed notification you found in the previous step. When you call the endpoint, Payabli attempts to resend the webhook notification to your server. Your server must respond to the webhook with a success HTTP response code (example: 200). See [Retry notification](/developers/api-reference/notification-logs/retry-notification-log) for more information. ### Send a success response Your webhook server must send a success HTTP response code (example: 200) when the payload is successfully received. If you send nothing, or send an error response code (example: 401), Payabli assumes it has failed and the retry logic causes the payload to be sent several times. ## Automated reports Automated reporting lets you gather critical reports without manually filtering and exporting the data. Get automated daily, weekly, and monthly report for daily sales, ACH returns, settlements, and more. You can send these reports via email or via webhook. The notification engine lets you schedule autogenerated reports with different frequencies: "daily", "weekly", "biweekly", "monthly", "quarterly", "semiannually", "annually". The reports are sent to the target (destination) using either `report-email` or `report-web` where the expected targets are email address or a URL. For method `report-email` the report is attached to an email. For the method `report-web` the file is sent via HTTP POST as "multipart/form-data" and in the field `file`. Like with events, you can specify custom headers and internal data to be passed to your application in the HTTP request. You can generate the files in CSV, XLSX, and JSON format. This example creates a daily transaction report and sends it via email: ```json { "ownerId": 20, "ownerType": 0, "method": "report-email", "frequency": "daily", "target": "myemail@myDomain.com", "content": { "fileFormat":"csv", "reportName":"Transaction" } } ``` ## Notification status When you create or manage a notification or autogenerated report via the API, you can enable or disable it with the `status` parameter. Setting a notification to Inactive disables it, and setting it to Active enables it.
Value Key
Active 1
Inactive 0
## Related resources See these related resources to help you get the most out of Payabli. * **[Webhook notification response reference](/guides/pay-ops-webhooks-payloads)** - Learn more about the payload for each webhook notification response body *** title: 'Decision guide: Webhooks vs polling' subtitle: >- Use this guide to help you choose between using real-time webhooks or polling APIs description: >- Choose the best data delivery strategy for your integration with interactive decision trees. Compare real-time webhooks versus polling APIs for your use case 'og:description': >- Choose the best data delivery strategy for your integration with interactive decision trees. Compare real-time webhooks versus polling APIs for your use case keywords: >- embedded payments, payment operations, merchant onboarding, webhooks, API polling, real-time notifications, event-driven architecture, integration patterns slug: guides/pay-ops-notifications-webhooks-vs-polling icon: clipboard-question area: * Pay Ops subarea: * Notifications * Reporting audience: * developers * partners *** When building your integration with Payabli, you might wonder whether to use real-time webhook notifications or to poll API endpoints for status updates, reconciliation, and system integration. This guide helps you choose between using Payabli's real-time webhook notifications or polling APIs based on your specific use case and requirements. ## Decision trees Use these interactive decision trees to walk through the best approach for handling notifications and status updates in your integration. ### Payment notifications This decision tree helps you determine the best approach for getting payment notifications and status updates from Payabli.
#### Decision guide: Payment notification webhooks vs polling * If you need real-time updates and want notifications when an invoice is paid → Use the **`InvoicePaid` webhook** for autopay payment confirmation. * If you need real-time updates and want notifications when payments are made via the `getPaid` API or an embedded component → Use the **`ApprovedPayment` webhook** for manual charge confirmation. * If you need real-time updates and want deposit notifications → Use the **`TransferSuccess` webhook** for Pay In transfer confirmation. * If you need real-time updates and want payout confirmations → Use the **`PayoutPaid` webhook** for vendor payout confirmation. * If you don't need real-time updates → **Poll** relevant API endpoints (`/Transaction`, `/Invoice`, `/Payout`) at regular intervals.
### Merchant and application status This decision tree helps you determine the best approach for getting boarding status updates from Payabli.
#### Decision guide: Merchant status webhooks vs polling * If you need real-time merchant status updates and want to know when applications are submitted → Use the **`SubmittedApplication` webhook**. * If you need real-time updates and want to know when applications are approved → Use the **`ApprovedApplication` webhook**. * If you need real-time updates and want to know when applications are declined → Use the **`DeclinedApplication` webhook**. * If you need real-time updates and want to know when additional documents are required → Use the **`HoldingApplication` webhook**. * If you need real-time updates and want to know when merchants are activated and ready to process payments → Use the **`ActivatedMerchant` webhook**. * If you don't need real-time merchant status updates → **Poll** the `/api/Boarding/read/{appid}` endpoint at regular intervals to check application status.
## Recommended strategy by use case Choose the right combination of webhooks and polling based on your needs. Here's a quick reference to help you decide: | **Use case** | **Recommended approach** | | ----------------------------- | ----------------------------------------------------------------------- | | Invoice payment confirmation | `InvoicePaid` webhook + daily polling backup | | Real-time transaction success | `ApprovedPayment` webhook + periodic audit polling | | Vendor payout tracking | `PayoutPaid` webhook + weekly reporting polls | | Daily reconciliation | Poll `/Query/transactions` with date filters | | Dashboard and analytics | Webhooks for real-time + polling for aggregates | | Missed event recovery | Background polling to fill gaps | | Customer receipts | `ApprovedPayment` or `InvoicePaid` webhooks only | | Financial reporting | Scheduled polling with Reporting Engine | | Merchant onboarding status | `ActivatedMerchant` webhook + polling for application status and audits | ## Webhooks Webhooks are ideal when you need immediate, event-driven responses to payment activity. They provide the fastest way to update your systems and respond to customer actions. Use webhooks when: * You want real-time updates for events such as marking invoices as paid, showing receipt screens. * You're processing autopays, external invoices, or embedded checkouts. * You're building event-driven systems. For example, when triggering next actions in a workflow. * You need to notify customers immediately about payment status. * You're integrating with real-time analytics or monitoring systems. Webhooks are reliable when: * You respond to each event with proper HTTP response codes * You support retries and implement idempotent event handling * Your webhook endpoints have high uptime and fast response times * You handle webhook authentication and validation properly ### Core webhook events Understanding which webhook events correspond to different payment flows helps you choose the right notifications for your integration. | Flow | Event name | Trigger description | | ------------------- | ------------------- | ----------------------------------------------------------------------------------- | | Invoice paid | `InvoicePaid` | Triggered when an invoice is successfully paid through autopay | | Manual charge | `ApprovedPayment` | Triggered when a payment is approved via the `getPaid` API or an embedded component | | Deposit/funding | `TransferSuccess` | Notifies when a Pay In transfer was successful | | Payout to vendor | `PayoutPaid` | Triggered when a payout to vendor is successfully processed and redeemed | | Tokenization | No webhook events | Poll `/TokenStorage` endpoint if needed | | Merchant activation | `ActivatedMerchant` | Triggered when a merchant is fully activated and ready to process payments | ### Webhook best practices Follow these best practices to build reliable webhook and polling implementations. * Implement idempotent processing to handle duplicate events gracefully. * Use proper HTTP status codes and return 200 statuses for successful processing. * Set up retry mechanisms to handle temporary failures with exponential backoff. * Authenticate webhooks to prevent handling payloads that aren't from Payabli. See [Notifications and reports overview](/guides/pay-ops-notifications-webhooks-overview#set-up-webhooks) for more information. * Log all webhook events to maintain an audit trail for troubleshooting. ## Polling Polling provides reliable, predictable data access and is excellent for batch processing, reconciliation, and systems that don't require immediate updates. Use polling when: * You want to audit, reconcile, or backfill transaction data * You need to recover from missed webhook events (server downtime, delivery failures) * You're building batch reports, dashboards, or analytics systems * You prefer simpler implementation without webhook infrastructure * You need historical data analysis or trend reporting ### Core polling endpoints Polling endpoints allow you to query transaction and payout data at your convenience. Here are the key endpoints: * `/Query/transactions` - Query transactions by date range and filters * `/Invoice` - Get invoice status and payment details * `/Payout/query` - Check payout status and settlement information * `/MoneyIn/details/:transId` - Get detailed transaction information * `/Boarding/read/:appid` - Get application status and details ### Polling best practices Follow these best practices to build reliable polling implementations. * Implement rate limiting to respect API rate limits and use appropriate intervals. * Store last processed timestamps to track what data you've already processed. * Use pagination to process large result sets efficiently. * Use date range filters to minimize data transfer and processing overhead. * Implement error handling to gracefully handle API errors and network issues. ## Quick reference This section provides quick links to relevant API endpoints, webhook events, and integration guides mentioned in the decision tree and throughout this guide. **API References:** * [Create notification API](/developers/api-reference/notification/add-notification) **Integration Guides:** * [Manage notifications](/guides/pay-ops-developer-notifications-manage) * [Notifications and reports overview](/guides/pay-ops-notifications-webhooks-overview) **Webhook Payloads:** * [InvoicePaid webhook payload](/guides/pay-ops-webhooks-payloads#invoicepaid) * [ApprovedPayment webhook payload](/guides/pay-ops-webhooks-payloads#approvedpayment) * [TransferSuccess webhook payload](/guides/pay-ops-webhooks-payloads#transfersuccess) * [PayoutPaid webhook payload](/guides/pay-ops-webhooks-payloads#payoutpaid) * [Pay In webhooks payloads](/guides/pay-ops-webhooks-payloads#pay-in-events) * [Pay Out webhooks payloads](/guides/pay-ops-notifications-webhooks-overview#pay-out-events) * [Boarding events webhooks payloads](/guides/pay-ops-webhooks-payloads#boarding-events) **API References:** * [Get transaction details API](/developers/api-reference/moneyin/get-details-for-a-processed-transaction) * [List transactions for paypoint](/developers/api-reference/query/get-list-of-transactions-for-an-entrypoint) * [Get list of payouts for paypoint](/developers/api-reference/query/get-list-of-payouts-for-entrypoint) * [Get boarding app by ID](/developers/api-reference/boarding/get-boarding-application-by-id) **Integration Guides:** * [Reporting overview](/guides/pay-ops-reporting-overview) **Integration Guides:** * [Use reporting endpoints](/guides/pay-ops-reporting-overview) * [Manage subscriptions (autopays) with the API](/guides/pay-in-developer-subscriptions-manage) * [Manage payouts](/guides/pay-out-developer-payouts-manage) **API References:** * [Make transaction via the API](/developers/api-reference/moneyin/make-a-transaction) **Integration Guides:** * [Make a sale transaction](/guides/pay-in-developer-transactions-create) *** title: Manage notifications subtitle: >- Learn how to use the Payabli API to add notifications and automated reports for important events description: >- Stay informed with automated notifications and reports via email, SMS, or webhooks. Create and manage alerts for transactions, disputes, settlements, and events 'og:description': >- Stay informed with automated notifications and reports via email, SMS, or webhooks. Create and manage alerts for transactions, disputes, settlements, and events keywords: >- embedded payments, payment operations, merchant onboarding, webhooks, payment notifications, automated reports, real-time alerts, event notifications slug: guides/pay-ops-developer-notifications-manage icon: bell-plus area: * Pay Ops subArea: * Notifications audience: * developers *** Use Payabli's notification functions to create and manage automated notifications and reports for important events. This guide covers the key operations for managing notifications through the API. ## Considerations Keep these considerations in mind when working with notifications: * Notifications can be configured at both organization and paypoint levels independently. Setting up the same notification at both levels results in duplicate notifications, as neither configuration overrides the other. * Multiple notification methods are supported including email, SMS, webhooks, and automated reports. * Each notification requires a specific event type to trigger it. Learn more about the events [here](/guides/pay-ops-notifications-webhooks-overview#notifications). * Notifications can be set to run until cancelled or for a specific duration. * For webhook notifications, you can include custom header parameters. ## Create a notification Send a POST request to `/api/Notification` to create a notification. The notification can be configured to trigger on specific events and deliver updates via email, SMS, or webhooks. See the [API reference](/developers/api-reference/notification/add-notification) for full documentation. This example creates a webhook notification that triggers when an application is created: A successful response will return the ID of the created notification: ## Get notification details Send a GET request to `/api/Notification/{notificationId}` to retrieve information about a specific notification. See the [API reference](/developers/api-reference/notification/get-notification) for full documentation. This example retrieves details for notification ID `1717`: A successful response returns the details of the notification: ## Update a notification Send a PUT request to `/api/Notification/{notificationId}` to modify an existing notification's configuration. See the [API reference](/developers/api-reference/notification/update-notification) for full documentation. This example updates a notification to use a different webhook URL and adds a new header parameter: A successful response returns the ID of the updated notification as `responseData`: ## Delete a notification Send a DELETE request to `/api/Notification/{notificationId}` to remove an existing notification. See the [API reference](/developers/api-reference/notification/delete-notification) for full documentation. This example deletes notification ID `1717`: A successful response returns the ID of the deleted notification as `responseData`: ## Related resources See these related resources to help you get the most out of Payabli. * **[Notifications and reports overview](/guides/pay-ops-notifications-webhooks-overview)** - Get automated reports and notifications for key events * **[Webhook notification response reference](/guides/pay-ops-webhooks-payloads)** - Learn more about the payload for each webhook notification response body * **[Webhook quickstart](/guides/pay-ops-developer-webhooks-quickstart)** - Learn to use example code to set up webhooks for payment notifications *** title: Manage notifications in the UI subtitle: Learn how to add and manage notifications and automated reports in the UI icon: bell slug: guides/pay-ops-portal-notifications-manage area: * Pay Ops subArea: * Notifications * Reporting audience: * partners * merchants description: >- Configure automated reports and event notifications in PartnerHub and PayHub. Set up email, SMS, and webhook alerts for payment events and schedule reports 'og:description': >- Configure automated reports and event notifications in PartnerHub and PayHub. Set up email, SMS, and webhook alerts for payment events and schedule reports keywords: >- embedded payments, payment operations, merchant onboarding, notifications, webhooks, automated reports, email alerts, SMS notifications, event monitoring *** Payabli's notification engine lets you create notifications for various Pay In, Pay Out, and Pay Ops events using three communication channels: email, SMS, and web (webhooks). The engine also allows you to autogenerate reports and send them via email or webhook. This guide explains how to manage reports and notifications from the UI. To access the *Reports & Notifications* screen, navigate to **Settings > Reports & Notifications**. This is where you can configure which reports and notifications you get, how frequently they're sent, and who receives them. For each type of communication, you can: * Specify your timezone * Select which reports and notifications to send * Set distribution frequency * Add recipients * Configure webhook settings Learn more about automated reports and notifications in [Notifications and Reports Overview](/guides/pay-ops-notifications-webhooks-overview). ## Manage summary reports To manage summary reports (also known as autogenerated reports) from the UI, follow these steps: 1. Navigate to **Settings > Reports & Notifications**. 2. Specify your time zone in the dropdown menu. 3. Mark the box next to each report you want. 4. Choose the frequency from the dropdown menu. 5. Enter the email addresses that should receive the report. Separate multiple addresses with a semicolon (;). ## Manage notifications To manage notifications from the UI, follow these steps: 1. Navigate to **Settings > Reports & Notifications**. 2. Specify your time zone in the dropdown menu. 3. Check the box next to each notification you want Payabli to send. 4. For each notification, add recipients: * Enter email addresses for email notifications * Enter phone numbers for SMS notifications * Enter webhook URLs for webhook notifications 5. Click the **Add** icon to include additional recipients. You can add as many as you need. For webhook notifications, adding API headers ensures you only receive webhooks that include the additional parameters, providing enhanced security for your notifications. *** title: Webhook notification response reference subtitle: Learn more about the payload for each webhook notification response body description: >- Complete webhook payload reference for all Payabli events. Explore the data structure sent for transactions, boarding, settlements, disputes, and notifications 'og:description': >- Complete webhook payload reference for all Payabli events. Explore the data structure sent for transactions, boarding, settlements, disputes, and notifications keywords: >- embedded payments, payment operations, merchant onboarding, webhooks, webhook payloads, API responses, event notifications, payment events slug: guides/pay-ops-webhooks-payloads icon: webhook area: * Pay Ops subArea: * Notifications audience: * developers *** ## Response header Each response payload has this header: ```curl Sandbox header Content-Length: Content-Type: application/json; charset=utf-8 Accept: */* String: string Host: 52.3.204.115 ``` ```curl Production header Content-Length: Content-Type: application/json; charset=utf-8 Accept: */* String: string Host: 54.166.54.170 ``` ## Pay In events ### ApprovedPayment Triggered when a payment is approved. ```json Response body { "Event": "ApprovedPayment", "Paypoint": "Athlete Factory LLC\r\n", "Text": "Payment Approved!", "transId": "10-33eb676a-da48-401f-9494-e69a324b152d", "NetAmount": "100.00", "Fee": "0.00", "TotalAmount": "100.00", "transTime": "04/04/2022 13:56:17", "CustomerId": "224", "CustomerNumber": "888", "Method": "card", "WalletType": null, "EntryPoint": "entry289", "ExternalPaypointId": "", "ResponseCode": "100", "ResponseCodeText": "Operation successful", "ResultCode": "A0000", "ResultCodeText": "Approved" } ``` ### AuthorizedPayment Triggered when a payment is authorized. ```json Response body { "Event": "AuthorizedPayment", "Paypoint": "Athlete Factory LLC \r ", "Text": "Payment Authorized!", "AccountType": "4XXXXXX0000", "transId": "10-4e986895-8085-41ac-87db-9f74ff640e19", "NetAmount": "100.00", "Fee": "2.00", "TotalAmount": "102.00", "transTime": "5/23/2022 1:50:50 PM", "CustomerId": "224", "CustomerNumber": "888", "Method": "card", "WalletType": null, "EntryPoint": "entry289", "ExternalPaypointId": "", "ResponseCode": "100", "ResponseCodeText": "Operation successful", "ResultCode": "A0000", "ResultCodeText": "Approved" } ``` ### DeclinedPayment Triggered when a transaction is declined. This notification triggers for all declined transactions, including declined cards and ACH. ```json Response body { "Event": "DeclinedPayment", "Paypoint": "Athlete Factory LLC", "Text": "Payment Declined!", "transId": "10-073d7d504e3c4357be3ff904f9653b4a", "NetAmount": "0.05", "Fee": "0.00", "TotalAmount": "0.05", "transTime": "9/18/2023 7:20:14 PM", "CustomerId": "1323", "CustomerNumber": "customer-xchg_004", "Method": "card", "WalletType": null, "EntryPoint": "entry289", "ExternalPaypointId": "", "ResponseCode": "201", "ResponseCodeText": "Do not honor. The customer's issuing bank is unwilling to accept the transaction.", "ResultCode": "D0100", "ResultCodeText": "Do not honor" } ``` ### FundedPayment Triggered when a payment is funded. ```json Response body { "Event": "FundedPayment", "Paypoint": "Gruzya Adventure Outfitters", "AccountType": "4111 1XXXXXX1111", "Text": "Payment Funded", "BatchNumber": "BT-2023042102-XXX", "Method": "card", "SettlementDate": "2023-04-21T00:00:00", "ExpectedDepositDate": "2023-04-22T00:00:00", "ReportedDepositDate": "2023-04-22T00:00:00", "transId": "179-67f4b500f7a840cfXXXXXXdd7a2447b", "NetAmount": "1.99", "CustomerId": "1000", "CustomerNumber": "clgld5wa600XXXX8n8ijx", "WalletType": null, "EntryPoint": "entry289", "ExternalPaypointId": "" } ``` ### InvoiceCreated Triggered when an invoice is created. ```json Response body { "Event": "InvoiceCreated", "Paypoint": "Athlete Factory LLC", "Text": "Invoice Created!", "InvoiceId": 3156, "InvoiceNumber": "200622", "TotalAmount": "0.00", "CustomerId": "Lisandra L Sosa", "CustomerNumber": "customer-xchg_004", "ExternalPaypointId": "" } ``` ### InvoicePaid Triggered when a payment is received for an invoice. This event is triggered by both partial and full payments. ```json Response body { "Event": "InvoicePaid", "Paypoint": "Athlete Factory LLC", "Text": "Payment received!", "InvoiceId": 127, "InvoiceNumber": "66547688", "TotalAmount": "2.00", "TotalPaidAmount": "2.00", "CustomerId": "Peter Rose", "CustomerNumber": "12345", "ExternalPaypointId": "" } ``` ### InvoiceSent Triggered when an invoice is sent to a customer. ```json Response body { "Event": "InvoiceSent", "Paypoint": "Athlete Factory LLC", "Text": "Invoice Sent!", "InvoiceId": 121, "InvoiceNumber": "9011021", "TotalAmount": "1.00", "CustomerId": "Peter Rose", "CustomerNumber": "901102", "ExternalPaypointId": "" } ``` ### OriginatedPayment Triggered when a payment was originated. ```json Response body { "Event": "OriginatedPayment", "Paypoint": "Mount Athos Homeowners Association", "AccountType": "", "BatchNumber": "checkcommerce_134159_ach_03-10-2023", "Text": "Payment Originated/Batched", "Method": "ach", "ExpectedDepositDate": "2023-03-10T00:00:00", "transId": "31-ff7d46e7-d420-4135-b50b-cdbb3f48fe52", "NetAmount": "2558.37", "CustomerId": "", "CustomerNumber": "", "WalletType": null, "EntryPoint": "entry289", "ExternalPaypointId": "" } ``` ### RefundedPayment Triggered when a payment is refunded. ```json Response body { "Event": "RefundedPayment", "Paypoint": "Athlete Factory LLC\r\n", "Text": "Payment Refunded!", "transId": "10-7c9a106e-60fd-4638-a4e9-a2b86d16dcb0", "NetAmount": "-50.00", "Fee": "0.00", "TotalAmount": "-50.00", "transTime": "04/04/2022 13:56:23", "Notes": "Refunding Transaction 10-33eb676a-da48-401f-9494-e69a324b152d", "CustomerId": "224", "CustomerNumber": "888", "Method": "card", "WalletType": null, "EntryPoint": "entry289", "ExternalPaypointId": "", "ResponseCode": "100", "ResponseCodeText": "Operation successful", "ResultCode": "A0000", "ResultCodeText": "Approved" "RefundingTransactionId": "69539-9d327eb7c70b47c5a3156d3cdcfd1a95" } ``` ### RecoveredTransaction Triggered when a transaction times out and is recovered. ```json Response body { "Event": "RecoveredTransaction", "Paypoint": "Gruzya Adventure Outfitters", "Text": "We automatically recovered a transaction for Gruzya Adventure Outfitters", "Logo": "https://payabli.com/public-logos/pe243.png", "transId": "245-c5eb234fc6ab41b9b84e278080b69dfb", "NetAmount": "$8.00", "Fee": "$0.00", "TotalAmount": "$8.00", "transDate": "8/23/2023", "transTime": "8/23/2023 19:34:42", "Notes": null, "Customer": "Greicy Gasca", "CustomerEmail": "greicy@example.com", "CustomerPhone": "+(786) 555-6341", "CustomerNumber": "901102", "ContactUs": "https://gruzyaadventures.com/", "Method": "card", "EntryPoint": "entry289", "ExternalPaypointId": "" } ``` ### SettledPayment Triggered when a payment is settled or sent to funding. ```json Response body { "Event": "SettledPayment", "Paypoint": "Mount Athos Homeowners Association", "AccountType": "", "Text": "Payment Settled", "BatchNumber": "checkcommerce_134159_ach_03-10-2023", "Method": "ach", "SettlementDate": "2023-03-10T00:00:00", "ExpectedDepositDate": "2023-03-10T00:00:00", "transId": "31-ff7d46e7-d420-4135-b50b-cdbb3f48fe52", "NetAmount": "2558.37", "CustomerId": "224", "CustomerNumber": "888", "WalletType": null, "EntryPoint": "entry289", "ExternalPaypointId": "" } ``` ### SubscriptionCreated Triggered when a subscription is created. ```json Response body { "Event": "SubscriptionCreated", "Paypoint": "Example Company Name", "Text": "A subscription was created for Example Company Name", "SubscriptionId": 12345, "Changes": "Created", "Status": "Active", "Method": "Card", "Last4": "6543", "StoredMethodId": "card_123456789", "TotalAmount": "$99.99", "NetAmount": "$95.99", "FeeAmount": "$4.00", "Currency": "USD", "StartDate": "2023-06-01", "EndDate": "2024-06-01", "Frequency": "Monthly", "CreatedAt": "2023-06-01 14:30:00", "UpdatedAt": "2023-06-01 14:30:00", "ContactUs": "support@example.com | (555) 123-4567", "ExternalPaypointId": "" } ``` ### SubscriptionUpdated Triggered when a subscription is updated. ```json Response body { "Event": "SubscriptionUpdated", "Paypoint": "Example Company Name", "Text": "A subscription was updated for Example Company Name", "SubscriptionId": 12345, "Changes": "EndDate, Frequency", "Status": "Active", "Method": "Card", "Last4": "6543", "StoredMethodId": "card_123456789", "TotalAmount": "$99.99", "NetAmount": "$95.99", "FeeAmount": "$4.00", "Currency": "USD", "StartDate": "2023-06-01", "EndDate": "2024-06-01", "Frequency": "Monthly", "CreatedAt": "2023-06-01 14:30:00", "UpdatedAt": "2023-06-05 10:15:00", "ContactUs": "support@example.com | (555) 123-4567", "ExternalPaypointId": "" } ``` ### SubscriptionCanceled Triggered when a subscription is canceled. ```json Response body { "Event": "SubscriptionCanceled", "Paypoint": "Example Company Name", "Text": "A subscription was canceled for Example Company Name", "SubscriptionId": 12345, "Changes": "Cancelled", "Status": "Cancelled", "Method": "Card", "Last4": "6543", "StoredMethodId": "card_123456789", "TotalAmount": "$99.99", "NetAmount": "$95.99", "FeeAmount": "$4.00", "Currency": "USD", "StartDate": "2023-06-01", "EndDate": "2024-06-01", "Frequency": "Monthly", "CreatedAt": "2023-06-01 14:30:00", "UpdatedAt": "2023-06-10 16:45:00", "ContactUs": "support@example.com | (555) 123-4567", "ExternalPaypointId": "" } ``` ### SubscriptionCompleted Triggered when a subscription is completed (past the end date). ```json Response body { "Event": "SubscriptionCompleted", "Paypoint": "Example Company Name", "Text": "A subscription was completed for Example Company Name", "SubscriptionId": 12345, "Changes": "Completed", "Status": "Completed", "Method": "Card", "Last4": "6543", "StoredMethodId": "card_123456789", "TotalAmount": "$99.99", "NetAmount": "$95.99", "FeeAmount": "$4.00", "Currency": "USD", "StartDate": "2023-06-01", "EndDate": "2024-06-01", "Frequency": "Monthly", "CreatedAt": "2023-06-01 14:30:00", "UpdatedAt": "2024-06-01 00:00:00", "ContactUs": "support@example.com | (555) 123-4567", "ExternalPaypointId": "" } ``` ### BatchClosed Triggered when a batch is closed. ```json Response body { "Event": "BatchClosed", "Paypoint": "HOA SmartPayments Network", "Text": "A batch has been closed for HOA SmartPayments Network", "BatchId": 34159, "BatchAmount": "$38.00", "BatchDate": "5/16/2025 12:00:00\u202fAM", "ContactUs": "www.leo-testing.com | (178) 671-2216", "ExternalPaypointId": null } ``` ### BatchNotClosed Triggered when a batch isn't closed. ```json Response body { "Event": "BatchNotClosed", "Paypoint": "HOA SmartPayments Network", "Text": "A batch has not been closed for HOA SmartPayments Network", "BatchId": 34159, "BatchAmount": "$38.00", "BatchDate": "5/16/2025 12:00:00\u202fAM", "ContactUs": "www.leo-testing.com | (178) 671-2216", "ExternalPaypointId": null } ``` ### TransferAdjusted Triggered when a transfer is adjusted. ```json Response body { "Event": "TransferAdjusted", "Paypoint": "Mount Athos Homeowners Association", "Text": "A transfer was adjusted for Mount Athos Homeowners Association", "transferId": 64260, "NetAmount": "-1.0", "TotalAmount": "0.0", "CbAmount": "0.0", "RtAmount": "0.0", "AdjustedAmount": "10.0", "transferTime": "5/24/2025 12:00:00\u202fAM", "batchId": 94518, "ContactUs": "https://mtathoshoa.com", "batchNumber": "split_289_gp_05-23-2025", "entryPoint": "entry289", "ExternalPaypointId": "" } ``` ### TransferDisabledCreditFund Triggered when funding fails because the merchant doesn't have an active credit service. ```json Response body { "Event": "TransferDisabledCreditFund", "Paypoint": "Global Factory LLC", "Text": "A transfer was not made due to disabled credit fund action for Global Factory LLC", "transferId": 78, "NetAmount": "-0.09", "TotalAmount": "10.25", "CbAmount": "0.00", "RtAmount": "0.00", "transferTime": "6/19/2023 10:31:07 PM", "batchId": 88, "batchNumber": "BT-2025041919-187", "ContactUs": "mysite.com | +(111) 111-1111", "entryPoint": "91908bceab9", "ExternalPaypointId": "" } ``` ### TransferDisabledDebitFund Triggered when funding fails because the merchant doesn't have an active debit service. ```json Response body { "Event": "TransferDisabledDebitFund", "Paypoint": "Global Factory LLC", "Text": "A transfer was not made due to disabled debit fund action for Global Factory LLC", "transferId": 78, "NetAmount": "-0.09", "TotalAmount": "10.25", "CbAmount": "0.00", "RtAmount": "0.00", "transferTime": "6/19/2023 10:31:07 PM", "batchId": 88, "batchNumber": "BT-2025041919-187", "ContactUs": "mysite.com | +(111) 111-1111", "entryPoint": "91908bceab9", "ExternalPaypointId": "" } ``` ### TransferNotAvailableBalance Triggered when funding is pending because the available balance doesn't cover the transfer amount. ```json Response body { "Event": "TransferNotAvailableBalance", "Paypoint": "Gruzya Adventure Outfitters", "Text": "A transfer was not made due to insufficient available balance for Gruzya Adventure Outfitters", "transferId": 7, "NetAmount": "2900.00", "TotalAmount": "0.00", "CbAmount": "0.00", "RtAmount": "0.00", "AvailableBalance": "120.00", "Difference": "2780.00", "transferTime": "5/2/2023 8:10:03 PM", "batchId": 26, "batchNumber": "BT-2025041919-187", "ContactUs": "", "entryPoint": "91908bceab9", "ExternalPaypointId": "" } ``` ### TransferReadyForRetry Triggered when a transfer is ready to retry. ```json Response body { "Event": "TransferReadyForRetry", "Paypoint": "Mount Athos Homeoners Association", "Text": "A transfer is ready to be retried for Mount Athos Homeowners Association", "transferId": 64260, "NetAmount": "-1.0", "TotalAmount": "0.0", "CbAmount": "0.0", "RtAmount": "0.0", "transferTime": "5/24/2025 12:00:00\u202fAM", "batchId": 94518, "ContactUs": "https://mtathoshoa.com", "batchNumber": "split_289_gp_05-23-2025", "entryPoint": "entry289", "ExternalPaypointId": "" } ``` ### TransferReturn Triggered when a transfer has a return event. ```json Response body { "Event": "TransferReturn", "Paypoint": "Global Corporation, LLC", "Text": "A transfer was returned for Global Corporation, LLC Reason: R01 - Insufficient Funds.", "transferId": 748, "NetAmount": "6214.00", "TotalAmount": "6214.00", "CbAmount": "0.00", "RtAmount": "0.00", "transferTime": "8/5/2023 10:32:48 PM", "batchId": 671, "batchNumber": "BT-2025041919-187", "ContactUs": "http://www.globalcorpllc.com | (555) 555-5555", "entryPoint": "91908bceab9", "ExternalPaypointId": "" } ``` ### TransferResolved Triggered when a transfer is resolved. ```json Response body { "Event": "TransferResolved", "Paypoint": "Mount Athos Homeowners Association", "Text": "A transfer was resolved for Mount Athos Homeowners Association", "transferId": 64260, "NetAmount": "-1.0", "TotalAmount": "0.0", "CbAmount": "0.0", "RtAmount": "0.0", "transferTime": "5/24/2025 12:00:00\u202fAM", "batchId": 94518, "ContactUs": "https://mtathoshoa.com", "batchNumber": "split_289_gp_05-23-2025", "entryPoint": "entry289", "ExternalPaypointId": "" } ``` ### TransferSuccess Triggered when a transfer was successful. ```json Response body { "Event": "TransferSuccess", "Paypoint": "Global Factory LLC", "Text": "A transfer was sucsessful for Global Factory LLC", "transferId": 95, "NetAmount": "2.86", "TotalAmount": "5.97", "CbAmount": "0.00", "RtAmount": "1.00", "transferTime": "6/27/2023 10:33:37 PM", "batchId": 94, "batchNumber": "BT-2025041919-187", "ContactUs": "mysite.com | +(111) 111-1111", "entryPoint": "91908bceab9", "ExternalPaypointId": "" } ``` ### TransferSuspended Triggered when transfers are suspended, usually when a deposit to or debit from a merchant's bank account gets returned. ```json Response body { "Event": "TransferSuspended", "Paypoint": "Sandwich City LLC", "Text": "Funding for Sandwich City LLC was suspended because a transfer has been returned. Batch Number: split_289_gp_05-09-2025. Reason: R03 - No Account/Unable to Locate Account.", "transferId": 79757, "NetAmount": "-20.00", "TotalAmount": "0.00", "CbAmount": "0.00", "RtAmount": "0.00", "transferTime": "5/5/2025 12:00:00\u202fAM", "batchId": 90217, "batchNumber": "BT-2025041919-187", "ContactUs": "https://sandwichcity.com", "entryPoint": "91908bceab9", "ExternalPaypointId": "" } ``` ### TransferError Triggered when a transfer has an error. ```json Response body { "Event": "TransferError", "Paypoint": "Global Factory LLC", "Text": "A transfer was declined for Global Factory LLC", "transferId": 10, "NetAmount": "1.01", "TotalAmount": "1.01", "CbAmount": "0.00", "RtAmount": "0.00", "transferTime": "5/4/2023 12:06:10 AM", "batchId": 27, "batchNumber": "BT-2025041919-187", "ContactUs": "mysite.com | +(111) 111-1111", "entryPoint": "91908bceab9", "ExternalPaypointId": "" } ``` ### VoidedPayment Triggered when a payment is voided or canceled. ```json Response body { "Event": "VoidedPayment", "Paypoint": "Athlete Factory LLC\r\n", "Text": "Payment Voided/Canceled!", "transId": "10-5382b585-8a5c-47ff-a661-3a83eec90de1", "NetAmount": "140.00", "Fee": "0.00", "TotalAmount": "140.00", "transTime": "04/04/2022 13:50:31", "CustomerId": "224", "CustomerNumber": "888", "Method": "card", "WalletType": null, "EntryPoint": "entry289", "ExternalPaypointId": "", "ResponseCode": "100", "ResponseCodeText": "Operation successful", "ResultCode": "A0000", "ResultCodeText": "Approved" } ``` ## Pay Out events ### BillApproved Triggered when a bill is approved to be paid. ```json Response body { "Event": "BillApproved", "Paypoint": "Athlete Factory LLC", "Text": "Payment approved!", "InvoiceId": 4137, "InvoiceNumber": "75", "TotalAmount": "45.00", "Method": null, "TransId": "10-12345678-1234-1234-1234-123456789012", "Approvals": [], "CustomerId": 123, "CustomerName": "Artos Cleaning", "CustomerNumber": "7127", "ExternalPaypointId": "" } ``` ### BillDisApproved Triggered when a bill is rejected, and won't be paid. ```json Response body { "Event": "BillDisApproved", "Paypoint": "Athlete Factory LLC", "Text": "Payment disapproved!", "InvoiceId": 4137, "InvoiceNumber": "75", "TotalAmount": "45.00", "TransId": "10-ae9cd3f14cac47b3b302fa60a55f3c25", "Method": null, "Approvals": [], "CustomerId": 123, "CustomerName": "Artos Cleaning", "CustomerNumber": "7127", "ExternalPaypointId": "" } ``` ### BillCanceled Triggered when a bill is canceled. ```json Response body { "Event": "BillCanceled", "Paypoint": "Athlete Factory LLC", "Text": "Bill/Payment canceled!", "InvoiceId": 4137, "InvoiceNumber": "75", "TotalAmount": "45.00", "CustomerId": 123, "CustomerName": "Artos Cleaning", "CustomerNumber": "7127", "ExternalPaypointId": "" } ``` ### BillProcessing Triggered when a payout is being processed for a bill. ```json Response body { "Event": "BillProcessing", "Paypoint": "Athlete Factory LLC", "Text": "Payment sent!", "InvoiceId": 4137, "InvoiceNumber": "75", "TotalAmount": "45.00", "TransId": "10-ae9cd3f14cac47b3b302fa60a55f3c25", "Method": null, "CustomerId": 123, "CustomerName": "Artos Cleaning", "CustomerNumber": "7127", "ExternalPaypointId": "" } ``` ### BillPaid Triggered when a bill is paid. ```json Response body { "Event": "BillPaid", "Paypoint": "Athlete Factory LLC", "Text": "Payment received!", "InvoiceId": 4137, "InvoiceNumber": "75", "TotalAmount": "45.00", "TransId": "10-12345678-1234-1234-1234-123456789012", "Method": null, "CustomerId": 123, "CustomerName": "Artos Cleaning", "CustomerNumber": "7127", "ExternalPaypointId": "" } ``` ### CardCreated Triggered when a virtual card is created. ```json Response body { "Event": "CardCreated", "Paypoint": "Athlete Factory LLC", "Text": "A vcard was created for Athlete Factory LLC", "VCardToken": "1234567890ABCDEFGHIJ", "TransactionId": "123", "VCardAmount": "1.20", "VendorId": "8723", "VendorNumber": "MI-vendor-2024031926", "PaypointDBA": "Athlete Factory LLC", "VCardExpirationDate": "2025-12-31T00:00:00", "ContactUs": "https://athletefactory.com", "ExternalPaypointId": "" } ``` ### CardActivated Triggered when a virtual card is activated. ```json Response body { "Event": "CardActivated", "Paypoint": "Athlete Factory LLC", "Text": "A vcard was activated for Athlete Factory LLC", "VCardToken": "1234567890ABCDEFGHIJ", "TransactionId": "123", "VCardAmount": "1.20", "VendorId": "8723", "VendorNumber": "MI-vendor-2024031926", "PaypointDBA": "Athlete Factory LLC", "VCardExpirationDate": "2025-12-31T00:00:00", "ContactUs": "https://athletefactory.com", "ExternalPaypointId": "" } ``` ### CardDeactivated Triggered when a virtual card is deactivated. ```json Response body { "Event": "CardDeactivated", "Paypoint": "Athlete Factory LLC", "Text": "A vcard has been deactivated for Athlete Factory LLC", "VCardToken": "1234567890ABCDEFGHIJ", "TransactionId": "123", "VCardAmount": "1.20", "VendorId": "8723", "VendorNumber": "MI-vendor-2024031926", "PaypointDBA": "Athlete Factory LLC", "VCardExpirationDate": "2025-12-31T00:00:00", "ContactUs": "https://athletefactory.com", "ExternalPaypointId": "" } ``` ### CardExpired Triggered when a virtual card expires. ```json Response body { "Event": "CardExpired", "Paypoint": "Athlete Factory LLC", "Text": "A vcard has expired for Athlete Factory LLC", "VCardToken": "1234567890ABCDEFGHIJ", "TransactionId": "123", "VCardAmount": "1.20", "VendorId": "8723", "VendorNumber": "MI-vendor-2024031926", "PaypointDBA": "Athlete Factory LLC", "VCardExpirationDate": "2025-12-31T00:00:00", "ContactUs": "https://athletefactory.com", "ExternalPaypointId": "" } ``` ### CardExpiring Triggered when a virtual card is about to expire. ```json Response body { "Event": "CardExpiring", "Paypoint": "Athlete Factory LLC", "Text": "A vcard is about to expire for Athlete Factory LLC", "VCardToken": "1234567890ABCDEFGHIJ", "TransactionId": "123", "VCardAmount": "1.20", "VendorId": "8723", "VendorNumber": "MI-vendor-2024031926", "PaypointDBA": "Athlete Factory LLC", "VCardExpirationDate": "2025-12-31T00:00:00", "ContactUs": "https://athletefactory.com", "ExternalPaypointId": "" } ``` ### CardLimitUpdated Triggered when a virtual card's limit is updated. ```json Response body { "Event": "CardLimitUpdated", "Paypoint": "Athlete Factory LLC", "Text": "A vcard had its limit updated for Athlete Factory LLC", "VCardToken": "1234567890ABCDEFGHIJ", "TransactionId": "123", "VCardAmount": "1.20", "VendorId": "8723", "VendorNumber": "MI-vendor-2024031926", "PaypointDBA": "Athlete Factory LLC", "VCardExpirationDate": "2025-12-31T00:00:00", "ContactUs": "https://athletefactory.com", "ExternalPaypointId": "" } ``` ### PayOutFunded Triggered when a payout is funded. ```json Response body { "Event": "PayOutFunded", "Paypoint": "Athlete Factory LLC", "Text": "Payment funded!", "TransId": "10-2354", "TotalAmount": "4.00", "CustomerId": "Lakeland Electric", "CustomerNumber": "QA-vendor-1678994410", "Method": "card", "ExternalPaypointId": "" } ``` ### PayOutPaid Triggered when a payout is paid. ```json Response body { "Event": "PayOutPaid", "Paypoint": "Athlete Factory LLC", "Text": "Payment paid!", "TransId": "10-2335", "TotalAmount": "4.00", "CustomerId": "Lakeland Electric", "CustomerNumber": "QA-vendor-1678994410", "Method": "card", "ExternalPaypointId": "" } ``` ### PayOutProcessed Triggered when a payout is processed. ```json Response body { "Event": "PayOutProcessed", "Paypoint": "Athlete Factory LLC", "Text": "Payment processed!", "TransId": "10-2354", "TotalAmount": "4.00", "CustomerId": "Lakeland Electric", "CustomerNumber": "QA-vendor-1678994410", "Method": "card", "ExternalPaypointId": "" } ``` ### PayOutCanceled Triggered when a payout is canceled. ```json Response body { "Event": "PayOutCanceled", "Paypoint": "Athlete Factory LLC", "Text": "Payment canceled!", "TransId": "10-2354", "TotalAmount": "4.00", "CustomerId": "Lakeland Electric", "CustomerNumber": "QA-vendor-1678994410", "Method": "card", "ExternalPaypointId": "" } ``` ### PayOutReturned Triggered when a payout is returned. ```json Response body { "Event": "PayOutReturned", "Paypoint": "Town Crier HOA", "Text": "Payment returned!", "TransId": "01K0Y9FFFJB8LLERJ7G2S797TT", "TotalAmount": "2.00", "CustomerId": "Sunset Boulevard Landscaping", "CustomerNumber": "6758578", "Method": "managed", "ExternalPaypointId": "test6-10", "ReturnedAmount": "1.00" } ``` ### PayoutSubscriptionCreated Triggered when a payout subscription is created. ```json Response body { "Event": "PayoutSubscriptionCreated", "Paypoint": "Hakim Properties HOA Management", "Text": "A subscription was created for Hakim Properties HOA Management", "SubscriptionId": 3789, "Changes": "", "Status": 1, "Method": "ach", "Last4": "8922", "StoredMethodId": 85553, "TotalAmount": "$1.50", "NetAmount": "$1.50", "FeeAmount": "$0.00", "Currency": "USD", "StartDate": "2026-07-04T00:00:00", "EndDate": "2080-07-04T00:00:00", "Frequency": "monthly", "CreatedAt": "2025-07-07T22:24:54.732589+00:00", "UpdatedAt": "2025-07-07T22:24:54.732612+00:00", "ContactUs": "http://hakimproperties.com/ | (123) 456-7890", "ExternalPaypointId": null } ``` ### PayoutSubscriptionUpdated Triggered when a payout subscription is updated. ```json Response body { "Event": "PayoutSubscriptionUpdated", "Paypoint": "Hakim Properties HOA Management", "Text": "A subscription was updated for Hakim Properties HOA Management", "SubscriptionId": 3789, "Changes": "", "Status": 1, "Method": "ach", "Last4": "8922", "StoredMethodId": 85553, "TotalAmount": "$1.50", "NetAmount": "$1.50", "FeeAmount": "$0.00", "Currency": "USD", "StartDate": "2026-07-04T00:00:00", "EndDate": "2080-07-04T00:00:00", "Frequency": "monthly", "CreatedAt": "2025-07-07T22:24:54.732589+00:00", "UpdatedAt": "2025-07-07T22:24:54.732612+00:00", "ContactUs": "http://hakimproperties.com/ | (123) 456-7890", "ExternalPaypointId": null } ``` ### PayoutSubscriptionCanceled Triggered when a payout subscription is canceled. ```json Response body { "Event": "PayoutSubscriptionCanceled", "Paypoint": "Hakim Properties HOA Management", "Text": "A subscription was canceled for Hakim Properties HOA Management", "SubscriptionId": 3789, "Changes": "", "Status": 1, "Method": "ach", "Last4": "8922", "StoredMethodId": 85553, "TotalAmount": "$1.50", "NetAmount": "$1.50", "FeeAmount": "$0.00", "Currency": "USD", "StartDate": "2026-07-04T00:00:00", "EndDate": "2080-07-04T00:00:00", "Frequency": "monthly", "CreatedAt": "2025-07-07T22:24:54.732589+00:00", "UpdatedAt": "2025-07-07T22:24:54.732612+00:00", "ContactUs": "http://hakimproperties.com/ | (123) 456-7890", "ExternalPaypointId": null } ``` ### PayoutSubscriptionCompleted Triggered when a payout subscription is completed (past the end date). ```json Response body { "Event": "PayoutSubscriptionCompleted", "Paypoint": "Hakim Properties HOA Management", "Text": "A subscription was completed for Hakim Properties HOA Management", "SubscriptionId": 3789, "Changes": "", "Status": 1, "Method": "ach", "Last4": "8922", "StoredMethodId": 85553, "TotalAmount": "$1.50", "NetAmount": "$1.50", "FeeAmount": "$0.00", "Currency": "USD", "StartDate": "2026-07-04T00:00:00", "EndDate": "2080-07-04T00:00:00", "Frequency": "monthly", "CreatedAt": "2025-07-07T22:24:54.732589+00:00", "UpdatedAt": "2025-07-07T22:24:54.732612+00:00", "ContactUs": "http://hakimproperties.com/ | (123) 456-7890", "ExternalPaypointId": null } ``` ### PayoutSubscriptionReminder Triggered when a payout subscription is about to be paid. ```json Response body { "Event": "PayoutSubscriptionReminder", "Paypoint": "Hakim Properties HOA Management", "Text": "A subscription reminder for Hakim Properties HOA Management by 2025-07-07", "SubscriptionId": 3789, "Changes": "", "Status": 1, "Method": "ach", "Last4": "8922", "StoredMethodId": 85553, "TotalAmount": "$1.50", "NetAmount": "$1.50", "FeeAmount": "$0.00", "Currency": "USD", "StartDate": "2026-07-04T00:00:00", "EndDate": "2080-07-04T00:00:00", "Frequency": "monthly", "CreatedAt": "2025-07-07T22:24:54.732589+00:00", "UpdatedAt": "2025-07-07T22:24:54.732612+00:00", "ContactUs": "http://hakimproperties.com/ | (123) 456-7890", "ExternalPaypointId": null } ``` ## Pay Ops events ### Boarding events #### CreatedApplication Triggered when a boarding application is created. ```json Response body { "Event": "CreatedApplication", "SoftwarePartner": "Payabli", "Text": "Boarding Application created!", "LegalName": "Sunshine LLC", "DbaName": "Sunshine LLC", "AppID": 3241, "createdAt": "3/22/2023 8:52:06 PM", "PolicyId": 1234567890, "ApplicationToken": null, "ExternalPaypointId": "" } ``` #### FailedBoardingApplication Triggered when a boarding application fails to process. ```json Response body { "Event": "FailedBoardingApplication", "Text": "Boarding Application failed!", "LegalName": "Capital Core 3", "DbaName": "Capital Core 3", "AppID": 5106, "createdAt": "10/27/2023 6:06:53\u202fPM", "SoftwarePartner": "Homeowners Association USA", "PolicyId": null, "ApplicationToken": null, "ExternalPaypointId": null } ``` #### ApprovedApplication Triggered when a boarding application is approved. ```json Response body { "Event": "ApprovedApplication", "Text": "Boarding Application Approved!", "LegalName": "Capital Central 5", "DbaName": "Capital Central 5", "AppID": 5106, "createdAt": "10/27/2023 6:06:53\u202fPM", "SoftwarePartner": "Homeowners Association USA", "PolicyId": null, "ApplicationToken": null, "ExternalPaypointId": null } ``` #### SubmittedApplication Triggered when a boarding application is submitted to processing. ```json Response body { "Event": "SubmittedApplication", "SoftwarePartner": "Payabli", "Text": "Boarding Application submitted!", "LegalName": "Sunshine LLC", "DbaName": "Sunshine LLC", "AppID": 3241, "createdAt": "3/22/2023 8:52:06 PM", "PolicyId": 1234567890, "ApplicationToken": null, "ExternalPaypointId": "" } ``` #### DeclinedApplication Triggered when a boarding application is declined. ```json Response body { "Event": "DeclinedApplication", "SoftwarePartner": "Payabli", "Text": "Boarding Application was Declined!", "LegalName": "Sunshine LLC", "DbaName": "Sunshine LLC", "AppID": 3241, "createdAt": "3/22/2023 8:52:06 PM", "PolicyId": 1234567890, "ApplicationToken": null, "ExternalPaypointId": "" } ``` #### HoldingApplication Triggered when an application is put on hold. ```json Response body { "Event": "HoldingApplication", "SoftwarePartner": "Payabli", "Text": "Boarding Application is in Hold!", "LegalName": "Sunshine LLC", "DbaName": "Sunshine LLC", "AppID": 3241, "createdAt": "3/22/2023 8:52:06 PM", "PolicyId": 1234567890, "ApplicationToken": null, "ExternalPaypointId": "" } ``` #### UnderWritingApplication Triggered when an application is sent to underwriting. ```json Response body { "Event": "UnderWritingApplication", "SoftwarePartner": "Payabli", "Text": "Boarding Application in Underwriting process!", "LegalName": "Sunshine LLC", "DbaName": "Sunshine LLC", "AppID": 3241, "createdAt": "3/22/2023 8:52:06 PM" } ``` #### BoardingApplication Triggered when an application is sent to boarding status. ```json Response body { "Event": "BoardingApplication", "SoftwarePartner": "Payabli", "Text": "Boarding Application is in Boarding status!", "LegalName": "Sunshine LLC", "DbaName": "Sunshine LLC", "AppID": 3241, "createdAt": "3/22/2023 8:52:06 PM", "PolicyId": 1234567890, "ApplicationToken": null, "ExternalPaypointId": "" } ``` #### ActivatedMerchant Triggered when a new merchant account is activated. ```json Response body { "Event": "ActivatedMerchant", "Text": "Your merchant account is Active!", "LegalName": "Vinco Foods", "DbaName": "Vinco", "AppID": 3049, "Entry": "b60f39ad56f", "EntryUrl": "https://paypoint-dev.payabli.com/b60f39ad56f/login", "createdAt": "2/24/2023 14:35:32", "Service": null, "ProcessorId": null, "AccountId": null, "ExternalPaypointId": "" } ``` #### PaypointMoved Triggered when a paypoint is moved from one organization to another. ```json Response body { "Event":"PaypointMoved", "Text":"Paypoint was moved.", "LegalName":"paypoint legal name", "DbaName":"paypoint dba name", "Entry":"entryname", "EntryUrl":"entryurl", "ParentOrganization":"parent organization name" } ``` ### Other Pay Ops events #### UpdatedMerchant Triggered when a paypoint (merchant) record is updated. ```json Response body { "Event": "UpdatedMerchant", "Text": "Addresses updated.", // this text lists the fields that were updated "LegalName": "Sunshine LLC", "DbaName": "Manga Books", "AppID": 3458, "Entry": "7a31d839bc", "EntryUrl": "https://paypoint-qa.payabli.com/7a31d839bc/login", "createdAt": "11/15/2024 13:50:18", "Service": null, "ProcessorId": null, "AccountId": null, "ExternalPaypointId": "" } ``` #### SystemAlert Triggered when a system alert occurs. ```json Response body { "Event": "SystemAlert", "Entity": "HOA Network of North America", "EntityType": "Paypoint", "Text": "A Payabli API token expired on Saturday, November 8, 2025. The API key was removed from the system.", "ReferenceID": "710", "TokenType": "o" } ``` #### UserPasswordExpired Triggered when a user password expires. ```json Response body { "Event": "UserPasswordExpired", "Username": "apiplaywright@payabli.com", "Name": "API Automation", "Entity": "Payabli", "EntityType": "Organization", "ExpDate": "05/30/2030", "ResetUrl": "https://partner-qa.payabli.com/payabli/resetpassword/t.r...5RKI=", "Text": "Your password expired on: 05/30/2030 05:00:45 PM" } ``` #### UserPasswordExpiring Triggered when a user password is about to expire. ```json Response body { "Event": "UserPasswordExpiring", "Username": "apiplaywright@payabli.com", "Name": "API Automation", "Entity": "Payabli", "EntityType": "Organization", "ExpDate": "05/30/2030", "ResetUrl": "https://partner-qa.payabli.com/payabli/resetpassword/t.X...utwAT34=", "Text": "Your password will expire on: 05/30/2030 05:00:45 PM" } ``` ### Dispute events #### ReceivedChargeBack Triggered when a chargeback is received. ```json Response body { "Event": "ReceivedChargeBack", "Paypoint": "Athlete Factory LLC", "AccountType": "4XXXXXX0000", "Text": "Chargeback Received", "Method": "card", "WalletType": null, "ReasonCode": "13", "Reason": "CONSUMER DISPUTES", "transId": "10-ae9...c25", "NetAmount": "230.00", "chargebackTime": "10/20/2022 12:00:00 AM", "CustomerId": "1323", "CustomerNumber": "customer-xchg_004", "chargebackID": 1495, "ExternalPaypointId": "" } ``` #### ChargebackUpdated Triggered when a chargeback is updated. ```json Response body { "Event": "ChargebackUpdated", "Paypoint": "Sweet corn", "AccountType": "mastercard", "WalletType": null, "Text": "Chargeback status updated notice", "Method": "card", "ReasonCode": "32", "Reason": "Cancelled Recurring Transaction", "transId": "165-f44...956", "NetAmount": "2.00", "chargebackTime": "2/6/2025 12:00:00\u202fAM", "CustomerId": "4994", "CustomerNumber": "", "chargebackID": 11835, "ExternalPaypointId": null } ``` #### ReceivedRetrieval Triggered when a retrieval request is received. ```json Response body { "Event": "ReceivedRetrieval", "Paypoint": "Green Valley HOA", "AccountType": "mastercard", "Text": "Retrieval Request Received", "Method": "card", "WalletType": null, "ReasonCode": "4", "Reason": "Other fraud - Card Absent Environment", "transId": "391-eda...f0b", "NetAmount": "3.67", "chargebackTime": "4/7/2025 12:00:00\u202fAM", "CustomerId": "36746", "CustomerNumber": "720", "chargebackID": 2804, "ExternalPaypointId": "1234456" } ``` #### RetrievalUpdated Triggered when a retrieval request is updated. ```json Response body { "Event": "RetrievalUpdated", "Paypoint": "Sweet corn", "AccountType": "mastercard", "WalletType": null, "Text": "Retrieval Request status updated notice", "Method": "card", "ReasonCode": "61", "Reason": "Duplicate Processing", "transId": "165-4c...403", "NetAmount": "2.00", "chargebackTime": "4/6/2025 12:00:00\u202fAM", "CustomerId": "4994", "CustomerNumber": "", "chargebackID": 11836, "ExternalPaypointId": null } ``` #### ReceivedAchReturn Triggered when a returned ACH is received. ```json Response body { "Event": "ReceivedAchReturn", "Paypoint": "Athlete Factory LLC", "AccountType": "1XXXXXX3123", "Text": "ACH Return Received", "Method": "ach", "ReasonCode": "R08", "Reason": "Payment Stopped or Stop Payment on Item", "transId": "10-ae9cd3f14cac47b3b302fa60a55f3c25", "NetAmount": "230.00", "chargebackTime": "10/20/2022 12:00:00 AM", "CustomerId": "1323", "CustomerNumber": "customer-xchg_004", "chargebackID": 1495, "ExternalPaypointId": "" } ``` ### Fraud and risk events #### FraudAlert Triggered when a fraud alert occurs. ```json Response body example 1 { "Paypoint": "Athlete Factory LLC\r\n", "HeaderText": "Fraud Alert!", "Text": "Attempt of payment from blacklisted card", "Logo": "https://cdn.payabli.com/payabli-ss.png", "Ip": "47.205.142.38", "Time": "02/09/2022 01:06:43", "Notes": "", "Event": "FraudAlert", "CustomerId": "224", "CustomerNumber": "888", "LastFourDigitsOfAccountNumber": "0000", "CardDeclineReason": null } ``` ```json Response body example 2 { "Paypoint": "Athlete Factory LLC\r\n", "HeaderText": "Fraud Alert!", "Text": "Triggered Fraud Control: Fraud Attempt - Identified by Rule MaxDeclinedPerCardHourly", "Logo": "https://cdn.payabli.com/payabli-ss.png", "Ip": "47.205.142.38", "Time": "04/04/2022 14:16:15", "Notes": "", "Event": "FraudAlert", "CustomerId": "224", "CustomerNumber": "888", "LastFourDigitsOfAccountNumber": "0000", "CardDeclineReason": null } ``` ```json Response body example 3 { "Paypoint": "Athlete Factory LLC\r\n", "HeaderText": "Fraud Alert!", "Text": "Blocked payment by Fraud Control: Velocity Exception - Rejected by Rule MaxTxPerCardHourly", "Logo": "https://cdn.payabli.com/payabli-ss.png", "Ip": "47.XXX.XXX.38", "Time": "04/04/2022 17:05:28", "Notes": "", "Event": "FraudAlert", "CustomerId": "224", "CustomerNumber": "888", "LastFourDigitsOfAccountNumber": "0000", "CardDeclineReason": null } ``` #### HoldTransaction Triggered when a transaction is held. ```json Response body { "Event": "HoldTransaction", "Paypoint": "Gruzya Adventure Outfitters", "Text": "A transaction on hold for Gruzya Adventure Outfitters", "Logo": "https://api-dev.payabli.com/public-logos/pe243.png", "transId": "245-c5eb234fc6ab41b9b84e278080b69dfb", "NetAmount": "$8.00", "Fee": "$0.00", "TotalAmount": "$8.00", "transDate": "8/23/2023", "transTime": "8/23/2023 14:34:42", "Notes": null, "Customer": "Greicy Gasca", "CustomerEmail": "greicy@example.com", "CustomerPhone": "+(786) 555-6341", "CustomerNumber": "901102", "ContactUs": "https://gruzyaadventures.com/", "Method": "card", "EntryPoint": "entry289", "ExternalPaypointId": "" } ``` #### HoldBatch Triggered when a batch is held. ```json Response body { "Event": "HoldBatch", "Paypoint": "Gruzya Adventure Outfitters", "Text": "A batch on hold for Gruzya Adventure Outfitters", "batchId": 1234, "batchAmount": "$123.00", "batchDate": "7/6/2023 12:00:00 AM", "ContactUs": "https://gruzyaadventures.com/", "ExternalPaypointId": "" } ``` #### ReleasedBatch Triggered when a held batch is released. ```json Response body { "Event": "ReleasedBatch", "Paypoint": "Gruzya Adventure Outfitters", "Text": "A batch released for Gruzya Adventure Outfitters", "batchId": 1234, "batchAmount": "$123.00", "batchDate": "7/6/2023 12:00:00 AM", "ContactUs": "www.gruyzaoutfitters.com", "Logo": "", "ExternalPaypointId": "" } ``` #### ReleasedTransaction Triggered when a held transaction is released. ```json Response body { "Event": "ReleasedTransaction", "Paypoint": "Gruzya Adventure Outfitters", "Text": "A transaction released for Gruzya Adventure Outfitters", "Logo": "https://api-dev.payabli.com/public-logos/pe243.png", "transId": "245-c5eb234fc6ab41b9b84e278080b69dfb", "NetAmount": "$8.00", "Fee": "$0.00", "TotalAmount": "$8.00", "transDate": "8/23/2023", "transTime": "8/23/2023 19:34:42", "Notes": null, "Customer": "Greicy Gasca", "CustomerEmail": "greicy@example.com", "CustomerPhone": "+(786) 555-6341", "CustomerNumber": "901102", "ContactUs": "https://gruzyaadventures.com/", "Method": "card", "EntryPoint": "entry289", "ExternalPaypointId": "" } ``` #### TransactionNotFound Triggered when a transaction can't be found. ```json Response body { "Event": "TransactionNotFound", "Paypoint": "Dean's H.R.W. Services", "ApplicantEmail": "application5106.1807@payabli.com", "TransId": "288-4cf552f9f35d467a9c7c1db41fe6f6f1", "TransactionDate": "05/24/2024 09:53:18", "Method": "ach", "AccountType": "Checking", "Account": "1229..5733", "Amount": "$1.20", "ExternalPaypointId": "externalID288" } ``` ### File import and export events #### exportFileError Triggered when there was an error generating the file. ```json Response body { "Event": "FileSendError", "Entity": "paypointName", "EntityType": "Paypoint", "FileName": "the file", "DateReceived": "2023-09-19T21:26:04", "TotalRecord": "1", "TotalUpdate": "2", "TotalFailed": "3", "Error": "", "Text": "A file for Paypoint: paypointName could not be sent.", "Status": "Error Sending File", "Logo": "" } ``` #### exportFileSent Triggered when an exported file is sent. ```json Response body { "Event": "FileSent", "Entity": "paypointName", "EntityType": "Paypoint", "FileName": "the file", "DateReceived": "2023-09-19T21:26:04", "TotalRecord": "1", "TotalUpdate": "2", "TotalFailed": "3", "Error": "", "Text": "A file for Paypoint: paypointName was sent.", "Status": "Sent", "Logo": "" } ``` #### importFileReceived Triggered when a file is received for import data via Payabli eXchange. ```json Response body { "Event": "FileReceived", "Entity": "paypointName", "EntityType": "Paypoint", "FileName": "the file", "DateReceived": "2023-09-19T21:26:04", "TotalRecord": "1", "TotalUpdate": "2", "TotalFailed": "3", "Error": "", "Text": "A file for Paypoint: paypointName was received.", "Status": "Received", "Logo": "" } ``` #### importFileProcessed Triggered when an imported file is processed. ```json Response body { "Event": "FileProcessed", "Entity": "paypointName", "EntityType": "Paypoint", "FileName": "the file", "DateReceived": "2025-09-19T21:26:04", "TotalRecord": "1", "TotalUpdate": "2", "TotalFailed": "3", "Error": "", "Text": "A file for Paypoint: paypointName was processed.", "Status": "Processed", "Logo": "" } ``` #### importFileError Triggered when an imported file is rejected by errors. Because there are several potential errors, read the "Text" field in the response for more information about the error. ```json Response body { "Event": "FileReceiveError", "Entity": "paypointName", "EntityType": "Paypoint", "FileName": "the file", "DateReceived": "2023-09-19T21:26:04", "TotalRecord": "1", "TotalUpdate": "2", "TotalFailed": "3", "Error": "", "Text": "A file for Paypoint: paypointName is invalid or corrupt.", "Status": "Invalid or Corrupt File", "Logo": "" } ``` ## Report Automated reports are triggered at the times and frequency specified when the notification is created. ```json Report body example { "name": "Transaction", "records": [ { "transId": "10-b49ff9d157e14bbf86a64a6d5970d8b9", "gatewayTransId": "", "customer": "Dmitri George", "method": "card", "netAmount": "45.22", "feeAmount": "1.89", "totalAmount": "47.11", "invoiceNumber": "", "transTime": "4/13/2023 6:21:11 AM", "transStatus": "2", "settlementStatus": "0", "notes": "", "customerNumber": "777", "customerEmail": "dmitri@example.com", "company": "ALM Testing Co.", "Paypoint": "Athlete Factory LLC", "PointId": "f743aed24a-10" }, { "transId": "10-cabaf8f63b3240a593a5fbafd7ebca29", "gatewayTransId": "", "customer": "Lisandra Lucia Sosa", "method": "card", "netAmount": "322.33", "feeAmount": "11.00", "totalAmount": "333.33", "invoiceNumber": "", "transTime": "4/13/2023 6:35:48 AM", "transStatus": "2", "settlementStatus": "0", "notes": "", "customerNumber": "888", "customerEmail": "lisandra@example.com", "company": "Sunshine LLC", "Paypoint": "Athlete Factory LLC", "PointId": "f743aed24a-10" } ] } ``` ## Related resources See these related resources to help you get the most out of Payabli. * **[Notifications and reports overview](/guides/pay-ops-notifications-webhooks-overview)** - Get automated reports and notifications for key events *** title: Webhook quickstart subtitle: Learn to use example code to set up webhooks for payment notifications description: >- Get started with Payabli webhook notifications using example code. Set up webhooks to receive real-time alerts for payment events, disputes, and settlements 'og:description': >- Get started with Payabli webhook notifications using example code. Set up webhooks to receive real-time alerts for payment events, disputes, and settlements keywords: >- embedded payments, payment operations, payment notifications, event-driven architecture, automated alerts, real-time notifications, code, example code, code walkthrough, payment webhooks, embedded payments developer tools slug: guides/pay-ops-developer-webhooks-quickstart icon: forward-fast area: * Pay Ops subArea: * Notifications audience: * developers *** This guide covers setting up a basic flow to receive webhook notifications from the API using a server. The result is a server running on [Express.js](https://expressjs.com/) that listens for incoming `ApprovedPayment` events and queries the API for more information about each transaction. ## Dependencies Before you begin, make sure you have the following installed on your machine: * [npm](https://nodejs.org/en/download/) * [git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) ## Set up the server Run these commands in your terminal to configure the webhook example server on your local machine: Create a new directory for your project and navigate into it: ```bash mkdir webhook-example cd webhook-example npm init -y ``` Install the `express` for the server: ```bash npm install express ``` Create a new file named `server.js` in your project directory: ```bash touch server.js ```
/// Import dependencies Import the required package to create an Express server. ```javascript // server.js import express from 'express'; ``` /// Initialize Express app Create an Express application and configure it to parse JSON request bodies from incoming webhooks using Express's built-in JSON parser. ```javascript focus=3-5 // server.js import express from 'express'; const app = express(); app.use(express.json()); ``` /// Define API credentials Set your Payabli API key and environment. Replace `YOUR_API_KEY` with your actual API key from your Payabli account. Set `API_BASE_URL` to the sandbox environment's base URL. ```javascript focus=7-8 // server.js import express from 'express'; const app = express(); app.use(express.json()); const API_KEY = 'YOUR_API_KEY'; const API_BASE_URL = 'https://api-sandbox.payabli.com/api'; ``` /// Create webhook endpoint Define a `POST /webhook` endpoint to receive webhook notifications from Payabli. The endpoint must return a success response to Payabli's API. ```javascript focus=10-14 // server.js import express from 'express'; const app = express(); app.use(express.json()); const API_KEY = 'YOUR_API_KEY'; const API_BASE_URL = 'https://api-sandbox.payabli.com/api'; app.post('/webhook', async (req, res) => { console.log('Webhook received:', JSON.stringify(req.body, null, 2)); res.status(200).send('Webhook received'); }); ``` /// Extract event details Parse the webhook payload to extract the event type and transaction ID. These values identify what event occurred and which transaction triggered the event. ```javascript focus=12-13 // server.js import express from 'express'; const app = express(); app.use(express.json()); const API_KEY = 'YOUR_API_KEY'; const API_BASE_URL = 'https://api-sandbox.payabli.com/api'; app.post('/webhook', async (req, res) => { console.log('Webhook received:', JSON.stringify(req.body, null, 2)); const eventType = req.body.Event; const transactionId = req.body.transId; res.status(200).send('Webhook received'); }); ``` /// Query API for transaction details Use the transaction ID to query the Payabli API for the transaction's details. Set the `requestToken` header to your API key. ```javascript focus=15-28 // server.js import express from 'express'; const app = express(); app.use(express.json()); const API_KEY = 'YOUR_API_KEY'; const API_BASE_URL = 'https://api-sandbox.payabli.com/api'; app.post('/webhook', async (req, res) => { console.log('Webhook received:', JSON.stringify(req.body, null, 2)); const eventType = req.body.Event; const transactionId = req.body.transId; if (transactionId && eventType === 'ApprovedPayment') { try { const response = await fetch(`${API_BASE_URL}/MoneyIn/details/${transactionId}`, { headers: { 'requestToken': API_KEY } }); const data = await response.json(); console.log('Transaction details:', data); } catch (error) { console.error('Error fetching transaction:', error.message); } } res.status(200).send('Webhook received'); }); ``` /// Configure the server Configure the server to listen on port 3000. ```javascript focus=32-35 // server.js import express from 'express'; const app = express(); app.use(express.json()); const API_KEY = 'YOUR_API_KEY'; const API_BASE_URL = 'https://api-sandbox.payabli.com/api'; app.post('/webhook', async (req, res) => { console.log('Webhook received:', JSON.stringify(req.body, null, 2)); const eventType = req.body.Event; const transactionId = req.body.transId; if (transactionId && eventType === 'ApprovedPayment') { try { const response = await fetch(`${API_BASE_URL}/MoneyIn/details/${transactionId}`, { headers: { 'requestToken': API_KEY } }); const data = await response.json(); console.log('Transaction details:', data); } catch (error) { console.error('Error fetching transaction:', error.message); } } res.status(200).send('Webhook received'); }); const PORT = 3000; app.listen(PORT, () => { console.log(`Webhook server listening on port ${PORT}`); }); ```
Run the server with the following command: ```bash node server.js ``` The server should run locally on port 3000. You can stop the server and move on to the next step.
## Expose the server {/* vale Payabli.PayabliSpelling = NO */} To receive webhooks from the API, your server must be publicly accessible from the internet. You can expose your local server to the public internet using a tunneling tool. There are many tunneling tools available for testing environments. This section covers exposing your local server using two common tunneling tools: * [localhost.run](https://localhost.run/) (Requires SSH installed) * [ngrok](https://ngrok.com/) (Requires a free account) {/* vale Payabli.PayabliSpelling = YES */} ### Choosing a tool {/* vale Payabli.PayabliSpelling = NO */} You can use either **localhost.run** or **ngrok** in this guide to expose your server. {/* vale Payabli.PayabliSpelling = YES */} localhost.run doesn't require an account to set up and is faster to get started with. localhost.run requires the command line utility SSH to be installed on your machine. Most Unix-based operating systems (Linux, macOS) have SSH pre-installed. {/* vale Payabli.PayabliSpelling = NO */} ngrok requires users to create a free account and install the ngrok software. ngrok has more features for managing tunnels and inspecting traffic. If you want to inspect webhook traffic thoroughly, we recommend using ngrok. {/* vale Payabli.PayabliSpelling = YES */} Select the tool you want to use and follow the instructions to publicly expose your local server: Make sure your server is running locally on port 3000: ```bash node server.js ``` Use SSH to create a tunnel to your local server: ```bash ssh -R 80:localhost:3000 localhost.run ``` After running the command, a URL appears like `https://6128asd171237.lhr.life`. This URL forwards requests to your local server. Save this URL for the next step. Go to [ngrok.com](https://ngrok.com/) and sign up for a free account. If you already have ngrok set up, skip to step 5. Install ngrok according to the instructions for your operating system. After logging in to your ngrok account, go to the [dashboard](https://dashboard.ngrok.com/get-started/your-authtoken) to find your authentication token. Run the following command to authenticate ngrok with your account: ```bash ngrok config add-authtoken YOUR_AUTH_TOKEN ``` Replace `YOUR_AUTH_TOKEN` with the token from your ngrok dashboard. Make sure your server is running locally on port 3000: ```bash node server.js ``` Run the following command to expose your local server: ```bash ngrok http 3000 ``` After running the command, a URL appears like `https://abcd1234.ngrok-free.app`. This URL forwards requests to your local server. Save this URL for the next step. ## Create a webhook notification In order to receive webhook notifications, you must first create a notification via the API. Let's create a notification that sends a webhook for the `ApprovedPayment` event. Call the **POST /Notification** endpoint to create a webhook notification. Set the `target` field to the public URL you created in the previous step, with `/webhook` appended at the end. See [Create notification](/developers/api-reference/notification/add-notification) for more information about the **POST /Notification/** endpoint. See [ApprovedPayment](/guides/pay-ops-webhooks-payloads#approvedpayment) for more information about the `ApprovedPayment` event. ## Test the webhook notification You've set up your server, exposed it to the internet, and created a webhook notification pointing to it. Let's create a test file that processes a payment in order to trigger the webhook notification. Inside your project directory, create a new file named `test-payment.js`: ```bash touch test-payment.js ``` Use the interactive walkthrough to process a test payment in order to trigger your webhook notification.
/// Define API credentials Set your Payabli API key, entrypoint, and the sandbox API base URL. Replace `YOUR_API_KEY` and `YOUR_ENTRYPOINT` with your actual credentials from your Payabli account. ```javascript // test-payment.js const API_KEY = 'YOUR_API_KEY'; const ENTRY_POINT = 'YOUR_ENTRYPOINT'; const API_BASE_URL = 'https://api-sandbox.payabli.com/api'; ``` /// Build the payment request Create a request object with the `paymentDetails`, `paymentMethod`, and `customerData` objects. This example uses a test card number. ```javascript focus=5-28 // test-payment.js const API_KEY = 'YOUR_API_KEY'; const ENTRY_POINT = 'YOUR_ENTRYPOINT'; const API_BASE_URL = 'https://api-sandbox.payabli.com/api'; const requestBody = { entryPoint: ENTRY_POINT, ipaddress: '255.255.255.255', paymentDetails: { totalAmount: 100, serviceFee: 0 }, paymentMethod: { method: 'card', cardnumber: '4111111111111111', cardexp: '02/27', cardcvv: '999', cardHolder: 'John Cassian', cardzip: '12345', initiator: 'payor' }, customerData: { customerId: 4440 } }; ``` /// Make the API request Use the fetch API to send a POST request to the API's `/MoneyIn/getpaid` endpoint. Include the API key in the `requestToken` header and include the entrypoint in the `entryPoint` field. ```javascript focus=26-41 // test-payment.js const API_KEY = 'YOUR_API_KEY'; const ENTRY_POINT = 'YOUR_ENTRYPOINT'; const API_BASE_URL = 'https://api-sandbox.payabli.com/api'; const requestBody = { entryPoint: ENTRY_POINT, ipaddress: '255.255.255.255', paymentDetails: { totalAmount: 100, serviceFee: 0 }, paymentMethod: { method: 'card', cardnumber: '4111111111111111', cardexp: '02/27', cardcvv: '999', cardHolder: 'John Cassian', cardzip: '12345', initiator: 'payor' }, customerData: { customerId: 4440 } }; console.log('Processing payment...'); fetch(`${API_BASE_URL}/MoneyIn/getpaid`, { method: 'POST', headers: { 'Content-Type': 'application/json', 'requestToken': API_KEY }, body: JSON.stringify(requestBody) }) ``` /// Handle the response Parse the JSON response and display the payment result. Check if the transaction was successful and log the reference ID. ```javascript focus=36-49 // test-payment.js const API_KEY = 'YOUR_API_KEY'; const ENTRY_POINT = 'YOUR_ENTRYPOINT'; const API_BASE_URL = 'https://api-sandbox.payabli.com/api'; const requestBody = { entryPoint: ENTRY_POINT, ipaddress: '255.255.255.255', paymentDetails: { totalAmount: 100, serviceFee: 0 }, paymentMethod: { method: 'card', cardnumber: '4111111111111111', cardexp: '02/27', cardcvv: '999', cardHolder: 'John Cassian', cardzip: '12345', initiator: 'payor' }, customerData: { customerId: 4440 } }; console.log('Processing payment...'); fetch(`${API_BASE_URL}/MoneyIn/getpaid`, { method: 'POST', headers: { 'Content-Type': 'application/json', 'requestToken': API_KEY }, body: JSON.stringify(requestBody) }) .then(response => response.json()) .then(data => { console.log('Payment Response:', JSON.stringify(data, null, 2)); if (data.isSuccess) { console.log('✓ Payment processed successfully!'); console.log(` Reference ID: ${data.responseData.referenceId}`); } else { console.log('✗ Payment failed:', data.responseText); } }) ``` /// Add error handling Add error handling to catch any network errors or API failures during the payment process. ```javascript focus=48-51 // test-payment.js const API_KEY = 'YOUR_API_KEY'; const ENTRY_POINT = 'YOUR_ENTRYPOINT'; const API_BASE_URL = 'https://api-sandbox.payabli.com/api'; const requestBody = { entryPoint: ENTRY_POINT, ipaddress: '255.255.255.255', paymentDetails: { totalAmount: 100, serviceFee: 0 }, paymentMethod: { method: 'card', cardnumber: '4111111111111111', cardexp: '02/27', cardcvv: '999', cardHolder: 'John Cassian', cardzip: '12345', initiator: 'payor' }, customerData: { customerId: 4440 } }; console.log('Processing payment...'); fetch(`${API_BASE_URL}/MoneyIn/getpaid`, { method: 'POST', headers: { 'Content-Type': 'application/json', 'requestToken': API_KEY }, body: JSON.stringify(requestBody) }) .then(response => response.json()) .then(data => { console.log('Payment Response:', JSON.stringify(data, null, 2)); if (data.isSuccess) { console.log('✓ Payment processed successfully!'); console.log(` Reference ID: ${data.responseData.referenceId}`); } else { console.log('✗ Payment failed:', data.responseText); } }) .catch(error => { console.error('Error processing payment:', error.message); }); ```
Run the test file with the following command: ```bash node test-payment.js ``` This file processes a payment and triggers the webhook notification. Check your server's console output to see the received webhook data. You should see the details of the approved transaction printed in the console.
## Next steps Congrats! You've built a basic webhook integration that includes: * A webhook notification for the `ApprovedPayment` event * A server that listens for the `ApprovedPayment` event and fetches details about the payment Try creating new webhook notifications for different event types and triggering them with API calls. All webhook integrations follow the same structure as the one you built in this guide. See the [Webhook notification response reference](/guides/pay-ops-webhooks-payloads) for more information about the different event types you can create webhook notifications for. Contact your Payabli solutions engineer for assistance with webhook integrations in your projects. ## Related resources See these related resources to help you get the most out of Payabli. * **[Notifications and reports overview](/guides/pay-ops-notifications-webhooks-overview)** - Get automated reports and notifications for key events * **[Manage notifications](/guides/pay-ops-developer-notifications-manage)** - Learn how to use the Payabli API to add notifications and automated reports for important events * **[Webhook notification response reference](/guides/pay-ops-webhooks-payloads)** - Learn more about the payload for each webhook notification response body *** title: Use reporting endpoints subtitle: >- Learn how to use the query and statistics Payabli API endpoints for tailored reporting description: >- Build custom reports and dashboards with flexible query and statistics endpoints. Retrieve transactions, batches, and aggregated data with CSV and XLSX exports 'og:description': >- Build custom reports and dashboards with flexible query and statistics endpoints. Retrieve transactions, batches, and aggregated data with CSV and XLSX exports keywords: >- embedded payments, payment operations, merchant onboarding, reporting API, payment analytics, data export, custom reports, payment statistics slug: guides/pay-ops-reporting-overview icon: chart-user area: * Pay Ops subArea: * Reporting audience: * developers *** Although the PartnerHub and PayHub reporting tools allow partners and merchants to view reports, the reporting APIs offer more flexibility. For example,you may need to send daily settlement reporting details to their customers via an internal tool. Use the Payabli reporting APIs to get the data you need in the format you need it in. The *query* API allows you to retrieve records related to various objects in Payabli, like customers, vendors, batches, transactions, and more. The *statistics* API allows you to retrieve aggregated statistics for a certain period and mode, like total money out transactions, total money in transactions, number of new customers, total volume, and more. This guide explains how to use the query and stats endpoints. ## Build the request First, choose an endpoint. If you're testing, use the Sandbox endpoint. for your target environment. Make sure you use the right token for your selected environment. The API reference organizes query and statistic endpoints with their related object. For example, you can find all the reporting endpoints related to customers in the **Customers** section of the API reference. ### Parameters For a full list of available parameters, see the reference for the endpoint you choose. Most require at least an `orgId` or `entry`. Each endpoint may have other required fields. You can also use filters and conditions for most endpoints, so see [Filters and Conditions Reference](#filters-and-conditions-reference) for examples and help understanding them. #### Export formats Most query endpoints support an `exportFormat` parameter that allows you to export data directly from the query endpoint in CSV or XLSX format. When you include `exportFormat=csv` or `exportFormat=xlsx` in your request, the endpoint returns the data in the specified format instead of JSON. This includes endpoints for batches, batch details, customers, transactions, transfers, settlements, payouts, chargebacks, subscriptions, vendors, organizations, and more. For example, the batch query endpoints support export formats: * Organization level: `/Query/batches/org/{orgId}?exportFormat=csv` * Paypoint level: `/Query/batches/{entry}?exportFormat=xlsx` ### Example request Because there are infinite ways to build a request for one of the reporting endpoints, here are several example requests. Be sure to read the code comments for important context. ```curl Query list of transactions // This example queries transactions for the paypoint with entry ID e57ce00572. // It filters the results to include only transactions with a customerFirstname that contains "Mary" // with a transaction date of 05/08/2023, and limits the record count to 20. curl --request GET \ --url 'https://api-sandbox.payabli.com/api/Query/transactions/e57ce00572?parameters=customerFirstname%28ct%29%3DMary%26transactionDate%28eq%29%3D05%252F08%252F2023%26&limitRecord=20' \ --header "accept: application/json" \ --header "requestToken: " ``` ```curl Export batches as CSV // This example queries batches for organization 136 and exports the results as a CSV file. // You can combine exportFormat with filters and other parameters. curl --request GET \ --url 'https://api-sandbox.payabli.com/api/Query/batches/org/136?exportFormat=csv&limitRecord=100' \ --header "accept: text/csv" \ --header "requestToken: " ``` ```curl Get statistics for an org // This example gets the basic statistics grouped daily for // the year-to-date for the org with ID 136. curl --request GET \ --url https://api-sandbox.payabli.com/api/Statistic/basic/ytd/d/0/136 \ --header "accept: application/json" \ --header "requestToken: " ``` ## Example response A successful request returns a 200 response. By default, the response body is JSON. When you use the `exportFormat` parameter, the response is returned in the requested format (CSV or XLSX) instead of JSON. Response bodies vary by endpoint, so check the reference for the endpoint you're using for expected fields. ## Filters and conditions reference Each Query endpoint accepts a set of field identifiers and conditions that allow you to filter and select data in the API. Field identifiers and conditions are passed to the entrypoint path via parameters in the URL. The conditions are applied to the field in parentheses. The pattern is `fieldName(condition)=value` For example: `https://api.payabli.com/api/Query/transactions/entry?totalAmount(ge)=50` Here **totalAmount** is the field identifier to which you want to apply the comparison or condition. The condition is **(ge)**, which in this case is *greater or equal than*. The value base for the condition is **50**, so the expression above is filtering records with the value in field **totalAmount>=50**. Below you can see all the conventions for comparison you can use in the fields:
Condition Action
`eq` or empty equal to value
`gt` greater than value
`ge` greater or equal than value
`lt` lesser than value
`le` lesser or equal than value
`ne` not equal to value
`ct` contains value
`nct` not contains value
`in` include in array value (separated by "|")
`nin` not include in array value (separated by "|")
All the fields and conditions passed to the API entrypoint are inclusive, meaning that all conditions need to be satisfied to get the result set. Not all comparisons or conditions apply to all fields, refer to the API reference of each entrypoint to see the list of accepted fields and conditions. ### Date formats All dates must be in ISO 8601 format, for example `YYYY-MM-DDTHH:mm:ss`. #### Examples The filters are appended as query parameters when making an API request. These examples are URL-encoded, the unencoded filter is included with the definition.
/api/Query/customers/entry?customerZip%28eq%29%3D37615%26customerFirstname%28ct%29%3DMary
Unencoded filter: `customerZip(eq)=37615&customerFirstname(ct)=Mary`. This query returns the first 20 transactions with a customer ZIP code of 37615 and a customer first name that contains "Mary".
/api/Query/subscriptions/entry?frequency%28eg%29%3Dmonthly\&limitRecord=20
Unencoded filter: `frequency(eg)=monthly`. This query returns the first 20 subscriptions with a monthly frequency.
/api/Query/vendors/org/orgID?ein%3Dnull\&limitRecord=100
Unencoded filter: `ein(eq)=null`. This query returns the first 100 records with an empty EIN.
## Related resources See these related resources to help you get the most out of Payabli. * **[Query CLI app](/developers/platform-developer-query-cli)** - Set up and use Payabli's Query CLI app to run queries against your Payabli data *** title: Query CLI app subtitle: >- Set up and use Payabli's Query CLI app to run queries against your Payabli data description: >- Query your payment data from the command line with Payabli Query CLI. Filter, sort, and analyze transactions, customers, and batches with flexible query syntax 'og:description': >- Query your payment data from the command line with Payabli Query CLI. Filter, sort, and analyze transactions, customers, and batches with flexible query syntax keywords: >- embedded payments, payment operations, merchant onboarding, CLI tool, command line, data queries, payment reporting, developer tools slug: developers/platform-developer-query-cli icon: terminal area: * Pay Ops * Developer Tools subArea: * Reporting audience: * developers *** The Payabli Query CLI application is a command-line tool that allows you to run queries against your Payabli data. It supports all of Payabli's query APIs and provides a flexible way to retrieve and analyze your data. The app also supports special clauses to help you adjust your queries and can save multiple configurations for different environments. Visit the [repository](https://github.com/payabli/payquery-cli/) to see the code. Once you have the application installed, we recommend you add the application [to your PATH](#optional%3A-add-the-app-to-your-path) for easy access. ## Dependencies Before you begin, make sure you have the following installed on your machine: * [cargo](https://doc.rust-lang.org/cargo/getting-started/installation.html) * [git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) ## Manual setup Run these commands in your terminal to install the query CLI app on your local machine: ```bash git clone https://github.com/payabli/payquery-cli ``` ```bash cargo build --release ``` ```bash cargo run ``` Follow the prompts and enter your Payabli API information to create a default config. ```bash cargo run -- transactions ``` ## Optional: Add the app to your PATH If you want to run the query CLI app from anywhere on your machine, you can add it to your PATH. This allows you to run the application as `payquery` from any directory, instead of navigating to the application directory and running `cargo run`. ```bash cargo install --path . ``` ```bash export PATH=$PATH:~/.cargo/bin ``` ```bash payquery chargebacks ``` You can also manually place the binary in a directory that is already in your PATH. ## Usage The Payabli Query CLI application supports all of Payabli's query APIs. To run a query, put the name of the API endpoint after the `payquery` command. ```bash payquery payouts ``` ### Clauses The application supports special clauses to help you adjust your queries to be more helpful and precise. * **`only N ...`**: Limit the number of records to N (comes before the API endpoint). * **`... for NAME`**: Use the configuration named NAME. * **`... where FILTERS`**: Filter records based on the given conditions. * **`... by FIELD`**: Sort records by FIELD in ascending order. * **`... by FIELD desc`**: Sort records by FIELD in descending order. * **`... crop`**: Output only the sorted field values (must come after a BY clause). The `for` clause uses the [query parameters](/developers/api-reference/query/get-list-of-transactions-for-an-entrypoint#parameter-parameters) for the API endpoint. The `by` clause uses the field names of the [response object](/developers/api-reference/query/get-list-of-transactions-for-an-entrypoint#response-records) for the API endpoint. To retrieve only 5 transactions where the transaction date is after the beginning of this week, run: ```bash payquery only 5 transactions where transactionDate gt this week ``` To retrieve all chargebacks where the net amount is less than \$100.00, and then sort those chargebacks by reply date, run: ```bash payquery chargebacks where netAmount lt 100 by ReplyBy ``` To see a list of all payment methods used in transactions by customers with the first name "John", run: ```bash payquery transactions where customerFirstname eq John by Method crop ``` To retrieve all customers for the configuration named `sandbox`, run: ```bash payquery customers for sandbox ``` Configurations are stored in a YAML file located in your home directory as `payquery.yml`. Each configuration contains an API token, organization ID, entrypoint ID, and environment (sandbox or production). ### Subcommands The Payabli Query CLI application also supports the following subcommands: * **`new`**: Create a new configuration. * **`list`**: List all available configurations. * **`help`**: Show this help message. To create a new configuration, run: ```bash payquery new ``` To list all available configurations, run: ```bash payquery list ``` To see the help message, run: ```bash payquery help ``` ### Options Finally, the Payabli Query CLI application supports the following options that must be provided at the beginning of the command: * **`--json`**: Output in JSON format (default). * **`--yaml`**: Output in YAML format. * **`--quiet`**: Don't output information besides the query result. To output the query result in YAML format, run: ```bash payquery --yaml batches ``` To output the query result in JSON format, run: ```bash payquery --json batches ``` To output only the query result without any additional information, run: ```bash payquery --quiet batches ``` If you are writing a script that uses the query CLI app, you can use the `--quiet` option to get only the query result without any response status information. This can be useful if you want to parse the query result in your script or use the query result as input for another command. ## Related resources See these related resources to help you get the most out of Payabli. * **[Use reporting endpoints](/guides/pay-ops-reporting-overview)** - Learn how to use the query and statistics Payabli API endpoints for tailored reporting *** title: Risk and compliance basics subtitle: Learn about suspicious activity detection and compliance in payment processing description: >- Protect your platform with fraud detection and compliance fundamentals. Learn about suspicious activity patterns, AML requirements, and risk indicators to watch 'og:description': >- Protect your platform with fraud detection and compliance fundamentals. Learn about suspicious activity patterns, AML requirements, and risk indicators to watch keywords: >- embedded payments, payment processing, accept payments, payment operations, merchant onboarding, fraud prevention, AML compliance, risk management, payment security, suspicious activity icon: user-secret slug: guides/platform-risk-basics-overview area: * Pay In * Pay Ops subArea: * Risk and Compliance audience: * developers * partners * merchants *** Suspicious payment processing activities can indicate potential fraud, money laundering, regulatory violations, or high-risk behavior. Identifying and mitigating these risks is critical for compliance with Anti-Money Laundering (AML) laws, Bank Secrecy Act (BSA) requirements, and general payment processing security. This guide covers some basics that payment processors like Payabli look out for to maintain compliance and minimize risk. ## Transaction pattern anomalies Unusual transaction patterns can indicate fraudulent or high-risk activities. Common anomalies include: * **Sudden spikes in volume**: It's suspicious when a merchant suddenly posts significantly higher transaction amounts or volumes than their historical average. * **Frequent high-dollar transactions**: When there are frequent high-dollar transactions that are inconsistent with the merchant's business type or prior history, that can indicate potential fraud. * **Multiple small transactions (micro-transactions)** : Sometimes fraudsters use many small transactions to test stolen credit cards or circumvent fraud detection systems. * **Round-dollar transactions**: An unusual frequency of transactions with whole numbers (for example, \$100, \$500) can be suspicious and might indicate money laundering or fraud. * **Rapid-fire transactions**: Making many transactions in a short period can possibly indicate card testing activities. ## Financial irregularities Some financial indicators can signal potential risks in payment processing. The following sections are common examples of financial irregularities. ### Chargeback and refund manipulation Some merchants may engage in chargeback or refund schemes to defraud payment processors or customers. Common indicators can include: * **Excessive chargebacks**: High chargeback rates may indicate fraud or poor business practices. * **Frequent refunds to different credit cards**: This can signal money laundering or fraudulent activity. * **Refunds without corresponding sales**: This suggests potential fraudulent refund schemes. ### Unusual payment flow and third-party involvement Unusual payment routing or third-party involvement can indicate money laundering or other illicit activities. Common indicators include: * **Use of third-party payment processors**: Routing transactions through unauthorized intermediaries can indicate money laundering or fraud. * **Unusual payment routing**: Transferring funds through multiple accounts before settlement can indicate money laundering. * **Processing for other businesses (factoring)**: Processing payments on behalf of another entity without authorization is a red flag for money laundering. ## Identity and representation concerns Identity and representation concerns can indicate potential fraud or compliance issues. Sometimes bad actors may try to hide their true identity or business activities to evade detection. ### Mismatched or misleading merchant information Some merchants may use misleading or inaccurate information to evade detection or compliance requirements. Common indicators include: * **Inconsistent merchant descriptor**: Sometimes, merchants try processing under different business names to evade scrutiny. * **Unusual Merchant Category Code (MCC) assignments**: A mismatch between the business type and transaction activity can indicate fraud. * **Multiple business accounts for the same merchant**: This can indicate a strategy known as "transaction laundering" to hide illicit activity. ### Suspicious customer behavior Some customer behaviors can indicate potential fraud or compliance risks. Common examples include: * **Multiple transactions from the same IP or device**: This can indicate potential bot activity or fraud. * **Cardholder location mismatch**: For example, a U.S.-based customer making frequent international purchases without a valid reason can indicate fraud. * **Multiple failed payment attempts**: This can suggest card testing or fraudulent activity. ## Compliance and risk indicators Some compliance and risk indicators can signal potential regulatory violations or high-risk activities. Payment processors must monitor these indicators to maintain compliance and minimize risk. ### High-risk industry indicators Some industries are inherently high-risk due to regulatory requirements or potential for fraud. Common issues with high-risk industries include: * **Merchant avoiding compliance requests**: A merchant might avoid providing legal or financial documentation when requested. * **Ties to sanctioned individuals or countries**: This can include transactions involving flagged entities or high-risk jurisdictions. ### Fraudulent account behavior Some account behaviour can indicate potential fraud or money laundering. Common indicators include: * **Synthetic identity or stolen credentials**: This can include accounts created with fake or stolen business identities. * **Multiple merchant accounts under the same owner**: This can indicate attempts to evade fraud detection or risk controls. * **Unverified beneficiary accounts**: This might include settlement accounts (where funds from transactions are deposited) that aren't verified with legal documentation. *** title: Understanding thresholds subtitle: Learn about how threshold amounts affect your payment processing description: >- Manage transaction limits with merchant threshold controls. Learn how maximum amounts protect against fraud and what to do when you need larger transactions 'og:description': >- Manage transaction limits with merchant threshold controls. Learn how maximum amounts protect against fraud and what to do when you need larger transactions keywords: >- embedded payments, payment processing, accept payments, payment operations, merchant onboarding, transaction limits, risk management, payment thresholds, fraud prevention icon: up-to-line slug: guides/pay-ops-thresholds-overview mode: wide area: * Pay Ops subArea: * Account Management audience: * partners * merchants *** A threshold amount is the maximum dollar amount allowed per transaction for a merchant. If a transaction exceeds your defined limit, the transaction is declined. Threshold Amounts don't increase your existing card limits. Some questions on the merchant boarding application ask for information about your average monthly volumes and ticket amounts. Payabli uses these values to set parameters for your typical transactions, and work to mitigate risk on your behalf. It's helpful for you to know your thresholds in the instance you receive a transaction that exceeds your daily volume or single ticket amount. If you expect a transaction that exceeds your single ticket amount, or a higher than normal volume, reach out to Payabli Support ahead of time. The Support team can work to get the transaction or volume increase pre-approved. You can also reach out to Payabli support to request a threshold increase. *** title: Request bank account change subtitle: Learn how to update a paypoint's bank account information description: >- Update merchant bank account information securely through Payabli verification. Learn the steps and documentation required to change deposit or payout accounts 'og:description': >- Update merchant bank account information securely through Payabli verification. Learn the steps and documentation required to change deposit or payout accounts keywords: >- embedded payments, payment operations, merchant onboarding, bank account update, account management, merchant banking, security verification icon: building-columns slug: guides/pay-ops-account-bank-change area: * Pay Ops subArea: * Account Management audience: * partners * merchants *** For security reasons, changing bank account information isn't a self-service process, and involves the Payabli team. To add or change a deposit or withdrawal account for a paypoint, the merchant must contact Payabli Support. If the person requesting the change is a verified user on the account, Payabli will send a form for them to complete. To complete the change, Payabli needs supporting documentation such as a voided check or bank letter with account and business details. *** title: Merchant processing pricing and fees subtitle: Learn how merchant processing fees work in Payabli description: >- Navigate processing costs across flat rate, tiered, and interchange plus pricing models. Understand fee types, payment options, and billing frequencies clearly 'og:description': >- Navigate processing costs across flat rate, tiered, and interchange plus pricing models. Understand fee types, payment options, and billing frequencies clearly keywords: >- embedded payments, payment processing, accept payments, payment operations, merchant onboarding, processing fees, interchange fees, merchant pricing, payment costs icon: money-bill slug: guides/pay-ops-billing-and-fees-overview area: * Pay Ops subArea: * Billing and Fees audience: * partners * merchants *** Merchant processing fees are charges applied to payment transactions processed through the Payabli platform. This guide explains the key concepts of merchant fee processing in Payabli that you should understand before beginning your integration. To configure fees for a merchant account, contact the Payabli team. In this guide, you'll learn about: * Fee structures available in Payabli * Different types of fees that can be applied * Options for who pays the transaction fees * How often fees are paid (fee frequency) ## Fee structures Fee structures define the overall fee strategy applied to each paypoint. Payabli offers three fee structure options: flat rate, tiered pricing, and interchange plus. When choosing a fee structure, consider the following factors: ### Flat rate Flat rate is a fixed rate for all processing fees, including interchange and processor markup, that remains the same regardless of card type. This structure bundles interchange fees and markups together, making it the easiest structure for merchants to understand. ### Tiered pricing Tiered pricing groups transactions into different tiers based on the card used, with each tier having a different rate. Payabli offers two options for setting pricing tiers: 1. By network - Set different rates for Visa, Mastercard, American Express, Discover, etc. 2. By card type - Set different rates for credit vs. debit cards Use tiered pricing when you want to set certain card types (like American Express) to higher rates to offset their higher processing fees. ### Interchange Plus Interchange Plus applies to credit card fees only and is the sum of interchange fees plus processor markup. Card networks set the interchange rates. The rates are typically updated twice a year and can vary between different card types. The processor markup is a fixed rate applied to every transaction. The interchange rate a merchant pays is determined by several factors: * Transaction size * AVS and other security features * Merchant size * Industry or MCC * Card type (debit, credit, rewards, etc.) ## Fee types Fee types represent the different reasons fees attach to transactions. The main fee types include: discount fees, authorization fees, ACH fees, chargebacks, and ACH returns. ### Authorization fees Authorization fees are charged per attempted transaction. The authorization fee applies to all card transaction attempts, because the process of checking cardholder information with card networks occurs whether the transaction is ultimately approved, declined, or voided. Due to declined and voided transactions, authorization counts typically exceed actual transaction counts. ### Discount fees This percentage-based fee is calculated based processed volume for transactions using a given card type. You can set these rates to be the same across all card types (flat rate), or different for each card type (tiered pricing). This fee type applies to credit cards only. They're called "discount fees" because they were traditionally deducted or “discounted” from each transaction amount before settlement. The term is used even when fees are collected monthly or on other schedules. For a detailed example of how discount fees work, see [Card Processing Fees](/learning/user-guides/processing-fees-invoicing#card-processing-fees). ### ACH fees These fees apply to ACH transactions, and can be set as either a fixed amount per transaction or percentage-based fee (often capped at a specific dollar amount). For example, if you set ACH fees to 1% with a \$100 USD cap, any transaction over \$10,000 USD would incur a \$100 USD fee. ### Chargeback fees Chargeback and retrieval fees are assessed when a credit card transaction is disputed. See [Payment Disputes](/guides/pay-ops-disputes-chargebacks-returns-overview) for more information. ### ACH return fees When an ACH transaction can't be processed, the receiving bank returns the transaction and charges a fee to the originating merchant. You'll need to specify whether the merchant is responsible for this fee or if you'll absorb it. See [Payment Disputes](/guides/pay-ops-disputes-chargebacks-returns-overview) for more information. ## Who pays the fees In Payabli, there are three options for who pays transaction fees: absorb, service (pass-through), and bill to parent. Each option is explained in the following sections. ### Absorb The merchant pays fees directly, typically by absorbing transaction costs into the price charged to customers. ### Service (Pass-through) The payor pays fees at the time of purchase. This appears as a separate line item on customer receipts. When configuring these fees, you can choose: * A percentage-based fee * A flat rate fee Keep in mind that pass-through fees cover standard processing costs for the original transaction and aren't returned when a merchant issues a refund. When using pass-through fees, include a notice at the point of sale to minimize disputes. Payabli recommends: > Payment processing is handled by a third-party payments platform that securely handles all card transactions processed through this payment page. The payment platform charges a service fee to cover the cost of securely processing the transaction to the payment networks and bring this service to you. Contact Payabli Support to convert a merchant profile to a pass-through pricing structure. ### Bill to parent Paypoints and customers make transactions without paying fees. Instead, the partner pays them. Processors sometimes use this approach to encourage paypoint sign ups. ## Fee frequency Fees can be paid using two different schedules: daily or monthly. * **Daily**: The merchant pays fees daily via a deduction from their transfer amount. For example, with a 2.9% flat fee on credit card purchases and \$1,000 in daily credit card sales, \$971 is deposited (\$29 is deducted to cover the 2.9% fee). * **Monthly**: The merchant pays fees in bulk at the end of the month. ## Related resources See these related resources to help you get the most out of Payabli. * **[Pass-through fees](/guides/pay-in-fees-passthrough-overview)** - Learn how pass-through fees work in Payabli * **[Understanding processing fees statements](/guides/pay-ops-fees-statements-overview)** - Learn how to interpret merchant statements for processing fees *** title: Pass-through fees subtitle: Learn how pass-through fees work in Payabli description: >- Offset processing costs with pass-through fees that add transparent surcharges to customer payments. Configure fee structures via the API 'og:description': >- Offset processing costs with pass-through fees that add transparent surcharges to customer payments. Configure fee structures via the API keywords: >- embedded payments, payment processing, accept payments, payment operations, merchant onboarding, surcharges, convenience fees, processing fees, pass-through fees, payment pricing icon: hands-holding-dollar slug: guides/pay-in-fees-passthrough-overview area: * Pay In * Pay Ops subArea: * Making Transactions * Billing and Fees audience: * developers * partners * merchants *** Pass-through fees allow the merchant to add a fee to the payor to offset the cost of processing. Payabli allows partners to submit a fee via API, or automatically calculate and apply the fee on Payabli's hosted payment solutions, like payment pages and virtual terminals. ## Considerations Keep these considerations in mind when working with pass-through fees in Payabli. * Card networks govern fees. Before you decide on your fee strategy, talk with the Payabli team to learn about best practices. * Payabli helps you configure fee structure during merchant boarding. * You must contact Payabli support to change fees or configuration options. * Fees are non-refundable. To prevent disputes, Payabli recommends letting your customers know this before they pay. ## Fee configuration In addition to setting a percentage or dollar amount for fees, there are other configuration options. Contact Payabli to change these settings. See the [API transaction examples section](#api-transaction-examples) for examples of how these settings work. | Setting | Description | | :-------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | *Absorb difference?* | If `true`, when a `serviceFee` that's less than the paypoint's configured fee is passed in a transaction, the merchant absorbs the difference. The default setting is `false` | | *Accept greater value allowed for fee?* | If `true`, the system accepts `serviceFee` values on transactions higher than the amount configured in the paypoint's settings. The default setting is `true`. | There's a additional setting that allows you to override fee settings as needed. Reach out the Payabli team to discuss whether this option is right for your merchants. ## Fees with API transactions To charge a fee when running transactions via an API request or an embedded component, you must include the `serviceFee` value and a `totalAmount` value that includes the transaction amount plus the pass-through fee. The `serviceFee` is always a dollar amount, not a percentage. If Payabli API receives `totalAmount` and `serviceFee`, the system compares the values to the pricing configuration for the paypoint. System compares these values with configuration settings based on calculated `serviceFee` amount: * If `serviceFee` is equal to the calculated value from the pricing configuration, then the transaction goes through. Payabli compares to 2 decimals and accepts a `serviceFee` plus or minus 1 penny. * If `serviceFee` is greater than the calculated value from the pricing configurations, and if “Accept Greater value allowed config” is true, the pass-through fee goes through. If false, then entire transaction is rejected with return code `5006`. * If `serviceFee` is less than the calculated value from the pricing configuration, and “Absorb difference?” is `true` then the pass-through fee transmitted is processed, but the merchant absorbs the price difference. If false, then entire transaction is rejected with return code `5005`. ### API transaction examples #### Absorb fee example In these examples, a 3% pass-through fee configured for the paypoint. **Example 1:** With the Absorb fee configuration option set to `true`, the merchant runs a transaction with a \$100.00 subtotal, plus a \$1.00 pass-through fee. The payor pays \$101.00 total. This leaves the merchant to pay the \$2.00 difference. \$98.00 is transferred to the merchant when the batch is funded. **Example 2:** With the Absorb fee configuration option set to `false`, the merchant sends a pass-through fee of \$1.00 with the transaction. The API returns a `5005` error code because the fee sent is less than the amount configured at the paypoint level. The system expects a 3% fee, which would equal \$3.00 on the \$100.00 subtotal, and the paypoint isn't set up to absorb a fee difference. #### Fee greater than configured fee example In these examples, a 3% pass-through fee configured for the paypoint. **Example 1:** The *Accept greater value allowed for fee?* configuration is set to `true`. The merchant makes a transaction via the API. The subtotal is \$100. According to the paypoint's fee setting, the fee should be equal to \$3.00. Instead, the merchant adds a \$5.00 pass-through fee, for a grand total of \$105.00. This pass-through fee equals 5%. The fee is accepted and the transaction goes through. The merchant receives \$100.00 when the batch is funded and the payor is charged \$105.00. **Example 2:** The *Accept greater value allowed for fee?* configuration is set to `false`. You make a transaction via the API. The subtotal is \$100.00. You add a \$4.00 fee, for a grand total of \$104.00. This fee equals 4%. The pass-through fee is rejected with a `5006` error code, and the transaction doesn't go through. ## Fees with UI transactions Configuring fees at the paypoint level automatically applies the fees to every transaction the paypoint runs using any of Payabli's hosted payment solutions. You only need to explicitly send pass-through fee amounts when making transactions using the API or embedded components. *** title: Understanding processing fees statements subtitle: Learn how to interpret merchant statements for processing fees description: >- Decode your monthly processing fees statements with explanations of card charges, ACH fees, and billing calculations. Understand authorization and discount fees 'og:description': >- Decode your monthly processing fees statements with explanations of card charges, ACH fees, and billing calculations. Understand authorization and discount fees keywords: >- embedded payments, payment processing, accept payments, payment operations, merchant onboarding, processing fees, merchant statements, billing, fee transparency, invoice understanding icon: file-invoice slug: guides/pay-ops-fees-statements-overview area: * Pay Ops subArea: * Billing and Fees * Account Management audience: * partners * merchants *** Payments processors charge fees for running transactions. When merchants are boarded to Payabli, they agree to fee structures by signing a merchant processing agreement. At the end of each month, Payabli collects these processing fees from merchants' designated bank accounts on behalf of partners, and provides itemized statements detailing all collected fees. Payabli sends these monthly statements via email at the beginning of each month. The statement covers the previous month's activity. For example, a statement for January's activity is sent in February. The statements are sent to the email addresses associated with your account. Statements can be sent to multiple email recipients. To add or updated email addresses for billing statement delivery, contact Payabli Support. This guide walks through example processing fees statements to help you understand how fees are calculated and how merchants are billed. ## Total Fees section The "Total Fees" section includes information about a paypoint's fees and the total fees due for the period. Note that your statements may look different based on your agreement with Payabli and the services you use. Image of the Total Fees section a merchant statement described in surrounding text The Total Fees section includes these sections: 1. **Card Processing Fees**: This breaks down the total card processing charges, including authorization fees, [discount fees](/guides/platform-payment-glossary#discount-fee), and chargeback fees. In this example, the total is \$1,182.68, with only discount fees having charges this period. 2. **ACH Processing Fees**: Details ACH fees, which can include per-transaction fees, percent fees, return fees, and dispute (chargeback) fees. In this example, these total \$85.00, consisting of per transaction fees (\$60.00) and return fees (\$25.00). 3. **Gross Fees Due**: This shows the total of all fees before adjustments and pass-through amounts are applied. In this example invoice, the gross fees are \$1,267.68. 4. **Pass-Through Fees Collected**: This shows the [pass-through fees](/guides/pay-in-fees-passthrough-overview) that were collected directly from transactions, which offset part of the gross fees. In this example, -\$1,182.68 was collected from card processing. 5. **Net Fees Due**: The final amount that will be debited from the merchant's connected bank account after all adjustments and pass-through fees are accounted for. In this example invoice, the net fees due equals \$85.00. ## Credit cards The credit card sections of the invoice detail card processing fees and chargeback fees. If you're on interchange plus pricing, your merchant statement has a different fee breakdown. Reach out to Payabli Support if you need help understanding your statement. ### Card processing fees Card processing fees consist of two main elements: * A percentage-based "discount fee" calculated on processed volume (for example, a 2.9% fee on \$1,000 equals \$29). The discount fee was traditionally deducted or "discounted" from each transaction amount before settlement. The term is still used even when fees are collected monthly or on other schedules. American Express transactions may have higher discount fees, but partners can choose between implementing tiered pricing or maintaining consistent percentage rates across card brands. * An authorization fee charged per attempted transaction. The authorization fee applies to all transaction attempts, because the process of checking cardholder information with card networks occurs whether the transaction is ultimately approved, declined, or voided. Due to declined and voided transactions, authorization counts typically exceed actual transaction counts. The merchant statement includes a detailed breakdown of card processing fees, including processed volume by date and card brand, and authorization counts and associated fees. Image of the card processing section of a merchant statement. Described in surrounding text {/* vale Payabli.DateOrder = NO */} 1. **Rate Table**: This section shows different discount fee rates by card type. In this example: * Visa, Mastercard, and Discover have a 2.90% rate * American Express has a higher rate at 3.50% * Per Authorization Fee is \$0.30 per transaction 2. **Daily Transaction Detail**: This section shows a day-by-day breakdown of all card processing activity for December 2024. For example, looking at *12/11/2024*, you can see: * A Total Volume of \$4,050.00, split between Visa (\$450.00), Mastercard (\$3,300.00), and American Express (\$300.00) * Discount fee total of \$119.25, calculated as: * Visa: \$450.00 × 2.90% = \$13.05 * Mastercard: \$3,300.00 × 2.90% = \$95.70 * Amex: \$300.00 × 3.50% = \$10.50 * A total of 4 authorizations that day, generating \$1.20 in authorization fees (\$0.30 × 4) 3. **Monthly Totals** at the bottom show: * Total Volume: \$14,332.64, broken down by card type: * Visa: \$4,841.38 * Mastercard: \$5,776.26 * Discover: \$0.00 * Amex: \$3,715.00 * Total Discount Fees: \$437.94 * Total number of Authorizations: 29 * Total Authorization Fees: \$8.70 (29 authorizations × \$0.30) {/* vale Payabli.Contractions = YES */} ### Card chargeback fees The next section of the invoice shows card chargeback counts and associated fees. Chargebacks occur when a cardholder disputes a transaction. Chargeback fees are fees that the merchant has to pay in the event of a credit card chargeback. See [Payment Disputes](/guides/pay-ops-disputes-chargebacks-returns-overview) for more information. Image of the card chargeback processing section of a merchant statement. Described in surrounding text 1. **Rate Table**: This shows the chargeback fee that applies to all card chargebacks. In this example, there is a flat rate Chargeback Fee of \$25.00 that's paid by the merchant. 2. **Daily Detail**: This section shows a day-by-day breakdown of any chargeback activity for December 2024. For example, looking at 12/5/2024, you can see there was one chargeback. With a chargeback fee of \$25.00, the total chargeback fees for the day are \$25.00. 3. Monthly totals at the bottom show a total of one chargeback for the month, amounting to a total of \$25.00 in chargeback fees. ## ACH The ACH sections of the invoice detail ACH processing fees and fees for exceptions (returns and disputes). ### ACH processing fees ACH processing typically involves either a percentage-based fee or a per-transaction fee. Unlike card processing, it's uncommon to have both fee types applied. Percentage-based fees may be capped at a specified amount per transaction (for example, a 1% fee capped at \$15 means a \$2,000 transaction fee would not exceed \$15). The merchant statement includes a detailed breakdown of ACH processing fees. Image of the ACH processing section of a merchant statement. Described in surrounding text 1. **Rate Table**: This shows the ACH processing fees that apply to transactions. In this example, the *% Based Fee* is 1.00%, and the *Per Transaction Fee* is \$0.00. 2. **Daily Transaction Detail**: This section shows a day-by-day breakdown of ACH processing activity for December 2024. For example, looking at 12/24/2024, you can see that there was one ACH transaction of \$9,715.98. * Volume: \$9,715.98 * % Based Fee: \$15.00 (calculated at 1.00%, but capped at \$15.00 per transaction. Because there was only one ACH transaction, the fee total for the day is \$15.00) * Per Transaction Fee: \$0.00 (as specified in rate table) 3. Monthly Totals at the bottom show: * Total Volume: \$35,532.95 * Total % Based Fees: \$160.46 * Total Transactions: 11 * Total Per Transaction Fees: \$0.00 (11 transactions × \$0.00 fee) ### ACH exceptions The ACH Returns & Chargebacks section displays separate tables for ACH returns and ACH chargebacks (disputes) and their associated fees. These fees are charged when a transaction is returned or disputed. See [Payment Disputes](/guides/pay-ops-disputes-chargebacks-returns-overview) for more information about returns and disputes. Image of the ACH exceptions section of a merchant statement. Described in surrounding text 1. **Rate Table**: This shows the fees that apply to ACH returns and chargebacks. In this example: * Return Fee is \$15.00 per occurrence * Chargeback Fee is \$35.00 per occurrence 2. **Returns**: This shows a day-by-day breakdown of ACH returns for December 2024. For example, looking at 12/2/2024, there is one ACH return. * Return Fee: \$15.00 (1 × \$15.00 fee) * Most days have no return activity (marked with "-") 3. **Chargebacks**: This shows a day-by-day breakdown of ACH chargebacks for December 2024. In this example, there was no chargeback activity and no chargeback fees. *** title: Pay Ops troubleshooting subtitle: Learn how to troubleshoot common issues with Pay Ops features icon: triangle-exclamation slug: guides/pay-ops-troubleshooting area: * Pay Ops subArea: * Troubleshooting audience: * developers * partners * merchants description: >- Troubleshoot common Pay Ops challenges including paypoint configuration, transaction limits, deposit descriptors, reconciliation, and account management issues 'og:description': >- Troubleshoot common Pay Ops challenges including paypoint configuration, transaction limits, deposit descriptors, reconciliation, and account management issues keywords: >- embedded payments, payment operations, merchant onboarding, troubleshooting, paypoint configuration, merchant account issues, transaction limits, reconciliation, payment operations support *** This guide covers common issues and questions related to Pay Ops features. If you have a question that isn't covered here, please reach out to Payabli Support. We *strongly* suggest you use the AI chat to find answers instead of browsing through these docs. The chat has access to the most up-to-date information and can provide you with the best answers. ## Paypoint status and configuration Sometimes, you may notice that a paypoint's status is listed as "Inactive", while the corresponding boarding application status is "Activated". This typically happens when the paypoint is still being configured by the Payabli team. When a boarding application is approved and converted to a paypoint, there are several steps that the Payabli team takes behind-the-scenes to get the paypoint set up and ready to accept payments. Because of this configuration step, there can be a delay between the "Activated" boarding status and the paypoint's status being updated to "Active". When the paypoint is ready to process transactions, the boarding status is "Activated" and the paypoint status is "Active". After the paypoint has successfully processed a transaction, the boarding status is updated to "Live". If a paypoint was active before, an Inactive status means that it's no longer able to take payments but can still receive chargebacks and returns. See [Paypoint statuses](/guides/pay-ops-paypoint-status-reference) and [boarding statuses](/guides/pay-ops-boarding-status-reference) for more information. If there's an EIN (Employer Identification Number) mismatch on your account during the underwriting process, you'll need to provide documentation to verify your business's tax information. This happens when your legal name or federal tax ID doesn't match IRS records. To resolve an EIN mismatch, provide one of these documents: * SS-4 from the IRS * The most recent filed business tax return This verification step is required to ensure accuracy and maintain compliance with IRS requirements. At this time, you can't change the settlement deposit descriptors shown on your bank statement. Your settlement deposit descriptor shows up on your bank statement as "PAYABLI DEPOSIT", but may also include alphanumeric characters before and after that text. For example, "PP\* PAYABLI DEPOSIT", "PAY-IN PAYABLI DEPOSIT", "PAYABLI DEPOSIT- 987654321". However, you can change the descriptor that shows up on customer cardholder statements. To make this change, contact Payabli Support. The text must indicate the name or DBA name of the business. If your business legal name changes, contact Payabli Support." ## Transaction limits and monitoring A disabled debit fund notification indicates that debit actions to your paypoint's ledger have been automatically disabled. This notification is triggered when a paypoint exceeds its configured volume limits (maximum per transaction or maximum monthly volume). When this occurs: * The system automatically disables debit actions to the paypoint's ledger * This triggers a manual review by the Risk team * Once limits are reviewed and potentially increased, transfers will be reprocessed Note that this is different from transactions being put on hold by the Risk team. Held transactions appear under the 'Held' amount in your dashboard, while a disabled debit fund affects ledger operations. A paypoint's maxiumum transaction amount and monthly volume limits are configured during the initial merchant onboarding process and can be updated throughout the lifecycle of your paypoint. There's no self-service way to view your paypoint limits in the Payabli dashboard. If you need to know your current limits or request an increase, please contact Payabli support. When you exceed these limits, you may receive a disabled debit fund notification and transfers will require manual review by the Risk team before processing. ## Reconciliation and reporting A Payabli Service Payment charge on your statement can represent various transaction types, including chargebacks. When you see such a charge, it could be due to: * A chargeback from a customer transaction * Amounts owed back, due to ACH returns or refunds * Associated processing fees To identify the specific nature of the charge, you can: 1. Note the exact amount and date of the charge. 2. Contact Payabli support with the transaction details. 3. Request the batch information if applicable. For more information about how chargebacks work and their impact on your account, see the [Payment Disputes guide](/guides/pay-ops-disputes-chargebacks-returns-overview#chargebacks). If you notice discrepancies between a merchant's bank statements and Payabli's batch reports, you can take the following steps to investigate and resolve: 1. Review the specific batch, including all transactions associated with the batch. 2. Gather supporting documentation, like merchant bank statements and Payabli transaction and batch reports. 3. Contact Payabli Support with these details for investigation. Payabli's support team will review the transactions and verify all charges and refunds, identify any missing or incorrect transactions, resolve any reconciliation errors if confirmed. A Check Truncation Entry Return (return code R11) occurs when an electronically processed check payment is returned unpaid. This can happen due to various reasons such as insufficient funds, invalid account numbers, or suspected fraudulent activity. When this occurs, the electronic image of the check couldn't be processed successfully through the ACH network. For more information about ACH disputes and returns, see [ACH disputes](/guides/pay-ops-disputes-chargebacks-returns-overview#ach-disputes). ## Related resources See these related resources to help you get the most out of Payabli. * **[Boarding statuses reference](/guides/pay-ops-boarding-status-reference)** - Learn about statuses and substatuses during the merchant boarding process *** title: Supported regions subtitle: >- Learn which countries and territories are supported for Pay In and Pay Out features description: >- Verify merchant and vendor location requirements for Payabli services. See supported payment methods for US, Canada, and territories including card and ACH 'og:description': >- Verify merchant and vendor location requirements for Payabli services. See supported payment methods for US, Canada, and territories including card and ACH keywords: >- embedded payments, payment processing, accept payments, vendor payments, payables automation, payment operations, merchant onboarding, supported regions, geographic coverage, international payments icon: globe-pointer slug: guides/pay-ops-supported-regions-overview area: * Pay Ops subArea: * Account Management audience: * partners * merchants *** ## Pay in support To run Pay In transactions with Payabli, merchants must be domiciled in a U.S. state, District of Columbia, or Canada, and have a domestic bank. Canadian-based merchants can receive card only. | Location | Supported Payment Methods | | ---------------------------------------- | ------------------------- | | U.S. states and DC | Card, ACH | | Canada | Card only | | U.S. Territories (including Puerto Rico) | No support | ## Pay out support For Pay Out transactions, both the paying merchant and the receiving vendor must be based in the U.S or Canada. Merchants and Vendors in Puerto Rico, or other outlying U.S. territories, may send or receive payments only from U.S.-based bank accounts. | Location | Supported Pay Out Methods | | ---------------------------------------- | ------------------------- | | U.S. 50 states | vCard, ACH, check | | Canada | Check only | | U.S. Territories (including Puerto Rico) | vCard, ACH, check | *** title: Payment method tokenization subtitle: >- Learn how payment method tokenization secures sensitive data and enhances security for your payments description: >- Protect sensitive payment data with tokenization replacing card numbers and bank details with secure tokens. Understand traditional, network, and wallet tokens 'og:description': >- Protect sensitive payment data with tokenization replacing card numbers and bank details with secure tokens. Understand traditional, network, and wallet tokens keywords: >- embedded payments, payment processing, accept payments, payment tokenization, PCI compliance, payment security, secure payments, recurring payments, data protection icon: binary-lock slug: guides/platform-tokenization-overview area: * Pay In subArea: * Tokenization audience: * developers * partners * merchants *** Payment tokenization lets you swap sensitive payment data with secure tokens, enhancing security by reducing the risk of data breaches and fraud. It lets you handle payment transactions without storing sensitive data, minimizing liability and compliance requirements. For your customers, it creates a safer payment experience that enhances trust and loyalty. This guide covers the fundamentals of payment tokenization. Although they both include the term *token*, the tokens created when you tokenize a payment method are different than the [API tokens](/developers/api-reference/api-overview#authentication) that you use to authenticate in Payabli. ## Tokenization process Tokenization is the process of exchanging sensitive data for nonsensitive data called *tokens*. The tokens are used in a database or internal system without bringing customer card data into your PCI scope. Using tokenization, organizations and paypoints can continue to use this data for business purposes without incurring the risk or compliance scope of storing sensitive data internally. When you process a payment using the token stored in Payabli's systems, only the original credit card tokenization system can swap the token with the corresponding primary account number (PAN) and send it to the payment processor for authorization. Your systems never record, transmit, or store the PAN, they only use the token. When a customer initiates a transaction, the payment system generates a token representing that information instead of transmitting their payment information, such as credit card or bank account details. This token is then passed through the payment process and stored in your business's payment platform for future use. If a hacker or other bad actor intercepts the token, it's useless because it doesn't contain sensitive data. Payment tokenization process from customer payment to receipt

Diagram: Payment Tokenization Process

This sequence diagram shows how payment tokenization works in a transaction:

  1. Customer sends payment information
  2. Payment information is tokenized and stored as a secure token for future transactions
  3. Merchant processes transaction through Payabli using the stored token
  4. Payabli returns transaction details to merchant
  5. Merchant sends receipt to customer

Tokens replace sensitive payment data with random characters that are useless if intercepted. Merchants can reuse stored tokens without handling sensitive data again.

This diagram shows how payment tokens work for software businesses and their customers, and where Payabli comes in during payment tokenization and transaction process. The customer sends a payment, which is saved as a stored token for future transactions. The merchant then processes the transaction through Payabli, receiving transaction details. The merchant sends a receipt back to the customer, completing the payment cycle. ## Payment token forms There are three well-known forms of tokens used in payment processing. These forms differ based on how and where the tokens are generated and used. Traditional Payment Tokens: These tokens are generated by replacing sensitive payment card details such as credit card numbers with a randomly-generated string of characters. Many PCI-certified gateways and processors have this functionality. Because your payment service provider manages these tokens, they tend to be the easiest and cheapest method to manage recurring payments. For traditional tokens, Payabli supports both [merchant tokens](#merchant-tokens) and [universal tokens](#universal-tokens). Device tokens are associated with specific devices, such as smartphones or smartwatches, and are used in mobile payment systems like Apple Pay, Google Pay, or Samsung Pay. Instead of using the primary account number, the payment system generates a unique token tied to the device's secure element or software. Unlike traditional tokens or device tokens, which are generated by merchants or payment processors, network tokens are created and managed by the card networks themselves. A big benefit of network tokens is that they can be automatically updated because they're linked to the issuer. For example, a customer has a recurring payment and their card expired. The card issuer sends them a card with a new expiration date, and the network token used in the recurring payment is automatically updated with the new card information. Payabli supports [network tokens](#network-tokens). ## Tokenization types This section helps you understand the kinds of tokenization that Payabli supports. Some tokenization types are available only in certain accounts. Contact the Payabli team if you have questions. During the integration process, the Payabli team helps you select the appropriate tokenization type for your needs. Payabli has three different tokenization types for saved payment methods: * Merchant Token * Universal Token * Network Token Note that tokenization types for payment methods, like those described in this guide, have nothing to do with API tokens used for authentication with Payabli. For help with API tokens, see [Authentication and API Tokens](/developers/api-reference/api-overview#authentication). ### Merchant tokens Merchant tokenization refers to a token that's limited to use with a single merchant. This means you can use the tokenized method to make payments only with the merchant that created it. This is the default form of tokenization for most cases. Example: A paypoint saves a customer's card data. The paypoint isn't configured for universal or network token types. You can use the `storedMethodId` only at this paypoint. ### Universal tokens Universal tokenization creates tokens that can be used across your portfolio with the same processor. This means you can use the tokenized method to make payments with your organization's different merchants connected to the same processor with universal tokens enabled. Example: Your Payabli organization has several paypoints as part of a franchise that are all configured for universal tokens. One paypoint saves a customer's card data. The customer could make payments at any of your franchise locations that support universal tokens. ### Network tokens Payabli supports American Express, Mastercard, and Visa network tokens. Discover network tokens aren't supported. Network tokenization creates tokens that can be used across your portfolio and outside of Payabli if the external provider supports network tokens. Network tokens can also be used at a non-Payabli affiliated gateway, if they support network tokens. When you save a payment method using network tokenization, Payabli requests a token from the card network. These tokens are stored and managed at the network level. Example: Your organization has several paypoints as part of a franchise that are all configured for network tokens. One paypoint saves a customer's card data and uses the network token type. A customer could make payments at any of your franchise locations that are configured to support network tokens. The same token can also be used at the processor's other merchants that support network tokens, like online retailers and service providers. ## Saving methods Payabli offers several options for tokenizing and saving a payment method: * API: use the direct-access API to save and manage payment methods. * Embedded components: use the [PayMethod UI](/guides/pay-in-components-paymethod-ui) or [EmbeddedMethod UI](/guides/pay-in-components-embeddedmethod-ui) to save a payment method. * PartnerHub/PayHub: add a payment method for a customer from the customer overview. ## Using tokenized payment methods You can use the tokenized payment methods in the same way as a regular payment method. For example, you can use it to process one-time payments, recurring payments, or refunds. The tokenized payment method is linked to the original payment information, so you can still access the transaction details if needed. To protect your account from excessive authorization charges and fraud, Payabli automatically deletes tokenized payment methods that are declined with any of these response codes: * 250: Pick up card * 251: Lost card * 252: Stolen card * 253: Fraudulent card When a tokenized payment method is deleted because of a fraud-related decline, you can't use it for future transactions. The only solution is to obtain and tokenize a new, valid payment method from the customer. ## Industry examples These examples can help you understand how tokenization can help software companies in different industries. Let's compare merchant, universal, and network tokens for a fictional fitness club management app, called FitClub Manager, that uses Payabli for payment processing. In this example, each club location represents a separate paypoint in Payabli. **Merchant Tokens** * When a member signs up and pays their fees at a club that uses FitClub Manager, a unique token is issued that represents the member's card details. * The token only works at the club (paypoint) where the member signed up. **Universal Tokens** * When the member first signs up at a club that uses FitClub Manager, a universal token is issued that represents the member's card details. * This single token now works for all clubs (paypoints) that use FitClub Manager, regardless of location. The member can pay dues at Club A, pay for classes at Club B, and buy from the smoothie bar at Club C, using the same token. **Network Tokens** * When the member pays club fees on FitClub Manager, the Visa card network issues a token. * The Visa token works for future Visa transactions for that member at any club that uses FitClub Manager. The member can pay dues at Club A, pay for classes at Club B, and buy from the smoothie bar at Club C, using the same Visa token. * The member can use the same Visa token across the Visa network where supported. For members who transact at multiple clubs managed by FitClub Manager, universal and network tokens provide the most seamless experience. They can use one saved payment method across all clubs and transactions in the platform. Let's compare how merchant, universal, and network tokens work for an HOA management platform, called *SuperCommunity Manager*, that uses Payabli for payment processing. In this example, each HOA represents a separate paypoint in Payabli. **Merchant Tokens** * When an owner pays HOA dues with a card in SuperCommunity Manager, a unique token is issued representing the property owner's card details. * The token only works within SuperCommunity Manager for that owner and the HOA (paypoint) for which the token was issued. **Universal Tokens** * When the owner first pays HOA fees in SuperCommunity Manager, a universal token is issued. * This single token now works for all payments to any HOA within SuperCommunity Manager, regardless of the HOA (paypoint). * If the owner has another property under a different HOA that's also managed by SuperCommunity Manager, the same token can be used. **Network Tokens** * When the owner pays their HOA fees on SuperCommunity Manager, the Visa card network issues a token. * The Visa token now works for all Visa payments to any HOA within SuperCommunity Manager, regardless of the HOA (paypoint). * The owner can use the same Visa token across the Visa network, where it's supported. For property owners who have several properties that use SuperCommunity Manager, universal and network tokens provide the most convenience and consistency. The owner can use one saved payment method across all properties and transactions in the platform. ## Token migration Traditional tokens are stored with either the gateway or the processor. This means that those platforms are managing the token lifecycle on behalf of customers and the platform controls the data. If a merchant or independent software vendor (ISV) switches to a new gateway or processor, they must migrate all those saved tokens or risk losing them. Not having access to those tokens could have a massive impact on the merchant's ability to process transactions and could affect their business operations overall. Two key factors impact token migration: * Token Portability: The outgoing provider must be able to export tokens. * Token Migration: The incoming and outgoing providers must support migrations. They should be PCI-compliant and have a formal process to handle and transfer token information securely. Token migrations can be error-prone, but Payabli has an experienced migration team and a clear process that keeps migrations short and smooth. Learn more about token migration in the [Migrate Tokenized Card Data](/guides/platform-tokenization-migrate-in) guide. ## Related resources See these related resources to help you get the most out of Payabli. * **[Payment method tokenization](/guides/platform-tokenization-overview)** - Learn how payment method tokenization secures sensitive data and enhances security for your payments * **[Save a payment method with the API](/guides/platform-developer-tokenization-save-method)** - Learn how to use the Payabli API to add and manage saved payment methods *** title: Save a payment method with the API subtitle: Learn how to use the Payabli API to add and manage saved payment methods description: >- Save customer payment methods securely using the Payabli API. Tokenize card and ACH payment details for reuse in future transactions and recurring billing 'og:description': >- Save customer payment methods securely using the Payabli API. Tokenize card and ACH payment details for reuse in future transactions and recurring billing keywords: >- embedded payments, payment tokenization, save payment method, PCI compliance, card vault, ACH tokenization, payment security slug: guides/platform-developer-tokenization-save-method icon: square-plus area: * Pay In subArea: * Tokenization audience: * developers seeAlso: * api-reference/tokenstorage/save-a-payment-method-tokenize *** This guide explains how to save a payment method for reuse via tokenization with the Payabli API. This call exchanges sensitive payment information for a token that you can use to process future transactions. ## PCI information Because improperly handling customer card data can result in fines and impact your ability to process transactions, you must understand and fulfill PCI security requirements. When using the direct-access APIs, you must make sure that your systems and practices meet PCI requirements. If you have any questions about how to maintain PCI compliance, reach out to the Payabli team. For a built in PCI-compliant experience, consider using Payabli's embedded components instead of the direct-access API. You can use the [PayMethod UI](/guides/pay-in-components-paymethod-ui) or [EmbeddedMethod UI](/guides/pay-in-components-embeddedmethod-ui) to save a payment method. ## Build the request Send a POST request to `/api/TokenStorage/add` to save a payment method. For complete information, see the [API reference](/developers/api-reference/tokenstorage/save-a-payment-method-tokenize) for this endpoint. This endpoint accepts several optional parameters that you can use to customize the request. Creates a temporary, one-time-use token for the payment method that expires in 12 hours. When `true`, enables real-time validation of ACH account. This is an add-on feature. Contact Payabli for more information. When set to `true`, a new customer record will be created even if an existing customer record is found. Possible values: `true` or `false`. Default is `false`. When `true`, the request doesn't require you to pass the `customerData` object, and creates the token with no customer information attached. When the token is used to make a payment for the first time, it will be associated to the customer making the payment. The response returns a `ReferenceId`, which is both the `storedMethodId` to use with transactions, and the `methodId` used to manage the payment method. ## Examples These examples show how to save various payment methods using the API. This example shows how to save a card payment method. The request includes the `customerData` object with an existing customer's ID `4440`. Returns a response like this: This example uses the `createAnonymous` parameter to create a token without customer information. The token is associated with the customer when it is used for the first time. Returns a response like this: This example converts a temporary token to a permanent token. The `temporary` parameter is set to `true` in the request, and the response returns a permanent token. Returns a response like this: This example tokenizes an ACH payment method. The `achValidation` parameter is set to `true` to enable real-time validation of the ACH account. Returns a response like this: ## Managing tokenized payment methods You can manage saved payment methods with the following endpoints: * [Delete a payment method](/developers/api-reference/tokenstorage/remove-a-payment-method) * [Update a payment method](/developers/api-reference/tokenstorage/update-a-payment-method) * [Get a payment method](/developers/api-reference/tokenstorage/get-a-payment-method) ## Related resources See these related resources to help you get the most out of Payabli. * **[Payment method tokenization](/guides/platform-tokenization-overview)** - Learn how payment method tokenization secures sensitive data and enhances security for your payments * **[Extend embedded components with the temporary token flow (for developers)](/guides/platform-developer-tokenization-temp-flow)** - Use the temporary token flow with embedded components to have complete control over user transaction experience without expanding PCI scope * **[Temporary token example app (for developers)](/guides/platform-tokenization-temp-token-app)** - Go through a guided checkout experience using the temporary token flow * **[EmbeddedMethod UI](/guides/pay-in-components-embeddedmethod-ui)** - Learn how to use the EmbeddedMethod UI embedded component to add the ability to securely store a payment profile or execute a sale * **[PayMethod UI](/guides/pay-in-components-paymethod-ui)** - Learn how to use the PayMethod UI embedded component to securely store a payment profile with a low-code modal-based UI. * **[Share payment method tokens (developers)](/guides/platform-developer-tokenization-share-tokens)** - Learn how to use organization or network tokens across paypoints *** title: Share payment method tokens (developers) subtitle: Learn how to use organization or network tokens across paypoints description: >- Share payment method tokens across paypoints using organization or network-level tokens. Reuse saved methods across your platform without re-collecting data 'og:description': >- Share payment method tokens across paypoints using organization or network-level tokens. Reuse saved methods across your platform without re-collecting data keywords: >- embedded payments, shared tokens, network tokens, organization tokens, cross-paypoint, payment tokenization, token sharing slug: guides/platform-developer-tokenization-share-tokens icon: right-left-large area: * Pay In subArea: * Tokenization audience: * developers *** If your organization supports universal or network tokens, you can share `storedMethodId` values across paypoints configured to accept them. Universal and network tokenization must be enabled by the Payabli team, and you can only share tokens that are created *after* the feature has been enabled in your organization. To learn more about these tokens, see [Tokenization Types](/guides/platform-tokenization-overview#types). ## Using shared `storedMethodId` Keep these considerations in mind when using shared tokens: * The customer you want to use a shared token for must exist in the paypoint, or you must create one with the transaction. The customers must each have the same Payabli `customerNumber`. * There's no way to pre-associate a token with a second customer record. The token becomes associated with the new customer record when you make the transaction. {/* vale Payabli.Contractions = NO */} * The `storedMethodId` must have been created after the feature was enabled. If the token existed before network or universal tokens were enabled in your account, the request returns a 5009 error that reads "Provided stored method and customer are not related". {/* vale Payabli.Contractions = YES */} To use a shared token, run a transaction and pass the `storedMethodId` in the paymentMethod object. ```bash Make transaction with a saved payment method focus={9-10} curl --request POST \ --url 'https://api-sandbox.payabli.com/api/MoneyIn/getpaid?forceCustomerCreation=false' \ --header 'accept: application/json' \ --header 'content-type: application/*+json' \ --header 'requestToken: API TOKEN' { "entryPoint": "47ca0dfcs", "paymentMethod": { "method": "card", "storedMethodId": "c9700e93-b2ed-4b75-b1e4-ca4fb04fbe45-224" }, "paymentDetails": { "totalAmount":20.00 "serviceFee": 0 }, "customerData": { "customerNumber": 224, "billingEmail": "catherinev@example.com" } } ``` ## Related resources See these related resources to help you get the most out of Payabli. * **[Payment method tokenization](/guides/platform-tokenization-overview)** - Learn how payment method tokenization secures sensitive data and enhances security for your payments *** title: Migrate tokenized card data subtitle: Learn how migrating tokenized card data works in Payabli description: >- Import tokenized card data from other processors to minimize disruption during migration. Learn the secure PGP-encrypted SFTP transfer process step by step 'og:description': >- Import tokenized card data from other processors to minimize disruption during migration. Learn the secure PGP-encrypted SFTP transfer process step by step keywords: >- embedded payments, payment operations, merchant onboarding, payment tokenization, token migration, data import, payment processor switch, PGP encryption, SFTP transfer icon: file-binary slug: guides/platform-tokenization-migrate-in area: * Pay Ops subArea: * Tokenization audience: * developers * partners *** As you onboard new clients, their prior software provider may have had a variety of different payments providers. To minimize impact on your merchant's customers, you can export tokenized card data from other providers and import those tokens into Payabli. The migration process depends somewhat on the other processor's method of sending the data and how their data is converted. For example, they may have a unique identifier for each customer or card that's different from Payabli identifiers. What you should expect during a migration depends on who your former processor is. This guide walks through the general, high-level migration steps. The Payabli team helps with data migration, it's not a self-service process. Reach out to the Payabli team to get started. ## Set expectations with your merchants Set expectations for your merchant during this process. The migration of tokenized data itself can take as little as a couple of hours, but the full process takes several days. Delays in receiving data from the outgoing provider, time spent updating data formats, and more can impact migration timelines. ## Process overview There's some variation between processors, but this is the general process migrations follow. If the data migration is happening at the same time as the merchant switching software partners, you may need to involve the outgoing software partner. 1. Payabli gives the partner Payabli's PGP Key and PCI SAQ. 2. Payabli sets up an SFTP server for the transfer. 3. The merchant, working with the software partner, requests the release of the encrypted card data. Because the merchant owns the data, the merchant must request the data from their outgoing processor. 4. Payabli securely provides SFTP credentials to outgoing processor. 5. Outgoing processor transfers encrypted data via SFTP. Each company has their own SLA to retrieve and send this data, typically within 3 to 10 business days. See [the SFTP file transfer instructions section](/guides/platform-tokenization-migrate-in#sftp-file-transfer-instructions) for instructions on how to securely transfer the data. 6. Payabli receives this file, decrypts the data and returns tokenized data to the partner. This step typically takes between 5 and 10 business days, starting from when Payabli receives the encrypted file. 7. Partner imports the customer data. This sequence diagram can help you understand the process: Token migration process from merchant request to final delivery

Diagram: Token Migration Process

This sequence diagram shows how tokenized payment data migrates from an outgoing processor to Payabli:

  1. Merchant requests token export from outgoing processor
  2. Outgoing processor approves export and begins export process
  3. Merchant connects outgoing processor with ISV partner via email
  4. ISV partner connects outgoing processor with Payabli via email
  5. Payabli shares compliance documentation and SFTP transfer instructions with outgoing processor
  6. Outgoing processor sends PGP-encrypted file to Payabli via SFTP
  7. Payabli receives and processes the encrypted file
  8. Payabli uploads saved payment methods and delivers customer export to ISV partner
## SFTP file transfer instructions For partners and payment processors handling step 5 above, follow these instructions to securely deliver token files to the Payabli SFTP server. ### Prerequisites Before beginning the file transfer process, ensure you have: * SFTP connection details (server address, username, password, and port) provided by the Payabli Migrations Team * [Payabli's public PGP key](/guides/platform-tokenization-pgp-key) for encrypting files * Token files prepared and ready for encryption Contact the Payabli Migrations Team to obtain your unique SFTP credentials and PGP encryption key. These are required for secure file delivery and are provided on a per-partner basis. ### Setup and connection First, set up your SFTP client to connect to the Payabli SFTP server. This process may vary slightly depending on the client you choose, but typically follows these steps: Select and install an SFTP client application. Common options include: * **FileZilla** (free, cross-platform) * **WinSCP** (Windows) * **Cyberduck** (macOS/Windows) * **Command line SFTP** (Linux/macOS/Windows) In your SFTP client, enter the connection details provided by the Payabli Migrations Team: * **Host/Server:** \[Provided server address] * **Port:** \[Provided port number, typically 22] * **Protocol:** SFTP (SSH File Transfer Protocol) * **Username:** \[Provided username] * **Password:** \[Provided password] Before transferring files, test your connection to ensure all credentials work correctly. ### File preparation and transfer Prepare your token files for transfer and follow the steps below to encrypt and upload them securely. All token files must be encrypted using PGP before upload: 1. Use the [Payabli PGP key](/guides/platform-tokenization-pgp-key) to encrypt your token files. This ensures that only Payabli can decrypt the files. 2. Encrypt each token file individually. 3. Verify the encryption was successful. You can do this by verifying that the encrypted file has a different extension (.pgp, .gpg, or .asc), is slightly larger than the original, and shows scrambled content when opened in a text editor. Some clients have a built-in verification or test decryption feature. 1. Connect to the SFTP server using your configured client. 2. Navigate to the designated directory (if specified by the Migrations Team). 3. Upload your encrypted token files. 4. Verify the upload completed successfully. 5. Note the timestamp and file names for your records. If you have connection issues: 1. Verify that you entered all connection details correctly. 2. Check that your firewall allows SFTP connections on the specified port. 3. Ensure your network allows outbound SFTP traffic. 4. Contact the Payabli Migrations Team for help if issues persist. ## Processor-specific instructions Find your outgoing processor for instructions. * [Stripe](/guides/platform-tokenization-migrate-stripe) — Migrate from Stripe * [Authorize.net](/guides/platform-tokenization-migrate-authorizenet) — Migrate from Authorize.net *** title: Migrate from Stripe subtitle: Learn how to migrate tokenized payment data from Stripe into Payabli description: >- Migrate tokenized payment data from Stripe to Payabli with minimal customer disruption. Follow PAN export procedures and complete secure PGP-encrypted transfers 'og:description': >- Migrate tokenized payment data from Stripe to Payabli with minimal customer disruption. Follow PAN export procedures and complete secure PGP-encrypted transfers keywords: >- embedded payments, payment operations, merchant onboarding, payment tokenization, token migration, Stripe migration, payment processor switch, PAN export, data portability icon: brands stripe slug: guides/platform-tokenization-migrate-stripe area: * Pay Ops subArea: * Tokenization audience: * developers * partners * merchants *** When you migrate to Payabli from Stripe, you can minimize impact on your customers by exporting tokenized card data from Stripe and importing those tokens into Payabli. Merchants **must** initiate the migration process themselves by reaching out to Stripe. Payabli can't make or authorize an export request on behalf of a merchant. Before you begin, read Stripe's export reference guide here: [Request PAN Export](https://docs.stripe.com/get-started/data-migrations/pan-export). ## Export SLAs Stripe doesn't publicly publish their SLA for exporting tokenized card data from their platform, but you should expect the export to take 10 working days from the receipt of all requirements. Payabli's SLA for importing data is 3 to 5 business days from the receipt of card data. We recommend giving at least 10 business days for the full cycle to occur. Payabli isn't responsible for the export speed of other payment processors. ## Steps Before beginning, have Payabli's [PGP key](/guides/platform-tokenization-pgp-key) ready to give to Stripe. The direct email to Stripe's data migration team is: [support-migrations@stripe.com](mailto:support-migrations@stripe.com) {/* vale Payabli.PayabliSpelling = NO */} 1. Have the Stripe account owner log in and complete [this form](https://support.stripe.com/contact/email?topic=migrations) on the Stripe website. In this form, refer to Payabli as "Centavo, Inc., dba Payabli". {/* vale Payabli.PayabliSpelling = YES */} 2. Stripe will send you an email notifying you of your request and the parameters of the export. 3. Stripe should have Payabli's info on file to export. However, if they request it, you can request Payabli's AoC by emailing [support@payabli.com](mailto:support@payabli.com) 4. Once confirmed, Stripe begins the export process, and sends the merchant a link to the stored file in a secure SFTP service. Give this link and any other access information to your contact at Payabli or your software provider, whoever is managing this process for you. 5. Payabli retrieves the encrypted file and process the data. 6. When finished processing, the encrypted card data added to the merchant's paypoint. Note that this step can't take place until a merchant account is approved and the paypoint is activated. 7. Payabli returns the encrypted card data file to the software provider. Now, the cards are ready to use in Payabli. Payment history, invoices, recurring payment schedules, and other information don't transfer over to Payabli during this process. You may be able to transfer some of this information from your outgoing software platform to your new platform that's integrated with Payabli. Please work with both software platforms to see if this is possible. *** title: Migrate from Authorize.net subtitle: Learn how to migrate tokenized payment data from Authorize.net into Payabli description: >- Migrate tokenized payment data from Authorize.net to Payabli with minimal customer disruption. Understand export timelines, SFTP setup, and the full workflow 'og:description': >- Migrate tokenized payment data from Authorize.net to Payabli with minimal customer disruption. Understand export timelines, SFTP setup, and the full workflow keywords: >- embedded payments, payment operations, merchant onboarding, payment tokenization, token migration, Authorize.net migration, payment processor switch, data portability slug: guides/platform-tokenization-migrate-authorizenet icon: credit-card area: * Pay Ops subArea: * Tokenization audience: * developers * partners * merchants *** When you migrate to Payabli from Authorize.net, you can minimize impact on your customers by exporting tokenized card data from Authorize.net and importing those tokens into Payabli. Merchants **must** initiate the migration process themselves by reaching out to Authorize.net. Payabli can't make or authorize an export request on behalf of a merchant. ## Export SLA Authorize.net doesn't publicly publish their SLA for exporting tokenized card data from their platform. You should expect it to take 2 to 5 business days after receipt of all requirements. Payabli's SLA for importing data is 3 to 5 business days from the receipt of card data. We recommend giving at least 10 business days for the full cycle to occur. Payabli isn't responsible for the export speed of other payment processors. ## Steps Authorize.net hasn't publicly published their export process or SLA. The process and information were given to the Payabli team by the Authorize.net support team over the phone. Payabli recommends that the merchant contact the Authorize.net support team directly to verify the process: [https://www.authorize.net/support.html](https://www.authorize.net/support.html) 1. Reach out to the Payabli team to request the following: * Payabli's SFTP instructions * Payabli's PCI SAQ 2. Log in to your Authorize.net gateway account as the account owner. 3. Submit a support ticket requesting to start the token migration process. Have this info ready to share with them: * Your authorization for export. This may require a signed document or other secondary verification. * Payabli's [public PGP key](/guides/platform-tokenization-pgp-key) * Payabli's PCI SAQ * Payabli's SFTP instructions. This is required if they send the files to Payabli. However, they may give Payabli the file location instead. 4. Payabli retrieves the encrypted file and processes the data. 5. When finished processing, the encrypted card data added to the merchant's paypoint. Note that this step can't take place until a merchant account is approved and the paypoint is activated. 6. Payabli returns the encrypted card data file to the software provider. Now, the cards are ready to use in Payabli. Payment history, invoices, recurring payment schedules, and other information don't transfer over to Payabli during this process. You may be able to transfer some of this information from your outgoing software platform to your new platform that's integrated with Payabli. Please work with both software platforms to see if this is possible. *** title: Migrate token data from Payabli subtitle: >- Learn how to migrate tokenized payment data from Payabli to a different provider description: >- Transfer tokenized payment data from Payabli to a new provider with secure export protocols. Understand authorization requirements, PCI steps, and portability 'og:description': >- Transfer tokenized payment data from Payabli to a new provider with secure export protocols. Understand authorization requirements, PCI steps, and portability keywords: >- embedded payments, payment operations, merchant onboarding, payment tokenization, token migration, data export, payment processor switch, data portability, secure file transfer icon: file-binary slug: guides/platform-tokenization-migrate-out mode: wide area: * Pay Ops subArea: * Tokenization audience: * developers * partners * merchants *** Although we're sorry to see anyone go, Payabli understands that sometimes a merchant may choose a different provider or change software vendors, which can result in a change in merchant accounts. These are the basic steps to transfer tokenized payment methods from Payabli to a new provider. The merchant kicks off the process by making the formal request to Payabli. From there, Payabli and the new payments provider take over the process. The merchant must send a formal request directly to [migrations@payabli.com](mailto:migrations@payabli.com). The request must have the following: * Written authorization that gives us explicit permission to export and transfer tokenized payment method data to another provider * The company's legal name (and Merchant ID # if available) * The name of the payment provider to transfer data to * The name and email address of the merchant's contact at new payment provider This request can't come from the payments provider or the software company. The emailed request must come directly from the name and email address Payabli has as the signer on file for the merchant account. If it comes from any other person or email address, no matter their position in the company, the request will be declined. After Payabli receives the request, we connect with the contact person at the new payment provider and arrange the transfer method of the file. * We requests the new provider's PCI SAQ and SFTP or PGP credentials (if we don't already have it on file). * We export the customer information that Payabli has received from the integration or merchant. If you are a customer of Payabli via one of our software partners, Payabli can only export the data that the software partner has sent to us as part of their integration. For instance, if the software partner did not include email addresses or phone numbers in the data they provided, Payabli will be unable to include that information in the exported data. After the transfer method has been confirmed, Payabli starts the export and transfer process. * The SLA for this transfer is 5 to 7 business days. * Payabli delivers the encrypted to the new payment provider via the secure method agreed upon. *** title: Public PGP key subtitle: Payabli's public PGP key for migrating stored payment method tokens description: >- Access the public PGP key for secure Payabli payment token migration. Encrypt sensitive payment method data during processor switches with industry-standard PGP 'og:description': >- Access the public PGP key for secure Payabli payment token migration. Encrypt sensitive payment method data during processor switches with industry-standard PGP keywords: >- embedded payments, payment operations, merchant onboarding, PGP encryption, public key, token migration, secure file transfer, data encryption icon: key mode: wide slug: guides/platform-tokenization-pgp-key area: * Pay Ops subArea: * Tokenization audience: * developers * partners * merchants *** When migrating stored payment method tokens, you might need Payabli's public PGP key to encrypt your files. ```txt Payabli Public PGP Key -----BEGIN PGP PUBLIC KEY BLOCK----- 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 =xE4T -----END PGP PUBLIC KEY BLOCK----- ``` *** title: Manage line items with the API subtitle: Learn how to add and manage line items for products and services via the API description: >- Add and manage line items for products and services with the Payabli API. Attach itemized details to invoices and bills for better reporting and clarity 'og:description': >- Add and manage line items for products and services with the Payabli API. Attach itemized details to invoices and bills for better reporting and clarity keywords: >- embedded payments, line items, itemized transactions, product details, transaction details, payment reporting, billing details slug: guides/platform-developer-line-items-manage icon: pen-line area: * Pay In * Pay Out * Pay Ops subArea: * Invoices * Bills audience: * developers *** Use Payabli's line item functions to create and manage products or services for invoices and bills. This guide covers the key operations for managing line items through the API. ## Considerations Keep these considerations in mind when working with line items: * Line items can be designated for invoices, bills, or both. * Items are always associated with an organization or a paypoint. * The `itemMode` parameter determines where items can be used (0=invoices, 1=bills, 2=both). ## Create a line item Send a POST request to `/api/LineItem/{entryId}` to create a new line item in an entrypoint's catalog. See the [API reference](/developers/api-reference/lineitem/add-item-to-entrypoint-catalog) for full documentation. This example creates a consultation service line item in the paypoint with ID `47cae3d74`. The item is set for use with invoices only (`itemMode: 0`). ## Get line item details Send a GET request to `/api/LineItem/{lineItemId}` to retrieve information about a specific line item. See the [API reference](/developers/api-reference/lineitem/get-item-in-entrypoint) for full documentation. This example retrieves details for the line item with ID `700`. A successful request sends a 200 response with a JSON body that contains the line item details. ## Get list of line items Send a GET request to `/api/Query/lineitems/{entry}` to retrieve all line items for an entrypoint. See the [API reference](/developers/api-reference/lineitem/get-list-of-items-for-entrypoint) for full documentation. This example retrieves all line items for the paypoint with ID `47cae3d74`. A successful request sends a 200 response with a JSON body that contains the list of line items. ## Update a line item Send a PUT request to `/api/LineItem/{lineItemId}` to modify an existing line item's details. See the [API reference](/developers/api-reference/lineitem/update-item-in-entrypoint) for full documentation. This example updates the line item with ID `700` to be a materials deposit item with new pricing and measurement details. A successful request sends a 200 response with a JSON body that contains the updated line item details. The response is the same as the create line item response. ## Delete a line item Send a DELETE request to `/api/LineItem/{lineItemId}` to remove an existing line item. See the [API reference](/developers/api-reference/lineitem/delete-item-in-entrypoint) for full documentation. This example deletes the line item with ID `700`. A successful request sends a 200 response with a JSON body that contains the deleted line item's ID. ## Related resources See these related resources to help you get the most out of Payabli. * **[Manage invoices with the API](/guides/pay-in-developer-invoices-manage)** - Learn how to create, update, delete, and send invoices with the Payabli API * **[Manage bills with the API](/guides/pay-out-developer-bills-manage)** - Learn how to add and manage bills for vendors via the API *** title: Manage line items and the catalog from the UI subtitle: Learn how to manage products and services in the Payabli UI slug: guides/platform-portal-catalog-manage icon: square-list area: * Pay Ops * Pay In * Pay Out subArea: * Invoices * Bills audience: * partners * merchants description: >- Manage your product and service catalog in PartnerHub and PayHub. Add line items for invoices and bills, configure pricing, and organize for streamlined billing 'og:description': >- Manage your product and service catalog in PartnerHub and PayHub. Add line items for invoices and bills, configure pricing, and organize for streamlined billing keywords: >- embedded payments, payment processing, accept payments, vendor payments, payables automation, payment operations, merchant onboarding, product catalog, line items, service catalog, pricing management *** The Products & Services Catalog is where you manage all your available items for sale (Pay In) or items that you pay vendors for (Pay Out). This guide explains how to add, edit, and delete items in your catalog using the Payabli UI. To access your catalog, navigate to **Money In > Catalog**. This opens the *Products & Services Catalog* view where you can manage all your catalog items. For each catalog item, you can: * Add new items with associated paypoints * Edit item details including name, cost, and description * Delete items from your catalog To manage an individual catalog item, click the three-dot icon in the **Actions** column. Adding items to the catalog from the UI automatically makes them available for both invoices (Pay In) and bills (Pay Out). To create items that are only available for one of these functions, use the API. See [Manage Line Items (API)](/guides/platform-developer-line-items-manage) for more help. ## Add an item To add a new item to your catalog, follow these steps: 1. Click the **Plus** button from the main catalog view. 2. If you are adding a line item while logged into an organization, select the appropriate paypoint from the dropdown in the *Add Item* modal. 3. Enter these details: * Item name * Item cost * Item code * Description 4. Click **Add** to save the new item. ## Edit an item To edit an existing catalog item, follow these steps: 1. Locate the item you want to edit. 2. Click the three-dot icon in the **Actions** column. 3. Select **Edit Item** from the menu. 4. In the *Edit Item* modal, change any of these fields: * Item name * Item cost * Item code * Description 5. Click **Save Changes** to apply your edits. You can't change an item's paypoint through the edit function. ## Delete an item This action permanently removes the item from your catalog, and can't be undone. To delete an item from your catalog, follow these steps: 1. Locate the item you want to remove. 2. Click the three-dot icon in the **Actions** column. 3. Select **Delete Item** from the menu. 4. Follow the prompts in the modal to permanently delete the item. *** title: Use the OCR engine subtitle: >- Learn how to use Payabli's OCR engine via the API to recognize text and import invoices and bills description: >- Automate data entry with intelligent document recognition. Extract invoice and bill data from PDFs and images using OCR, then import into Payabli for processing 'og:description': >- Automate data entry with intelligent document recognition. Extract invoice and bill data from PDFs and images using OCR, then import into Payabli for processing keywords: >- embedded payments, payment operations, merchant onboarding, OCR, document scanning, invoice automation, bill processing, data extraction, document recognition slug: guides/pay-ops-developer-ocr-use icon: file-binary area: * Pay Ops subArea: * Invoices * Bills audience: * developers *** Use Payabli's OCR (Optical Character Recognition) engine to recognize and scrape text from bills and invoices directly from your PDF or image files, simplifying your data management. You can then use the OCR engine's output to add new invoices and bills in Payabli via the API. If you need help understanding the difference between invoices and bills, see [this resource](/guides/platform-bills-vs-invoices). ## Process the document Before you begin, note that the bill and invoice `typeResult` values return the information needed to create the specified kind of record in Payabli, so make sure you choose the right one. You can't use a bill `typeResult` OCR output to import an invoice, and vice versa. The first step is to choose whether you need to process an image file or a base64-encoded string version of your bill or invoice. See [the API reference](/developers/api-reference/import/ocr-a-file) for complete details about this endpoint. Make a POST request to **/Import/ocrDocumentForm/\{typeResult}**, uploading the file. The OCR engine supports pdf, jpg, jpeg, png, and gif files. This example is for a bill, notice that the `typeResult` path parameter is `bill`. If you want to OCR an invoice for a customer, this value should be `invoice`. ```curl curl --location 'https://api-sandbox.payabli.com/api/Import/ocrDocumentForm/bill' \ --header 'requestToken: ' \ --form 'file=@"/C:/Users/accounting/Desktop/invoices/paulsPaper_invoice.pdf"' ``` Copy the content inside the `resultData` object. This content makes up the body of the add bill or add invoice request you make in the next step. ```json Bill example maxLines=15 { "isSuccess": true, "responseText": "Success", "responseCode": 1, "responseData": { "resultData": { "billNumber": "6654477", "netAmount": 3000.21, "billDate": "2024-02-01T00:00:00", "dueDate": "2024-02-01T00:00:00", "comments": null, "billItems": [ { "itemTotalAmount": 3000.0, "itemTaxAmount": 0, "itemTaxRate": 0, "itemProductCode": null, "itemProductName": "Paper Airplane Stock", "itemDescription": "", "itemCommodityCode": null, "itemUnitOfMeasure": null, "itemCost": 3.0, "itemQty": 1000, "itemMode": null, "itemCategories": [] } ], "mode": 0, "accountingField1": null, "accountingField2": "VBGEB-45841", "additionalData": { "category": "Job Supplies", "currency_code": "USD", "type": "invoice", "reference_number": "VBGEB-45841" }, "vendor": { "vendorNumber": null, "name1": "Paul\u0027s Paper Supply", "name2": "Paul\u0027s Paper Supply Company", "ein": null, "phone": "970-222-2121", "email": null, "address1": "123 North 1st St", "address2": null, "city": null, "state": null, "zip": null, "country": null, "mcc": null, "locationCode": null, "contacts": null, "billingData": { "id": 0, "bankName": "", "routingAccount": "", "accountNumber": "", "typeAccount": "", "bankAccountHolderName": "", "bankAccountHolderType": "Business", "bankAccountFunction": 0 }, "paymentMethod": null, "vendorStatus": 1, "remitAddress1": null, "remitAddress2": null, "remitCity": null, "remitState": null, "remitZip": null, "remitCountry": null, "payeeName1": null, "payeeName2": null, "customerVendorAccount": null, "internalReferenceId": null, "customField1": null, "customField2": null, "additionalData": { "web": "www.paulspaper.com" } }, "endDate": null, "frequency": null, "terms": null, "status": 0, "lotNumber": null, "attachments": [ { "ftype": "pdf", "filename": "paulsPaper_sample Invoice.pdf", "fileDescriptor": null, "furl": null, "fContent": "JVBERi0xLjcNCiW1tbW1DQoxIDAgb2JqDQo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFIvTGFuZyhlbikgL1N0cnVjdFRyZWVSb290IDE4IDAgUi9NYXJrSW5mbzw8L01hcmtlZCB0cnVlPj4vTWV0YWRhdGEgMTg0IDAgUi9WaWV3ZXJQcmVmZXJlbmNlcyAxODUgMCBSPj4NCmVuZG9iag0KMiAwIG9iag0KPDwvVHlwZS9QYWdlcy9Db3VudCAxL0tpZHNbIDMgMCBSXSA\u002BPg0KZW5kb2JqDQozIDAgb2JqDQo8PC9UeXBlL1BhZ2UvUGFyZW50IDIgMCBSL1Jlc291cmNlczw8L0ZvbnQ8PC9GMSA1IDAgUi9GMiA5IDAgUi9GMyAxNCAwIFI\u002BPi9FeHRHU3RhdGU8PC9HUzcgNyAwIFIvR1M4IDggMCBSPj4vWE9iamVjdDw8L0ltYWdlMTYgMTYgMCBSPj4vUHJvY1NldFsvUERGL1RleHQvSW1hZ2VCL0ltYWdlQy9JbWFnZUldID4\u002BL01lZGlhQm94WyAwIDAgNjEyIDc5Ml0gL0NvbnRlbnRzIDQgMCBSL0dyb3VwPDwvVHlwZS9Hcm91cC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0I\u002BPi9UYWJzL1MvU3RydWN0UGFyZW50cyAwPj4NCmVuZG9iag0KNCAwIG9iag0KPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCA0NDUyPj4NCnN0cmVhbQ0KeJzVXduS47YRfd\u002Bq/QfmJSW5PBziQpCscrmyl9jZJL5lxsmDyw/jsXZ2yrvSZEbjzf59ugEClESiGwvSKccPslbqOTjdAE43AJI6f3a/v319db0vPvvs/Nl\u002Bf3X9ZvNz8cP5891\u002Bv3v34/nlh7vN\u002BbdXN7fbq/3tbnt\u002B8fjTHj/6Yrfbb\u002B4//7x4/vJF8e\u002BnT6qywv86IYuqMPDadLK43zx98q9Piu3TJ88vnz45/0IUoi0uXz99IsCoKkShmlLrQoi67HRx\u002BQ5svrxoipsHxOtUU1SlbGp4FfD\u002B/sZ\u002B3Ua\u002B/seXT58UZ0jDFJfXP6y\u002BvVr/WFz\u002B9emTP0PT3z19ks2x7sojitPMIoSgSS0tn8e3eXzkKZ\u002BmLusqm9EPn1XVc/P5MqFpq7LW\u002BcHB3tKtjc5DsVBvdfUcSnbYqNXd5n4hOkLXpTb5dJYKi6ihq/JpXDzerc8gLm/x9UPxYiFWUralmUFr9\u002B5urVdX2w9L8emaslZL9pYyhQELHJGqK\u002Bu2gPE\u002B0GANPM\u002Bu7MwRUy3LVhetKVXliTa6QzIGX6sa/uGYjj52VC/XZ3K1GWtSCh815lM3pZzF52NDF2Viqjk0umZ91qyqpcg0pmyqWXE5W4oKaHVlZlCxai0aJ9dSyqV4daY084bOYiESFfzRHCZSgBzJ9Vm3EotxkrKECuJ/PrOimtPosstk8gVqztV/FpzpM8gsJziybObFZWnRgYLVzCK0nOjAkJEzqJyIzmKao8puXpctR6Wz1fzvobNEBb1lluossViIhADj30dvCVmXUDMuJzuOjcA1XXvICNYMp5UibxSnDfNQzckh0Jl6pYqvMbXt7vdvinF\u002BS6dnSn1SdiuNZXfbZfN72M/gMwqXxCHRLJtz59CBxKtmdB\u002B\u002Bb0xjp\u002BXFsoGqBayEfjeBcsN8xuR8\u002BXhvS5QtjPYbO9Y/LeDti2/WZzVQPRPVqsUST\u002BF31Zw5MA5lI8q2XlxZFCxlqzow0hr/NVqDskZR2krCCJhVM79//768u8KAPr5dN6sHDPUd/nO8fzeHZytKNYvn3QY6/h73P8rr9Zle7ZDjuyU5atGUdb1wqT\u002B7a2eMSOhWvXrEOL1d16s/rc9a95Ht3s09xrFZ7RaNoeraUs7SgMlppOuuFIHQeBeH/D7e4cbuMwHlZck2zUCm68Zkqe\u002BJHR4QV9A2Zf9sGbLn4fDh\u002BVcvoJUbW5iJCvrQ\u002BMKsAiJV5TbvXn8SNLY3ct\u002BKCSuDNWOAast6ZNMPswGp7rpuwspAVRuQtCqrCaO6lG1R13a3R\u002BgK0pDGk42BjsbSujewX518D7VP\u002BHtAa04MlNBYA0QBlGjLpjlicEJBQ0RU4AjLjkYeGxR//ir9JGdq6kGqgybC4IDioLjxbyLypFuFWQ8GlYZh0kKIC5jtDcjO0KD9FJuAb1rUgcM/ucYzo1fvrm42whQvd8V3gx/ApxE4GKHvNO6hyAZ6UB8gF\u002BcXd1dbPPj66sWrl0V1/ver7U2x2mzPvny\u002BHo62eCAfk9PTLfxDGIfSRcQFQZ6LtVqdyworDamnViZ5rYnKwLQeNziedj5COEygAd8ctMbGSERilAIVeIsS5e7olMT9tTR2UKUNn0NHahgaoXUNiUs2rCsy5koSmN8lwyR5UoWCsoJANZDNlckSylfbX3Fw7G6v7SZ98fWuHJeaM1lKSAJdM4flROk\u002Bl1OrUVyzOeF7VbnjVmNqDYlucY7KgHLO4Bgdxse58EDEamMO1MAuKohRreIixgBF931xr6StMH9Nz0wbdpR9CPvlbkrQclvWLZ4qkY2P4mkjdxIUPTMokO1GEWkwyef0//NbXES8xTWEfSm\u002BwH/fr4WCJQ\u002B82\u002BLLL3YplBvKU75NW1YYyGzOk5vl2aGroeDNolFjaCS\u002B2HfFs\u002B26Xd1iEN\u002BtzwyEr8P1o1kV/7yF\u002BG3Q5n3x8v4WZfRX\u002B8lSbgjZQUhnuLJsRDWsHHN3PK5wxW0H3Q2\u002B7PDl07UQq\u002BLFN7BsK1r8XuCnCl\u002BqdeR0Ky\u002BOwtbp\u002BQ4kzP76t5FE0eFWcEyVLmCd\u002BwbH3e1dcen2CxYURliLNWDJcEiIjfkNlBFWSkb\u002Bv0ljPumEKDe/yQis20HOx53/avuwxxjew2rjEQfi9f52hx9s8R/5AZzg0ilbPtF8EsLULj8YayzX8rYr/rYNcngNQ\u002B4Xm1gWG3ewfsXLHmbw279BYb7fgB7bTFfs8fV23blkuLHJcDGdrnCezKHLLkM9L1w7clVuRy9DSaj48YH7Y9MZXCFkr0L7xvulBeeJiO06pKHFnalrm1iznDlei\u002BCORGVgavdD5njnql9PWYOe5Xhb6dTpg22E7y/WH3kV8fTeU103uL/1MfJjo1zjxpuCAYt7J6UBHZPaTs14l8V3DhLAiF0QAx\u002BBI6otVRd15DvU8Ee8SnW7v91D/Tu\u002B\u002BHEmD1lJ3PFkeMTngYTltK59\u002B7LClvmgxhauaWiENwqyE\u002BvNS6h0Nw/X97d4QanNm7fwyW47iu1sOrid2eUHVyuJh0RD5\u002BLVzmxwYwvgNLS4NxrdYIP7PYRye7s2LrAFvnzrD9MwzNfjddlsYm1ddm1\u002BmGvo2Lo9bD9hCMcWGklgcV9qAXWV5ny53PmRezW\u002BqncuA\u002BVyUVY0j5OJT2vwP0hrFV4Kgi94hnOSUmgTq3DOole4UxuJu8kNCeMnszPpJ/OpEQ7F6gjHHTiNrer6gBIO2FMj7AbBIfm\u002BGpDGnOrGHAE1XTf2LsnIB9uNDBulg4FxGMe4hY/QYIEtnBj1vtM2jnGwsYxPbE4yNx56DElOYbDiEzS22k3BIq46qWxpDNUm1D6xyTFxsci8Rm15RzZ6dD0eVFXLMsAqQdac23yV4Fr3iZTpwNhCOgmMuN7LlQi0K5iyru7wkoXNffEML2bA3HXv74vR7rKhTYHfXDgtFtVqd\u002B32LGJ1RB5jBX8tuvzge7UKXW/TKxP82PI8CSx\u002BEUSDW6jpA1mVEyN5JoWutQk2N5pesYfW\u002BZEcW8GmYMWv0YA8LVkpUtHyILNRuycwT4rmMaiNXfWzDKq2dRSmxtA8Ck2VP4SmKyTZlUaR5Y\u002BzYMofAsZrkDNhyp8Bhyp/AiWi/KGRfDcMSNHyJwCRlY3rT1e3hO48jFDUwLs\u002BGNia5cim94k0cWyDiatqjkyOixrdyvSiRsY3kHiseH3RCTyK1101K7v3radldxm7uCQJjMvu2a70Q3sIZEKulLEtoiQwLlFlu9LPrYPW\u002BU6J7cukYHFymefItFxWNSeXzoKRSwImlGx1glwOOJRcBkqEXNJIIWvVrFwGIEou\u002B/6My2XcoHf9wCAml7SJZTuY8HJZtx8hl7GtsBQsVi6NmSeXrvVEuYxtNyWBsXKZ64pXuBDIFLmMLcyTwFi5zHXFS9zQOt8psRVqChYrl1mOTMqlbgUjl70FLZcUTMjagpfLAxxCLgdKcblkkELWEpxcDkCkXLr\u002BJOQyauBdHwyickmaOLbBhJdLWCSmy2Vs0Z\u002BCxcqllvPk0rWeKJexFXcSGCuXua74oR0CmSCXKlbyJ4Gxcpnrip9bQ\u002Btsp6hYyZ\u002BCxcplliPTclk3nFw6C0YuCZiQtZsEuRxwKLkMlAi5pJFC1mpYuQxApFy6/iTkMmrgXR8MonJJmji2wYSXS1Gly6WiLw2gsVi5FO08uRRVulwq5jyeBmPlMtcVP7RF9RFyyZx\u002B02CsXOa64ueWqNLlkjlhJrFYucxyZFouoZcZuXQWjFwSMCFrqwS5HHAouQyUCLmkkULWUqxcBiBSLkXFyGXUwLsuKlYuSRPHVlSpcqnajziQVfSBLI3FyaXq5p1M9q0nyiVzMkmDcXKZ7Uo/tIdApsglc85Hg3Fyme1KP7cOWuc7hTlkI7E4ucxzZFouK\u002B6op7dg5JKA8XJZJRz1HOBQclnxRz0MkpfLij3qGYAouez7My6XcYPe9QODmFzSJpbtYMLLpZHulscgcdTFwpo\u002B62HAWMFscPzOEEzX/IHGkb4wpz0MGiuZuc54lQux9CpHOsOc9zBorGjmOuOFbmg\u002BoWOYEx8ajJXNLFcmZVO13JFPb0HLJgUTsnfCkc8BDiGbA6W4bDJIIXuxRz4DECmbrkODKurRtX\u002BEhXd\u002BsPCqqE\u002Bv/WNsHONgE6Rz4hEVfe\u002Bq9kTuiFpA0\u002Bc\u002BNBarnNrMU07XelqpqZlzHxqM1c1cV/z4DoFMKDU1c\u002B5Dg7GqmeuKn2BD63ynMOc\u002BJBarmVmOTGumgREugtjZSXaimc5i0MwjmyAIcZiQv63JoJlHRkE2Ak6vdCOruj6g1GvmkZEXFxIp5K6ANObkFcgDec08CZKLo\u002BtPotSMGnjXB4NoqUmaOLbBhC81hf4IuaTPfWgsVi6lnCeXrvVEuWTOfWgwVi5zXfFDOwQyQS5r5tyHBmPlMtcVP7eG1tlOqZlzHxKLlcssR6blUjWcXDoLRi4JmJC1mwS5HHAouQyUCLmkkULWali5DECkXLr\u002BJOQyauBdHwyickmaOLbBhJVLvFGvtUMQH84nNT4vLT6e6XMfGou4IxT0UrqfpZC5d2JK4ZvHsdUa1hXq4IcFi/uCa5Gu43zBGycef1ordyfbbj9xL9tMHhoGnJoR036SDV3a35lIxpQ5gaLBCF\u002Bccmf70k/zg\u002BYl6wpzBEViEXcYOunO82RauoXipNtZMNJNwIQKQlFailZdaA3Hqxi3FlSOhAp5XvECTyOFPKtYgQ9AlMD33e70O/T6gWcHBv2Nf82pftMmlsxg4m8NbKL6bVTZigPNNcSgps\u002BhSChevRu7pZGv3q71QegoR6hjKA6L0O6mKVXNeYLaDXptVpuH4nLiZz7mcfC6nRtNL7WhL/0d5UQ0mZMwEotX7VxPvNIOrUvOEeYgjIIiNFu3eI894we8Hd/7Oq/dPldkxW8yV6Cs6EHkJ3aSe4teAqa2ifuSJAaDJqbzJjj41djoQCv1kXZP7SQPlOI7yQzSQc7WB1lgYid5AKJ2kvv\u002B9FnAjBwbvvd3f58Spiwck2AR7g6PZQDV9sktoYI39NEajcXnAN3gI1Xyc4BrPq2CN9TJGgtGZAFQ4LrjfLEPvsOHfdzdrd3jPbY38MY\u002B9eOP6/7xH3\u002BBj6\u002B28PHPmC96o1i\u002ByKTrE0Zu6P00Cz2fUOgb5hyQBuNTRq4vfqIPzbOFvmGOAUksPmnQnlTEDbq5DfdZIyuE01kDlEgNB4cTK4zeYsgao4VBXw/FYHzWcCZD1phaOxzgEGuHgVJ87cAgHSRvpci1wwBErh1chxJrh8EgunYgTRyZYMKvHYTEhV1i5qBPFmks/0zFeOaQFT7uPj9zuOYTMwd1tMiCxX1R2AE158slPjljt7/CZ89iWrCZAh/M9Th\u002BPtRMQj435AbXT6bQtym5gTnspMEIX/rckOuLn85D83xuYE47Say4J/jgHzyDoT2JPr4iu1X7hEWyVff8ilZyz6/IpQBKwY7GEqcDsZbKbLpPi1mjZzotqgZ/VsXKOZAxpzkRZFhEc6K3aUrRHK\u002B29ChvOiBRTuSxYGJxvMkJiv3t6R5FVgofITLG6Y0szmB0hBSyVPDbZU0xmchilA9QYpTxovE6ON7gz0xM4fRGLoTB6AjJJ8044yGtxggPGDG\u002BeMd5rQ/5mgmU3ibQNWOcPn97thbgZGi5oefmwHj9Gb6v8Ed87C8ZQZulaI8vddKdN4HvzMjAjYXewI2FYxPfhwON0SI2mMSawVuTpPIGpoPEdkq1jzzRireINYIPI8FvhkZGbbiYhzbGi21vUblfT\u002BotjkCKqSeOxzbVcp/9qjv4qBBtN/xIxMc\u002BA39T\u002BB8qu8OnKG7xXWF/CnBjH9\u002B1sb8xcDf\u002B7cRczi52MzinPNo9tumXRHrq1zggUVYgBjh94j/yZH9Y/o37GcVfig\u002B7R/ts6tf2B23wBZ9H7j4WtfvHT4/4IOuHWwi7gIg/QA88/CEv1BOs\u002B1DTpKfC\u002BV9gEhDiDQplbmRzdHJlYW0NCmVuZG9iag0KNSAwIG9iag0KPDwvVHlwZS9Gb250L1N1YnR5cGUvVHJ1ZVR5cGUvTmFtZS9GMS9CYXNlRm9udC9BcmlhbC1Cb2xkTVQvRW5jb2RpbmcvV2luQW5zaUVuY29kaW5nL0ZvbnREZXNjcmlwdG9yIDYgMCBSL0ZpcnN0Q2hhciAzMi9MYXN0Q2hhciAxMjEvV2lkdGhzIDE4MiAwIFI\u002BPg0KZW5kb2JqDQo2IDAgb2JqDQo8PC9UeXBlL0ZvbnREZXNjcmlwdG9yL0ZvbnROYW1lL0FyaWFsLUJvbGRNVC9GbGFncyAzMi9JdGFsaWNBbmdsZSAwL0FzY2VudCA5MDUvRGVzY2VudCAtMjEwL0NhcEhlaWdodCA3MjgvQXZnV2lkdGggNDc5L01heFdpZHRoIDI2MjgvRm9udFdlaWdodCA3MDAvWEhlaWdodCAyNTAvTGVhZGluZyAzMy9TdGVtViA0Ny9Gb250QkJveFsgLTYyOCAtMjEwIDIwMDAgNzI4XSA\u002BPg0KZW5kb2JqDQo3IDAgb2JqDQo8PC9UeXBlL0V4dEdTdGF0ZS9CTS9Ob3JtYWwvY2EgMT4\u002BDQplbmRvYmoNCjggMCBvYmoNCjw8L1R5cGUvRXh0R1N0YXRlL0JNL05vcm1hbC9DQSAxPj4NCmVuZG9iag0KOSAwIG9iag0KPDwvVHlwZS9Gb250L1N1YnR5cGUvVHlwZTAvQmFzZUZvbnQvQXJpYWwtQm9sZE1UL0VuY29kaW5nL0lkZW50aXR5LUgvRGVzY2VuZGFudEZvbnRzIDEwIDAgUi9Ub1VuaWNvZGUgMTc5IDAgUj4\u002BDQplbmRvYmoNCjEwIDAgb2JqDQpbIDExIDAgUl0gDQplbmRvYmoNCjExIDAgb2JqDQo8PC9CYXNlRm9udC9BcmlhbC1Cb2xkTVQvU3VidHlwZS9DSURGb250VHlwZTIvVHlwZS9Gb250L0NJRFRvR0lETWFwL0lkZW50aXR5L0RXIDEwMDAvQ0lEU3lzdGVtSW5mbyAxMiAwIFIvRm9udERlc2NyaXB0b3IgMTMgMCBSL1cgMTgxIDAgUj4\u002BDQplbmRvYmoNCjEyIDAgb2JqDQo8PC9PcmRlcmluZyhJZGVudGl0eSkgL1JlZ2lzdHJ5KEFkb2JlKSAvU3VwcGxlbWVudCAwPj4NCmVuZG9iag0KMTMgMCBvYmoNCjw8L1R5cGUvRm9udERlc2NyaXB0b3IvRm9udE5hbWUvQXJpYWwtQm9sZE1UL0ZsYWdzIDMyL0l0YWxpY0FuZ2xlIDAvQXNjZW50IDkwNS9EZXNjZW50IC0yMTAvQ2FwSGVpZ2h0IDcyOC9BdmdXaWR0aCA0NzkvTWF4V2lkdGggMjYyOC9Gb250V2VpZ2h0IDcwMC9YSGVpZ2h0IDI1MC9MZWFkaW5nIDMzL1N0ZW1WIDQ3L0ZvbnRCQm94WyAtNjI4IC0yMTAgMjAwMCA3MjhdIC9Gb250RmlsZTIgMTgwIDAgUj4\u002BDQplbmRvYmoNCjE0IDAgb2JqDQo8PC9UeXBlL0ZvbnQvU3VidHlwZS9UcnVlVHlwZS9OYW1lL0YzL0Jhc2VGb250L0FyaWFsTVQvRW5jb2RpbmcvV2luQW5zaUVuY29kaW5nL0ZvbnREZXNjcmlwdG9yIDE1IDAgUi9GaXJzdENoYXIgMzIvTGFzdENoYXIgMTIxL1dpZHRocyAxODMgMCBSPj4NCmVuZG9iag0KMTUgMCBvYmoNCjw8L1R5cGUvRm9udERlc2NyaXB0b3IvRm9udE5hbWUvQXJpYWxNVC9GbGFncyAzMi9JdGFsaWNBbmdsZSAwL0FzY2VudCA5MDUvRGVzY2VudCAtMjEwL0NhcEhlaWdodCA3MjgvQXZnV2lkdGggNDQxL01heFdpZHRoIDI2NjUvRm9udFdlaWdodCA0MDAvWEhlaWdodCAyNTAvTGVhZGluZyAzMy9TdGVtViA0NC9Gb250QkJveFsgLTY2NSAtMjEwIDIwMDAgNzI4XSA\u002BPg0KZW5kb2JqDQoxNiAwIG9iag0KPDwvVHlwZS9YT2JqZWN0L1N1YnR5cGUvSW1hZ2UvV2lkdGggMjQ0L0hlaWdodCAxMjQvQ29sb3JTcGFjZS9EZXZpY2VSR0IvQml0c1BlckNvbXBvbmVudCA4L0ZpbHRlci9EQ1REZWNvZGUvSW50ZXJwb2xhdGUgdHJ1ZS9MZW5ndGggNzEyNj4\u002BDQpzdHJlYW0NCv/Y/\u002BAAEEpGSUYAAQEBAJAAkAAA/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMPFB0aHx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEcITIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgAfAD0AwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5\u002Bv/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5\u002Bjp6vLz9PX29/j5\u002Bv/aAAwDAQACEQMRAD8A9/ooooAKKKKACiiigAooooAKKKKACiuD\u002BLfivVPB3g1dT0l4luTdJFmRN42kHPH4V4YPj945/wCe9j/4Cj/GgD6vor5Wh/aC8aRuDINOlA6g2\u002BM/ka9n\u002BGfxRtPHttLbzQraarAu6SANlXX\u002B8v8AUdqAPQqKKKACiiigAooooAKKK\u002BfPiV8XfFfhjx7f6Rps1qtpB5ewSQBjygJ5\u002BpoA\u002Bg6K4D4geLNV8O/DCPXtPeJb5hASXj3L8\u002BM8fjXM/Br4keIfG2uala6zLbvFb2wkQRQhDu3AUAey0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB5R\u002B0J/yTZP8Ar\u002Bi/k1ef/AHw3o3iCXW/7X023vfJWLy/OTdtzuzj8q9A/aE/5Jsn/X9F/Jq8g\u002BE/xHsPh\u002B\u002BptfWVzci7CBfIK/Ltz1yfegD2zxd8H/CepeH7z7BpUFhfJEzwzQZXDAZGR0IrwL4SahLpnxQ0Uxkjzpvs7gdw4xXoHir9oVNS0S6sdE0qe2muEMf2idx8gPBIA71yPwQ8PT6z8RLW8EbG207NxK\u002BOA2CFH1J/lQB9Uarq1homnS6hqVzHbWsQy8jnAH\u002BJ9q8wuf2h/CUM7JDbajOgOPMWIAH3AJzSfG3wr4s8WQafbaHbJPYwZkmjEoVmk6Dg9QB/OsXw1\u002Bz1ptx4dgm167votTmTc8cTKFhJ7dDkigD0bwh8TfDXjSY2\u002Bm3TpeAZ\u002BzTrscj1HY/hW14l8Saf4T0STVtUaRbWNlVjGm45Y4HH1r5DtYJvB/xRhtbe4LPYamsQlXjcocD9RX0T8dv\u002BSU3x/wCm0H/oYoA6Hwj4/wBD8bm6GjSTv9m2\u002BZ5sRTGc46/SrvirxZpfg7Sl1LV3kS3aURAxoWO4gkcfhXjf7NPXxAf\u002BuP8A7NXTftD/APJO4f8Ar\u002Bj/APQWoA7bwj440bxtb3M\u002BjSTPHbuEk82MpyRnvXzN8a/\u002BSs6t/wBsv/Ra16X\u002BzX/yBNc/6\u002BU/9BrzT41/8lZ1b/tl/wCi1oA9z\u002BI\u002BnnUPgdOqjLQ2UE4/4CFJ/TNcD\u002BzXaE6jr15jhYo4gfqSf6V7rpUEV14YsYJ40lhks41dHXKsCg4IqbT9H03SVddOsLa0EhBcQRBN2OmcUAYfi74geHvBUaf2tdkTyDKW8S7pGHrjsPc1xUP7RHhOScJJaalEhP3zGpx\u002BAOa8T8RXMPiH4s3v9vXr29pJqDQyzdTFGrbRj6AV61qvwP8ACer\u002BGZLnwneSSXixloZFuRKkpxwD6ZoA9e0PXtM8R6amoaTeR3Ns/G5eoPoR1B9q0q8g\u002BDnw\u002B8UeCbu8k1aW2Szuoxm2SQswcHhumOmR1r1\u002BgAooooAKKKKACiiigAorHvvFfh/TLtrW\u002B1mxtrhAC0cs6qwzyMgmq3/Cd\u002BE/\u002Bhj0z/wJT/GgDoaK57/hO/Cf/Qx6Z/4Ep/jR/wAJ34T/AOhj0z/wJT/GgDoaK57/AITvwn/0Memf\u002BBKf40f8J34T/wChi0z/AMCU/wAaAOhorn18c\u002BFXYKviHTSxOABcqST\u002BddAORmgDyj9oT/kmyf8AX9F/Jq8d\u002BFXw3tPiC\u002BpLdX81p9kCFfKQNu3Z65\u002BlexftCf8AJNk/6/ov5NXKfs0/63xB/uw/\u002BzUAbVv\u002Bzh4ejcGfV9QlUdVUKuf0Nen\u002BG/C\u002BkeE9MGn6PaLBDnLHOWc\u002BrHqTWzRQB5n8VvikPAkUFjYQxz6tcLvAk\u002B7EnTcfUkg4HtXlFovxa\u002BJUJuYrq7SwkPD\u002BYLeEj2xgsPzpn7Qdncw/ERLmRW8iezj8psccEgj8/wCddz4V\u002BN3hbSfANhb3QnXULO3WE2scX3yoxkN0wetAHhh0u40Xx3Hpl26yXFtfpFIyEkFg4zgmvpf46f8AJKL/AP67Qf8AoYr5ll1aTU/G39sXK\u002BW9xfC4Yf3QXzX1R8XtOk1X4V6tHApd440nAHcKwY/pmgDzn9mk/N4gHtCf/Qq6X9ohgPh7br63yf8AoLV5D8I/iDa\u002BA9ZvG1CGWSxvIwrmIZZGU8HHccmtL4s/EyPx7BBZ6RaTppdm3myyyrgsx4XIHQdfzoA7b9mv/kCa5/18p/6DXmnxr/5Kzq3/AGy/9FrXpf7Nf/IE1z/r5T/0GvNPjX/yVjVv\u002B2X/AKLWgD6u0P8A5F/Tf\u002BvWL/0EVfqhof8AyANN/wCvWL/0AVdcMUYK21iOD6UAfP8A8Ufgtql9rt1rvhtFuFuWMs9qWCur9yueCD1xXjmPEfhO8PGo6XcKefvxHP8AWvQdT\u002BJ/jnwx4/NvrV/NNDY3JElqqiNJo/wHccivQPEHxr8Can4ZuYmgmvJpoWVbWW26MR3J4HPcUAVPg78WtQ8Q6mvh3X3Wa6dC1tchcM\u002B0ZKtjjOMnPtXt9fJnwL0W61L4kWl9EhFtp6vLK/YZUqB9ST\u002BlfWdABRRRQAUUUUAFcl8QvGcPgrw1JeDY99MfLtIWP3n9T7DqfwHeusZgqlmIAAySa\u002Bcrkz/GD4si3VmGj2eQCvaBTyc9mc/zHpQA/wAEfCq58d2Nx4h1/UbqAXcpaJowC83PzOdwPGeB9PTFdV/wz3of/Qb1P8o//ia7jxhpmuT\u002BFDpPhQ29rM4WHzHkMfkxAfwYBwe3tXk3/Crfid/0MB/8Gk3\u002BFAHQ/wDDPeh/9BvU/wAo/wD4mj/hnvQ/\u002Bg3qf5R//E1zv/Crvid/0MB/8Gk3\u002BFL/AMKt\u002BJ3/AEMB/wDBpN/hQB0P/DPeh/8AQb1P8o//AImuV8e/C7w54J8PNfvrGozXUjeXbQMYxvf3\u002BXOAOT\u002BXevavBuh3Phzwvb2eoXkt1e48y5mlmaTLnqAW/hHQfTNeC\u002BIX1b4v/EO5ttHEZtrRGW3MjlUWNTyxODyx/p6UAdB8F/h6t0yeKdWiDRKf9BhYfeYH/WEegPA98nsK97r56j\u002BFPxLgiSKLXVjjQBVRdTlAUDoAMcCuMvP\u002BEwtvFB8Oxa7fXeoCUQ7ba\u002BlZd57ZJHTv2H4UAfTXi3wnpvjPRxpeqtMLcSrL\u002B5cK2RnHJB9aoeDPh7ofgRrs6Q9yTdBRJ58ob7ucYwB615hf/AzxTeTpMvi4lmiTzDPJKzb8fNz6Z6e1Vf8AhQXi3/obYf8AvqWgD6FyPUUZHqK\u002Bev8AhQXiz/obYf8AvqWj/hQXiz/obYf\u002B\u002BpaAPZvFng/RfGemfYdXg3qpzFKjYeI\u002BqmuC0r9nzwrp\u002BoLc3V3e30anIglZQh\u002Bu0AmuW/4UF4t/6G2H/vqWj/hQXi3/AKG2H/vqWgD0TxB8G/CfiPVf7QuUuYJRGkYS1lCIAowOMemK7mC1ig0\u002BOzLGaNIxETKQS4Ax83rmvAv\u002BFBeLf\u002Bhth/76lo/4UF4s/wChth/76loA6vWf2f8AwrqepPd211eWCSNuaCAqUH\u002B7kcVvj4SeE18Jv4djt5Y7aV0kmmRx50rL0yxH6YrzX/hQXi3/AKG2H/vqWj/hQXi3/obYf\u002B\u002BpaAPXvBvgXR/AttdW\u002BkPcFLlw7\u002BfIGOQMcYArG8SfB7wv4p1641nUJL4XU\u002B3f5UwVeAAMDaewrzr/AIUF4s/6G2H/AL6lo/4UF4s/6G2H/vqWgD6AtYI7S0htoz\u002B7hRY1yecAYFS5HqK\u002Bev8AhQXiz/obYf8AvqWj/hQXiz/obYf\u002B\u002BpaAPXPF/wAPvDvjWNf7Vtv9IQbUuYW2yKPTPcexrgYv2cfDazhpNY1J4wc7MoCfx21g/wDCgvFn/Q2w/wDfUtH/AAoLxb/0NsP/AH1LQB7d4d8M6N4U04WOj2iW8OcsQcs59WPUmtivnn/hQXiz/obYf\u002B\u002Bpa960m0ksNHsbOWTzJLe3jidx/EVUAn8cUAXKKKKACiiigDzz4yeJf7A8DTW0TEXWpH7NHtPIUjLn8uP\u002BBCq3wd8PR\u002BGvAp1S72pPfj7TIx/giAOwH8Mt/wACrifihI3jD4taX4YjdhDAY4HK9i53OfwXH5V7fe6ho\u002BgWEK395aWNrgQx/aJFRTgfdGevAoA8hm/aJiSaRYvDu\u002BIMQjm8wWHY42cUz/hosf8AQtD/AMDv/sK9L/4SzwP/ANBvQv8AwIi/xo/4SzwP/wBBvQv/AAIi/wAaAPNP\u002BGix/wBC0v8A4Hf/AGFdh8PvidL481O6tk0UWkNtEJJJvtPmYJOFGNo64PftW5/wlngf/oN6F/4ERf41u6dNYXVol3pz28lvMMrLbkFXHTgjrQBxHxj8SDQfA09vE5W71I/ZY9pwQpHzn/vnj6sKr/Bbwx/Yfg5dQnjC3epkTHjkRj7g/Ilv\u002BBVw/wAU5G8YfFfSvC8EhEcHlwOw/hZyGc/gu38q99ggjtbaOCFQsUSBEUdgBgCgDj/id4xHg/wpJNC3/EwuiYbUDs2OX\u002Bijn64rkvgl4K\u002ByWLeKtRTfeXgP2XecssZ6vz3b\u002BX1rmPEbyfE/4yxaRA7vplk/lMQflWND\u002B9YfU/Ln/dr6Fhhjt4I4IY1jijUIiKMBQOABQBBql6NM0m8vynmC2geYpnG7apOM/hXnulfGnRrrw1ea1qNs9kIZvJit1fzJJ22hvlGB69\u002BB6123in/kUda/68J//RbV89fB3wTa\u002BK9buLvU4zLp\u002Bn7SYT92WRs4B9gBk/h2oA7I/GvXtQDTaL4LuJ7VT/rCXfP/AHyuB\u002BZrW8MfG/StV1BdO1myfSLljtDyPuj3ehOAVP1GPevUYoo4IlihjWONBhUQYCj0Arz/AOKngOy8S\u002BHbrUIII49WtIjLHMq4MiqMlG9cjp6HHvQB6ECCMisLxT4v0jwfppvNUn27siKBOZJT6KP6ngVyfwV8STa74LNrdStJc6dL5G5jkmMjKc/mP\u002BA1wlnZv8VPjFff2hI0mkaczYjzgeWjbVQf7xyT\u002BNAGyPjfrepyM2ieDZ7m3U4LbnkP47VwD\u002BdbPhz42abqOqLpmuadNo10x2hpWzGG9GJAK59xj3r0y0tLextY7W0gjggjXakcahVUewFcz478C6d4y0WaKSBF1FEJtbnGGRuoBPdT0IPr60AUvCfxIj8U\u002BLdT0FNNa3axWRjMZtwfbIE6YGM5zXTeI9ZHh7w5f6u0JmW0iMpjDbd2O2a8I\u002BASSR\u002BOtUjlBEiWDqwPUESpkV7D8Sv\u002BSbeIP\u002BvNqAOet/jRov8AwiP9uX1vJbzPM8MNlG4kklKgZPQADnqa58/GrxHeJ9q03wTPLZdRITI\u002BR9VTFc/8FvAlp4gubnXNWgE9paSeVBC/KPJjJJHcAEcdMn2r6JVQqhVUKoGAAOBQB5t4Q\u002BM2jeI79dOv7Z9KvXO2MSuGjdum3dxg\u002BxH616XXlXxi8C2ep\u002BH7nxBZW6RapZL5sjoMGaMfezjqQOQfbFbvwo8RzeI/AdrPdymS6tna2mkY8sVxgn32laANjxX4y0fwdp32rVJ8M2fKgj5klP8Asj\u002Bp4FeaD4267qTNJovgye4tlJBfc7/\u002BgrgfrXP6Ktp8SfijqGqa/eRDSLMnyoZpQisobEaDkcHBY/8A1692t9V0G1t0gt9Q06KGMbURJ0CqPQAGgDg/C/xr0rWNTXTNYspNIvGOxTI\u002B6Pf/AHScAqfqMe9eo15R8W9F8O\u002BIPDF1qdveWH9rWSeakkcybpVHVDzzxnHuK2Pg94km8Q\u002BBohdOXubGQ2zuTkuAAVJ/AgfhQA7XPiXHo3j\u002Bz8KnS3la5eJRcCbAXecfdx2\u002BtVvGXxi0TwrfPp8MMmo30fEqRMFSI\u002BjMe/sAcd68w\u002BMU9za/FlJ7JmW6jhgMRXqG5xj3zXrHgP4Z6V4Z0uCa\u002BtYbzWXG\u002Be4mUPtY9QuegHr1NAGd4e\u002BLcuv2El2mg\u002BWElMePtWc4AOfu\u002B9FeliONRhUUD2FFAHgPw1VfE/xq1jXW\u002BaKAzzxH/ebYn/jpP5V6l43\u002BH9l46\u002BxC\u002Bv7q3jtN5VINuGLY5OQfT9TXnH7O9uc65cEZIEMef\u002B\u002Bj/hWv45vvifH4tuo/DVrdHSkVBE0cURDHaCxy3PUkfhQAv/DPugf9BbUv/HP/AImj/hn3QP8AoLal/wCOf/E1zf8AaPxt/wCfW\u002B/78QUf2j8bf\u002BfW\u002B/78QUAdJ/wz7oH/AEFtS/8AHP8A4mvT9H0qDRNFs9Ltc\u002BRaQrEhbqQBjJ9zXiNrf/GlryBZra9WIyKHJhgwFyM/pXuOqTm10e8nzzFA75\u002Bik0AeFfDpB4l\u002BOGr6yfmht2nnQnvlvLT/AMdJ/KvYfG2ur4c8G6pqZOJIoSsQ9ZG\u002BVf1Iryn9naDLa5cnltsKZ/76JrY/aA1X7N4X07TFPzXdyZCP9mMf4stAFb4BaAY9N1HxDPzJcyfZ4s/3V5Y/iSB/wGvZ65rwBpA0TwHo1ljDi2WST/ff5m/U10tAGR4p/wCRR1r/AK8J/wD0W1eS/s9alCIda0tiBOXS4X1ZcbT\u002BRA/OvWvFP/Io61/14T/\u002Bi2r5p8EeGPEN1pU/ijwvM/8AaWm3PlmBSAzoVB4zwepyp6igD6trJ8T6jb6V4X1O9unVIorZycnqcHA\u002BpOB\u002BNeTJ8d9R02MW2ueF5Yr5Bh8O0QY\u002Bu1lyPzNZF9d\u002BN/jFdw2cVgdN0IOGLMpEYx/EzEAufQAfl1oA3/2erGWPRdav3BEU9wkSH1KKSf8A0MVmfByZNE\u002BI/iLRLshLiXeqbv4mjc5A\u002BoOfwr2Tw5oFn4Y0G10mxB8mBcbj1djyWPuTzXnHxK\u002BHOo3Grr4t8KFk1WIh5oYzhpGHAdO27HBHcD16gHrtQ3V1DZWk11cSLHDCheR2PCqBkmvEbX46atpMQs/EPhuT7bGMMykwlvcqwOPwNV77WfG/xbePTLHTH0nQpCPPmbOGX/aY43D/AGVH1oAg\u002BCF0t98StdvEXas9rLKB6BpkP9a9Z\u002BJf/JNvEH/Xm1eY/BrQb7RfiLrcU1pdpbRW0sMc00LKHxKmMEjHIGa9O\u002BJX/JNvEH/Xm1AHGfADVLeXwtf6WGAube7MrL6o6jB/NSK9dr5c8HeHfFNpoUXjLwnI8tzFPJBcWqjJZBtP3f41OeR14BHt2o\u002BPl1aR\u002BRqXheWK9UYdPNKDP0Zcj6c0AejfEXU7fSvh/rU9wwAe1eFB/edxtUD8TXJ/Aixlh\u002BH9zLICq3V7I8efQKq5/NT\u002BVcdJa\u002BNfjHqtv9ttX0vQYm3qSpVFHTIzzI5HfoPbv7xpGlWmiaTa6bYxeXbW0YjjXOTgdye5PWgD5u\u002BG3gzQ/EPiPVtD8QfaEvbcEwrHLsztYq46cn7v616j/wAKI8G\u002Bl/8A\u002BBH/ANasv4h/DzVoNfXxh4OLJqCsJJ7eM4Zm6F1zwcjqvf3zWfb/AB4v9OiFrrvhmVL9Plfa5j3H12suR\u002BtAG5e/BXwJp1nLeXk15BbwruklkuQFUe5xXWeBfDvh/wAP6TMvhy6\u002B02dxL5jSCcSgsABwRXlGo6h44\u002BME0On22mPpegswaSRwdhA5yzHG/wBlUdevqPbPDmg2nhnQbTSLIfubdMbiOXY8lj7kkmgDxHx/Es3x\u002B0mN\u002BVaWzyP\u002BBV9AivC/Gul6hP8AHnSbuKwupLZZbUtMsLFBhuctjFe60AFFFFAHiv7PGP7M13HXz4v/AEE11GufGTw14f1u70m8g1Fri1fZIY4VKk4B4JYetef/AAH17TdKTWotSv7azEnkspnlVNxG4HGevavRb62\u002BF2qX017fSeHri6mO6SV7hCzHGOefagDJ/wCF\u002BeEv\u002BffVf\u002B/Cf/F0f8L88Jf8\u002B\u002Bq/9\u002BE/\u002BLq9/Y/wk/ueG/8Av\u002Bn\u002BNH9j/CT\u002B54b/AO/6f40AVYPjt4UuLmGBLfVA0rqgLQJgEnHPz13Pif8A5FTV8dfsU3/oBrkV0n4TI6uq\u002BHAykEETpwR\u002BNbuq\u002BKvDNzo97bL4g0smWB4wPtad1I9aAPO/2eMf2brnr50X/oLVl/HRze\u002BOdB070hCge8kmP/ZRVn9nef5tctyedsL4/wC\u002BgarfFIeZ8bPD6N90tZj/AMjGgD3yJBHEiDoqgCn0gpaAMjxT/wAijrX/AF4T/wDotq8z/Z6/5FvWP\u002Bv0f\u002BgCvYZI0ljaORVdGBDKwyCD1BFQWmn2VgjJZWkFsrHLLDGEBPqcCgCdkV8blBx6inCiigAooooAa0aORuUHHTIp1FFABXK/Er/km3iD/rzauqqOaCK5heGeJJYnGGR1DKw9waAPNPgP/wAk9k/6/pf5LXppRWILKCR0JHSorSytbCHybO2ht4s7tkMYRc\u002BuBU9ABRRRQAU1kViCyg46ZHSnUUAFFFFABRRRQAUUUUAePzfs\u002B6NLcSSJrV/GrMWCKiYUE9BxXmfjvwLa\u002BEPFmm6TFfXE9vdrGzyyABly5U4wMcAZr6srwD9oVAmuaFKuQ5t5RkezLj\u002BZoA2/\u002BGetI/6D2o/98R/4Uf8ADPWkf9B7Uf8AviP/AArxf/hMPEn/AEHtT/8AAuT/ABpf\u002BEw8S/8AQf1P/wAC5P8AGgD2f/hnrSP\u002Bg9qP/fEf\u002BFH/AAz1pH/Qe1H/AL4j/wAK8Y/4TDxL/wBB/U//AALk/wAaP\u002BEw8S/9B/U//AuT/GgD6P8AA/wws/A2qXF7aandXPnw\u002BU0cyqB94EHgdeP1rzr4vk2vxb0C7PAC2zZ/3ZjXmv8AwmHiX/oP6n/4Fyf41Ru9W1DUrqKe\u002Bvbi6lj4R55S5UZzgEmgD7YHSlqG1YvZwserRqT\u002BVTUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB//9kNCmVuZHN0cmVhbQ0KZW5kb2JqDQoxNyAwIG9iag0KPDwvQXV0aG9yKFBhdWwgQmxpY2spIC9LZXl3b3JkcygyLzEvMjAyNCkgL0NyZWF0b3Io/v8ATQBpAGMAcgBvAHMAbwBmAHQArgAgAFcAbwByAGQAIAAyADAAMgAxKSAvQ3JlYXRpb25EYXRlKEQ6MjAyNDAxMjkxOTU0NDMtMDcnMDAnKSAvTW9kRGF0ZShEOjIwMjQwMTI5MTk1NDQzLTA3JzAwJykgL1Byb2R1Y2VyKP7/AE0AaQBjAHIAbwBzAG8AZgB0AK4AIABXAG8AcgBkACAAMgAwADIAMSkgPj4NCmVuZG9iag0KMjkgMCBvYmoNCjw8L1R5cGUvT2JqU3RtL04gMTYwL0ZpcnN0IDEzMzgvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAyMjY0Pj4NCnN0cmVhbQ0KeJydWtuOG0cOfQ\u002BQf6g/ULPuBQQBknWCLIIYxoyBfTD2QbZ77UFmRoEsA/Hf76G6OFJ2Wax4gMGou9VFsg4PT3Wz5ItbnM8ukQvkaKkuLI5ScyE4T9kF73wh5xOOqvPRhYbviotpcaG6tGBccyl5FxeXl\u002BAiuZyii96VBYOyKym7GF2N1cXgKobH7BpfTPDHDvkz497oiDDAB3w2fF8ceZiCbQrLOUQKCT5xX6TkEu6LuTiYooTIEuykgvuqo4zwE8bnivswoYJ4YnNUPaKEvYo5ZdhrcJZhr1Vcx4wXzDcjhKU2TAMI8HQwb9zg4Mr7xLNEiEtxDEuA/YLzCEgKxscWXQFkKfLEASwQKRGfCK4UhhK4wH6B09ycr54cXHuGpeC8YZLVIwfApQLaBc4qQCcqrgZ8YlDlrCBllXNSqsNfCAARIYdIgBjnEcE3jE/eu4ZMJQTRMD4jyQ32M4w1jC/IGkIOBRdrQUYBEqYami\u002Bu4bwhKCQJyUViOHULrNMCMAE9DggHjW/hjDPgzIBAMIr8wQsugCsx8gFnfGGOwUzCvJhsMRNnG2YyYCMMjAVcAw9wUJkQcFUDG044gFUCKWPDnIkpsDBpiXmIWTJIiUAyQpaTX9gguOmZGMAhBYJBAJ4CUkk4SREwgmOgDmKhM4eYFZ5JBRvEhZELG4SdAm4QiiAVIE9wnCp4DWrioDFXQTnmNYHIyDsMgoR5aUzbDLYxD5EmGIZBfJ09MxFzQ1JgkOsH\u002BcAVUC8iBGIuRmSbp5QTgxmZnZgBoXZyBnEIESBArgTY4SxyXnLl2kIqc1u4WOCrcXJA5rLQuVxwgDwT6Fb4HyXmLXHpg7AepUCYCWYMg0zdULi4wLXIVQpbJYIuPKXCVCegVrLnwsOVDOaiAkF4zIkwyVLAPQIlgRwMgvulIZ\u002BENJTG5YeSqwuVs/DUBQVCKKpK50rGFQ\u002BCEPhRfeFaRokEFgmAVQOqhZChGllGMLJyCRLCrSmeBQD1wuLBdQPuAotaOSxUY60MAahUGyZyrhTmTMUno45K4Ls8Vwi\u002BBOwtAlfMskVM87vvdq9YORd3s7vdvdq9/vLHurs9HT\u002B/O/10vz7sfn3jln\u002B73asPLvA933//7TfbkNSHvP5FG\u002BNZkG\u002B0gSCa4Yue4QscHvnyMvDudL\u002BqcT7HXxj5Q\u002Bn1gTeqszPMHYEenGomPPlf9\u002B9VS2kbe5mpmcGggmMOiV8/JH39kPz1Q8rXD6nqkKckv1AhK1uS6vbRzh9xy1yk7WOYwBiscNozwolx6CtZvkgt3pmzPCwom\u002BBbGvr0e2Q2wX88vP\u002BiWhqPfarp/dtBTcctZ/F/auRppI6UKj2JzDGqfCRROF0\u002B0pA2yaQNqVU8czbkTbJ5o9b/zNmQN6mYzlTlmDmrw4poJkm3lHawOww9QNVanYnxFugV0bJNGlX0sj3bPCRNtkmjyuXFmVr/eUiabJNGFdqZsyFpsk0aVUZnzoakSTZptpR2sDsMPUDNWjEfcrwqyrmZDCjDp5xi6ppXde3iTMWpDB9xSjSdqYI4czbU\u002BmIu614VxJmzYc4mDNhS2sHuMPQA1dCbGboqr6WaDKjLyFk1Bcer8npxpuJUh4JTTcHxqrrNnA0Fp5qC41V1mzkbr1ITBmwPgRvYHYYeoBp6NUNXtbIWmwFt5KzZgqNq5cWZilMbCk4zBSeo6jZzNhScZgpOUNVt5myYswkDtpR2sDsMPUA1dHMBC6pWtmwyoA0XsGYKTlC18uJMxYlbZgNv3DOz3Kn6NnU31BxuyFnuVIWbuhs/G9s02PLaERcoJEY9fPv1XNVM7hVaVOCe5NCfqT1Blc0rfwO8hurDHU/Ln6p1U380FCDup1r\u002BVLmb\u002Bxvmb8KHnl6BXeCQMPUZmAtbVDWUm70mI2i4tHFT2fKnyuiVvwFiQzXilrXlT9W\u002BqT8/1iNv6lFU5W/ub/yqPmHEll6BXeCQMPUZmAtdVBWVrlqF\u002BgyGSx3ZTd\u002BoSuqVvwFiY03ypiZFXQOn/saaZDeao66BM3/jXvOMEb0r1WEXOCRMfQbmohd1Vb30vHVGhOGqR8HWJF1VL/4GiI01KZialHQNnPoba1IwNSnpGjjzF4f5mzFiS6/ALnBImGow0Vz3kq6qkWxGxPFzSzQ1KemqevE3QGysSdHeYNA1cOpvrEnR1KSka\u002BDU3zB/M0Zs6RXYBQ4JUw3GblAnXVUnrVUat6jJ7lEnXVWT3ZWjcZea7DZ10jVw6m\u002BsSXanOukaOPX33LZjT6/ALnBImGow2Vz3sq6qyW4\u002BUh4/t2RTk7Kuqsnu0lEea1I2NSnrGjj1N9akbO9g6ho49ffcNmRPr8AucEiY\u002BgzMdS/rqprtZiSV8XNLMTUp66qa7a4dlbEmFVOTsq6BU39jTSqmJmVdA6f\u002BntuW7OkV2AUOCdPe0xrtv3aWddNbR7W31XpfRd6n5S1Knp3liUnWSVFHqQlB4nl7u9va2iH523u7WV0mJmN0qRfkXhzefX5YH0/6xsQ5yO25o4N9/qnO9ln/EvvV\u002BNfHdb05HE67m8P9\u002Btv\u002BD9dfol/tj/DE37rtDXjbahEUn759uf55\u002BnX94qib/hm2Hg\u002BndfeS//30\u002BP5y8hq3vj38ubtd3512vLG5HrdjHiPH/3y8v3tcbz/uOUK\u002B8MMjLOxPd4fHfn483f1nj4Pz2b8Ox9/fHg6/X7DhK58\u002BruuJgzztftu/Ox6uzv/xEf\u002Bvzl/c7e8PH64u3N7fvV\u002Bv7t384LYPx/3D7ue7D5\u002BPa/9tzy8y6ZefHz69cfxjxL/A/HL/sH56s53Kz5P6L4f6D3r\u002B/k8\u002B\u002Bq8x\u002Bu8kJM/bQ1Pfce974X2Xum/f9o3VvuXZNyP7xl7fcuubYX2bqm/59M2Yvk3SNzD6ZkBv0/cGem9t9zaxNHClsyotT2kdSktPWm3SApNGkjR4pPEiDRFpK8jrvryGy\u002BuxvGTKy5\u002B8lMnLkrxyyKuAPKLLo7M8gMqDoTywyYOUPI7IY4Is37KsyuIki4aIuYjs/9fit9/8F3g984MNCmVuZHN0cmVhbQ0KZW5kb2JqDQoxNzkgMCBvYmoNCjw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMjI2Pj4NCnN0cmVhbQ0KeJxdkMFKxDAQhu95ijnuHpa0exCEUtAVoYdVsfoAaTKtATsJ0/TQt3cSywoOJDD5/2/4M/rSPXXkE\u002Bg3DrbHBKMnx7iElS3CgJMnVVfgvE17V247m6i0wP22JJw7GoNqGtDvIi6JNzg8uDDgUelXdsieJjh8Xnrp\u002BzXGb5yRElSqbcHhKIOuJr6YGUEX7NQ50X3aTsL8OT62iHAuff0bxgaHSzQW2dCEqqmkWmiepVqF5P7pOzWM9stwdj/eiftc1ffFvb9nLn/vFsquzJKn7KAEyRE84W1NMcRM5fMDDJpvNg0KZW5kc3RyZWFtDQplbmRvYmoNCjE4MCAwIG9iag0KPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAzMzcxNi9MZW5ndGgxIDgxMDIwPj4NCnN0cmVhbQ0KeJzsfQtgVNXV7tr7nDPvSWbyfhDOGYYkkCEkJJAQiOSEJAhGJDxNwGgCRMEXQRJAtIBWBINKrEqxWolYgwWVyQRxwkOCttZnwfoo2trmVnxVaWmL1CqZ\u002Bb99JiC23j7\u002B\u002B9/r/f/OGtZe\u002B7G\u002Bvddee\u002B29z5lAIEZEMUhkap82M68gseWWtURsEWobFlzT2Bz78DN/Ipr4OpE0ZMHyFi387OPnE12aT2RuuLz5imv2Zrs7iao\u002BIzJNuOLq6y/36am/I2pqB/zooqbGhX98dsW96OsTcNEiVMStTt6I/oeiPHTRNS0rzxud3Y3y80TltquXLGgsWnvhOqLnML53wzWNK5tTb4t7De2Toa9d09TSKHUojcTStgj7rm28polC839E9NEJovwNzUuWtYRz6OdoXyn0m69rapamFT1BdOFYIvenJOZq5psWdJW9eVls6aeWVAsJ2vZuaYaQ7wR\u002Bd\u002BPnn5/ud5HlOuhaDX1BkOYJoYuowkWff/75KhedbRmgmGdEjftZWksuGkEcHxfl0RzgqjEuR6skvc73k0IW5XtKITpIj0jpVbqcx1kUbjfLXJDcRyPDvbRyHrq1ir5nTa3QCJ/Ml5XXQtNZoXkCC\u002BjEwuEwFi1L2StmSommAZN4yQDvoKD0EjXTP0HQbx2QdwspL6M54G3gQvBUcBZ4Hvhiwf9Mn4KUn9BmcCP4HqPfd\u002Bm7Z\u002Box1u0D\u002BftQ/33TDroL\u002BS2mEqpT5tC9Z/Fz6AK0jzDKc8SchTTy/X9vbNg5Bbj1kLMhZ0GWwycpA3Z855y53iby5gxajfq7wDPAG0WblGHg84FTUXcH8vYBjAMc88/6IUr/ecLaXPcNjn3339TtoFf\u002By8fZQfPAqeBh/9V9RylKUYpSlKIUpf9/iW0O7/2mbfhnSX7/v4\u002BtUYpSlKL0TRKj8F4L2EXhfd\u002B0LVGKUpSiFKUoRSlKUYpSlKIUpShFKUpRilKUohSlKEUpSlH6n0PyIbr8m7YhSlH670bse9\u002B0BVGKUpSi9O9Mob6/KveCj4CPRvibJ/lhukS6nsrkDTRZnkkT5PU0Sr4MciNdIheSflZvCc2RbqLx8k1UCp4j308FkDXybTRfHk/VZ/SUh6lGeY3qlLdoszWHNkPeLiXReGUL3Wf08y7NMmQz3cxX0M0iz2soFvVt8jK6RJSFvmgT/5ZFPgLd39EW\u002BSew5w\u002BQt4KH0xZjrDjaAqyRl0\u002BifgRtMQ2jLYoDfAH0bx9oO4W2G\u002BgCOZWGyx9Tu/wdshn12yhO7iTL/ws/f5N0xkdR\u002BvchvoPGnPtvtMBx4CED9YXn6p0ro/R/n85Zi8J/rB2lKEUpSlH6H07SAA\u002BK/FoENggl5PgQko2KcaSRTGk0hEbQSCqmSppEU6gGz9NzqI4up8XUTMvpeuqgbupho/hbJl2zaqlantasrch82fg9BJqBzaeJwE7GU/sMYGupkRbRVXQdrQQ28DfYFoENv/sPPgtoAhWFfxBip/0f/7Tv\u002Bx8/evxPRO\u002Bd99e/deKfJJNIYp6OORjTGNMLX5i\u002B/PUVjHM45a/00SjJytliLLkpPiExKTklNe1LpcysbBpOPnggL39UQSGNKSqmEhpfOtBcWTXp/MlTqPpCumhazfQZM2n2nItr62jeJf\u002BpGfwdkr7M7vkHqm\u002BI5O1I/t8\u002BCvSJs2fpZRPOKx0/rmRs8ZjRhQWj8vNG5o7w5Qwflp2VOdQ7xKOpgzMGpaelpiQnJSbEx7ldsTFOh91mtZhNiixxRiOqvJMaNH9Wg1/O8k6enCvK3kZUNJ5T0eDXUDXpqzp\u002BrcFQ076qqUPz8r/S1COa\u002BllN5tJKqTR3hFbl1fyvVHq1IJs7vRb5Oyq9dZr/uJGfauTbjbwTeY8HAK0qZVGl5mcNWpV/0vJFbVUNleiuy26r8FY02XJHUJfNjqwdOX\u002Byt7mLJU9gRoYnV43r4mRxwih/mreyyp/qrRQW\u002BKXMqsaF/prptVWV6R5PXe4IP6tY4J3vJ\u002B9Ef6zPUKEKYxi/qcJvNobRFovZ0Eata0Rv2\u002B1BF81v8DkWehc2XlLrlxrrxBhuH8at9CevOpbyZRGdx1XUrj\u002B3NV1qq0pZrIliW9t6zd87vfbcVo9I6\u002BrQB7A8c1JD2yQMfTucWD1Tw2h8XV2tn63DkJqYiZhVZH5N3ipR03Cl5rd6J3oXtV3ZgKVJa/PTjOs9gbQ0vSfcR2lVWtusWq/HX5burWusHNSVQG0zru9O1bXUr7bkjuhyuSOO7YqJHcg4nOdmms62GTlDXeSqZ5z1LBMWeacgIPzaAg2W1Hoxp7EiaRpLbQvGQg1Ux4DyL8SKLPZbKxraXONEvcD7lUyXV2v7lBAB3uOffLWmcaDGlOn6lERWxMnZUEP7mbzf5/Pn5IgQMVdgTWHjBKM8JnfE8iAv8ja7NAi4j2rg28a6cXlwv8cjFnhjUKf5KPjXTq\u002BNlDWanx4gPc9X5\u002BcNoqX3TEvibNGy9kzLWXiDF5G82zgDEv2WrLN/Yl1J8VWLxvlZ0t9pboq0V8/0Vk\u002BfW6tVtTUM\u002BLZ61ldKkfaxZ9sGcv74ilopnQ/keLpktCIoLzmrLAq1Dr\u002BciT8mI6gX\u002BiUEpVHBtEl\u002BV8PkSFpn83j\u002Bt5ig2XIOKBg\u002BIVCG\u002BBI2YKV/nO\u002Br5fFfKX/FOkebBHvlLF49a25bm\u002B0rbZNwALW1TfJqk9oa2hqD4bXzvZrL29bDt/Ptbc1VDWcWNBjeuzHdP\u002Bn2OkxiERuHYOU0scvLNkzv0tmGmXNre1y4FDbMqg1wxisaJtZ1DUVbbY\u002BGM9eo5aJWVIqCJgpUzRDnAW4x9NN7dKK1RqtsVBjlBUFGRp3lTB2jBUEeqXNFBsoyBtJxoS8IypEW/Yy2jDpLpG5tRHvYgLYFLS7Rspe4eEQSjRESh0bFrNpzw8HYY3W5ROUOmiXtEh8\u002BhjJIlZ6QHqdSyMe7TRnq2nKn9BjtAnNyIdXAHWCJdOmxbrOzQA9CxiUYMpDkK\u002BgJ9yIzrtCoz72nYO1\u002BaSddRoWo3hmYLap3duuVBYYsHB\u002BReaMMGbBEms0JBWp5GmB5YE6xA7lp4E3greCDYBMM2km/BofBkvSotC0wSUUPj6Cj2PIE6RF4Vkd6GBwGS7D\u002BEczlEfr9QI0Mqx7utjrE8A8bqHTpYaBikbrAa8G7wIfBCi1BuhUcBkvIbUPbNuLSNumhgEt1ldukB2kNmEvfo1jGSEXvW7pdhm/u646NL9DLXdK9VAPm5JemUi\u002BYo9u7ALuLONSrA7mjDBdWd9tiClzQ3wijN8KQjRiyAykzyjpY6G/sjk8S3X87EOs2cDcE8kdHMt2ulIIaeGElMalJupa8WNLVkIMhF0CKpZ4vLSSnYafeHesqWIvxyqBeJiXikVCVyqUkKoCslNIo3VBrDcRExmkNDMspwIwrpBRDJVZy0mhIi2QOFKjaPkk3nL\u002Bh22oX9m0IuBILDkjrJDMlQGsttJLV2AOSDStrM2Yyq9vqLGgvd0izMM1ZcIsKGxm8fK3R0bUBdFTulqqkQZSEtqukDEqEnCQNNuR26SE8tqnS97uzBqm9\u002B6S7DdR3RKcYfkIktCZ0O2MKesut0gS0\u002BqU7sQB3GoO3d2eNLaDyLGkY5YM5fLwGuTVG0Lch14ZVa8NKtWGl2mBUm3gKk25Dy23QyZNWUbO0gtrBW5EXYZUYgEN7jMzQYQU9UqqUAse49sGVDLVp3dYYYVlKIC7eUEvpdsQUlB2QliHOl6FPXWrpTk4pWLJPyjGmMqI7JV0AmgMI1wNScmRpAEwSS3JAGgRHCMdkSIMDiaq/XEVZBLKKV4MX\u002BRHhJP4af0MsNz\u002BMspAvDchXBuRPIzLcy49ENgX/mZB95YP4e\u002BjsMv4ObUWO8338WTwoq/xtHhRW8Ld4D5VBHkV5IWQPZCHk3oDneTXIg90QsP3\u002BgDNJTJY/G/DlDWTUzIFMcvpAJi6poDyTP8MP4Z1P5T\u002BHHAp5iPfi6V7lByFTIHt5Cz0P\u002BSROrfGQuwfkj/h\u002BEeL8Kb6HxkJ2B2KECf6AWYhdAZMQTwQoUqrJU/fzJ/hOvDqo/PFAVhpqH\u002B3OGqrG7kN/jD/CWwIZaly5jT/EatlJKHXQUSEpjm8LFItO2gP7NbWHt/N2PaVYz9Rz9U4pPzM/N79T0jK1XK1Y69TKXfxOHCBbOfYv34i0mDSO6AHr4HZ\u002BW0Au9pf3Y05iXpzWIu0wcg1Im40cIXWdbT1h5Mr4OpoG5uhjNXgNeC34JvFbIPkq8A3gG8HfMmpawK3gFThNmoFoBqIZiGYD0QxEMxDNQDQbiGZj9FawQDQA0QBEAxANBqIBiAYgGoBoMBDC3gYgGgxEDRA1QNQAUWMgaoCoAaIGiBoDUQNEDRA1BkIHQgdCB0I3EDoQOhA6ELqB0IHQgdANRD4Q\u002BUDkA5FvIPKByAciH4h8A5EPRD4Q\u002BQZCA0IDQgNCMxAaEBoQGhCagdCA0IDQDIQLCBcQLiBcBsIFhAsIFxAuA\u002BEy1qcVLBB9QPQB0QdEn4HoA6IPiD4g\u002BgxEHxB9QPTxFV3SkfIfA3IEkCOAHDEgRwA5AsgRQI4YkCOAHAHkyMDUWwxncITNavAa8FqwwPYC2wtsL7C9BrbXCK9WsMD6gfAD4QfCbyD8QPiB8APhNxB\u002BIPxA\u002BA1EBxAdQHQA0WEgOoDoAKIDiA4D0WEEbitYIP71oPyXl4bfxGotuGv5WjbckGvoE0OupqOG/BZ1GfJG6jTkDXSzIVdRsSFXUJYh0Z8hW0i1sIBaHFuehCNgGvgy8BLwVrB4SDoINhu5w\u002BBfg8N8jD5EjjVPM2817zIfNCu7zH1mHmuaZtpq2mU6aFJ2mfpMXCtP507jHMXRQpuMdA3S34NxiSAtM3JlfDTGHY1zdgw\u002Bo/lo3X1c\u002B30OO5zDDuawXTlsUw4rt/LzmWycdBoV43FPZbW6I2uCehRcnJU9ASfTnXs\u002BSVYDWUVqkO2PiOG6D/ITcBe4E3wzuBhcAM4FZ4JVoy4H\u002BrX6kIEu94OzwR6wJoagpCS8msS5LXoPd7LO7h87ySrGyR4G3L5Adj5EMJA9DeKpQPZ8tdzK9lC2eCpiT2LldkLuCqjH0Px4RDwWUPdBPBpQR0PUB7JHQswLZL\u002BiljvZbFJlAZ01IGdi3kLOCKhzoDY9oA6H8AWys4R2DgbKROtwVkvHIDMHUEMjI3kD6niIIQG1RGhbKFssPDNRrmGeAhZS6oZBv\u002B9htTLT7epx9W71E8A/hmMRHm9pQRnicGaQzdFt6v7cB6FcrgbKbUIf90PXgPQL\u002BaTamXmbej/6Ypl71PvUkeqduUELqu\u002BA3bcZQwTUm/G6uVOPV9eq\u002BWpL7jF1mXqB2qjOUOszUR9QL1H3CzOpjtXynXvUGnQ4BbPIDKjnZwYNEyep16u6mq2WaPuFf2lspN/i3P3CA1QQGX0E/JuTGRQxPrs4yNx6jvmEud08zzzRPN7sNQ8xDzZnmBMscRaXJcbisNgsFovJIlu4hSwJwXCf7hPfKyaYXEKYZJHKRt7FRSq\u002BghTvHszC6QLyx0vVvHrmRFbt711A1fM1/6mZ3iCz4W1O8U5k/rhqqp410T/WVx00h2f4i33VfnPNvNouxu6sQ62fb8DL0qzaIAuLqnXp4muTLkbr7kjvIcZS191RV0cpScvLUsriJrhLJlV\u002BTdIwkPq\u002BpJRzsxn\u002BzdUza/07Mur8BSITzqir9t8kvlTp4bHcWVXZw2OEqKvtkZt5bNUMUS83V9ZB7ZihhmiOgRplCwE1y0TShBrOk4lCDWsU0csCHHoeIaBnc1KWoZdlcxp6MhN6XUe1qsouTTN0MomOGjpHM\u002BkcHUQMsJVdWVmGlldjtUKL1Xo1w7DhRkeqCpVc1VBheK4zOlKZMZg/70uVzAGVMWdVxhhjSexLHTWikzDsjE7CMOj4/g\u002BpaaKPdY9qXf2s\u002BJ6qwVvVBG7wb1y\u002BKMW/dr6mda1uHfgCK6th/oJFQjY2\u002BVu9TZX\u002B1d5KrWvUs1/T/KxoHuWt7KJnq2bVdj2rN1UGRumjqryNlXXdZaW15V8Z67azY9WWfk1npaKzWjFWWfnXNJeL5jIxVrkYq1yMVaaXGWNVLRZxX1PbZaGJdRWXRGQ3t9sQww3pnrqJSa7mCSKge8Z7Ulan75WJPUp2X53f4Z3od4JFU255brlowj4TTTHiy8iBppTV4z3pe9mjA00uVLu9E\u002BmMa0koVfvHTK/2e2bOrRWh4tcbv37NlgkymlOoanEl/qDcYjA\u002B52rSsq\u002Bllq\u002Bj1tbWZSJp9S0jqvbnzKz2F02HJWYzhmqorEPdyDN1kmTUdVmtVcFwLxp9MIK1iOFEzsd88KBuw1uXmXeYOsxcvCq0dKdlFCw5gBt8DRjvcXxFIM94feYruodkiveXlu68MRGJ11UhA2meAozQXQyokJkRqbtzkWnPbM9tL\u002B7I7MjtKDahdk8nKtVOcZUG8jolavEtO\u002BMIZFvq4GyYJcZ7KDAowxi4Q2R8vjrfMmb462\u002Bdzc44/axjlw30uszovuXMgkTqlw10gpWIjN56BtY6ADIaWw1QpJNI6WzyJbW0iq6EP3FKK3tpkMHbaZCchXctCh87w6HF4WOiTUj\u002BW5zoGREeoAA9Rj9nw5hG3exzSqbPWCobRVMQpX/GI9wu6qd78Zo/izazOLy7JdFsmsJk6PjodnZ/eHn4IzqPvkPbwk\u002Bxm8M70L6JnqPPYMGvcGMW00XQn01N9JH0HtWFv0cWWk92vNvNYEnUSG/i8ylsuJvuoafZjeHPMGoC3Yz\u002BSqmcysOHwqcph26X25Wj1ifpLtrHTOEF4cV4UhpCbdwXfjP8a8qiOnqYHoNNPtYrTyYPXUXraAtLlZ5D7l76AYWYg9dLFcpBjDSF5tC1tILaaAe9yOJYjXJUORG\u002BIfwBojGehsGmxfQRG8Om8kdkR3hC\u002BG2aRz30POYrPr3yPHm7Mi9UFv5\u002B\u002BBm8hT/FbGw/O6QUKHf23xR\u002BKPwEOWDPKHjkIowzn75Nh\u002BgF\u002BgP9ka8Jr6HJNBMj/5hlMI1lweNv8lS\u002Bmq\u002BWXqORmG09rG2lreTHiuylfXQAvvkF9dF7LIGlswvYfHYX\u002ByN38IX8sHS/tFt6XWbyD\u002BFvL2XCRy30CO2hl\u002BkVOswU9J/PatiVbAn7Lvs\u002B6\u002BN\u002B/gn/s2yRvy1/IfcrWaG\u002B0Bfhi8Kf4t07jS6kVbQGvn2Yumk3/ZTeoD/Sn\u002BgUc7GxbBF7iPlZH/uEW/kQPo038814i35cuki6Szokj5EnylfJr8hvK7cqG82N5tDpztDdocdDr4afCr\u002BK2IlB/1k0CR69CVHxCB2k19D7W/QO/UbED/ofz\u002BaySzHKMraB3cMeZz9mr7LfYpbGr\u002BrHiON5JUZdwq\u002BDn27md/N7MPph8Y0Hf5u/wz/mn0qKNEQqkpZKD0l\u002BKSgdkd6XXXKWPFIeJU\u002BT58phrEyBcr4yU3lU2ak8o5wwlZoWmppNH5pvNt9iebk/p/9XIQotCvlD3YhdCyJpFTzxIG1D3O/GGrwIj/4UFvfRSaxCGvOwbNhdwiaxajaVXcwuYU3sZraefYdtYfezbewJzABz4GbY7uPlfCZv5E38Fr6e38F347OXv8Df5Ef5cVieLHklnzRKmiLNleZJ12IOLdJq6RZ49i5ph3RYek36QPpQOo5VS5YHy63yKvk\u002Bebu8W35VuVC5Bp9tykGlV3lVOa2cNnFTmmmQKc90pelR02/MJnORucZ8m/l1858szWwQy4Hl2rk/dOSp2IOD\u002BQ6eIK9hx1GRgbePWMzch3WYiV3xJyqTQliXGNEO2xJ5qhxv/LhSl/3iuwu2j8awH9MaE5fEf1LRRwH2S94nP8vPozdYA0uVt0vXKi9yD\u002B3EadTO9/N9bCLt5qV8Dn9AIvYebsf3EO8r6R52FVtGO9lxNo59ixWzNfQ6T5JmsluoNLyNy8zKprATBAvoJnkhXfr3f5jKSuiX9FHoQdkp34jzKUibsaKP0a/ZD\u002BlzpoQ/wekm4TRqxClzO\u002BJ9HYlTrx77bA32YypOkKtNh2m3\u002BEm8udg0QV5FJ\u002Bgv9JGyFxE1ESfpB6HF8oPyu\u002BHicC52GHYZPYp9t4jOx455D1FyAGVRugQ73YazpAC7uobm0kL6Fk69u8L\u002B8APhb4evDy\u002Bhl4D9nI1gn7MO7IggEKX0PD6b6C22Efvw/H/1x8gRCi2kXvotS2GZrAD74biyXGlXdii7laeVV0yj4O1b6H5E9G8QzTbMYAG9Sr\u002BlPzML1iaVRtBo2DsWttfS1bxOOkAVLI2asWeH4RyfODCTZejlZnjvAeznA9gbJ3BOXEJP01HGWTJmtADjW9BPNfx8GbQ7sYLfZt2oWYhTO4c\u002Bxrxj2Fi8mI8gHT1txqnVC5t\u002BSe/D22HDrhE4FyrZHPT1Z7qYFmKEIqphXViBPVSCk7VSehn\u002BHspcNJENYT8ArgE7NIYyqER5l3EaEbooPJYvlg7gjgmjvgO3Vzqdx5bCiljMo58S2TQaE5oBG15jkuxnPzOsuI83hddLK0JX00v0Q6yJLi83V8rXyevkL4yfwZCCDyLITBN3cxYymYO8TI8nRQ5JZDPLIUapFpMS4tJ\u002BlkVWHJwplOJznSrtL73IdbJ0an8plSHvOo1kVL7H7XFnIsEbF53WpN7TukJfkCb3ir/5EUQsf4g7WyEr3bCXF5KdF\u002Bg\u002Bm6KnqqNjFVXhylzLWJPEyWqybbIze2pymmTNMlmyzHIWk7K4aS\u002B/Bw9X9\u002BgOLq6CTUxiqTZ7kFm6Pe/vxBvTRSfrS6ceO\u002BY6Hvlc5Kpqqny/HuaVlU519b9f7xuVzyZVTqpkEqyURMKwD/Mn/xK7ZBX/kNWGHu1PCd3KUkMfwNpmqUtqMqy101X66PXKevsp5ZRdNikme5PSZF\u002BuLLebSJGYyW6zmBXMWLKftFgksmguW56tzCbZguwG3SZpqnFzSSzIN3c7HqkQ3qs/3l/fD8tcx93JJcwdV1IiGPZdtzReGuNJlAqN9JExrGDkSZFIXcz92Weh30dS8QLbGuphjzBx5pU9abXYTTZzkA3W000PsLF2m\u002B06lmUeGotXao3ysRapjiuWp/iwYPVTj/Ufp7Kpx0/2M3cJucWg8Z7EBJPJnF1UVOy9naXmtM4tnj2Zb2CpL6y6o1lrGTR/thjvbiSPYTyJhuqJfCzZeNY5/ctn\u002B\u002B8XvY/KL4R77xaPF3AmvDkn/IEco/QibjW6W69eadtg2852mHdYt8c8ZX3eapnjrkuqS5ujXuFelLQo7QrVUsJLTEXWIucUPsVUZZ3k3G59ib9g\u002BpH1R863\u002BC9Mr1tfd7pdKVoKTxGPxplxSaNTOi1ONTYvlsfqKMV2kpJxdBqeJtKGJBy1p3pee8awbyrC4tTSqXDBcd9SwfB5PdXXs4LkJLfLbPIOIberuCh5iMlscruSkgoLioqL3K6sLF7wxspN7SveeDP0OdLCmqSM0dMKI0Lp3bI7dFmoYc9mhFMne3DP5o/KZ10TAh3Sy2ddjTOEHyqHB7dhm2XBB1aao1uv4jfwjVzicpAN775MYUqQX/qUxYo4cljxRFgr/h8fXq87FZJVWZP9siyn2vay7ThbI44unSr2oBHdJ\u002BuPYxmp3uNxm8xjioYWF0pZoQ\u002B\u002B9\u002Bq1jOcfk73tVeGhL9wq1rAQt5oDFmSwMv2yJ1P2pPWkvyj/JOVIypHUI2mWivSKQRUZc1Lvl\u002B9N2SF3DrKY0jQaZipOmyxXpFSkVqRZhqYMTR2aJiVlyXPkDSkPpD8w6IGMHYN2ZFjiKMOVoWWMyliecUtGe8abGZYMsS5JCYmjM7jLEZvhwrpzESs6Aki81WCNKMgf6ubMESu\u002BoPKqjjwHd4i1c3TGK9ajSUk4zhilqbFHXSt46uAzC3jSWMFSbGksYr9v6TEcP776paXYQMxd6KsXrzuUEe4NuEuEDYFYQ\u002BgxrhLZ4ipRLG5Id0nkbaOuyyR\u002B6Kzbremp6Tw9nonnAXSEP/V1IjKqp9ceoPRwHw0CZ4T7xo4dW8eW1iNe3J6iuGLExpjRWV4ES2bR0MKCJOwjs0k2mWXH6WxXxydP\u002B8Y11dUusoQ\u002BTGWW59767PyphaFT5ycxJfTFPcz6i66yi2df2nTlDYM\u002BfPG3Tyzonl9\u002BsiZLrNJU7JV0rNJweksvWJ/4QiK/YdDGQbxT\u002BqGyPWGPtFfZk/B2yjuplqQEdkfSHcncY3OSzJLjkzyq0\u002BXAqTNUd0xzMt25ycmdTpYUZFyPVePz4nm8cG98Z7rC4PInXYgrxB\u002BcU4BquTPb6Xf0Yg0cSa6ja9RN6lZ1l3pQVdQ\u002B89FpQ9nQNF/S0eQV7Cil5pzdTCcHthMi0F2SVz\u002BwICIRxaXHxdEmjhnDpcKrcCrcR/XxmcbeMrxnLk4668YJvLBA/BUwcxIS8g4ZOpW5nNdNv3jFdTOKqtXrVtZOmXy5PdSffs2z1x/\u002B1hWvrf5u6P2f/ST0OVvnWXTtLc1X3pj4nrT44gtqFzaMWLd13i1Xbzi0LH3/ukOhE\u002B9hP8G5ciX8aiMn/VovcWjOEqsj1eFzzHRc5fiNw3TcyUxykpwpD3NOds5zbnc\u002B5XzOaWXcQg6T06zY7E4zORxOZ5A9oadJcoIkyRJ3yE7JyWUbmXVnr/MICvvYMDx0c7Z7D8kyABRktbuVTTZmEwsR5zJvNR80S\u002Ba02DK\u002BhnOeGrOXXcgmG7v62FJcDVOxt8XGLsP12l9fKlyIu4EMsV4Z6ZO/5fpRbGzsmdDNdZznmOp4xfGOQ6FI0MK9PtzBY1ihuzDR62Zuxlf3P8pv/GTPntCJ0C6WfUp6\u002BPSlfw69xQezT0N2RNw8RNwYpRPngksfbonRHMVxVXFTUu9zPhjz3bi3Y6xx7vg4j9sbty4OxxFz2uCFOLc7yDv0pBhnQkyMM86WIO44nUk1rB0H3lfC6ykjutKdjiCfqztVXI7cJgLR1pkggs\u002BekDRaS8hP0BOkhCDbqSe43aorz8XzXGWuaS7JJVRdYqz42NgYOdaFcDySzPRklpymxgSZR49zrmD7jxDT8Z65C8cLzooedv7AMSmC8xiC1MiI49JlnBao8J2N1fql7ohrY\u002BBadjZejVj9SqBmx8Ov5qLCAkKE4q4YOo\u002BlOJZPrV11feP1Dcfa\u002BQf9vxtx6fx9TF68KfRSmNj1GZct2dS\u002Bfv1VHv5F6C9/yQudeOvJO595G7F4MTyeg1hMxpvuAX38lfZWy3rLd1O3K9stP4zZEd8Ts8d9IL7XfTjemagUuStdq5Ke5D9zHUkw76PDgMvMnBLnStdwaAkXDoaL0jtjnaonz8M9wmGezjIr061HrGGrZA2yad27GGPCWUNUOQ/LohtrkqhgO68YfHSagznSMlOOxqUO/at78mTkkD1ZDwcO3JgiIGlgLyPUmJJlbF14Jc7YsrhACWchSzjrN5McGzphm1VRd4Nr8QP\u002BL0KfHf5V6Dcs53fbf9H/0OrpFy1qnjW9WZ45eFZNR/\u002BNoZOv/6/QCVbHbmN3s4X7Tn90272rNm5atwZRejH2bwqi1E639pAc7tNHxbpH2\u002Bxp9nHyWNtkZY59h/1p\u002Byv2t\u002Bw2D54eJTOp9jw7z7OX2afZJbuYsX0v7yCJPfYU50w2WxwWbM3uPDPDM2\u002BDHsOnSUxKc\u002BKB1zHghVJx02A/9hvXrOu4ETrszNx98W5PoonzZE9cXPHF0qEVp25ioT\u002BYjz8nP8SUl1tDF4Tin2H5fOVfEJOb8Zw9H0\u002BT8cbf4T2ql63IYYtiVua8L5\u002BSZasn0WoaNsKTmRSnJk5L5PmJuxJ5YmKCd0hmXLxFS8hkxNOzm01r8UpcPSx7F1ZLXKFW\u002B2hsqdt1T/5IfWTNyIaRzSPXjmwf2THSoo3MH8lHJgzRSIvPx7Ef5Bu7c0fNPPPg0I/Ls37pKV/k4Dae3wUbR7ZxfSaG1wYyShLF9ZkmxNqueHFj1kHpzOrDAdV\u002B\u002B8xqf6z4ctSm4V4Ux7qnYDAXt6A4vvFMaVI8uJQLiotEIGRnefHQPVDI8m7mFzyxc/3cJZfd2l7/0PILQu\u002BFnGzYM4//ByNfAh9Fle1d99atvav37urubL0k3UkaSEgqQCCYAkIEIhB2grbEhU1HIcwg6BslKrKIM4IP2QYnmRkXBp0BE4Ek6hOXcZvnk3FfR2YGB3RkZOYpotKV79yqToA33/t\u002BH0nXraqudNc59yz//z2nKL9sXtOUIX/Yh7yd6fGzjJtf5foKrti1cMlj6dRTa699uk0VMXnR/A0nzbu0YY7EZXvNNZIjM238FeU0d17Vf4K7knuTiTDvGNPWS5v8m4IdzE7\u002BJekt9i3la1YqkUodpWqZvyy4ilslredEwSdomk/TynA5W8IJpdwubof0Cvs7hatH0yGSzXQz6BiQMWyhFk9It0ZZhREtMLTQUCI6DadXdzYtdKHpLuQyAiEdEE2pEfcOlVnXl865zJeM9VGRynyUH0h1CsglFAmVkANg9rrzbps1GKmmucHPck73Fdja8TQd6U6G4jtEgQfHk0SU\u002BlgsqgU12/kAqYKvkXpUNN587QvzI3MjugXpSN17bZX5YeShm371\u002B5c7b9qH8y4//RnQpgXoRnR/x5UHGleu\u002B9z8zvz8i\u002B0UoW8DC70KLNQNoH6tUV3KlcqXaovIIgdXrtVqk4ItwaVBrlYbkbchbxe3XeGKPNQsfd4Sl1sMp/ZTJ7Jtkkpl\u002BNpjKBqrhGjk8YIVuivd2E2tMPp/tcJBE6RStiFqRlow6KVBlv4kbCO6BFO7ASvahgsOt97e0zp05OKpd179YPZNVPrxj0dOWlhX94NZlxzk\u002BvKTz5kn/uvgnZ3XNJUXkefO1Ti9c3\u002B3b9\u002BhxV4ntZEdEEfWgaQSs9KoFzlgdCVCVKwUnxE/EUmFuEXEosiwpARwu8SIQj0/HfxuJgspHUeiSqWCFSJFEQWzYBQgk3yhTNYU0phhQ/NsnZd6FYws566rs3hRIGa9drCnsmPwtdk9XN9Z86Gz2a303micKId7U5hfGSUS4WQWS3IJ8e6H0MQyPMfBTQiiqDAiJ0b5163QtdmIG2qz2qqyK9R2FUfVSrUTsAhRsWLf5hGKueFGHcNXXaz8lWcyOQZf566zNvRurRDAgu8X1LJ2CKDD\u002BRBgSTIgzODPdlSKG1Cp\u002BV72Ka4v\u002Bwwe910jvj1L4/Y9INgTIBPLLO9lODCSKl3nqLEkSqzRqPdrOsMZXDPXzh3juCKulVvBneZIO0e5EzBqzL6PGOYAc4xhj1BfpEIdhSPC3EiGd\u002BTcZ2VOlPo6GpzbVsLd0vu7B5Vyfd81wn3sAt0\u002BT3WLthoRkUderyxzLGYJBCpJlkSZk0RJhpxw2EgLvF8QeJaQKCf7OU6WJZblZVZigWnzAkcI3BijKKIgkh58bRc3SYTB8AoRqn08qHmc0/s15/UephYSsp18UO1h0DtEVq2WgRcgkZCF8qwdke6I7jrxBZZu62zcd1CKKqoO8/Jql5jSGZgYcJ0J841wkk9JW8hOvhMo4xEirOP3kpPkDEeknv5j3SNn6hJVeDHslPBj5R\u002Bx69ld7C5pt7yP7WNfYeVn2aPsOZkdK49n8cq2TBql2zItlj3w/Se7vUo939N/EoCYUk8q1SBsHP56ElW89XAnR7tdYXt0avYIV1gjXGSNueu6nL565sJKE6QOOlMohuBX8OwCS5qLfpp9Dzeat5s3nAZzWoU3Z3937nZ84GtzIszkA\u002BDBD3G/ZThmrBFpFqiVEIjejEi4iIDZC3XPD\u002B\u002B90DlNaiFTszkjsew38AB83zHut99P/oZ6ILghHwYrceCQoShsUkwqgPMR3Hi7IeWP1uXo6DG6pc3caDyYPwzOwoYHG/qL9IUMGV2WfTifuKUiOYGHkKhUIS/BS8ki6Tp5NV5DHpT2yQelPvmM9J0c7CBbpA75RekV\u002BV38HnlHel8\u002BgU\u002BST6XPZXW1tEa\u002BE99D7pTukbdgYb6yCF9HlkhL5ZvwzURowE2kQWqS54nzpPmyEJIrnDoeTXRpjFzvFCg14SVJDuAI0SQhRxeKQFGyxDkEoYp3OqoYhnWzWGwWVV2hG0tKJ1iWaDhTukI3cGqP4aY7isgiQJ5YkIHfgNnW11GLtScygypOud86RU8AIh1jDIVviRJRkqpsooQVWa5iMexi\u002BBjWQTB2gFNJgljkRIDi1W76oE8fHmUFiMszdmDQZs3WuSrBENaKSHx6LczC00pUceAePMrwQkQw4ELGgIuYqiIKiuBjVBrj3F8BWE276/7urouE3dm2bFtdJATAPw0ngGRRFmB5nu1s6Q23vrABPA0G6kaAa3yzwOLF/mOPK1FK\u002BDPWPyuipBnwCDAbsFTbYj1b0ZNIRgJ6yjxlfmz\u002Bxfwj13cuxJ78rpHc8f1t9AU2tRMiT4JmHPRfhlNieTHMaiLxQlwD7TLUr2iEpWLT0SgHidgqQYQQJLIixgIrgb5AVyyhEhMqManiX7dWjTYbYUNpVloVdoXSruBO5YiC7SwlSrkPtXzeOWuWLlVdlA/kC/JBOk0zwkBKgCMrklpLkwy8NgyjwoOGbDui\u002BeGYIYFViFHbRo4clqjVwMZybdDjBOuq9kNKjdiu1FiCjY0M08VZsOHYIFvFGixpZO\u002BChNspdonHWf4F9nXxA5GNshWizo4Rp4v3sR1iJ7tfPMA\u002BIyoUXxhSdY2ODdgI1PPUiiodR\u002BlG8NfAmR2GFBum49mwsa5uLIzCEWxELAghzGrCEJwSxuBqYRo2hCvwXEHy4zxhKp4o7BYeFX6P38cn8QnhW6ykcKkwRVgjbBQewzzNJivPNxgMmEILY1kCjSHIsxNF8XzkM9/NPg4GMJR987tG9qlzDRRZtQAmPQGY1MXkMb805uzgdog7HTudRESCU3QJoVRojbTaK6z2rAmsJ5vETY71zru8m/wbAxu1jaH1EYfgBUuIBLwRfyQUiAi\u002BoaoUHiqwwdR\u002BGTGyW47SpWbAXNHKAqOgtWBFQXtBZwEfLThdgAvcqU4G0XXaSmvO7\u002BnOv\u002B35Qbhp4a\u002BMvRpaf8paOmgDDK8DQh85ojoHMhnk9w4SuZYJVb9ZsqkbNaC7zNvMp81e8zY0/K\u002BPP/6Xjw8fPobfOrZzRVd6tHmjudt8wFwOUHPpt2Z/f/\u002B5s99TPdwPUfsseAHVw2qjhOd6/b0h9lIOLeHe4bDXU6I6nUyem\u002BIuFyMG/wVTBosKKnPycQVu14VRPv9iWDmIKnMA7DyyhAkD2JwjJ4lEGINoOW5yP/oQOWfetu/qHdOue\u002BXZX\u002B6/acKVk2o6ub5g7OP9G3qWeQLZd8lzZuuwq8c1L1Vl\u002BGKK1QDrMAEmxpw17qh1TXbNE65TrnPQVe3OxCHne5LMi7ysiUF5hLPR2egSRLfk8Tv9Lr97hHOE61LXKufN7jdlZY20JnxTwUZpY3h9AS8F/ZLD5ZzlXOVc59zm/JWTc0ZVh19VHS5HQNWCJT63H7X6O/3Y72eiMaouUFyAESGMPmWkGNUNAOStvFQnf4A/wh/lCb9hRQJFE5UJnIgFLtRa/EJcYtlCjg9awfE8dLWiAESAzAXrIxYfactQhVZZ\u002BgTKp/li7DCcSHg857UKNG/5395uf\u002B7Z1luv6zZ//s7K2Vcurvvw7evqpk8qfuIE1zf91Tseejd/1PpHzT\u002Bj\u002BkdbYtk97LTi\u002BeOnXO7gaDae0v9X8k/wnSHoqDG219NTcKj0xSEESFsASFsglF7ELSr9Eb9G/VHp\u002B453Eo4WeY5zTrwlsdSx2Lsktqx0yZDVBesLtscc3gTN2IVFOh2NReGIPiM\u002BI/Fs/NkEaYu3JW6P3574U/xPCT4tl6vF8eJEraonmuQmtSE\u002BIXGduihxs3pLfJN6d/xh\u002BRF1b9wHcFHl43wiLIfVYFyIJ2SVIG1uyAhH9eUhtDzUEcKhPryIyYMo5IjUFuWhvKF\u002BlpmEaFiaHInqdLGsGbWiLagTHUBHkIj\u002BToxIrZsgMrRcCn3ZryHN8Gm61iSkkpFhRalO9wHgUE3oS489geGhb\u002BRsvmnW/McZY1SLxeanuc/AmF5JKWRb\u002BqtM\u002Brg9rkwfh2xnhy4L0MVBH3kFlyQoMLPHv3T5auOgHhjg6JUuLz06ari8tWrUWytbLxc9d9JwOuCcWiuH6MtXe1H30MCiemC0PFqtideAHierE\u002BKNiYflX8dla43SJnmDK2sp66dGHwFBh9iUVuADfi1ILMuifHcKikY6Nty7dexleu/fWzes/fLXyI80wXzPd\u002Butt0\u002BuGDIKHXh91T39zDPm5\u002BY76OP8rRtvnqFPzvMOGzP35t\u002BueH7xP19V266pidfqJRWLb3h6820fXY8Qta8hEJN6wYcF4IKJCqmSVHLN0gqpXdoiCTzicAlhscCIkqZFyFqab9FQQ\u002BaFKKpk6KM39NDDOpvxCtyOt2CCw2L2sdyszJj/OIZZqbPXc2EzcVHD8VxMqrPgJ12kpUwQfWJOJT8xp5Hnzp79/hIG0We9udlwVzxydjMsEgGVwWxY4Gx2ZLR\u002BRHwHvYPfJ\u002B9zHAWCa7gdaDveRXZyHbT\u002BqPAVIgWbreJqJISZIF/GJPnJzKX8PJCSxTiKGD8Ib5MbHsgNz/bgqw2FB04JvAbCCdeHr6JPCNGpVwhaS9rJJ\u002BQYIaQHKYa8lm1nP2GPASgGWz4IVwAs60MKg/FVhlSJEAoLV14zUAwMgwVmvspk0qFTg6jr1MWY6zyiONLttrHEQYARswFsZiwgYRVcGOAKTCZmcwSsZL9C49AP0RI0OvvfXN/3z5OxQPHsp9W5WRbHG2P8wkPy5BlkgUwe5R4WHpUeVD5Ebwn8XcpOtI3dze0QdkvblL3oQVaKoIBQipJCC5or3MXezd0tSToaI\u002BCwHCUVcgO5TL5cXkfukbeSDrmTvEX\u002BKKsjySj538nP5JfIK/JRIshY4hWBFXmFsCLHICxxjARAN4oBYcABryhRhvPD3QGHh0kAZKwwYE1PHeYNX0Dnm2hnercYUUGVT9FGwYNwFjcpNKQrOYd3ULWGqV4pfUyfgt0z9h5TMcgkL9ata7BQcBD8N6UTGgXt8dXDkkeXR8BmALBZXtnW1sasHI5sPdNf9LU5Gi1ASRRF88xRcPQz80mzD2fx02YZejc7KutE35s0VvdnQbr5oHuR\u002BR1dn/0P4xKl5oiMCEs4ViAcYTl7P4qRny7A0jNRXqCpGBEBULFAENBxiTCcLMJM9OAlYJVUX6AwRpSfxBp8No\u002B1g4CLowywAO0wGkxni7slqh834New\u002BzigfXsAj7Ptzn3muF1KoflLq/XksL94Ic\u002BG/FwHXPsFa2U7PcBIPTiYPYEuRy1oJpqT/RQvY2dkn8IN536T3QXfPLn/JBlGLmESTBVqM5YKETGfKwhGpuRNyp9c8qH7E480ItwYnpdcHF6SXJ\u002B8L/zvkYcjvXkvRV7Oc/C8Ggjy4WCKLwu0hFfj9fhh/iD/Iu94Rn/fjQuKq4Z7hqjFRnqYXmzES2ETLtCXF58rxsWNVk2z0unSxxYgWns9UPBtASkoGIKqGQPOUsSHmTkxI99THzPy3LAJRfRYD/7RQSI4VHkIxVXwnjXC29YIVwyBKwzDrxQOT4plUqnaUuTocGDgVv1ArwxnUHdEputIbwVP\u002Byl19eqy2EINfaKh6dpCbbnGauHqZeMG1mPANNtOZehyR9o\u002BOk7XZ4CYpSEIAsWwspOFMdK2jXZVFKC2llMDAaEYSEVegT67\u002BNpinEm3QDBIwwSyTrcdPtsy1GBTkDQoAGH9QS1G8wjPJ\u002BJWLhk5YqQNWhHFegFajrAKtmhRf/qN15/qaWLzSszPFbfATnow8\u002BDTc3923\u002B8ua17eNBtdOeLz4pHzGy6bWO1W8J\u002BH7d7Wsumw2XPPXZfljwyLjY1dGxf8pCm/JJo/Y\u002BIY8w1vVShVN2ZuVXJk8SJQ\u002BQawhm0Wxs1nHuhlvP1njeFK7ci8S/Owdy4/V54bnBtqyf9G4GvIGHWMryZvImlSm3wT87YJuyTZ4UQYMRHaBMwJfjoXPkVxMbIWEyMrClGhuwyzSRd9SMaBVjDtNCgU1Nv6bqubeipb99dpgH1t5AuIni5yMG0ZlJkw31AW84vlxcHFoWX5XAaYi7U2Rms2APJBYamAD/LtIM7fgMJ3dD1nmtneyx83vPrkmzN3rluyaD3Xlz29zTxhfmueNj\u002B4vGUPLn9o\u002BoqORw/94gEae\u002BeA7PXgCWHmT8aM\u002Ba4Wb0twqWuZd1nw1tDN4R14h\u002BNF94uhd93vhD7jPxM/830WOMv7RvlGBaZ4pwQbQy2OZQ5htHdkcGSIXc2tdm3g1rs2hfd6Hwn2eg8FJadloXm600o6ft1ZrdIz4ULdGl0eXe1DhJFBZ16PwhhwKWPAdUz1FrDTPkh4BN6KagKiZ1GMqVDpjhqb7kTOSJ4Q84cj88edr31lpp5Kf3UqTRfiM8fT9jo8jHaUbBuoellWNWIkx/ODdS8y3Pyb85rpy25de33z4gDyp7967TPzbyh46rlP8RdVs2Zv3ff0nsuXV/zHcxBSCRJQySOUG80G3V2Vs5stxlBvC98it3hta9kJpnFWklYUthfi0azuGB3Qw1PYBseUQEN4lyT5LXNRqNUYTkVwumAqZK3MqSYRtRSXi4ncS20nJoYL5tcNSth2xrYYC5HY/M9C9GAr6jJ\u002BmbzMa1sLn2mJxWpyAgIT1IDtXmgq5Crz\u002B3GPLzhsfm8\u002B13UHCme9FQ23XLVx3ZJrN\u002By5vAWlANk6UXgbdp9bse\u002ByGx968PAvOkDecSBvCmzFz\u002BSjX/UybvCTRqV2l7Rb3e7eyz0iPyk9qfZERNGPJuFL\u002BUZ5euFe9RB/KPKS/LLjHfk9x1nhG1XNd\u002BUHDIgQAcPp0V2BZwKvB9iAZQ2F9dbo1GDEPzGATnmbna1O7Ax5KQI/FM7TUbXXKuUURO2STrzMHtND7TGUb42GC8JpJ0UWbrjthV4v7dQnijdE1V2sCEwMVQRsI6ooXFi4vLCjkBS6YqKhunRQeC4api\u002Bq7ZyiTwr4Q0apvz5kFLpgAyE4RGO1lYnrsxZA98JNwBVeejNwkTcXqunYNXAphFkLc1t/wMAb3lp6010aHQ50S/Il1uG4WL3Vot9ynEbQjPX1TgO05KRf6qRf7zRAWTYSALqcTgNNAN5XbS2lQ7RA1MSjANKpjTNszILuPhupa/g7FBrx2X7zb3ctQ/43TyEvnzXYO64avyDFrpl7RV0dQjMrdv/i4NaPwRbS5kvm07dunoR\u002BcMvaCRN\u002BSONGCBzgr8DxgkyPUTWCoHISdUc9LaQ9xInkmRAOBD3Y7w16nD4X43b66HNcfkl0KWih0q9ghU6EzCOPK4j6gyhIDwvd8Lmn6dNfPr8sVdeL08VmkRVL3RWehR7s6UHEUJ2\u002BJPYvZDqDR4I4SG1CcujBsLamFy\u002BzWwfSEFJpV\u002BO5DID38HEmBG5C6TC86mFTW0XBVS4P\u002Baot9lKlCVZUCNC\u002Bi5gnEdpTu2vVmh8mJ1wytuaNN8wTe0iyef26WcUvuGtnNH187jA7mcp/H3CQFvD9INNlpF2oCNWialztHo/Ge/6IvkWSwAW5Yjzfs9TDIYR9fo/Xx/oxclFJC1hBkmV/QA4yjCInRcmIFuv7JdQvISli9cYF48X6llBnCK8InQ7hL0MoxPiTwYBl2nBtZwCdDqBAWKu3QwPww1wZC/bO5I6sGEER5qnaWsBONAWLdbnyP00ihTgA4upWSOTpLnp049NX7ZleYJ6IzhjbeGO1CUw/\u002B2nHpBUb781uxcMfWVDTsGl99gsQGpzK6iy06kMCs7qXkWhFyCPXG1KzhNulA9IR6aj0pcQVSa3SWqkTTnAsLzCAHl2054PWgVgmA3mT53iByFiAuGotFcaKdRIWc3Kdl6PemsLzRSyYwJW0lO9BdsuieQKFySFEzHPfTyHJ7z\u002BAGdoEM7TQqsr9N\u002BUpH3erHmvF1rg1PFQXWDfr41PSYn6//Iz8svR7\u002BQNZnsW2slgVQlIjP0\u002B8iecOSZ\u002BQU\u002BQc\u002BZrnpgnTxMX8reQe8jOyh9vN7xZ2i3IR8fJpkubK\u002BXKhXKxQm0gTJw/WpWSJ5YnCEZ427NKqk8zKskJ68A1GhKsQa4sEJCxSsZJE7QwqYmgHQ/2/5WCYVXNyn2kLQeihOHhgecde/aaod6CmREV7uUuKASGw\u002B4jA81dm7CraQG1mEwqjyWiBeT\u002B6y/yD\u002BfWdXN\u002B5M\u002Bgm88fZK9HHm8zHBvpErdmcZVX7jDI6l1wzh9u5A9wR7ij3pV3iW8t1wgkORGIhbbNJxAzMGhMm/zJruXnKtZXmKnq3MQy/E7JICo3pZcrgrzPwXRCpHAE\u002B6NBZXdRDeqIBTxQnhhoSjihbUTZLai1rL\u002Bsoe5B/RHjYcZA/6DhQdrTsWJmTKasoa4Y3nin7pIwvMyL5ej0ct1tvckKMCJECGlq6ZCFmRRgiuD2eVF5\u002BfjIlg\u002Bm53Emvx1hQ0\u002BpBy8GQenCj4YrkJQvy4dzyfNSaj/Lh3BMlyWSKZuUuhklZiUqqp6MxAu47BZemjHHwqoNXcUpPGaPH6hWp11OfpFhXqijVnmKZVDRVmepPkVS49C91A0A7t/BCWyKB9pyBnABh60xbJl133nUt6g1Z/oL\u002BjZVpGrpQ2hcLUAytWUhaC1qunBp05fNefRtiNx9ZvL2y8ZdXrPplKfh2QWrGmKXDzBOF9SPGLR1qniDJrb\u002BePWfO7IVXNOzMtuCFPx9WN2nzdhPjxp8tGNK4blf2nF1fIy0wZ0GmwwgJPs23QFwqkh6CYLbcDWKD6zM3x1uhzSM4Vd6hKABnMEoGGSu0Ac\u002BkXaH/S2iTlaTDSfWrqo7BCOdAp4G9XBzhLE39S5CzHWMACcUuCmmWkiDQkRbzRPGM2sk/SkOg4Da/mdk9vQgXPrZoVPO6LrOIJPc8MWHpun\u002BjcW0mYJzdIKkKiHiHMekkOiF\u002B4/smQF7CJznsDXNhCbe45/rmBltCO/BOfqe4w9EjvY0/5D6S3nac4E7wJ1X3I\u002BLv8X/yz4svOrhV4iZ\u002Bnch6LCtUNKoiPxH8tUKkNW9FHs5zxpiLIKxNBGxgR0lAGyA7aZl7MeC6ZSGCKAlAGZ/utdvZaK9lsuSCnq2Zd2f3/APp5itf3Gd\u002BczeKbr/xxvvvv/HG7Th\u002BD\u002BLvNl/68h/m8\u002Bv69/58797OPXv3Unk3mz8gO0BeN2DY3cawUb5JPuzV2Vq11qfnNbCT1cm\u002Bhrxv8yTKgwaw7Rnh2zwR/OdCzhNUFLfLOcB5PGVOpyvpdltgVvmfrGfqqTqYSPfxf\u002BE9Vm6iWJbynguwLO1RClBLZ3LEh8LZ81JvRnz1b6/rRdg81zv/3ukwxcGfLr76jvXXLNkIU9t8rflHM2ueMd9vnJP9jO3tfvSB7kd\u002B2QEGuYFh2JGW7HuN0h0ckpxoFreYW8WxFd75zqXOFV4iSy5HkQPf6\u002Bh34HrHdAd29ODVRpkggH2zmJdLGcktVUorJCJF1no7vHihd613v/eol3jdTBKxlvwYt6NOIIlhT30vymcGqN\u002BgOZ/JhKfaUAU0AdZdW2Wroo1pOqDNog/b0m6tqlEtVre4rQkbtPAe1EktesL1Da0t8y4dO2ZmBUnuuL6h5uth4/aZ/wAZK8Ge3SBjOX7OOMJ7\u002BISY0jxaYqd3p39H6v5ySfA3\u002BrH3SbXX\u002BVLs08RZ9UycL1PnqIvU\u002B5Ud3kfivQ5hXMIobkguiV\u002Bb3ODd4F8fv7NYGpmcyDcqU9TprsbY\u002BLgQL04lRzpqYnTduKZY4GXOI8VCasoRj8cTQnHcGPJDxxr/zYGbylaVbwysK98duL/8ifgTCbUd3avdE9pV/uvyA0N4LRY0Ygk9aOQX6UVB9AnAwmox1lxybwkuMUIFeklkiFVehqjbPARVDkEVQ9CQwlilG7mrgRrmIrPd8SXX23mJVjbD6TU9VOXnINpaqxu5CGJ10tE4fIrJLX7X8AjxKIiS8RGxxths1KJdi5ZpZ5CMNEwisTgu9akOXBpZSBBpLFWaIyjS6BMAV8IvXZoaeGXa8uhS/e\u002B7S8v1WI89xq1SRjE9PtZdVGwfhyPWsZEHO9eraES8Mb5T3RZ/If5WnI/FHSohESrHQWA\u002BTDXlQN3a0HqUIwnWcbxEt6oTBZD7GGTXJ0grakenEcsgt1WtINaVviBciZAxlSFoITlNMBUhaMBHB6s1Az5XM\u002BBDNaNmpK7R1SvNKCmDDXyuSyuyFoqINidiQPR2RVBzpD\u002BCc8JbBQvrH\u002B18y7TRHriV9qGtjFyFwUbdbfAvY3crFfe/YkiKt95VChvQwxeH1FqH31FLd7sctGbx\u002BeNKLZNrOWlhBvp6af9\u002BKpkqtqoPNPtdWHygfeh0MakSRbw3XnPDyBJ/YLL52OW3ffDpB2\u002BVmt94Fs5fXhnNT6JnW\u002BZ/9eX7WVSRnjmnNL8iGvB7mi6Zu\u002Bvup366efgl44uCicJA/uIpTevve\u002BMAQ//LtZN4K/cA5ITXjLIoE0UJucw12jnF2eISwgEmxAYDjOb1\u002BZHmxX4UYiVBFhwhqm4Xo3VqBzS2FYYjGqsBjekKIBoyu5kAfW4L\u002BL9DkSrkCoapQAutNmxilIbYpOadE6j3d/j3\u002B9lWf7t/i/\u002Bo/7SfY/xuP228Jv5wZE3nAJhoOjAS4sQYiBO9jL//CC1gnLPrF\u002B6vLBZ0ynreCy49Ttukq3MsKIOA8vgtnWpUabSg40nUVNeUePAtR5RUfmpK6OofX3ZLrSLdfjuKkOQxc/Yd6fy8D8qrZ0wcfj96/dibD5qbQD8/gSgziyQBH\u002BwxtHmeJZ7tHCvxYb4O13macJPnBBYs5uMhSpCRA34geMDykoEAQwOkM2ihBJsK/j9QgiQOwgMRnRaR\u002BL8TIDvF/A90kLGXRJIgZMwWe8QIustOG/30suv3XYbCRTPrJ60sR\u002BGOOVdfuW877jRDxxaNmb7qODoClALkVAAHLQA5FZRnBLjSSIUu0A1PNyLdAMF4rxtGi8xEI6P13QTxrCKKskMBxoa9bESKyHFmqPKS4gDfPm0EC6K6zHCKnwkrJUy5ojOjlQ2MZIekJ2SkOqzPUiRNJ4iREM/IdHUcpjFtlXjzDK/CyESRJQljxMO\u002BVEtX14xQfqmuqEVqpWqoRNW0iFuul6dbbQeVhkJwrULqyXTCkj5cCQCt3XA5ahgUpc8DoLDjhc5c2SIdmnoqA5kqE55mPZpHj\u002B3OaqvzEMEtWK6dpk8w2K1hMRTzaXQp1wcE5LA5G6VeHq3xTverKGaC9rJ/PjgxOHQoLrR16gCdtlo63WlsLhVeJnin0Is\u002BQm8Lp1VOFCIkxJfyI5lR4iTUgn6MVglyEqWFEWi00IimCDuVs/xZQSohSaFc1sloeQKZJj9PxMvk2aRFvpbcIK9Bt8rbyHahT36bfCSfk1WWCEDRgiRKyuVqUi83EilAwvJoeZp8vfwIOUxekc8QSYDJ6faG6Ey\u002B1x3QrCqMEXB4dERkgTDYGkSrXgTvHCobqvdbDWfHDFewWGeT52tIubdPK4juGhq8rSQvqCvxuboSvqGLr5YoP1TERdPVDvWYyqosPY2rFXrae9pe0rIf31t0fo7arNbE8NTBJsWLS0vptoHqkr1nNy3SzWCZCQgkFdAmklZdifaHtbWtpMWlldXAI310MmMs60Brza1o3lMvoinmTrTJfOS9D3ACs\u002BZHqNiUsn9Ak83DdFad5gwyE2bVh/QnvKUc8lHRQw6XLgZVly7QDU83XBDOYWqvReAtQAOJqjh5N2Z8PPFhwrK06ulrhSTfg/aDqbvUCmcpEw1UBloDLF0EsbJgUrfWRrz5hXqAVn1rWSMU1mnvWQ9KGRK2jjDC9MiLahkjf4SeK9D5X8hF0bRd\u002BKQWn7VMHbS1cqr7q\u002BOAxzMVtr2jgSej6MOftYLTTRfrc1afaTrghiA8GoJwF3Ezff0wW/2nH2fdaBR9As1KeRwtw6ueep/bF4aNN1TPUTODAzp2wXGuudJn6Vtwsol4KmUtVztR2jyLEuamCSUT5q1tnjEtPL7m6ivD4E5O/M9zuDdz9di45yP1hy1Mfz\u002Bzip2LHuIOsQLjAu96gJGs//G3DG518KlQmBuWmWQkKLXPsXy2FQZcZJF8FmLJ/y/FtztKKMW3ll7gG14jr6A/cW/CN6SNMMvgdggszBZQ998Rw\u002BL3EbOfvPZo7olkqt62OqpJup7zGvLD38rmGfqEE34Xfcn9JwS85sMSgzDhGEQfz01I5Pj/Ye9LwNq6zkTPufdqX5CExCrgCoTEIpBALAbbIGzAYLMZMHgjtkACZGNEhDC243hJ7Gx1XMdJYydNkybtc/c02zSOkzZpSzuZpnYybZy4nWxt3UzTGSdNX9t0GnM9/zn3SgjbycvrezPf9Cs\u002BlvSfe7Z/P/\u002B5956D7NdqFWY2Y4zPqrvoY/0MrWwz93mIa9I17V\u002BTXpEx0Bfj6GvdfyDRNt1vSNfReXTXJfgoL37vO9fs2NRelXYv8yqDG2yfzVxSVEtux0B2B4yejb7iM3Bp5vQKTvFP1nNW9lAWzqZzVAZfsTy7J3som81OJRsms9F5THTsOp/HnORTayuSbtKeN\u002BPNKqw6m5qKks4a7AzuQtLTz1F\u002BL/NNhmEac76wFVjxNtlGRuZrcsPnAtmVd76YrJLiSA8Ux3aPgevQWJ\u002B2MlYzQ/f0wEeMroqxxUafocW25jnJO2HSFkdIzI7ZBzX9xyKpOeVeb7n820lLuo5\u002B6s7S8oxttens1P1rbppel\u002BVw5rvKlhmmqlbs66/yV2T0laQRiRYwLzD7gRvF6DFfgSIPr8juzx7OZvNyFHl6DcLAn1SMzeFUnJpq5s4Xms9b9S\u002BAu3vuidpKjaaQ8KTEirV2nS4tnINzzhrtmxVYcTbseNHB7HMccTBdjkccDO/wOBjHwZLUs2knmbt8OnwW\u002BSzZFeiga8tuoi3F5HbYn8g9rtmBP1wYMNW4iXHWuIvp3nFjjTsCn/i\u002BRRx742kguXr\u002BxsUr2KOQNr9AcFBwUlnrLltSU5q9NLVicXpRYWG58rH0srYDu\u002B\u002BwWD3Lm75867572cfM1ZVLPMWLko7i1LyUrPySyowRV\u002BPuLgdfkpU2ULfpzj3k2fopnI/vZirBCtK\u002BjVh2HJabCvhEHpVht\u002BEPiL69R95DvFuww3yXjw1iG\u002B7t/3Mb7u2/vCxzzbXB6BOMg4RTuHmujfITtFGiD04pY22exvmGT9DGgN572tBE2xjQMFrPbeA6EPFEqSgHOZEbVaN6tAJ1on60CY2gMJoG\u002B33eNzQ61tXbu3Htjt2LlkxEC1ybA/a2Fq2y0cchJSQrb1/isttdS9i11gqP2WBIs3as3B6JDA43L9uzq6p8fIsppbuPkdfW9UHKvWZ9dsb6XVvWr9\u002Byix3OVeuLSksducPI/cbpGvfpl06Tyc/tdhteOm04bawB0HCagIkfWg\u002B7xV/DGbH\u002BZZWvqA8cMOflkr\u002BW4JR\u002Bk6XfVOk3Vq64LH/57\u002BXll\u002BfzL\u002Bs/Nh77sqeiwnMX\u002BfrAW\u002BYtsxNIqC6Hf9/wlpV5mW7yPZtBLjA3xuvOPuypKC\u002BnlfHzpEzYSL4/IJXvIhB7N3x5ICe86vWWvQkZfAyAPtLZdfCFv13urpxtAegzHk8Fw0uVBAUAvyHNflbhqSgFYO6Pi9B/ZQgxwltoC\u002BbZrVRLMnxa7qwWnVWqz8v15xnkvvDaBey\u002B8AbRLoONN8KHrcjLtZiBF7zwlvAWxKz898nL3vjfhL2w9N0v7Hv/9\u002B9Dr8\u002Bh7bgJeiV7hxt9joAOO3XVOkYn0zgUVQpGATEzPstpQlqs1ShhvaI5z8Gq2f36zGz5DJH0AHbPzM6cBg8L0h0g2wfzLHmV4h5dW6UCN219DEKgPfdtFX71JFYePXo7fkUo/cUvEBZeAno87DXIijb6KhyZVZmMMSX1bLLJpDyr0sGq56xOqTIZVZA0zybhpPOpvvSu9EfS2fR0Tcr5ZMCDUk329nkvDFCVM8KYwIVyt\u002BEN\u002BPJeKAfXNoDphlZYC1eDe6usEDe7Wuhm19QU7BlYe/2OzrVJ39EFwlPNVfduwD8WfmD0lE51rMY7r2trqVxyrWFk346qZHzX/f1JjS3AsXOAdy5wLBlloV5feZr8rMGsOasFaZg12pTzJoPpWe2L2je1LDLhI6bPm94y/c7EaU1ak956ntOfVwLer1FPDBgPXDtg9AJM0Pa6Lxheu0AeTBKMiQxh2U7uYBFUFVSa5Ok0zl3TMS28hOuCtyU9oW4Z1VWt/49/CA6lZVVeg0M7mhvwdfimYH9S78u\u002BPx/ev6ioDDh9Du3ATnYzrCKsPq0Kyc8ijQypzsMXYFKD3T8\u002BA9jAuORtEkueqbraVmnDzp29fSdlZ3jhHqaTeTv41YfvTcVlf3B8DmbljZf\u002BlVvBLQUO5CCPL1N2jk/1pPpg4Z5qyzrHJ3mSmCTzCbUu4wQ6yT5M79Ri98AF8kIM0U\u002B6kVLP5OWWMpUVdUxy7A6lxZzCrN7zzJ66Zfue3nn9M9fXL9v79M7Ja8Pbr41cyy1ddfjMgRtfPLxq1eEXbzxw5vCqi58\u002B8eBDJ0489OAJYiv1YCDf5xYBhYVPIS05jlWjJK/xMFqFUqkFLB7FWlgRet2gsYDLj72AiM1m1LMQ30B4w3xf\u002BNfCzr7Bxfe\u002BWv0ay9oqiuzGS0U7WqDnFogNbVw9sqNVPlthJk5Lw045NlmSk1XnDNl8NpOd7bCfQ8iC7Hab6STz4BMWre0EFyMc1BNkC6Kl1Je7CZ/BCpPppEoZIVfAdFBRJ5em22tzJw/\u002BYNuJiUUlKzePjKxt0DH\u002Bi87aTbv27NpUu2rlumEj88Nn1gZL\u002B3a0Lh/pWuxxOAszhA9H7t\u002BxrrG6YpHdV9m9mcS2dcIwp\u002BXqsQKlXHpf2AtLZZRJUaok97PLhOtgUeulNr/0MZVSTk6b1Vt0WK7DOlbDYa1cdpL9xmMaVk5OsgAPAMybOQ0WXw8Rg9s7c7p8YGD2NHmbbP5u/FsTduML1\u002BGDf2KXXpz5QLiO2Y2/LvRSvEJcGlcAeKVd\u002BpVwA8FLDyMRvKCU6JVb9hws39NlCKkexyhJB0W0zCfs4zDngJYZl94R9pGWeK5l7BQWciocyS8GMp\u002BlefM9JL8EpGiheYsqVt9O8yk0Xw7lXTSfqiX5LrqL/QTk0/5I8oP0HAFSnq4h\u002BVX0vBFSnvEHwtGuS6/LhiCW96DlqNNXbDSbDRresXx5dpPHiVCNMyk7BzQFeRx5JWUVFcV1JeZ0lVFZXCJjiZbUe4l6eGfLz5QTQwFtMZL8hXIveU8huY4VH0Sbs5lUm8PhJAse0XbIfoZSyOkZBXkXTM9aoI63vI6p3GtZe\u002BfLd\u002B4/c0c7k8TnCP\u002BoNyjtayOf8Qe/urup5sC5B3Y\u002BUo/Ni8fWNwZXVZqY1e3PjawerDLmLe0tbz881sDlbP3C\u002BKLK6MkDQmTn44eurS5tczibq/jabff5Bz\u002B3vSc9mTeujq7MS63a2CT8IrXUpPfUtThKW8oyctv3DEg7Q/YDP6zIga7xLVXkp\u002BYzSj6NZxRpqWmME6IbBjmtVrOTzz5CTKjAkuX0KHGSMoccdmvNzrdYuNwSLZtRwqlidnSBcgeMiJoSMGmAmhLxWuQFDqMhn5gUZ7HYUlKIo6zG5LU5whxZX9mJ\u002B34pnHzyK7jm6JmJp45ubc67aFR5izc/8E7bbJB5LGPjwN4VU\u002BuX4jt\u002BEg69eQavxmdmNtaM3vHoC9tW9B/2Rn6Bj84MDLgG4jtZ24G2LFTpy3KocBaPsT7HYNDyvN6jZ/RGRUkKm8RgHTGa\u002BvoLXixaPqB9QTrMpqKUIXiJT9\u002BoeEE724VzJe2hJRuvb88VzmFTTvfWg93V0fDgqmJ2T/BgB79k651rLz4jO/WTqv6lNnNZ93VfmxCxUd4P2FSg5T47YJNZwWMnX4gJPnrADLtLMnlewqmQnLhcP0Ox8oKCAWavkemSzEflH4kbkyqhaJwrlZUK54pa/dXrdq3kCbbZXaP72z3jWwfz89ZFDq1ZvDO8eUWhcK64NVDTvb3NfhUKLJUbV1StrZMoubherFK56eBqsrP20m9ky2VPA4\u002B9PmuBCqjR81ptDsPzWZ4sJouQozIodZhJYDHhr9dNqEi2GWN2QKiopAbDVR7CBTEG4wLh3QQGy56\u002BeEMMQbbxL00/TWAxYEO8yb/QtyTyfSasVMsZjlerZflKpYbLJzjMzsB/7J59fcbwOnjF5EobOESvxVbpNS5mPv/MM7ObnyGvwF\u002Bs/OAD9gUk7dh9AHpUo2t9DZ9T4jElVquRUqHkVWqzSqUOYayGxbyagXWw2kz\u002BOHSZar\u002BKUam0CuAB54EVvIJhwXOTlwxEkc7MmGrI3DY7Y/RCSOS\u002BudiAvnuzjGxsGbg5zVB8s/J6gAbIvEd3dpE3H2QPCDfMPiD8DDuZbrxnNsqcnvXKTs2OMPfMtsXe3ePqwKc60UpfZlMmOBnOkc2yfLYn2wcr\u002BuxCs80DsVn6SSb6pEKtkalZeR554MlAlFpfDp6t3huf\u002B71uA5UPOZKqkoiF3GcW/RgbE5ekXoyZvHAnfLjsmxs2PLSzuWnHF5fZfX1ez5r6fHt9X3n5Gp\u002Bdq7tr94c/v2/DurZPv3TgljOfap7998AtvfbCnuu6B27sdhR0ThM\u002B3wB\u002BepTyOexrmFIfVDNrY5x2iJyW2OygbK4mYTdlsgNxhM0sB54V2CyHAlYtmk4in4HTc3z\u002BKC5zo8IXhKPCr3EmbsP9whB\u002BSfDITl18DuZEckbNDZfeZqbpbqtin1GjRo4yMxafYLBmNXn48YRGp4FFAOEl9YCzZ8izT6MZvBy960UeSzhL2Uoj/iwnUzpKjAVpztG2aLuzLEsD42iX9evSsjnZ/85wpy0euG2EoweHJ4FO\u002B2SloNMlPgODNQ6lgpd5ZI/IWJmMIa9Ta9RKOUduo5\u002BeIbo9AD90xhdfAKskN7MY36eEtw8dog89Lp5im9/CSuHP0Pdtwmr6pKMCdfislXwTzzgcdpXKbrdUVSBbWVmag9ybZCwsURtXUn6qHFVkEbVR6WFALzh6sOoL0lTopXMh6A5ojowQDGoiWjTjFB9SpIpXq\u002BlzinhkWVGNv6LqX1\u002B/riYjq2NjsKLS31Of7MDpSUk99fZlVQUaC053X/udw3v/YbIKjzR4s\u002BqGmu8savSkp5UuK\u002B6/i7lRqHzL66215Jdn1f4af\u002BHiimNn9i4q79/RrDCqpRg4C6SWDbFDu68UncvWn7MXZGPe7rEz2fZse0WKHCvkWF56jk/zpDFphSfkKhXKOZGsI39mQIwMKY0QS5noWmCA3KABDsM8rqiKhYfxOLm6mk2wEDLRs/fu7tyxsTHDPbF49P4tVQ27vrFt6sk9yyqG7x7cKC9ZVZWTU73KVdZZk2Or7ZSd2rP6QGTInZPbuu/hwPCj\u002B1euuv2FfcFXzp0b3vShztE0VOe7pi7bVre\u002BpmF4hUOKoMDnMXLdLhpRSVoK\u002BX00L70NxchRG5L\u002B\u002BiX3EhcBu7egwz6fQo1ZvU4LQSjnIHtx5DKZfK38FjlTK18pZwqBLwomyUCCRjA9hRmaoX4FVliMWjZJIdeTB2FPMCzLySFqfYKcQUiNj8SfZLlpmCGnC7oHysHLEcPTz8hmZozYC\u002BGA0ZuWeJHuRrI5bQobtrHAV4UNLMXJvSQ83yoUNAsv4jew4haZRp\u002BctArndCYl6zXyJ5/kIsIZa3FJpeOfX82vLC7KIKdIHgf6jgB9epSBvLDu451JuTalssjGp3hSfClHyJYubyVOcvBej5fxOokNPZ6UpKdvtXjV\u002BlNMFGWSeBWCGTJTSS4kFsvQ9ZeFHsonbhxz5LEW6XwZCGIwWQuSu28Q6Uk/EO/Z8Mnd9b0m12J3SfJgR\u002BjpHTbHok7XcaGBkU18trKqKbVosT0ULmrb0pB1W1ioZw/9iGHkVU6nV8YwQufv5colrm6rnjmWlmff3upc1VBhyLljqC7cX61gOQx2vPHSu9x\u002B7iCyofU\u002Bl8FmNCLbIzbcYFttu8P2oI0Tj0Gx5aXbyCEjELfZDNTlZZufAWJ1sNzIZqKPshopgIsv0MXpYIDSTVadXEzFveXSJjlRvwk3uP01wqWZXT86unr1Z17a\u002BzRmyoQ3MsKdizY1ORyNA1UdUzye\u002BsfnVh975cChN\u002B5d/eiTpRvb8roObA7e2mMPbCN6SeR2J8iNnIZd7UtV2Xirx\u002BqzHrFyVqsj2cGbPCbGRN80N6mTiZCQJKSEJWsy4X42S\u002B4Qg\u002BOhZ7ZQd1NBXJAj7zieaYk6u/f2lWxoy2zZNL1ScGP\u002BaOtADa9NSS1pKErd0MRF1JrUwU8/te3Yay0ZRTlG9tbZzca8KvvyvWunVjpUMpm4l56rBUw1xGsqFGqWje2BhnUa\u002BHVEn2mxiLxD9rhSiTjCZQzYqoDL5IGnFCbPKZYXGO6WTmaR0nH20OxdTMPss8wNXOSd59754B1xZPY8jKxCLb4cMBG2jGXo\u002BQmAggZGLos9UmPJE7joE\u002BTRIHdKGh2GFQeNjTowb0zjcbZt9mX8pmCD8V76rVAmUbqLUurzpcodHPhFHat20Fv\u002BRkQfv9CpQaVilBo1TEdkmBky8YoDSSPNXJh/UMtxzOOH6O2ua8CCe/HXPzyMXxfykDgiPgkjsijDp2LEkRDplzKuHlMxe8U\u002BuMiHh6U23O8oljf6VigVnErhkMvMcrlMKeNUnEwFsRDDchCUsUCBmVPZuDKOQZwBYjNOp3KUaTDSwCpQw2pUDMwEajXHiivWhGBt4AIJ1kgMgb97MzkZBZxYmttUY7j\u002BZm5GP3OzDEIK8iYr0cH4q6o2QugP8AahAp8XTggn7xbeAnor8QtC1exa/G93C1\u002BTZPofgL0MVinpmzncwK3mGDFy5BRsjAOnAB82rj5zpikx1kI2/zdwkYvT70gckREfmI5u8HWmWKosTA0Hkz/WcijdopMnaRSOnXK8RY6XyNvkTIkcW8HPq9WZ25NxMBl7k5cnM7nJOBn\u002B68FPGj1Gxphu4TR6mUGeDJx5QqdVGSQ/P2OiDv5CeTk9ooKEABS44KWbfcl9xjq2mpxaZ8zDkAi2ydlsKpvGKdR6zUl8VPgLdwn9SrjECX/BR0\u002Bp9WqlDG/KLPFU5zP1Hx5mKy\u002B\u002BQD5cZPbb9mp3SXpM4lEq8T5f5S4lXqXESmUaeDaFg72DA83wAfdU2xncyEDQmGgW7BWaKkoXsC8nFnHBG2MqpowFhI9jA36KxQbht0I7C2i0Mk9\u002BeJj5\u002BmwvotHFu9y74HlJ5N3jK1mU35LPVNtW2JhFphYT08riWharbash3EiIxKWHtcSXJWnyiH3KLrv9RrScsjGZetu5ACP/sgB84\u002Bpj526\u002B6Wf39PTc8\u002BqBm392Tzd2lnRsqasLtbuKVm311W9tdzHe218/3tV9z89vufVnx1avPvbq7esO9BcX9x/csO7GNYUFfQdi3tcHHDWjXFifWtU2g5UH38tarciekpzIQfIO8hMmk1lt\u002BUjHIpqo5IrpDCieczA3ZR7Hd4SO15R11/LeriGP67rO3UMHCh3FS93mriVcRGE21fUOL1qzZ51XrVIIAfaQ8CeDwecoa1SyXAzbC4Atj9xom8\u002BdarE4zCaz2WQw5ZjNaht2Gp2M04nK3Dmi/WBkhFapJnOOISmJvD39ZE5OqdnCq0sTaJihbgsmPqOkFDFqyt3k8IFiat2ELlhnS1O7hZ44AARBrJKXZ0xOjAryLMcZzn\u002Brf5k1M9OyNLy\u002BOuQ9JXz1C97uDH0m78xIPrKiL8NV6C029Dbcw0WScqsLCq7xlmzub03lLIF24dd/7lhnUKpkjFDDfInlFHUFrkVyhvklPZHgAucEnatGt/paI07szC2xKTNtVut9erxFj9fpsR4pDUpe6VNySmVyDbJVV\u002BfaxHP4qgkrbOTviOtZfUVOZqkVW63OHGca8eOPVWhyCEPS4vdExdlJfAIJQMJNrwFi3OROONQiRi4F/JR2\u002Bl\u002BME2Lnw5EwITUlHhqRZ5NOHEjbtragpYov8pjXt2w44ojWRr409vK7RuFNY29nV7\u002Blon9Z376ivpGc2jVVoc\u002B\u002B\u002BUcbvv2aTfqcslxYyypSjCmL\u002BcFDjTvWeU98U9vg8xQlZ2WkJ5kLLa7j28o2rWlMKfruD4FbheBff0/jXYcv6UUOc3JHmBydpVDLMSGWJdKfnQGfemZg9vQAPUFc3BO/R/ga\u002B0/C19lb33nn4jT0dARsfSP0lI88vuRkh8HghAkq35PP4HxjPpOvJNN9lsYozR3UmMWbHXRSkFaB9F6gtP5RxFZHjsojmGc5zWh3ybLiNE4mw7wyJT8ra8XGyIpdXx5fmqTRguO5d9kGc80KU05BasYGHxOZ/Xrg4KbG3GxPrqlklb/Cc3Qt2XYHlnEQcDSCXXh1GrVKp9I41CqzGhbQLSqsMnJyBWiF3EHO9lEqjQ9ALK9APMT3SKWBuY/cTVaq1NQ3EoOApdeAF2Y6CNfn1s8kgKfRe\u002BxCzMlj8rIUOHdmtUylM\u002Bmfx2VCo/Ch0IyrX9Sb9MDwcRqtM5UfHgZ6fiDF7BhiPsTdTv35Fl\u002BdWq5hVAq5hti6jBz4JGNUMo08/paRHHy4yqFkzUrWQPw\u002B0pG92SqkUctlDCtN3BR9cj\u002Bf6urN9EUhgrIhticdTDnhPSATPi7cjle88hJuEg4B/Oh77zFdTK7wGO6YfXX2SRwSjhE8lYDnZwFPJawrCujucQfZPa6Qkx0/LIM5ckg8NoN6kWcaWIEkjMTgZSYWTLyecMsnzTALWTF0iG/3xs8JLbgZKzGDlwP33mDuEtbhL81uEexkRUdjJIhpHDpym1OOfv6TMpTiU8PaS4EZH8bcU\u002Bw36esxxZVQu/LS75gp5n2s0C3Cay7dRO/WM5rY3foN0MN7zB9ZBXoPodlCpHgMEVxpGUy1zA5a9rtYGRMrK4Be9zPvQ9n7UJZPygo1UhlIkznG/BFGXIK7L91GRyT3ZMQRc6HlDcx5KF0KpTeRllysJcF1L8W1Dg9IuHJxXL3Q7w3Mb6C0Hm\u002B4dAtpKY/hU8m8wOyV/VhsyfhpSyUba0lKp2gp8EAqlcdLTcwPmGOyUyK\u002BTCctVTBxfJkfMjfQUsCX2UhGTWakUb3MT6QywIhZT8o0tAz\u002BVUnpdvT6lQlbIFVA\u002Bhb\u002BgPkRu51juWdkfbInrpbkowqZYhek5xXPK8uV25XbVRtUt6of1zymrdLer71f16Xfp39B/0LSaNKowWF4cH4yftnkMM0kLzEvM3/P/D3LMsudljtTClM2pdakPpzmSPti2hfTUzKeymzN/LZ1xDqS1Z1t/BtM/P9TWh1P0U\u002BcHs\u002BpzXl5IS2khfR3mt79r0i8ciEtpP\u002BBKZdfwvctpIW0kBbSQlpIC2khLaSFtJAW0kL6JMnmX0j/Y1NoIS2kv\u002Bl0l5T\u002BObck96bch/8/pA/y7Hl78w7nvZD387zf5H1A0yW7wp5kT7Xn2J12t72apmfzS/Kj\u002BW86HI5Ox0OOh5wspDXOI5C\u002BU\u002BAp\u002BDykLxc8UnCysKDwoSKuaF3R3UVnis4UK4ptkPYVf9WV4drk\u002Bn5JBqR7Sj2la0q/5GYg9bnv\u002BW9Pj/zdpmfdp93/4n7H/WeP3GPx5NFUDqnhbzJ1ea7xjC2khbSQFtJC\u002BvtNCKEe9reI7Ashm18y6CENBCYnumZIMIOUzH0SzKI6Zo8Ec8jMHJFgGUpjnpFgOcAvS7ACBeL9KJGH\u002BYsEq9BtMrUE6/Sc7K7YORFYl3xcgjGSmf\u002BXBDOIM/9aglmUY35FgjmkNr8pwTKkNf9RguVIa8ESrEBl8X6UKC35AQlWoSaLToJ1CsbSDT1jjoWx9NbNEsyhDGsvhWVwXW3dJcEcSrGOU1gO1\u002BXWIxLMIZP1AIUVhG/WhyQYeGW9m8JKuK61fkuCOZRm/SqFVUBkNvPvEizyX4RF/ouwyH8RFvkvwiL/RVjkvwgr0KD1exIs8l\u002BERf6LsE5vzrJTmOwH0xc3SjDQXryIwhq4biq\u002BRoI5lF0s8kpLcCveLcGAT/EEhfVw3VB8rwRzyFp8mMIG2s9uCSb9iPWTCQ\u002BLvyXBwMNikSdmis/zEkzwEWm0wHVz8S8lmEN88SsUTiH1XYwEk/p/onA6qe\u002BySjDUdxkonElk6loiwSBTl4fCWVSmD0kwkakouxxav1uCSf1mCtuJTF2jEgwydW2kcBHhj2ufBAN/XFEKl9B\u002B7pJg0s8tBFYm8F\u002BZwH9lAl3KBLq0CfW1CfW1CXLRxuTyFcSjcuRBZagaoF40ioLw247CaBw\u002BUbQTTdAryyEXAZh8\u002B\u002BF6iNYohZIGNAaJR91wbQTaR9EkzQXhNwi1t8N3gNbUQWqB3CBcDaJpuNJJex\u002BHcWPjtEHvO6HvKeiHh37D0GcIDQE8BPAElEXi4/Bx7D3IC5AjnqtGLoqDH3qYgLo8jOuHcUgfQ2irVHcl5EbhKimdAhwn4zQRPoQoHWMfic8w5QWPlkF\u002BEErIVT/lxHwaxX7CEqU8HWUKSocovSQ3DH1PQ9sIvTIFtQKUczxcj8mjFXAi3AnRduOUt4tp\u002ByCtEUTbYEzC6QD95iWMYnV5en0SrhD\u002BTcQlOEcHKY8CFiFoOQlcaKA1RYpiVPgpTkQDAnREgvNWSt3wX6U9l9esnTfqMigZo7QUQM0QxT0c51gh6qNcmoxTUg09Ek2e66Mk3kc7YPffq\u002Btq\u002BlnQ978Vfb9SD\u002Bak1Eg1YRrqjgM/iByHIYUkmkoo78OAT4iO0EFLRqnm\u002BaFvIpsuqkkRWhKidtQD33O0E56VoRq0iOy3vkLXCd1TgMsEpVKkd5jiG6XyW0d5zFOL3El5KvIgGpdrrDa5FqbaRbhPcApS/AK03oQkfxe19XE6zgTFWmw7JPUSlPJ\u002B2vcEpWAb1IrSMtJqkOIRk\u002BflsolKLURNiVxxZThOgyuen9ONK7kzQfMBaDMEeZekJ8QexXFd8XEup0CU2DTl0xC1nKvxbFqiNERtaoxaT8zSL\u002Bc9aTNGoQKoXzhPV6/eu4jDX8vbREuI6WeE6n5M32K6fzUKYqNfidfiBB0glIi0ROl4Md8Yodazk\u002BoPOcNvnHoM/0dSKuqef55WiZYflr5FqkSY\u002BKAJyRMRbGPSjPVDahJ/93E6KnrtcUkyc73HLCQkcTlCfWOI2nBUki2JV2KzxDC15jFKZYzL87XaRSXjp3BA0oMrPdrlllBAPTuhsxa5IQWpRyZjbKV\u002BK0il6odrhEMjUCNW5pb63HSZlyyUrHfOW0zGORbD5v9mHvqEfp\u002B3XtZHW6wPPiuuzVvgmiinmNYE6Zw5Js0Xc9r9cXNZTCs/ej4jkuuKW85kQowgylvUgqA01gjV5XFJ7i5Kc0SaZ0TfQzyDn/JflHNMj0W9mpA8uDgCmQfEeWU8ril\u002BNDefX\u002B7P/gtkEeeQn9IeluacmP8I0CtTwBvRRuZiHJ7OamOSzhTEcPxo2SIyj82b0UHahQk8CtBZZmyen7mSxo/pj3rfEG0Xq3117\u002Ba6zLvFeH95a8I10Z8m0h3Day7amrOauZkoJkMX9fdhOspwPB9M0BDit0QJTUJvczOsiPUgxSUozVRTcVkm\u002BhJRhm5J4pPUSsbiOMTser4ufXKuJs7wIpWJM818nZ7jxDTl47a/Uo6x2YBEg\u002BMSZ4IJGAToNxlzji9boMZQwtwR/Rh/LHr\u002BAKUgNuPVzvPifugxTD3O1eNrMf6LzTJz/InNZHM8SvQp81tNUl8hympQovvqc67/IyQaiVM/SbV0nPYuWpE48ybO6H\u002BtBsTmtxbUREs7UTPk\u002BmG27KZXWuEaiVu7oaQPco1wtRGuOKFGj1TupJLqp/NQC9RbQ\u002Bc4sY9u\u002BO6A/Drq45oRT/Mktwrqd0BfpG0TWkvHaILeemjNbtp3O1xtg98mqR5psRyurIE8gVdQLyiO1wGtxNVCqzQnipj2wnU\u002BTuF8rFrpiDHM2iHXDf23SKUN0Hcr7Y/gT8ZvpnBHHM9mCdMGyiPSM\u002BlzOWDURnPk6hr47YJ6PXT8BkqziG0HpaEZykVamigGZORSiVaxHuFPn1RCZETwa4M0R1UD5UELxWaOf8vhtwswJ/2vgNJeOkN0QstGSmkP5V6TxDNCbRvNzVElSmo5pYZwlfCgEeB2\u002BKyI866bfou4dCf0Np93/bR8rpZIX4P0vZxyrpPmRGksp7leKitS6pJk2U3puHzUfqqJTbRWA6W4J64hzVR7Rexj2imO0ZmAiTgekW0iLjGt5j/GRsReYuVrJElfyRfC9QbKE4JXT3zkj\u002Bq59Ct8uaesmu8dDfLt4fFwdOdEkF8ejkyEI/5oKDxeyjeMjfHdoZHR6CTfHZwMRrYHA6W8TtcSHIwEp/nOieB4L2nT5t8ZnoryY\u002BGR0BA/FJ7YGSFteNK9x8s7yE\u002B1i\u002B/2j02M8i3\u002B8aHw0Fa4ujI8Os63TAUmyUi9o6FJfiyxn\u002BFwhF8WGhwLDfnHeGlEqBOGQfnJ8FRkKAg/w9FpfyTIT40HghE\u002BSuho7eXbQkPB8cngYn4yGOSD2waDgUAwwI\u002BJV/lAcHIoEpogBNIxAsGoPzQ2WdoQCcFAMIKfj0b8geA2f2QrHx7\u002BaO7ELtaKLZeFxwJ8QXtoKBImeBX2BSOTZIzqUk8ZrVFCarT3xvuirGuM\u002BKdD4yN85/Aw4MeX8N3hwdA43xEaGg2P\u002BSddfJc/GgkNhfx8j59SOcmX1Swqjw/DT05NTIyFgL7h8Hi0lF8XnuK3\u002BXfyU0BplPCUXOajYX4oEvRHgy4\u002BEJqcAD67eP94gJ\u002BIhKB0CKoE4dc/yU8EI9tC0Sh0N7iT8jPGtSgUAPMjMWCYjOAiv5TrcXQmIuHA1FDUxRNtgbYu0iY2ABA2PQqUJWA2DYOGxofGpgJEtWLYh8fHdvIFoUJRegnVoYePw1YUNuFnJDhJ\u002BEYENTcAaR7vazHlQEEIRokGtxGpRkIwaiA8PT4W9gfmc88vsgqUDMgJw1DwPRWdAGUNBAmZpM5ocGxiPkfBgMZ3StWJQKBD4M9oaDAEOJfqdES1hsNjY2GqAhKrXfygfxJwDY/HFTomhILRaHSi1u0OjpdOh7aGJoKBkL80HBlxk5wbam6SVL8QxEvVYpIgRrq5uq1ezcZ\u002BItVoIzV\u002BSti8JQw0EdYEtwfHwP4ou\u002BdbM2HlPHvW6bqIcCapCQDdwIIgtBqJ\u002BIEzARc/HAHbBO0ZGvVHRoBmwmPgFUgUmvPhQbDJccIUP/UnMT375FQQhPyTk2GwHKIfgfDQ1DaQiF80\u002B9AYcKaA9DiPWr5Hcig/LaQYBYLEI4hyuGo9fjoUHSWXE9TNJakbwT5WPBYCPRXHJn1FRJcKI1AjIhS6\u002BG3hQGiY/AYpQyamgKDJUWqw0PXgFDHeSXJR0hKg0A2ETwbBR0MPRNYSl66KqmjwMKRoNBKnKRLTo\u002BFtH0MjMYOpyDggE6QdBMLgeCkuW4JD0ZiCzekxKH8gRA2vVlRx/2B4ezBhXgD/R0yG4kOMbGJOU6SiyVE/UDUYnGe5/gRCI2T4ySgoE3G9YLyioX8cA4i9tTTxPZ3Nvf0N3U18aw/f1d3Z19rY1Mg7G3og73Tx/a29LZ1renmo0d3Q0buO72zmGzrW8ataOxpdfNParu6mnh6\u002Bs5tvbe9qa22Ca60dy9vWNLZ2rOCXQbuOTph\u002BWsESodPeTp4MKHXV2tRDOmtv\u002Bs92rjwe6nWNz2bPTpYMg1DZfmNNEYOxL8MMooWx78IgUWamCEepULaEZCmpZKlUQoRCKGuHypZK0iGicn8zVHTq3j/uPZ9z7/1kzPzmed73fd79\u002B3u\u002Bzzsz1npGoIjRNTYzJtjLoQyMCRY0mwagUQwKh7EmGOvZmGGsUTgba5wlHgtWrw\u002BatTC2MLAGa8GaYy0ICmCtoA6FtQUFFN4IY2ZGrwpjA7bemt4\u002BPUucvbWxoREBZWRppo8FlbpYsGUYXTPsUlVgp/TMMMbmcih9jDnGEEsvZQlasaZnW26dnRGWrgLrw4D/egRjSwtaN/QsLQjWoCgH9tKa8LWonTEeK4fCWBvjaQNiYG0JmqcNJ1jCkm4ELGeBXbJCG2rUqhkBs9BkGzz2W1v0sRgz0BaeVnhl5tUnRxYg0/Cg8w0ak1mZQoKEQNlBDjO\u002BSutOZ0grNQb0sqSVOngs/Bb8LrwafL2yKu9fdUr1Kx7/Kx7/Kx7/98fjl85Uf8Xk/zdj8kuz9ysu/ysu/ysu/ysu/z2a/4rNr47NfxmdX/H5X/H5X/H5/7L4/A85rtefOC7NC6QhTijdxwIZ76pUQ7p/E0y/h5DoOLqa946DVx/Ie7D0OKhfmWZLL7FSY0S/htL58\u002BoUHB1nguiYtYRM4T9t/aoWIMQQ2xBbEXoINcRmhA5CC2GK0FhVkvBDBm9Ku0LRoH61loZre8D\u002BrKoDyg15DpcEUXv1qAUse9jwpU//L8pAuiE//oMuXzfQvg3g6uvvsfx\u002BbfDS\u002B23gUwIT5Ocvh9ILD/KVQxkGufnIocyIJH9MENFZDvXnNFqccikH3f7S9wXApzhN5luqTtwdoIo7M7JsijGKmWWHMsGyqeJ4UGUJg0LRnAA7I4tTjBHUDY6AQRkgQCAjqywjFAGlqsOgiGwXgAjIrdCI5IqSRSCa9Icl/cYSQHf1aI7INtoDQH9nEIEKC/U2I5f4dXnwyOoS9iOzcjhmtkfiL05cXKCgEMJEcjaVDWwh4g1AhXdlw2FQGIxXGQJBWM1WBZ099PE8vRcIK5rZ5R5A2cB2HkCzASyMcBsEIy/MBo/mBbhpAjMvqx0x2NPL34MU4I/mAjhoSiZeJms3V78Af1e0KCBC07Dy8n87bFhxGoPeAEjT0uG8YivTXd1QeC8PeiQZp4ehHXcBgKgAuxIa0ACU0JuV1NDqDqCoBIroZREg/SXtW06H/yQdoEIlVg4UOP5wKpQTAupZYVQoFPIs5VGfcMZpQoxvx944wRSn7fvTgqwh9RJAipBI4UT7gzNDSErXsxikrFzvUWJLpCDF/LTXAZurQlUpkSUhVONJhZBRJhInMvy468SzeF\u002B\u002B1k/vn9xW6T1h/35\u002B1ziV6qrXOFYY\u002BdJ8E9zHnS21Qq2hvymB8dg1famIJiyrubxt0UlrxBRjyqH2\u002BfLoRIENUwO90d7BWVC50fHc4Eb9krt\u002BtXMMJSWXdEKt0PO3yNzxWPzW\u002BXr2qQeNPfw3xO6IxE95H/JWYPdkC3wwqqq7kfFBuB6r3jvREumHDNha09k7DhA/QoWMhI6HVETxZYbWSJzkFgRuRKtYTj5S9GT3UMrweRYYHNwiZ6lQP3BEvABecCyRUog1ACsjM7jEGRiY4HAASVNyINYi\u002BPKYblss2OtsCXKWHPUUGHqt/0j9A4CjJXMjjAHDPCygh94IyNAmhI13xemV5R63pekIRuFC3IJIAShrL5cA9FqAj5aVgZddSVlJQ1VDVkVNXUVdBRCjWZRECAJryXyjHx0jqiQg24eDLMqnxUmSSqOTxYAtLYMYwhIwB0yzjbMNY7DLJzguQb4Kfl\u002BqVXAJ8FPc4\u002BNF0youH6AFK4KtAtcvuHrBhetIW7jygLo8oKYAZgIcvvQaCkVYAGaAyRcZgMVsW64iLCzsR1WAvfpntknAGlqbeaHQRQQMgHy3d\u002BG0lZjhKefwslTMmEtHjdtv3yDrpYx7eqSy6qPzjWkoho9VEq92dtcJqpn19vXzP1pvSOZm9R67xuPsJzKYTPIY2Ne\u002BWftcgX92ymylyVYG64MhV1U/\u002BObjdPYmlqr3dHRi1dKPXA/cXhmSf\u002B5Bv5dj0fFjO4knebqsXQp\u002BYy3riWk44HmNrW6sggVRts7q1csdA0OdCerRVocTpK1PjUwRjO35zTzqfvcM8/aNdI\u002BumeSojZ3w4kAnDvhzZtSeiKrJO9l3rf4ISvpDZtG0kFetRPnrLRFJc166A4jWGttDlXt4UD58age0McF\u002BJaFOSOHRiDt1rDHs5CN6lSKBjK5uJTmsfkWvbgFUxj0g6m1fQjxW4hprs6Wvhn0PdJTYvwRJlABgCUk2fku3DggAM4Fz6\u002BXu5UIkuaEwISTPgCAvUvhXzANf1QE1JUAFWMI81SVRlSb\u002B7Zj8r9BvnMMVF\u002B5RfnfoEwvELCu5eNbW86V\u002BT1v9dsuic6GRftgbnRonyvJEP3xwow4LdCR\u002B0s9kfuGW1Cpnc6h6P/OQgmwhRlawMtfU39jMh59poL2jNk40MLmlPMq07BJzz4PYLh\u002BB5C1JrdLar0c/q6TaPUbuMn5fuknhcXSVvfbcsTLZg6Rm2atbDYbeGhjXCLgTmkRuIe/aONsFzXlcl0KpDOzKP5ey\u002B8IGcsvj0qwReLlLZylfY01jvDSrfRTT60WOCTKPqhlP/m3rHTP5fU9/YzMK64o2fMx1veHF\u002BTe/ecsz7HRqKNu0I1NSxBE7JMwnGqB\u002BX0iZ7B1nftbb3WVv0mOgLUXsC/oNgSMyCHAxsizf1/npP20PWQF9P8Qhoa8F\u002BGCINaKsoKtJc9T0IBiAjVaSE0EzEwNwft37DAAcvKxCuMfvbe8nvsjd6ezZrpV8bEd3a7rg3X8X4cB1C65acLEuo5CavJLyfwrhfmKbBFBO0xqNQlBSAMoJgJL4dXAU4ACFAmh9qQoGXYv\u002BaVU4U2NF1wCXYEU9HF7R1c2dGOJLUvAk\u002BQE6X4vDABVRJRQS9DRpvi/N63Sk\u002B8lL0Z5wUMIvx6HcvkbjFFDIP2EuOMHCpEk7y40Rd9dG772G65T4yHK6mHpqTmVxk9ypFJ6R4eq26qTGIZWifsq1J6KQ2x2qAZdGosJTwkZgj6Ze9bRYiK4j5tY6SAq/TSh0tsJ6MA9pa4omzQHRAo0aOvndHFfFN46cy/FKkEh6QEodyzHUe4cvvsMJeEV97pBC\u002BQUQOweZHvcGQeS8YkK1rPrzNYya1Il\u002BTL/jhe4XdBFrq58fvMD51CcjpWv/BqvLcSZWeem\u002BjZViJsIcXkXdT2oOtBvvOV9xsSrI0EVgPr8rNz/mdSGXfoZLRalXHOM9g5h9gtov6pHijyM\u002BwCTl6zH3q5FmjWsnr2RGfZQwNY735x/Kjwrd0Y4PPx59\u002BnFHv1aw6h\u002BaJYRSa0PvO\u002Bd5UzqOcveleexWSlhQj25/EhKdebjBwS66tvp39sSEDPlXZW/aZDrLd3vN561FQAvWewS3mVtWDDDYnto3O25tPh3GYBnd0MM2dXRCl6WdPXRI0navhLTa7eYrCf7nkcPRfYbKzol5TceVHQNFdS6lujVJvNAVl4oXkXfqVY/DxG1ay9lN1Ez2dLKe7DJMyybrvOGnhG3LfIoXFMYhN6dkiLor88poCOw9rNZqUedYOqNliK94OtLPRtTa1H1CrlXdYZuOLjpPjIu51jazev0uK9hp7/AOgc6\u002BmuSjTBFSgfoXGL1HHzUMSqafDKlHU/kdACq/Lej4A\u002BCy/Zvh\u002Bqdu/gr2kE25TIOd5YXMAkevWUlPwJZ8k9jQHMDKVH5A8VtBBFoCgdJtQliF9GfpIs0SbLuFp0z4C7G7Yz2OXZ/9HPxO4VouG6C/ovgatBqgks1H5vnzoWGOCFmYtqODl7b0d3v6uzsQggqFpL55g3jy2372462nJervZem/SIXXdkspyQll9qZfib7Ynt8Rpx84m5wtVz6yjsd5FE5Sq461iziTpD48GJp85tNByqdU26bBmuSD6YqWBgbBLceP2Dhzhp3jKHIosYgj1RqQYhKtKFpGlMXrpY9bx9jaC012/JH1sIT/iXNMXULf2wwlW54GtfQsiO0IJslHifB23ZpIUY4U8oJ5b9rBkV2aJ8oVkoccdz6NfwWrMihu3r/mNGzLZdf1pvvlrEZL8p5ZKfC0S723j\u002BjYIVtRa8YQBbVUwXurcrCPTk9HS086eS1M2JJFvVUfxE13Rl0pCNcL9HphReS4OMaphhQR3N0Ek\u002BHOofI8B6g8A1\u002BHFw6Hoqk8raCueRUv5akCVZUwKPzPvJQKtWJk\u002BzKdXCA1pUJ1wLHVBBM2g\u002Bt52fQhe1Y49Acc9J3AcOVCLIxzMIrPVfKOL6dERPPkYdyJ\u002Btqdi1ubLQvNYIzEE12cUc2CvEogowP/1EGfRhXQUEArg34NggyDTmdTHuZRWgBK81\u002Bya6QAySUeIfItHePnFgT6YSv4BFoaWL\u002BUDUnwJNI\u002BfkTA41FYvMUWLEYPK49VRqvJ62mg9b\u002BYg680R/Dyc5PHk4h\u002Be1D4pY/VZVM5NEAfdApk3r3fmDfUrN6s5mF/gHYpPWhh9r1DGvmXDMByz\u002BC8yB\u002B2eBXvBlk2ms67AWCJd9OmbEn8v5qff\u002BnQNhOdrOqK712fPGvzmsLKOTc8eNMyLm8ofOKqbEjb/DmWPH4zF2dYfZ7VYXndMzKLozPH8/fPMloG\u002BnpkZ50czq7WbL/qZZxVYt8cbALFaPQesS6rqRw4bh\u002Ba6HJdHnfHntvnufGndyy7YnczpEKh/h79cnpdqKPpqvkzsuXn\u002Be4wP/dsVR/XSZ6ZKeccF\u002BHar5ER6x/ofvdtyu2tXbP\u002BdhfjP388M1b7kpo3nncMy2369Llz7vTtuFsRw/5Fxot72IW0HMM5Xl20KJORRR4Tq5lIQO5pezbqKCQkB3\u002BneLu0XrXhrGSp/Ljmgdw97wxTsw0U85jTedcZ8AnKE5SA\u002BM6UixxVXxzadeCICKxwX6EnRQsQrLvHZFJ0oeRpLsMB9/nI1V6oy5ad8ehjf\u002BhFRBqsq1f2dIj2s/l3vVBw/sDZW8WF0f8pL/Qntr/n2T8IaDD/iHxbIoYvz3bplRSSnS\u002BFvXIPQ8ZiYg6dunkvljkgsO7GSEGjToXnCZF3kD2tcw2GPe5hmChb3Oj4o5G4lIU/Gj6xValGCW1iEbn8\u002BCburYxN2bjhq5a0xcXjYc5rkmYD6rdmPujtTN\u002Btf5b/\u002BQwHN3l\u002BYY2myKMTCKN2m/eHjHh6B\u002BJdtiUE\u002B0gXFoycwp\u002B0rXCQPrWPrSQiv6sx09zh8qBxQp\u002Ba9p0Thp9Kr/mpBLd\u002BnnizP5Is9nmnYo/h3Pv5DoWsnum7t7hwVmW7n\u002Boovrkqj7oohZy/YGS5eLu31Fz\u002BbnV4arcsdhono4C2THMVjLHzXXNIlyME4e\u002BQ62ax6Fg2Oj/R1uwDku9AEPjsv5BvFsqmpd9o\u002BR8g3yDyKaupqn4h36CoQhP/Zlj\u002BV0hVhGS/GcYdvwX1\u002BiPvqZn5KK9kHxKB6/E5Vgg1emEi0tNUzrG\u002BboRYG1q5zV12x1t\u002BvAwCLYZZJ5yCbGXhPRpJBOyvAPqcU06xhwh6a7rNr21mvqr7e1JxVzBgJ009i2V/\u002BHLGkNJSvd5JabuTwbvthjFKh0RJRI/jjhTClbYksxM1d/N3tRN5/Tc0CH\u002BIIVcNEj8a1Mgg13vwBAmLx18ydY3DOV/Z9SlMTOutXUjxrXhdcx2rds5Mxm0eUTPud\u002BAn9Q9MPjT95D\u002BS3nyl8N2\u002BTazot30WjMcrYplVX\u002BwVuTye1qI5pqh/o2D6ieutPGgNiiVpb8vHm3ea9HftXpsJZbCUMP\u002BCVKPgiDz/p9T7h9D0i3qvot7ZdOpN6\u002Bb/EPtmGo21Yn/e8DRVmxII1zp9Nkc84Oqr/Acz6NttDM\u002BLPs/b\u002BQkBV2vr3Zu8B2fG3u69da8wS2row80JH4Ids6wVVZ9n4To\u002B4cG0E0986AMdHUzGk50Cizs/7BZQTV1va0qa1OVqvFQd1RD1Tn2/g7bIu7Rwk\u002BPWkEubOQVmFMMpbr1F5T7D91rfN\u002B\u002BDBJgC\u002BuslNNsm4OdOJtpvvFnxCfFszxklE5lPNpcUP1eMHFWucnZM77fTGZ9qTXM/lrDo7Rz1e70J23Hp5xqvhUwCXU5HiPvVZZ7N1ZyP2n/S\u002B9jefL\u002BOZ5kfkB839yRPN5xjPRmTdytLuAShe/BaOTlDYjOqXGrE9fXsdPUBF3spzn0KGnahuYHnGeM549beIBZw30/v4TBMJ9c/bCl4OLn/4NtnWwNZBneRUiWYiX2XcaIBt6aeQQbH0Ex5SVtm3Qz3vpgrNLowOxB0gOgTEFZEuV/AUqxR9brhfg\u002B1LKgFOX0tGipKXlgXt4mgUbqjr5HdJm3f4eCtzKOp8i\u002BPPFVW4Nk4c0eRICM\u002B21hs0bfh2pWi/pOlBbq5TW1CGPOnMR82pZ/ldgc6q0hKpoMuETNp8Yrr7olfsi8veaKveQoX2J3TUW8z5DVgV9M\u002BANz59GDUfIG9epfl\u002BGlRoc2KN9u2MyhMsmfjVPsmWWREHl89oCrKfKNPrb/TMXGAFGvMk0OF3QeoMBU6\u002B57L\u002Bf\u002BjE7mSrGDXmBgZZDngMGE4P0QrbYcFywZe51CkYIvLBsQp4aez2dmUgwCFnHfgb75frdifDAwQGANkRNuiFJAQ5PzC/9DqKhrKmx2\u002BKjYvKwASsOUb2URA0XLAJoB12QANyUHIgcBgOOblN9yqS6k62Uq0VLUVZWG0WMnXmAWNusKyWQFmWjE4Uw4q58t7aEz2d\u002B2FUyiQyITfG88tdr4sMi1MqrxHzps6H/rg2Rtb27IjW4i3E4rR5872Th3g4M1pyfCMIDgTZHoq8g38rdg4o28H4woqt9iI3Lc58cSXq1LNOZsv6eKEd2z3oIk4yCeozD5sLXlkW2AIXhH4tInoWAaLM7lKjlclCepei7Xdl8IEe6TbfckdTYWzg8SRhb6ck/7e6fwpb10ZSqJCTQDhlbEk9lUBhT\u002BFi3xSU4rsHfjr6hgZK2/KBEQIGm3YS6hNahK\u002BK5I/3GOiCVDmVxiAKaIpLwHKGEAZBii3EKj\u002B2nNV1ThTpXYuM9SzeUs2\u002BRj8/s6F4N5LXM4edy9ZSAGU1P\u002BCffDjgQM7n8J3I8V\u002BZvH84QtldVqV834ld5JTrtd62b/rj5eXb8hI/O4GR4tyCdwKkvZui/poItc2V/fQsz2LKFLAPOl0cPv6pEBm5uO5PevWaSXuFTDNvcH0OWFriRFu2MnX5ODkhT4/xw2o3\u002BM7G55rZMkh1hi5fuy7O9LZiTWJPBCvlzZ8wWYhBO4GuXW2ZCt17oLOnGyiZNfum1RdjffaDeUoGFKPbXPI\u002BdfiTn9IZldP3kTqcaev0c\u002BNDBm8Xr0vSLve5Mgh7qaxQ2liCqW8xTqcdTeQ\u002BLnLYk9z5i\u002BUnboRgbnQUql9/bIRIkY5N2z3PqcExqGMEMpk3cXm9DFti4Xm\u002BNTxLEHzwK66UpUdYS3MvWc2G2ReFvJiKHcfjuVRDy9aX5YwObXIZiWytmjPawjkH7LbNAQNCmVuZHN0cmVhbQ0KZW5kb2JqDQoxODEgMCBvYmoNClsgMFsgNzUwXSAgM1sgMjc4IDMzM10gIDE3WyAyNzhdICAxOVsgNTU2IDU1NiA1NTYgNTU2IDU1NiA1NTYgNTU2IDU1Nl0gIDM4WyA3MjIgNzIyXSAgNDFbIDYxMV0gIDQ0WyAyNzhdICA0OVsgNzIyXSAgNTFbIDY2N10gIDU0WyA2NjcgNjExXSAgNjhbIDU1NiA2MTEgNTU2XSAgNzJbIDU1NiAzMzNdICA3NVsgNjExIDI3OF0gIDc4WyA1NTYgMjc4IDg4OSA2MTEgNjExIDYxMV0gIDg1WyAzODkgNTU2IDMzMyA2MTEgNTU2XSAgOTFbIDU1NiA1NTZdICAxODJbIDI3OF0gXSANCmVuZG9iag0KMTgyIDAgb2JqDQpbIDI3OCAzMzMgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMjc4IDAgNTU2IDU1NiA1NTYgNTU2IDU1NiA1NTYgNTU2IDU1NiAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgNzIyIDcyMiAwIDYxMSAwIDAgMjc4IDAgMCAwIDAgNzIyIDAgNjY3IDAgMCA2NjcgNjExIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDU1NiA2MTEgNTU2IDAgNTU2IDMzMyAwIDYxMSAyNzggMCA1NTYgMjc4IDg4OSA2MTEgNjExIDYxMSAwIDM4OSA1NTYgMzMzIDYxMSA1NTYgMCA1NTYgNTU2XSANCmVuZG9iag0KMTgzIDAgb2JqDQpbIDI3OCAwIDAgMCAwIDAgNjY3IDAgMCAwIDAgMCAyNzggMzMzIDI3OCAyNzggNTU2IDU1NiA1NTYgNTU2IDU1NiA1NTYgMCA1NTYgNTU2IDU1NiAwIDAgMCAwIDAgMCAxMDE1IDY2NyA2NjcgNzIyIDcyMiAwIDYxMSAwIDcyMiAwIDAgNjY3IDAgMCA3MjIgNzc4IDY2NyA3NzggMCA2NjcgNjExIDcyMiA2NjcgMCAwIDAgMCAwIDAgMCAwIDAgMCA1NTYgNTU2IDUwMCA1NTYgNTU2IDAgNTU2IDU1NiAyMjIgMCA1MDAgMjIyIDgzMyA1NTYgNTU2IDU1NiAwIDMzMyA1MDAgMjc4IDU1NiA1MDAgNzIyIDUwMCA1MDBdIA0KZW5kb2JqDQoxODQgMCBvYmoNCjw8L1R5cGUvTWV0YWRhdGEvU3VidHlwZS9YTUwvTGVuZ3RoIDMwOTc\u002BPg0Kc3RyZWFtDQo8P3hwYWNrZXQgYmVnaW49Iu\u002B7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IjMuMS03MDEiPgo8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgo8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiAgeG1sbnM6cGRmPSJodHRwOi8vbnMuYWRvYmUuY29tL3BkZi8xLjMvIj4KPHBkZjpQcm9kdWNlcj5NaWNyb3NvZnTCriBXb3JkIDIwMjE8L3BkZjpQcm9kdWNlcj48cGRmOktleXdvcmRzPjIvMS8yMDI0PC9wZGY6S2V5d29yZHM\u002BPC9yZGY6RGVzY3JpcHRpb24\u002BCjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iPgo8ZGM6Y3JlYXRvcj48cmRmOlNlcT48cmRmOmxpPlBhdWwgQmxpY2s8L3JkZjpsaT48L3JkZjpTZXE\u002BPC9kYzpjcmVhdG9yPjwvcmRmOkRlc2NyaXB0aW9uPgo8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIj4KPHhtcDpDcmVhdG9yVG9vbD5NaWNyb3NvZnTCriBXb3JkIDIwMjE8L3htcDpDcmVhdG9yVG9vbD48eG1wOkNyZWF0ZURhdGU\u002BMjAyNC0wMS0yOVQxOTo1NDo0My0wNzowMDwveG1wOkNyZWF0ZURhdGU\u002BPHhtcDpNb2RpZnlEYXRlPjIwMjQtMDEtMjlUMTk6NTQ6NDMtMDc6MDA8L3htcDpNb2RpZnlEYXRlPjwvcmRmOkRlc2NyaXB0aW9uPgo8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iPgo8eG1wTU06RG9jdW1lbnRJRD51dWlkOkY3OTQwNzFELTc3RjAtNDlDRi05RkE1LTEzNjU1MDBGNzU3MTwveG1wTU06RG9jdW1lbnRJRD48eG1wTU06SW5zdGFuY2VJRD51dWlkOkY3OTQwNzFELTc3RjAtNDlDRi05RkE1LTEzNjU1MDBGNzU3MTwveG1wTU06SW5zdGFuY2VJRD48L3JkZjpEZXNjcmlwdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCjwvcmRmOlJERj48L3g6eG1wbWV0YT48P3hwYWNrZXQgZW5kPSJ3Ij8\u002BDQplbmRzdHJlYW0NCmVuZG9iag0KMTg1IDAgb2JqDQo8PC9EaXNwbGF5RG9jVGl0bGUgdHJ1ZT4\u002BDQplbmRvYmoNCjE4NiAwIG9iag0KPDwvVHlwZS9YUmVmL1NpemUgMTg2L1dbIDEgNCAyXSAvUm9vdCAxIDAgUi9JbmZvIDE3IDAgUi9JRFs8MUQwNzk0RjdGMDc3Q0Y0OTlGQTUxMzY1NTAwRjc1NzE\u002BPDFEMDc5NEY3RjA3N0NGNDk5RkE1MTM2NTUwMEY3NTcxPl0gL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMzg2Pj4NCnN0cmVhbQ0KeJw11DdTVWEUBdALiDnhI4qYRcyKCgZQnpiVIGbMWYwo5iyKOedMZW9txTgoww\u002BwtPBnOBZ4/Zae4qw5zT7djqJ4urpS4p0RRX/5iB\u002BB1EQg8SWQ2RDIqkULPgeyy1CPX4GcykBuOX4G8toDJVVxfPyoIHqLd3iPD3iDLPRAd6TgX0prnFma/H\u002BlIRXp6IZMJNAfPdELvdEHfdEPAzEAg5CBbLzEcAxDLnIwGHkYgnwMRQFeYBxGYgRGYxQKMQZFGItiTMB4TMJETMFkTMNUzMUMTEcJZmIWSjEHs7EQ5SjDfMxDEhWoxAJUYTEWYSmWYDmWYSVWYB1qUI1VqMVq1GEt1mAbNmA96rERm7EJW7EF\u002B7ED27ELO7EHu7EPe3EMB9CAQziIIziMRhzFOTThOE7iBE7jFM7iDK7hAs7jEi7iCi6jGVdxDy24jpu4gdu4hbu4g\u002Bd4gPt4hId4gsd4hqd4hddxM1Q0h9JJfgp8bQt8U0gdvwOdxYHvrVH0B5luWlENCmVuZHN0cmVhbQ0KZW5kb2JqDQp4cmVmDQowIDE4Nw0KMDAwMDAwMDAxOCA2NTUzNSBmDQowMDAwMDAwMDE3IDAwMDAwIG4NCjAwMDAwMDAxNjUgMDAwMDAgbg0KMDAwMDAwMDIyMSAwMDAwMCBuDQowMDAwMDAwNTMxIDAwMDAwIG4NCjAwMDAwMDUwNTggMDAwMDAgbg0KMDAwMDAwNTIyNSAwMDAwMCBuDQowMDAwMDA1NDU2IDAwMDAwIG4NCjAwMDAwMDU1MDkgMDAwMDAgbg0KMDAwMDAwNTU2MiAwMDAwMCBuDQowMDAwMDA1NjkyIDAwMDAwIG4NCjAwMDAwMDU3MjIgMDAwMDAgbg0KMDAwMDAwNTg4MSAwMDAwMCBuDQowMDAwMDA1OTU1IDAwMDAwIG4NCjAwMDAwMDYyMDUgMDAwMDAgbg0KMDAwMDAwNjM2OSAwMDAwMCBuDQowMDAwMDA2NTk2IDAwMDAwIG4NCjAwMDAwMTM5MDEgMDAwMDAgbg0KMDAwMDAwMDAxOSA2NTUzNSBmDQowMDAwMDAwMDIwIDY1NTM1IGYNCjAwMDAwMDAwMjEgNjU1MzUgZg0KMDAwMDAwMDAyMiA2NTUzNSBmDQowMDAwMDAwMDIzIDY1NTM1IGYNCjAwMDAwMDAwMjQgNjU1MzUgZg0KMDAwMDAwMDAyNSA2NTUzNSBmDQowMDAwMDAwMDI2IDY1NTM1IGYNCjAwMDAwMDAwMjcgNjU1MzUgZg0KMDAwMDAwMDAyOCA2NTUzNSBmDQowMDAwMDAwMDI5IDY1NTM1IGYNCjAwMDAwMDAwMzAgNjU1MzUgZg0KMDAwMDAwMDAzMSA2NTUzNSBmDQowMDAwMDAwMDMyIDY1NTM1IGYNCjAwMDAwMDAwMzMgNjU1MzUgZg0KMDAwMDAwMDAzNCA2NTUzNSBmDQowMDAwMDAwMDM1IDY1NTM1IGYNCjAwMDAwMDAwMzYgNjU1MzUgZg0KMDAwMDAwMDAzNyA2NTUzNSBmDQowMDAwMDAwMDM4IDY1NTM1IGYNCjAwMDAwMDAwMzkgNjU1MzUgZg0KMDAwMDAwMDA0MCA2NTUzNSBmDQowMDAwMDAwMDQxIDY1NTM1IGYNCjAwMDAwMDAwNDIgNjU1MzUgZg0KMDAwMDAwMDA0MyA2NTUzNSBmDQowMDAwMDAwMDQ0IDY1NTM1IGYNCjAwMDAwMDAwNDUgNjU1MzUgZg0KMDAwMDAwMDA0NiA2NTUzNSBmDQowMDAwMDAwMDQ3IDY1NTM1IGYNCjAwMDAwMDAwNDggNjU1MzUgZg0KMDAwMDAwMDA0OSA2NTUzNSBmDQowMDAwMDAwMDUwIDY1NTM1IGYNCjAwMDAwMDAwNTEgNjU1MzUgZg0KMDAwMDAwMDA1MiA2NTUzNSBmDQowMDAwMDAwMDUzIDY1NTM1IGYNCjAwMDAwMDAwNTQgNjU1MzUgZg0KMDAwMDAwMDA1NSA2NTUzNSBmDQowMDAwMDAwMDU2IDY1NTM1IGYNCjAwMDAwMDAwNTcgNjU1MzUgZg0KMDAwMDAwMDA1OCA2NTUzNSBmDQowMDAwMDAwMDU5IDY1NTM1IGYNCjAwMDAwMDAwNjAgNjU1MzUgZg0KMDAwMDAwMDA2MSA2NTUzNSBmDQowMDAwMDAwMDYyIDY1NTM1IGYNCjAwMDAwMDAwNjMgNjU1MzUgZg0KMDAwMDAwMDA2NCA2NTUzNSBmDQowMDAwMDAwMDY1IDY1NTM1IGYNCjAwMDAwMDAwNjYgNjU1MzUgZg0KMDAwMDAwMDA2NyA2NTUzNSBmDQowMDAwMDAwMDY4IDY1NTM1IGYNCjAwMDAwMDAwNjkgNjU1MzUgZg0KMDAwMDAwMDA3MCA2NTUzNSBmDQowMDAwMDAwMDcxIDY1NTM1IGYNCjAwMDAwMDAwNzIgNjU1MzUgZg0KMDAwMDAwMDA3MyA2NTUzNSBmDQowMDAwMDAwMDc0IDY1NTM1IGYNCjAwMDAwMDAwNzUgNjU1MzUgZg0KMDAwMDAwMDA3NiA2NTUzNSBmDQowMDAwMDAwMDc3IDY1NTM1IGYNCjAwMDAwMDAwNzggNjU1MzUgZg0KMDAwMDAwMDA3OSA2NTUzNSBmDQowMDAwMDAwMDgwIDY1NTM1IGYNCjAwMDAwMDAwODEgNjU1MzUgZg0KMDAwMDAwMDA4MiA2NTUzNSBmDQowMDAwMDAwMDgzIDY1NTM1IGYNCjAwMDAwMDAwODQgNjU1MzUgZg0KMDAwMDAwMDA4NSA2NTUzNSBmDQowMDAwMDAwMDg2IDY1NTM1IGYNCjAwMDAwMDAwODcgNjU1MzUgZg0KMDAwMDAwMDA4OCA2NTUzNSBmDQowMDAwMDAwMDg5IDY1NTM1IGYNCjAwMDAwMDAwOTAgNjU1MzUgZg0KMDAwMDAwMDA5MSA2NTUzNSBmDQowMDAwMDAwMDkyIDY1NTM1IGYNCjAwMDAwMDAwOTMgNjU1MzUgZg0KMDAwMDAwMDA5NCA2NTUzNSBmDQowMDAwMDAwMDk1IDY1NTM1IGYNCjAwMDAwMDAwOTYgNjU1MzUgZg0KMDAwMDAwMDA5NyA2NTUzNSBmDQowMDAwMDAwMDk4IDY1NTM1IGYNCjAwMDAwMDAwOTkgNjU1MzUgZg0KMDAwMDAwMDEwMCA2NTUzNSBmDQowMDAwMDAwMTAxIDY1NTM1IGYNCjAwMDAwMDAxMDIgNjU1MzUgZg0KMDAwMDAwMDEwMyA2NTUzNSBmDQowMDAwMDAwMTA0IDY1NTM1IGYNCjAwMDAwMDAxMDUgNjU1MzUgZg0KMDAwMDAwMDEwNiA2NTUzNSBmDQowMDAwMDAwMTA3IDY1NTM1IGYNCjAwMDAwMDAxMDggNjU1MzUgZg0KMDAwMDAwMDEwOSA2NTUzNSBmDQowMDAwMDAwMTEwIDY1NTM1IGYNCjAwMDAwMDAxMTEgNjU1MzUgZg0KMDAwMDAwMDExMiA2NTUzNSBmDQowMDAwMDAwMTEzIDY1NTM1IGYNCjAwMDAwMDAxMTQgNjU1MzUgZg0KMDAwMDAwMDExNSA2NTUzNSBmDQowMDAwMDAwMTE2IDY1NTM1IGYNCjAwMDAwMDAxMTcgNjU1MzUgZg0KMDAwMDAwMDExOCA2NTUzNSBmDQowMDAwMDAwMTE5IDY1NTM1IGYNCjAwMDAwMDAxMjAgNjU1MzUgZg0KMDAwMDAwMDEyMSA2NTUzNSBmDQowMDAwMDAwMTIyIDY1NTM1IGYNCjAwMDAwMDAxMjMgNjU1MzUgZg0KMDAwMDAwMDEyNCA2NTUzNSBmDQowMDAwMDAwMTI1IDY1NTM1IGYNCjAwMDAwMDAxMjYgNjU1MzUgZg0KMDAwMDAwMDEyNyA2NTUzNSBmDQowMDAwMDAwMTI4IDY1NTM1IGYNCjAwMDAwMDAxMjkgNjU1MzUgZg0KMDAwMDAwMDEzMCA2NTUzNSBmDQowMDAwMDAwMTMxIDY1NTM1IGYNCjAwMDAwMDAxMzIgNjU1MzUgZg0KMDAwMDAwMDEzMyA2NTUzNSBmDQowMDAwMDAwMTM0IDY1NTM1IGYNCjAwMDAwMDAxMzUgNjU1MzUgZg0KMDAwMDAwMDEzNiA2NTUzNSBmDQowMDAwMDAwMTM3IDY1NTM1IGYNCjAwMDAwMDAxMzggNjU1MzUgZg0KMDAwMDAwMDEzOSA2NTUzNSBmDQowMDAwMDAwMTQwIDY1NTM1IGYNCjAwMDAwMDAxNDEgNjU1MzUgZg0KMDAwMDAwMDE0MiA2NTUzNSBmDQowMDAwMDAwMTQzIDY1NTM1IGYNCjAwMDAwMDAxNDQgNjU1MzUgZg0KMDAwMDAwMDE0NSA2NTUzNSBmDQowMDAwMDAwMTQ2IDY1NTM1IGYNCjAwMDAwMDAxNDcgNjU1MzUgZg0KMDAwMDAwMDE0OCA2NTUzNSBmDQowMDAwMDAwMTQ5IDY1NTM1IGYNCjAwMDAwMDAxNTAgNjU1MzUgZg0KMDAwMDAwMDE1MSA2NTUzNSBmDQowMDAwMDAwMTUyIDY1NTM1IGYNCjAwMDAwMDAxNTMgNjU1MzUgZg0KMDAwMDAwMDE1NCA2NTUzNSBmDQowMDAwMDAwMTU1IDY1NTM1IGYNCjAwMDAwMDAxNTYgNjU1MzUgZg0KMDAwMDAwMDE1NyA2NTUzNSBmDQowMDAwMDAwMTU4IDY1NTM1IGYNCjAwMDAwMDAxNTkgNjU1MzUgZg0KMDAwMDAwMDE2MCA2NTUzNSBmDQowMDAwMDAwMTYxIDY1NTM1IGYNCjAwMDAwMDAxNjIgNjU1MzUgZg0KMDAwMDAwMDE2MyA2NTUzNSBmDQowMDAwMDAwMTY0IDY1NTM1IGYNCjAwMDAwMDAxNjUgNjU1MzUgZg0KMDAwMDAwMDE2NiA2NTUzNSBmDQowMDAwMDAwMTY3IDY1NTM1IGYNCjAwMDAwMDAxNjggNjU1MzUgZg0KMDAwMDAwMDE2OSA2NTUzNSBmDQowMDAwMDAwMTcwIDY1NTM1IGYNCjAwMDAwMDAxNzEgNjU1MzUgZg0KMDAwMDAwMDE3MiA2NTUzNSBmDQowMDAwMDAwMTczIDY1NTM1IGYNCjAwMDAwMDAxNzQgNjU1MzUgZg0KMDAwMDAwMDE3NSA2NTUzNSBmDQowMDAwMDAwMTc2IDY1NTM1IGYNCjAwMDAwMDAxNzcgNjU1MzUgZg0KMDAwMDAwMDE3OCA2NTUzNSBmDQowMDAwMDAwMDAwIDY1NTM1IGYNCjAwMDAwMTY1MTQgMDAwMDAgbg0KMDAwMDAxNjgxNiAwMDAwMCBuDQowMDAwMDUwNjI0IDAwMDAwIG4NCjAwMDAwNTA5MTMgMDAwMDAgbg0KMDAwMDA1MTE5NSAwMDAwMCBuDQowMDAwMDUxNTA2IDAwMDAwIG4NCjAwMDAwNTQ2ODcgMDAwMDAgbg0KMDAwMDA1NDczMyAwMDAwMCBuDQp0cmFpbGVyDQo8PC9TaXplIDE4Ny9Sb290IDEgMCBSL0luZm8gMTcgMCBSL0lEWzwxRDA3OTRGN0YwNzdDRjQ5OUZBNTEzNjU1MDBGNzU3MT48MUQwNzk0RjdGMDc3Q0Y0OTlGQTUxMzY1NTAwRjc1NzE\u002BXSA\u002BPg0Kc3RhcnR4cmVmDQo1NTMyMg0KJSVFT0YNCnhyZWYNCjAgMA0KdHJhaWxlcg0KPDwvU2l6ZSAxODcvUm9vdCAxIDAgUi9JbmZvIDE3IDAgUi9JRFs8MUQwNzk0RjdGMDc3Q0Y0OTlGQTUxMzY1NTAwRjc1NzE\u002BPDFEMDc5NEY3RjA3N0NGNDk5RkE1MTM2NTUwMEY3NTcxPl0gL1ByZXYgNTUzMjIvWFJlZlN0bSA1NDczMz4\u002BDQpzdGFydHhyZWYNCjU5MjIxDQolJUVPRg==" } ] }, "rawData": { "account_number": null, "bill_to": { "address": "525 Animas View Drive\nDurango, CO 81301", "name": "Bill Franks", "vat_number": null }, "cashback": null, "category": "Job Supplies", "created_date": "2024-01-31 19:57:12", "currency_code": "USD", "date": "2024-02-01 00:00:00", "delivery_date": null, "discount": null, "document_reference_number": null, "document_title": null, "document_type": "invoice", "due_date": "2024-02-01", "duplicate_of": null, "external_id": null, "guest_count": null, "id": 182145841, "img_file_name": "182145841.jpg", "insurance": null, "invoice_number": "6654477", "is_approved": null, "is_duplicate": false, "lat": null, "line_items": [ { "category": null, "date": null, "description": "Paper Airplane Stock", "discount": null, "discount_rate": null, "end_date": null, "full_description": null, "hsn": null, "id": 803620149, "order": 0, "price": 3.0, "quantity": 1000.0, "reference": null, "section": null, "sku": null, "start_date": null, "tags": [], "tax": null, "tax_rate": null, "text": "1000\tPaper Airplane Stock\t\t\t3.00\t3000.00", "total": 3000.0, "type": "product", "unit_of_measure": null, "upc": null, "weight": null } ], "lng": null, "notes": null, "ocr_text": "2/1/2024\tInvoice No. 6654477\n\nTo\nBill Franks\n525 Animas View Drive\nDurango, CO 81301\n\nShip To\nBill Franks\n\nInstructions\nKnock three times\n\nQuantity\tDescription\t\t\tUnit Price\tTotal\n\n1000\tPaper Airplane Stock\t\t\t3.00\t3000.00\n\n\tSubtotal\n\n\tSales Tax\t\t0.21\n\tShipping \u0026 Handling\t\t0.00\n\n\tTotal Due\t\t3000.21\n\n\tDue upon receipt\n\tThank you for your business!\n\nPaul\u0027s Paper Supply Company\n\tPaul\u0027s\nTel 970-222-2121\t123 North 1st St\twww.paulspaper.com\nFax 970-222-2122\tDurango, CO 81301\tpaul@paper.com\t\tpaper", "order_date": null, "payment": { "terms": null, "card_number": null, "display_name": null, "type": null }, "purchase_order_number": null, "rounding": null, "reference_number": "VBGEB-45841", "server_name": null, "service_end_date": null, "service_start_date": null, "ship_date": null, "ship_to": { "address": "Durango, CO 81301", "name": "Bill Franks", "vat_number": null }, "shipping": null, "status": null, "store_number": null, "subtotal": 3000.0, "tax": 0.21, "tax_lines": [], "timezone_offset": null, "tip": null, "total": 3000.21, "total_weight": null, "tracking_number": null, "updated_date": "2024-01-31 19:57:13", "vendor": { "types": null, "abn_number": null, "account_number": null, "address": "123 North 1st St", "bank_name": null, "bank_number": null, "bank_swift": null, "category": null, "email": null, "external_id": null, "fax_number": "970-222-2122", "iban": null, "name": "Paul\u0027s Paper Supply", "phone_number": "970-222-2121", "parsed_address": { "city": null, "country": null, "postcode": null, "state": null, "street_address": "123 North 1st St" }, "raw_name": "Paul\u0027s Paper Supply Company", "reg_number": null, "type": null, "vat_number": null, "web": "www.paulspaper.com" }, "weights": null } }, "pageidentifier": null, "roomId": 0 } ``` ```json Invoice example maxLines=15 { "isSuccess": true, "responseText": "Success", "responseCode": 1, "responseData": { "resultData": { "customerData": { "customerId": 0, "firstName": "Bill Franks", "lastName": null, "company": "", "customerNumber": null, "billingAddress1": null, "billingAddress2": null, "billingCity": null, "billingState": null, "billingZip": null, "billingCountry": null, "billingPhone": null, "billingEmail": null, "shippingAddress1": "Durango, CO 81301", "shippingAddress2": null, "shippingCity": null, "shippingState": null, "shippingZip": null, "shippingCountry": null, "additionalData": {}, "identifierFields": null }, "invoiceData": { "invoiceNumber": "6654477", "invoiceDate": "2024-02-01 00:00:00", "invoiceDueDate": "2024-02-01", "invoiceEndDate": null, "invoiceStatus": 0, "invoiceType": 0, "frequency": null, "paymentTerms": "-", "termsConditions": null, "notes": null, "tax": 0.21, "discount": null, "invoiceAmount": 3000.21, "freightAmount": null, "dutyAmount": null, "purchaseOrder": null, "firstName": "Bill Franks", "lastName": null, "company": "", "shippingAddress1": "Durango, CO 81301", "shippingAddress2": null, "shippingCity": null, "shippingState": null, "shippingZip": null, "shippingCountry": null, "shippingEmail": null, "shippingPhone": null, "shippingFromZip": null, "summaryCommodityCode": null, "items": [ { "itemTotalAmount": 3000.0, "itemTaxAmount": 0, "itemTaxRate": 0, "itemProductCode": null, "itemProductName": "Paper Airplane Stock", "itemDescription": "", "itemCommodityCode": null, "itemUnitOfMeasure": null, "itemCost": 3.0, "itemQty": 1000, "itemMode": null, "itemCategories": [] } ], "attachments": [ { "ftype": "pdf", "filename": "paulsPaper_sample Invoice.pdf", "fileDescriptor": null, "furl": null, "fContent": "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ZyAzMy9TdGVtViA0Ny9Gb250QkJveFsgLTYyOCAtMjEwIDIwMDAgNzI4XSA+Pg0KZW5kb2JqDQo3IDAgb2JqDQo8PC9UeXBlL0V4dEdTdGF0ZS9CTS9Ob3JtYWwvY2EgMT4+DQplbmRvYmoNCjggMCBvYmoNCjw8L1R5cGUvRXh0R1N0YXRlL0JNL05vcm1hbC9DQSAxPj4NCmVuZG9iag0KOSAwIG9iag0KPDwvVHlwZS9Gb250L1N1YnR5cGUvVHlwZTAvQmFzZUZvbnQvQXJpYWwtQm9sZE1UL0VuY29kaW5nL0lkZW50aXR5LUgvRGVzY2VuZGFudEZvbnRzIDEwIDAgUi9Ub1VuaWNvZGUgMTc5IDAgUj4+DQplbmRvYmoNCjEwIDAgb2JqDQpbIDExIDAgUl0gDQplbmRvYmoNCjExIDAgb2JqDQo8PC9CYXNlRm9udC9BcmlhbC1Cb2xkTVQvU3VidHlwZS9DSURGb250VHlwZTIvVHlwZS9Gb250L0NJRFRvR0lETWFwL0lkZW50aXR5L0RXIDEwMDAvQ0lEU3lzdGVtSW5mbyAxMiAwIFIvRm9udERlc2NyaXB0b3IgMTMgMCBSL1cgMTgxIDAgUj4+DQplbmRvYmoNCjEyIDAgb2JqDQo8PC9PcmRlcmluZyhJZGVudGl0eSkgL1JlZ2lzdHJ5KEFkb2JlKSAvU3VwcGxlbWVudCAwPj4NCmVuZG9iag0KMTMgMCBvYmoNCjw8L1R5cGUvRm9udERlc2NyaXB0b3IvRm9udE5hbWUvQXJpYWwtQm9sZE1UL0ZsYWdzIDMyL0l0YWxpY0FuZ2xlIDAvQXNjZW50IDkwNS9EZXNjZW50IC0yMTAvQ2FwSGVpZ2h0IDcyOC9BdmdXaWR0aCA0NzkvTWF4V2lkdGggMjYyOC9Gb250V2VpZ2h0IDcwMC9YSGVpZ2h0IDI1MC9MZWFkaW5nIDMzL1N0ZW1WIDQ3L0ZvbnRCQm94WyAtNjI4IC0yMTAgMjAwMCA3MjhdIC9Gb250RmlsZTIgMTgwIDAgUj4+DQplbmRvYmoNCjE0IDAgb2JqDQo8PC9UeXBlL0ZvbnQvU3VidHlwZS9UcnVlVHlwZS9OYW1lL0YzL0Jhc2VGb250L0FyaWFsTVQvRW5jb2RpbmcvV2luQW5zaUVuY29kaW5nL0ZvbnRE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MCAxMDE1IDY2NyA2NjcgNzIyIDcyMiAwIDYxMSAwIDcyMiAwIDAgNjY3IDAgMCA3MjIgNzc4IDY2NyA3NzggMCA2NjcgNjExIDcyMiA2NjcgMCAwIDAgMCAwIDAgMCAwIDAgMCA1NTYgNTU2IDUwMCA1NTYgNTU2IDAgNTU2IDU1NiAyMjIgMCA1MDAgMjIyIDgzMyA1NTYgNTU2IDU1NiAwIDMzMyA1MDAgMjc4IDU1NiA1MDAgNzIyIDUwMCA1MDBdIA0KZW5kb2JqDQoxODQgMCBvYmoNCjw8L1R5cGUvTWV0YWRhdGEvU3VidHlwZS9YTUwvTGVuZ3RoIDMwOTc+Pg0Kc3RyZWFtDQo8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IjMuMS03MDEiPgo8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgo8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiAgeG1sbnM6cGRmPSJodHRwOi8vbnMuYWRvYmUuY29tL3BkZi8xLjMvIj4KPHBkZjpQcm9kdWNlcj5NaWNyb3NvZnTCriBXb3JkIDIwMjE8L3BkZjpQcm9kdWNlcj48cGRmOktleXdvcmRzPjIvMS8yMDI0PC9wZGY6S2V5d29yZHM+PC9yZGY6RGVzY3JpcHRpb24+CjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iPgo8ZGM6Y3JlYXRvcj48cmRmOlNlcT48cmRmOmxpPlBhdWwgQmxpY2s8L3JkZjpsaT48L3JkZjpTZXE+PC9kYzpjcmVhdG9yPjwvcmRmOkRlc2NyaXB0aW9uPgo8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIj4KPHhtcDpDcmVhdG9yVG9vbD5NaWNyb3NvZnTCriBXb3JkIDIwMjE8L3htcDpDcmVhdG9yVG9vbD48eG1wOkNyZWF0ZURhdGU+MjAyNC0wMS0yOVQxOTo1NDo0My0wNzowMDwveG1wOkNyZWF0ZURhdGU+PHhtcDpNb2RpZnlEYXRlPjIwMjQtMDEtMjlUMTk6NTQ6NDMtMDc6MDA8L3htcDpNb2RpZnlEYXRlPjwvcmRmOkRlc2NyaXB0aW9uPgo8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iPgo8eG1wTU06RG9jdW1lbnRJRD51dWlkOkY3OTQwNzFELTc3RjAtNDlDRi05RkE1LTEzNjU1MDBGNzU3MTwveG1wTU06RG9jdW1lbnRJRD48eG1wTU06SW5zdGFuY2VJRD51dWlkOkY3OTQwNzFELTc3RjAtNDlDRi05RkE1LTEzNjU1MDBGNzU3MTwveG1wTU06SW5zdGFuY2VJRD48L3JkZjpEZXNjcmlwdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCjwvcmRmOlJERj48L3g6eG1wbWV0YT48P3hwYWNrZXQgZW5kPSJ3Ij8+DQplbmRzdHJlYW0NCmVuZG9iag0KMTg1IDAgb2JqDQo8PC9EaXNwbGF5RG9jVGl0bGUgdHJ1ZT4+DQplbmRvYmoNCjE4NiAwIG9iag0KPDwvVHlwZS9YUmVmL1NpemUgMTg2L1dbIDEgNCAyXSAvUm9vdCAxIDAgUi9JbmZvIDE3IDAgUi9JRFs8MUQwNzk0RjdGMDc3Q0Y0OTlGQTUxMzY1NTAwRjc1NzE+PDFEMDc5NEY3RjA3N0NGNDk5RkE1MTM2NTUwMEY3NTcxPl0gL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMzg2Pj4NCnN0cmVhbQ0KeJw11DdTVWEUBdALiDnhI4qYRcyKCgZQnpiVIGbMWYwo5iyKOedMZW9txTgoww+wtPBnOBZ4/Zae4qw5zT7djqJ4urpS4p0RRX/5iB+B1EQg8SWQ2RDIqkULPgeyy1CPX4GcykBuOX4G8toDJVVxfPyoIHqLd3iPD3iDLPRAd6TgX0prnFma/H+lIRXp6IZMJNAfPdELvdEHfdEPAzEAg5CBbLzEcAxDLnIwGHkYgnwMRQFeYBxGYgRGYxQKMQZFGItiTMB4TMJETMFkTMNUzMUMTEcJZmIWSjEHs7EQ5SjDfMxDEhWoxAJUYTEWYSmWYDmWYSVWYB1qUI1VqMVq1GEt1mAbNmA96rERm7EJW7EF+7ED27ELO7EHu7EPe3EMB9CAQziIIziMRhzFOTThOE7iBE7jFM7iDK7hAs7jEi7iCi6jGVdxDy24jpu4gdu4hbu4g+d4gPt4hId4gsd4hqd4hddxM1Q0h9JJfgp8bQt8U0gdvwOdxYHvrVH0B5luWlENCmVuZHN0cmVhbQ0KZW5kb2JqDQp4cmVmDQowIDE4Nw0KMDAwMDAwMDAxOCA2NTUzNSBmDQowMDAwMDAwMDE3IDAwMDAwIG4NCjAwMDAwMDAxNjUgMDAwMDAgbg0KMDAwMDAwMDIyMSAwMDAwMCBuDQowMDAwMDAwNTMxIDAwMDAwIG4NCjAwMDAwMDUwNTggMDAwMDAgbg0KMDAwMDAwNTIyNSAwMDAwMCBuDQowMDAwMDA1NDU2IDAwMDAwIG4NCjAwMDAwMDU1MDkgMDAwMDAgbg0KMDAwMDAwNTU2MiAwMDAwMCBuDQowMDAwMDA1NjkyIDAwMDAwIG4NCjAwMDAwMDU3MjIgMDAwMDAgbg0KMDAwMDAwNTg4MSAwMDAwMCBuDQowMDAwMDA1OTU1IDAwMDAwIG4NCjAwMDAwMDYyMDUgMDAwMDAgbg0KMDAwMDAwNjM2OSAwMDAwMCBuDQowMDAwMDA2NTk2IDAwMDAwIG4NCjAwMDAwMTM5MDEgMDAwMDAgbg0KMDAwMDAwMDAxOSA2NTUzNSBmDQowMDAwMDAwMDIwIDY1NTM1IGYNCjAwMDAwMDAwMjEgNjU1MzUgZg0KMDAwMDAwMDAyMiA2NTUzNSBmDQowMDAwMDAwMDIzIDY1NTM1IGYNCjAwMDAwMDAwMjQgNjU1MzUgZg0KMDAwMDAwMDAyNSA2NTUzNSBmDQowMDAwMDAwMDI2IDY1NTM1IGYNCjAwMDAwMDAwMjcgNjU1MzUgZg0KMDAwMDAwMDAyOCA2NTUzNSBmDQowMDAwMDAwMDI5IDY1NTM1IGYNCjAwMDAwMDAwMzAgNjU1MzUgZg0KMDAwMDAwMDAzMSA2NTUzNSBmDQowMDAwMDAwMDMyIDY1NTM1IGYNCjAwMDAwMDAwMzMgNjU1MzUgZg0KMDAwMDAwMDAzNCA2NTUzNSBmDQowMDAwMDAwMDM1IDY1NTM1IGYNCjAwMDAwMDAwMzYgNjU1MzUgZg0KMDAwMDAwMDAzNyA2NTUzNSBmDQowMDAwMDAwMDM4IDY1NTM1IGYNCjAwMDAwMDAwMzkgNjU1MzUgZg0KMDAwMDAwMDA0MCA2NTUzNSBmDQowMDAwMDAwMDQxIDY1NTM1IGYNCjAwMDAwMDAwNDIgNjU1MzUgZg0KMDAwMDAwMDA0MyA2NTUzNSBmDQowMDAwMDAwMDQ0IDY1NTM1IGYNCjAwMDAwMDAwNDUgNjU1MzUgZg0KMDAwMDAwMDA0NiA2NTUzNSBmDQowMDAwMDAwMDQ3IDY1NTM1IGYNCjAwMDAwMDAwNDggNjU1MzUgZg0KMDAwMDAwMDA0OSA2NTUzNSBmDQowMDAwMDAwMDUwIDY1NTM1IGYNCjAwMDAwMDAwNTEgNjU1MzUgZg0KMDAwMDAwMDA1MiA2NTUzNSBmDQowMDAwMDAwMDUzIDY1NTM1IGYNCjAwMDAwMDAwNTQgNjU1MzUgZg0KMDAwMDAwMDA1NSA2NTUzNSBmDQowMDAwMDAwMDU2IDY1NTM1IGYNCjAwMDAwMDAwNTcgNjU1MzUgZg0KMDAwMDAwMDA1OCA2NTUzNSBmDQowMDAwMDAwMDU5IDY1NTM1IGYNCjAwMDAwMDAwNjAgNjU1MzUgZg0KMDAwMDAwMDA2MSA2NTUzNSBmDQowMDAwMDAwMDYyIDY1NTM1IGYNCjAwMDAwMDAwNjMgNjU1MzUgZg0KMDAwMDAwMDA2NCA2NTUzNSBmDQowMDAwMDAwMDY1IDY1NTM1IGYNCjAwMDAwMDAwNjYgNjU1MzUgZg0KMDAwMDAwMDA2NyA2NTUzNSBmDQowMDAwMDAwMDY4IDY1NTM1IGYNCjAwMDAwMDAwNjkgNjU1MzUgZg0KMDAwMDAwMDA3MCA2NTUzNSBmDQowMDAwMDAwMDcxIDY1NTM1IGYNCjAwMDAwMDAwNzIgNjU1MzUgZg0KMDAwMDAwMDA3MyA2NTUzNSBmDQowMDAwMDAwMDc0IDY1NTM1IGYNCjAwMDAwMDAwNzUgNjU1MzUgZg0KMDAwMDAwMDA3NiA2NTUzNSBmDQowMDAwMDAwMDc3IDY1NTM1IGYNCjAwMDAwMDAwNzggNjU1MzUgZg0KMDAwMDAwMDA3OSA2NTUzNSBmDQowMDAwMDAwMDgwIDY1NTM1IGYNCjAwMDAwMDAwODEgNjU1MzUgZg0KMDAwMDAwMDA4MiA2NTUzNSBmDQowMDAwMDAwMDgzIDY1NTM1IGYNCjAwMDAwMDAwODQgNjU1MzUgZg0KMDAwMDAwMDA4NSA2NTUzNSBmDQowMDAwMDAwMDg2IDY1NTM1IGYNCjAwMDAwMDAwODcgNjU1MzUgZg0KMDAwMDAwMDA4OCA2NTUzNSBmDQowMDAwMDAwMDg5IDY1NTM1IGYNCjAwMDAwMDAwOTAgNjU1MzUgZg0KMDAwMDAwMDA5MSA2NTUzNSBmDQowMDAwMDAwMDkyIDY1NTM1IGYNCjAwMDAwMDAwOTMgNjU1MzUgZg0KMDAwMDAwMDA5NCA2NTUzNSBmDQowMDAwMDAwMDk1IDY1NTM1IGYNCjAwMDAwMDAwOTYgNjU1MzUgZg0KMDAwMDAwMDA5NyA2NTUzNSBmDQowMDAwMDAwMDk4IDY1NTM1IGYNCjAwMDAwMDAwOTkgNjU1MzUgZg0KMDAwMDAwMDEwMCA2NTUzNSBmDQowMDAwMDAwMTAxIDY1NTM1IGYNCjAwMDAwMDAxMDIgNjU1MzUgZg0KMDAwMDAwMDEwMyA2NTUzNSBmDQowMDAwMDAwMTA0IDY1NTM1IGYNCjAwMDAwMDAxMDUgNjU1MzUgZg0KMDAwMDAwMDEwNiA2NTUzNSBmDQowMDAwMDAwMTA3IDY1NTM1IGYNCjAwMDAwMDAxMDggNjU1MzUgZg0KMDAwMDAwMDEwOSA2NTUzNSBmDQowMDAwMDAwMTEwIDY1NTM1IGYNCjAwMDAwMDAxMTEgNjU1MzUgZg0KMDAwMDAwMDExMiA2NTUzNSBmDQowMDAwMDAwMTEzIDY1NTM1IGYNCjAwMDAwMDAxMTQgNjU1MzUgZg0KMDAwMDAwMDExNSA2NTUzNSBmDQowMDAwMDAwMTE2IDY1NTM1IGYNCjAwMDAwMDAxMTcgNjU1MzUgZg0KMDAwMDAwMDExOCA2NTUzNSBmDQowMDAwMDAwMTE5IDY1NTM1IGYNCjAwMDAwMDAxMjAgNjU1MzUgZg0KMDAwMDAwMDEyMSA2NTUzNSBmDQowMDAwMDAwMTIyIDY1NTM1IGYNCjAwMDAwMDAxMjMgNjU1MzUgZg0KMDAwMDAwMDEyNCA2NTUzNSBmDQowMDAwMDAwMTI1IDY1NTM1IGYNCjAwMDAwMDAxMjYgNjU1MzUgZg0KMDAwMDAwMDEyNyA2NTUzNSBmDQowMDAwMDAwMTI4IDY1NTM1IGYNCjAwMDAwMDAxMjkgNjU1MzUgZg0KMDAwMDAwMDEzMCA2NTUzNSBmDQowMDAwMDAwMTMxIDY1NTM1IGYNCjAwMDAwMDAxMzIgNjU1MzUgZg0KMDAwMDAwMDEzMyA2NTUzNSBmDQowMDAwMDAwMTM0IDY1NTM1IGYNCjAwMDAwMDAxMzUgNjU1MzUgZg0KMDAwMDAwMDEzNiA2NTUzNSBmDQowMDAwMDAwMTM3IDY1NTM1IGYNCjAwMDAwMDAxMzggNjU1MzUgZg0KMDAwMDAwMDEzOSA2NTUzNSBmDQowMDAwMDAwMTQwIDY1NTM1IGYNCjAwMDAwMDAxNDEgNjU1MzUgZg0KMDAwMDAwMDE0MiA2NTUzNSBmDQowMDAwMDAwMTQzIDY1NTM1IGYNCjAwMDAwMDAxNDQgNjU1MzUgZg0KMDAwMDAwMDE0NSA2NTUzNSBmDQowMDAwMDAwMTQ2IDY1NTM1IGYNCjAwMDAwMDAxNDcgNjU1MzUgZg0KMDAwMDAwMDE0OCA2NTUzNSBmDQowMDAwMDAwMTQ5IDY1NTM1IGYNCjAwMDAwMDAxNTAgNjU1MzUgZg0KMDAwMDAwMDE1MSA2NTUzNSBmDQowMDAwMDAwMTUyIDY1NTM1IGYNCjAwMDAwMDAxNTMgNjU1MzUgZg0KMDAwMDAwMDE1NCA2NTUzNSBmDQowMDAwMDAwMTU1IDY1NTM1IGYNCjAwMDAwMDAxNTYgNjU1MzUgZg0KMDAwMDAwMDE1NyA2NTUzNSBmDQowMDAwMDAwMTU4IDY1NTM1IGYNCjAwMDAwMDAxNTkgNjU1MzUgZg0KMDAwMDAwMDE2MCA2NTUzNSBmDQowMDAwMDAwMTYxIDY1NTM1IGYNCjAwMDAwMDAxNjIgNjU1MzUgZg0KMDAwMDAwMDE2MyA2NTUzNSBmDQowMDAwMDAwMTY0IDY1NTM1IGYNCjAwMDAwMDAxNjUgNjU1MzUgZg0KMDAwMDAwMDE2NiA2NTUzNSBmDQowMDAwMDAwMTY3IDY1NTM1IGYNCjAwMDAwMDAxNjggNjU1MzUgZg0KMDAwMDAwMDE2OSA2NTUzNSBmDQowMDAwMDAwMTcwIDY1NTM1IGYNCjAwMDAwMDAxNzEgNjU1MzUgZg0KMDAwMDAwMDE3MiA2NTUzNSBmDQowMDAwMDAwMTczIDY1NTM1IGYNCjAwMDAwMDAxNzQgNjU1MzUgZg0KMDAwMDAwMDE3NSA2NTUzNSBmDQowMDAwMDAwMTc2IDY1NTM1IGYNCjAwMDAwMDAxNzcgNjU1MzUgZg0KMDAwMDAwMDE3OCA2NTUzNSBmDQowMDAwMDAwMDAwIDY1NTM1IGYNCjAwMDAwMTY1MTQgMDAwMDAgbg0KMDAwMDAxNjgxNiAwMDAwMCBuDQowMDAwMDUwNjI0IDAwMDAwIG4NCjAwMDAwNTA5MTMgMDAwMDAgbg0KMDAwMDA1MTE5NSAwMDAwMCBuDQowMDAwMDUxNTA2IDAwMDAwIG4NCjAwMDAwNTQ2ODcgMDAwMDAgbg0KMDAwMDA1NDczMyAwMDAwMCBuDQp0cmFpbGVyDQo8PC9TaXplIDE4Ny9Sb290IDEgMCBSL0luZm8gMTcgMCBSL0lEWzwxRDA3OTRGN0YwNzdDRjQ5OUZBNTEzNjU1MDBGNzU3MT48MUQwNzk0RjdGMDc3Q0Y0OTlGQTUxMzY1NTAwRjc1NzE+XSA+Pg0Kc3RhcnR4cmVmDQo1NTMyMg0KJSVFT0YNCnhyZWYNCjAgMA0KdHJhaWxlcg0KPDwvU2l6ZSAxODcvUm9vdCAxIDAgUi9JbmZvIDE3IDAgUi9JRFs8MUQwNzk0RjdGMDc3Q0Y0OTlGQTUxMzY1NTAwRjc1NzE+PDFEMDc5NEY3RjA3N0NGNDk5RkE1MTM2NTUwMEY3NTcxPl0gL1ByZXYgNTUzMjIvWFJlZlN0bSA1NDczMz4+DQpzdGFydHhyZWYNCjU5MjIxDQolJUVPRg==" } ], "additionalData": { "category": "Job Supplies", "currency_code": "USD", "type": "invoice", "reference_number": "VBGIJ-80131" } }, "scheduledOptions": null }, "rawData": { "account_number": null, "bill_to": { "address": "525 Animas View Drive\nDurango, CO 81301", "name": "Bill Franks", "vat_number": null }, "cashback": null, "category": "Job Supplies", "created_date": "2024-02-22 03:33:56", "currency_code": "USD", "date": "2024-02-01 00:00:00", "delivery_date": null, "discount": null, "document_reference_number": null, "document_title": null, "document_type": "invoice", "due_date": "2024-02-01", "duplicate_of": null, "external_id": null, "guest_count": null, "id": 186980131, "img_file_name": "186980131.pdf", "insurance": null, "invoice_number": "6654477", "is_approved": null, "is_duplicate": false, "lat": null, "line_items": [ { "category": null, "date": null, "description": "Paper Airplane Stock", "discount": null, "discount_rate": null, "end_date": null, "full_description": "Paper Airplane Stock", "hsn": null, "id": 827010392, "order": 0, "price": 3.0, "quantity": 1000.0, "reference": null, "section": null, "sku": null, "start_date": null, "tags": [], "tax": null, "tax_rate": null, "text": "1000\tPaper Airplane Stock\t\t\t3.00\t3000.00", "total": 3000.0, "type": "product", "unit_of_measure": null, "upc": null, "weight": null } ], "lng": null, "notes": null, "ocr_text": "2/1/2024\tInvoice No. 6654477\n\nTo\nBill Franks\n525 Animas View Drive\nDurango, CO 81301\nShip To\nBill Franks\n\nInstructions\nKnock three times\n\nQuantity\tDescription\t\t\tUnit Price\tTotal\n\n1000\tPaper Airplane Stock\t\t\t3.00\t3000.00\n\n\tSubtotal\n\n\tSales Tax\t\t0.21\n\tShipping & Handling\t\t0.00\n\n\tTotal Due\t\t3000.21\n\n\tDue upon receipt\n\tThank you for your business!\n\nPaul’s Paper Supply Company\n\tPaul's\nTel 970-222-2121\t123 North 1st St\twww.paulspaper.com\nFax 970-222-2122\tDurango, CO 81301\tpaul@paper.com\t\tpaper", "order_date": null, "payment": { "terms": null, "card_number": null, "display_name": null, "type": null }, "purchase_order_number": null, "rounding": null, "reference_number": "VBGIJ-80131", "server_name": null, "service_end_date": null, "service_start_date": null, "ship_date": null, "ship_to": { "address": "Durango, CO 81301", "name": "Bill Franks", "vat_number": null }, "shipping": null, "status": null, "store_number": null, "subtotal": 3000.0, "tax": 0.21, "tax_lines": [], "timezone_offset": null, "tip": null, "total": 3000.21, "total_weight": null, "tracking_number": null, "updated_date": "2024-02-22 03:33:57", "vendor": { "types": null, "abn_number": null, "account_number": null, "address": "123 North 1st St", "bank_name": null, "bank_number": null, "bank_swift": null, "category": null, "email": "paul@paper.com", "external_id": null, "fax_number": "970-222-2122", "iban": null, "name": "Paul’s Paper Supply", "phone_number": "970-222-2121", "parsed_address": { "city": null, "country": null, "postcode": null, "state": null, "street_address": "123 North 1st St" }, "raw_name": "Paul’s Paper Supply Company", "reg_number": null, "type": null, "vat_number": null, "web": "www.paulspaper.com" }, "weights": null } }, "pageidentifier": null, "roomId": 0 } ``` See [the API reference](/developers/api-reference/import/ocr-a-file) for complete details about this endpoint. Make a POST request to **/Import/ocrDocumentJson/\{typeResult}**, uploading the file. The OCR engine supports pdf, jpg, jpeg, png, and gif file types. Send the base64-encoded content in the `fContent` field, as a string. This example is for a bill, notice that the `typeResult` path parameter is `bill`. If you want to OCR an invoice for a customer, this value should be `invoice`. ```bash Request example maxLines=15 curl --request POST \ --url https://api-sandbox.payabli.com/api/Import/ocrDocumentJson/bill \ --header 'Content-Type: application/json' \ --header 'requestToken: ' \ --data '{ "ftype": "pdf", "filename": "paulsPaper_invoice.pdf", "fContent": "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ZyAzMy9TdGVtViA0Ny9Gb250QkJveFsgLTYyOCAtMjEwIDIwMDAgNzI4XSA+Pg0KZW5kb2JqDQo3IDAgb2JqDQo8PC9UeXBlL0V4dEdTdGF0ZS9CTS9Ob3JtYWwvY2EgMT4+DQplbmRvYmoNCjggMCBvYmoNCjw8L1R5cGUvRXh0R1N0YXRlL0JNL05vcm1hbC9DQSAxPj4NCmVuZG9iag0KOSAwIG9iag0KPDwvVHlwZS9Gb250L1N1YnR5cGUvVHlwZTAvQmFzZUZvbnQvQXJpYWwtQm9sZE1UL0VuY29kaW5nL0lkZW50aXR5LUgvRGVzY2VuZGFudEZvbnRzIDEwIDAgUi9Ub1VuaWNvZGUgMTc5IDAgUj4+DQplbmRvYmoNCjEwIDAgb2JqDQpbIDExIDAgUl0gDQplbmRvYmoNCjExIDAgb2JqDQo8PC9CYXNlRm9udC9BcmlhbC1Cb2xkTVQvU3VidHlwZS9DSURGb250VHlwZTIvVHlwZS9Gb250L0NJRFRvR0lETWFwL0lkZW50aXR5L0RXIDEwMDAvQ0lEU3lzdGVtSW5mbyAxMiAwIFIvRm9udERlc2NyaXB0b3IgMTMgMCBSL1cgMTgxIDAgUj4+DQplbmRvYmoNCjEyIDAgb2JqDQo8PC9PcmRlcmluZyhJZGVudGl0eSkgL1JlZ2lzdHJ5KEFkb2JlKSAvU3VwcGxlbWVudCAwPj4NCmVuZG9iag0KMTMgMCBvYmoNCjw8L1R5cGUvRm9udERlc2NyaXB0b3IvRm9udE5hbWUvQXJpYWwtQm9sZE1UL0ZsYWdzIDMyL0l0YWxpY0FuZ2xlIDAvQXNjZW50IDkwNS9EZXNjZW50IC0yMTAvQ2FwSGVpZ2h0IDcyOC9BdmdXaWR0aCA0NzkvTWF4V2lkdGggMjYyOC9Gb250V2VpZ2h0IDcwMC9YSGVpZ2h0IDI1MC9MZWFkaW5nIDMzL1N0ZW1WIDQ3L0ZvbnRCQm94WyAtNjI4IC0yMTAgMjAwMCA3MjhdIC9Gb250RmlsZTIgMTgwIDAgUj4+DQplbmRvYmoNCjE0IDAgb2JqDQo8PC9UeXBlL0ZvbnQvU3VidHlwZS9UcnVlVHlwZS9OYW1lL0YzL0Jhc2VGb250L0FyaWFsTVQvRW5jb2RpbmcvV2luQW5zaUVuY29kaW5nL0ZvbnRE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MCAxMDE1IDY2NyA2NjcgNzIyIDcyMiAwIDYxMSAwIDcyMiAwIDAgNjY3IDAgMCA3MjIgNzc4IDY2NyA3NzggMCA2NjcgNjExIDcyMiA2NjcgMCAwIDAgMCAwIDAgMCAwIDAgMCA1NTYgNTU2IDUwMCA1NTYgNTU2IDAgNTU2IDU1NiAyMjIgMCA1MDAgMjIyIDgzMyA1NTYgNTU2IDU1NiAwIDMzMyA1MDAgMjc4IDU1NiA1MDAgNzIyIDUwMCA1MDBdIA0KZW5kb2JqDQoxODQgMCBvYmoNCjw8L1R5cGUvTWV0YWRhdGEvU3VidHlwZS9YTUwvTGVuZ3RoIDMwOTc+Pg0Kc3RyZWFtDQo8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IjMuMS03MDEiPgo8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgo8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiAgeG1sbnM6cGRmPSJodHRwOi8vbnMuYWRvYmUuY29tL3BkZi8xLjMvIj4KPHBkZjpQcm9kdWNlcj5NaWNyb3NvZnTCriBXb3JkIDIwMjE8L3BkZjpQcm9kdWNlcj48cGRmOktleXdvcmRzPjIvMS8yMDI0PC9wZGY6S2V5d29yZHM+PC9yZGY6RGVzY3JpcHRpb24+CjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iPgo8ZGM6Y3JlYXRvcj48cmRmOlNlcT48cmRmOmxpPlBhdWwgQmxpY2s8L3JkZjpsaT48L3JkZjpTZXE+PC9kYzpjcmVhdG9yPjwvcmRmOkRlc2NyaXB0aW9uPgo8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIj4KPHhtcDpDcmVhdG9yVG9vbD5NaWNyb3NvZnTCriBXb3JkIDIwMjE8L3htcDpDcmVhdG9yVG9vbD48eG1wOkNyZWF0ZURhdGU+MjAyNC0wMS0yOVQxOTo1NDo0My0wNzowMDwveG1wOkNyZWF0ZURhdGU+PHhtcDpNb2RpZnlEYXRlPjIwMjQtMDEtMjlUMTk6NTQ6NDMtMDc6MDA8L3htcDpNb2RpZnlEYXRlPjwvcmRmOkRlc2NyaXB0aW9uPgo8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iPgo8eG1wTU06RG9jdW1lbnRJRD51dWlkOkY3OTQwNzFELTc3RjAtNDlDRi05RkE1LTEzNjU1MDBGNzU3MTwveG1wTU06RG9jdW1lbnRJRD48eG1wTU06SW5zdGFuY2VJRD51dWlkOkY3OTQwNzFELTc3RjAtNDlDRi05RkE1LTEzNjU1MDBGNzU3MTwveG1wTU06SW5zdGFuY2VJRD48L3JkZjpEZXNjcmlwdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCjwvcmRmOlJERj48L3g6eG1wbWV0YT48P3hwYWNrZXQgZW5kPSJ3Ij8+DQplbmRzdHJlYW0NCmVuZG9iag0KMTg1IDAgb2JqDQo8PC9EaXNwbGF5RG9jVGl0bGUgdHJ1ZT4+DQplbmRvYmoNCjE4NiAwIG9iag0KPDwvVHlwZS9YUmVmL1NpemUgMTg2L1dbIDEgNCAyXSAvUm9vdCAxIDAgUi9JbmZvIDE3IDAgUi9JRFs8MUQwNzk0RjdGMDc3Q0Y0OTlGQTUxMzY1NTAwRjc1NzE+PDFEMDc5NEY3RjA3N0NGNDk5RkE1MTM2NTUwMEY3NTcxPl0gL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMzg2Pj4NCnN0cmVhbQ0KeJw11DdTVWEUBdALiDnhI4qYRcyKCgZQnpiVIGbMWYwo5iyKOedMZW9txTgoww+wtPBnOBZ4/Zae4qw5zT7djqJ4urpS4p0RRX/5iB+B1EQg8SWQ2RDIqkULPgeyy1CPX4GcykBuOX4G8toDJVVxfPyoIHqLd3iPD3iDLPRAd6TgX0prnFma/H+lIRXp6IZMJNAfPdELvdEHfdEPAzEAg5CBbLzEcAxDLnIwGHkYgnwMRQFeYBxGYgRGYxQKMQZFGItiTMB4TMJETMFkTMNUzMUMTEcJZmIWSjEHs7EQ5SjDfMxDEhWoxAJUYTEWYSmWYDmWYSVWYB1qUI1VqMVq1GEt1mAbNmA96rERm7EJW7EF+7ED27ELO7EHu7EPe3EMB9CAQziIIziMRhzFOTThOE7iBE7jFM7iDK7hAs7jEi7iCi6jGVdxDy24jpu4gdu4hbu4g+d4gPt4hId4gsd4hqd4hddxM1Q0h9JJfgp8bQt8U0gdvwOdxYHvrVH0B5luWlENCmVuZHN0cmVhbQ0KZW5kb2JqDQp4cmVmDQowIDE4Nw0KMDAwMDAwMDAxOCA2NTUzNSBmDQowMDAwMDAwMDE3IDAwMDAwIG4NCjAwMDAwMDAxNjUgMDAwMDAgbg0KMDAwMDAwMDIyMSAwMDAwMCBuDQowMDAwMDAwNTMxIDAwMDAwIG4NCjAwMDAwMDUwNTggMDAwMDAgbg0KMDAwMDAwNTIyNSAwMDAwMCBuDQowMDAwMDA1NDU2IDAwMDAwIG4NCjAwMDAwMDU1MDkgMDAwMDAgbg0KMDAwMDAwNTU2MiAwMDAwMCBuDQowMDAwMDA1NjkyIDAwMDAwIG4NCjAwMDAwMDU3MjIgMDAwMDAgbg0KMDAwMDAwNTg4MSAwMDAwMCBuDQowMDAwMDA1OTU1IDAwMDAwIG4NCjAwMDAwMDYyMDUgMDAwMDAgbg0KMDAwMDAwNjM2OSAwMDAwMCBuDQowMDAwMDA2NTk2IDAwMDAwIG4NCjAwMDAwMTM5MDEgMDAwMDAgbg0KMDAwMDAwMDAxOSA2NTUzNSBmDQowMDAwMDAwMDIwIDY1NTM1IGYNCjAwMDAwMDAwMjEgNjU1MzUgZg0KMDAwMDAwMDAyMiA2NTUzNSBmDQowMDAwMDAwMDIzIDY1NTM1IGYNCjAwMDAwMDAwMjQgNjU1MzUgZg0KMDAwMDAwMDAyNSA2NTUzNSBmDQowMDAwMDAwMDI2IDY1NTM1IGYNCjAwMDAwMDAwMjcgNjU1MzUgZg0KMDAwMDAwMDAyOCA2NTUzNSBmDQowMDAwMDAwMDI5IDY1NTM1IGYNCjAwMDAwMDAwMzAgNjU1MzUgZg0KMDAwMDAwMDAzMSA2NTUzNSBmDQowMDAwMDAwMDMyIDY1NTM1IGYNCjAwMDAwMDAwMzMgNjU1MzUgZg0KMDAwMDAwMDAzNCA2NTUzNSBmDQowMDAwMDAwMDM1IDY1NTM1IGYNCjAwMDAwMDAwMzYgNjU1MzUgZg0KMDAwMDAwMDAzNyA2NTUzNSBmDQowMDAwMDAwMDM4IDY1NTM1IGYNCjAwMDAwMDAwMzkgNjU1MzUgZg0KMDAwMDAwMDA0MCA2NTUzNSBmDQowMDAwMDAwMDQxIDY1NTM1IGYNCjAwMDAwMDAwNDIgNjU1MzUgZg0KMDAwMDAwMDA0MyA2NTUzNSBmDQowMDAwMDAwMDQ0IDY1NTM1IGYNCjAwMDAwMDAwNDUgNjU1MzUgZg0KMDAwMDAwMDA0NiA2NTUzNSBmDQowMDAwMDAwMDQ3IDY1NTM1IGYNCjAwMDAwMDAwNDggNjU1MzUgZg0KMDAwMDAwMDA0OSA2NTUzNSBmDQowMDAwMDAwMDUwIDY1NTM1IGYNCjAwMDAwMDAwNTEgNjU1MzUgZg0KMDAwMDAwMDA1MiA2NTUzNSBmDQowMDAwMDAwMDUzIDY1NTM1IGYNCjAwMDAwMDAwNTQgNjU1MzUgZg0KMDAwMDAwMDA1NSA2NTUzNSBmDQowMDAwMDAwMDU2IDY1NTM1IGYNCjAwMDAwMDAwNTcgNjU1MzUgZg0KMDAwMDAwMDA1OCA2NTUzNSBmDQowMDAwMDAwMDU5IDY1NTM1IGYNCjAwMDAwMDAwNjAgNjU1MzUgZg0KMDAwMDAwMDA2MSA2NTUzNSBmDQowMDAwMDAwMDYyIDY1NTM1IGYNCjAwMDAwMDAwNjMgNjU1MzUgZg0KMDAwMDAwMDA2NCA2NTUzNSBmDQowMDAwMDAwMDY1IDY1NTM1IGYNCjAwMDAwMDAwNjYgNjU1MzUgZg0KMDAwMDAwMDA2NyA2NTUzNSBmDQowMDAwMDAwMDY4IDY1NTM1IGYNCjAwMDAwMDAwNjkgNjU1MzUgZg0KMDAwMDAwMDA3MCA2NTUzNSBmDQowMDAwMDAwMDcxIDY1NTM1IGYNCjAwMDAwMDAwNzIgNjU1MzUgZg0KMDAwMDAwMDA3MyA2NTUzNSBmDQowMDAwMDAwMDc0IDY1NTM1IGYNCjAwMDAwMDAwNzUgNjU1MzUgZg0KMDAwMDAwMDA3NiA2NTUzNSBmDQowMDAwMDAwMDc3IDY1NTM1IGYNCjAwMDAwMDAwNzggNjU1MzUgZg0KMDAwMDAwMDA3OSA2NTUzNSBmDQowMDAwMDAwMDgwIDY1NTM1IGYNCjAwMDAwMDAwODEgNjU1MzUgZg0KMDAwMDAwMDA4MiA2NTUzNSBmDQowMDAwMDAwMDgzIDY1NTM1IGYNCjAwMDAwMDAwODQgNjU1MzUgZg0KMDAwMDAwMDA4NSA2NTUzNSBmDQowMDAwMDAwMDg2IDY1NTM1IGYNCjAwMDAwMDAwODcgNjU1MzUgZg0KMDAwMDAwMDA4OCA2NTUzNSBmDQowMDAwMDAwMDg5IDY1NTM1IGYNCjAwMDAwMDAwOTAgNjU1MzUgZg0KMDAwMDAwMDA5MSA2NTUzNSBmDQowMDAwMDAwMDkyIDY1NTM1IGYNCjAwMDAwMDAwOTMgNjU1MzUgZg0KMDAwMDAwMDA5NCA2NTUzNSBmDQowMDAwMDAwMDk1IDY1NTM1IGYNCjAwMDAwMDAwOTYgNjU1MzUgZg0KMDAwMDAwMDA5NyA2NTUzNSBmDQowMDAwMDAwMDk4IDY1NTM1IGYNCjAwMDAwMDAwOTkgNjU1MzUgZg0KMDAwMDAwMDEwMCA2NTUzNSBmDQowMDAwMDAwMTAxIDY1NTM1IGYNCjAwMDAwMDAxMDIgNjU1MzUgZg0KMDAwMDAwMDEwMyA2NTUzNSBmDQowMDAwMDAwMTA0IDY1NTM1IGYNCjAwMDAwMDAxMDUgNjU1MzUgZg0KMDAwMDAwMDEwNiA2NTUzNSBmDQowMDAwMDAwMTA3IDY1NTM1IGYNCjAwMDAwMDAxMDggNjU1MzUgZg0KMDAwMDAwMDEwOSA2NTUzNSBmDQowMDAwMDAwMTEwIDY1NTM1IGYNCjAwMDAwMDAxMTEgNjU1MzUgZg0KMDAwMDAwMDExMiA2NTUzNSBmDQowMDAwMDAwMTEzIDY1NTM1IGYNCjAwMDAwMDAxMTQgNjU1MzUgZg0KMDAwMDAwMDExNSA2NTUzNSBmDQowMDAwMDAwMTE2IDY1NTM1IGYNCjAwMDAwMDAxMTcgNjU1MzUgZg0KMDAwMDAwMDExOCA2NTUzNSBmDQowMDAwMDAwMTE5IDY1NTM1IGYNCjAwMDAwMDAxMjAgNjU1MzUgZg0KMDAwMDAwMDEyMSA2NTUzNSBmDQowMDAwMDAwMTIyIDY1NTM1IGYNCjAwMDAwMDAxMjMgNjU1MzUgZg0KMDAwMDAwMDEyNCA2NTUzNSBmDQowMDAwMDAwMTI1IDY1NTM1IGYNCjAwMDAwMDAxMjYgNjU1MzUgZg0KMDAwMDAwMDEyNyA2NTUzNSBmDQowMDAwMDAwMTI4IDY1NTM1IGYNCjAwMDAwMDAxMjkgNjU1MzUgZg0KMDAwMDAwMDEzMCA2NTUzNSBmDQowMDAwMDAwMTMxIDY1NTM1IGYNCjAwMDAwMDAxMzIgNjU1MzUgZg0KMDAwMDAwMDEzMyA2NTUzNSBmDQowMDAwMDAwMTM0IDY1NTM1IGYNCjAwMDAwMDAxMzUgNjU1MzUgZg0KMDAwMDAwMDEzNiA2NTUzNSBmDQowMDAwMDAwMTM3IDY1NTM1IGYNCjAwMDAwMDAxMzggNjU1MzUgZg0KMDAwMDAwMDEzOSA2NTUzNSBmDQowMDAwMDAwMTQwIDY1NTM1IGYNCjAwMDAwMDAxNDEgNjU1MzUgZg0KMDAwMDAwMDE0MiA2NTUzNSBmDQowMDAwMDAwMTQzIDY1NTM1IGYNCjAwMDAwMDAxNDQgNjU1MzUgZg0KMDAwMDAwMDE0NSA2NTUzNSBmDQowMDAwMDAwMTQ2IDY1NTM1IGYNCjAwMDAwMDAxNDcgNjU1MzUgZg0KMDAwMDAwMDE0OCA2NTUzNSBmDQowMDAwMDAwMTQ5IDY1NTM1IGYNCjAwMDAwMDAxNTAgNjU1MzUgZg0KMDAwMDAwMDE1MSA2NTUzNSBmDQowMDAwMDAwMTUyIDY1NTM1IGYNCjAwMDAwMDAxNTMgNjU1MzUgZg0KMDAwMDAwMDE1NCA2NTUzNSBmDQowMDAwMDAwMTU1IDY1NTM1IGYNCjAwMDAwMDAxNTYgNjU1MzUgZg0KMDAwMDAwMDE1NyA2NTUzNSBmDQowMDAwMDAwMTU4IDY1NTM1IGYNCjAwMDAwMDAxNTkgNjU1MzUgZg0KMDAwMDAwMDE2MCA2NTUzNSBmDQowMDAwMDAwMTYxIDY1NTM1IGYNCjAwMDAwMDAxNjIgNjU1MzUgZg0KMDAwMDAwMDE2MyA2NTUzNSBmDQowMDAwMDAwMTY0IDY1NTM1IGYNCjAwMDAwMDAxNjUgNjU1MzUgZg0KMDAwMDAwMDE2NiA2NTUzNSBmDQowMDAwMDAwMTY3IDY1NTM1IGYNCjAwMDAwMDAxNjggNjU1MzUgZg0KMDAwMDAwMDE2OSA2NTUzNSBmDQowMDAwMDAwMTcwIDY1NTM1IGYNCjAwMDAwMDAxNzEgNjU1MzUgZg0KMDAwMDAwMDE3MiA2NTUzNSBmDQowMDAwMDAwMTczIDY1NTM1IGYNCjAwMDAwMDAxNzQgNjU1MzUgZg0KMDAwMDAwMDE3NSA2NTUzNSBmDQowMDAwMDAwMTc2IDY1NTM1IGYNCjAwMDAwMDAxNzcgNjU1MzUgZg0KMDAwMDAwMDE3OCA2NTUzNSBmDQowMDAwMDAwMDAwIDY1NTM1IGYNCjAwMDAwMTY1MTQgMDAwMDAgbg0KMDAwMDAxNjgxNiAwMDAwMCBuDQowMDAwMDUwNjI0IDAwMDAwIG4NCjAwMDAwNTA5MTMgMDAwMDAgbg0KMDAwMDA1MTE5NSAwMDAwMCBuDQowMDAwMDUxNTA2IDAwMDAwIG4NCjAwMDAwNTQ2ODcgMDAwMDAgbg0KMDAwMDA1NDczMyAwMDAwMCBuDQp0cmFpbGVyDQo8PC9TaXplIDE4Ny9Sb290IDEgMCBSL0luZm8gMTcgMCBSL0lEWzwxRDA3OTRGN0YwNzdDRjQ5OUZBNTEzNjU1MDBGNzU3MT48MUQwNzk0RjdGMDc3Q0Y0OTlGQTUxMzY1NTAwRjc1NzE+XSA+Pg0Kc3RhcnR4cmVmDQo1NTMyMg0KJSVFT0YNCnhyZWYNCjAgMA0KdHJhaWxlcg0KPDwvU2l6ZSAxODcvUm9vdCAxIDAgUi9JbmZvIDE3IDAgUi9JRFs8MUQwNzk0RjdGMDc3Q0Y0OTlGQTUxMzY1NTAwRjc1NzE+PDFEMDc5NEY3RjA3N0NGNDk5RkE1MTM2NTUwMEY3NTcxPl0gL1ByZXYgNTUzMjIvWFJlZlN0bSA1NDczMz4+DQpzdGFydHhyZWYNCjU5MjIxDQolJUVPRg==\" }" }' ``` Copy the content inside the `resultData` object. This content makes up the body of the add bill or add invoice request you make in the next step. ```json Bill example maxLines=15 { "isSuccess": true, "responseText": "Success", "responseCode": 1, "responseData": { "resultData": { "billNumber": "6654477", "netAmount": 3000.21, "billDate": "2024-02-01T00:00:00", "dueDate": "2024-02-01T00:00:00", "comments": null, "billItems": [ { "itemTotalAmount": 3000.0, "itemTaxAmount": 0, "itemTaxRate": 0, "itemProductCode": null, "itemProductName": "Paper Airplane Stock", "itemDescription": "", "itemCommodityCode": null, "itemUnitOfMeasure": null, "itemCost": 3.0, "itemQty": 1000, "itemMode": null, "itemCategories": [] } ], "mode": 0, "accountingField1": null, "accountingField2": "VBGEB-45841", "additionalData": { "category": "Job Supplies", "currency_code": "USD", "type": "invoice", "reference_number": "VBGEB-45841" }, "vendor": { "vendorNumber": null, "name1": "Paul\u0027s Paper Supply", "name2": "Paul\u0027s Paper Supply Company", "ein": null, "phone": "970-222-2121", "email": null, "address1": "123 North 1st St", "address2": null, "city": null, "state": null, "zip": null, "country": null, "mcc": null, "locationCode": null, "contacts": null, "billingData": { "id": 0, "bankName": "", "routingAccount": "", "accountNumber": "", "typeAccount": "", "bankAccountHolderName": "", "bankAccountHolderType": "Business", "bankAccountFunction": 0 }, "paymentMethod": null, "vendorStatus": 1, "remitAddress1": null, "remitAddress2": null, "remitCity": null, "remitState": null, "remitZip": null, "remitCountry": null, "payeeName1": null, "payeeName2": null, "customerVendorAccount": null, "internalReferenceId": null, "customField1": null, "customField2": null, "additionalData": { "web": "www.paulspaper.com" } }, "endDate": null, "frequency": null, "terms": null, "status": 0, "lotNumber": null, "attachments": [ { "ftype": "pdf", "filename": "paulsPaper_sample Invoice.pdf", "fileDescriptor": null, "furl": null, "fContent": "JVBERi0xLjcNCiW1tbW1DQoxIDAgb2JqDQo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFIvTGFuZyhlbikgL1N0cnVjdFRyZWVSb290IDE4IDAgUi9NYXJrSW5mbzw8L01hcmtlZCB0cnVlPj4vTWV0YWRhdGEgMTg0IDAgUi9WaWV3ZXJQcmVmZXJlbmNlcyAxODUgMCBSPj4NCmVuZG9iag0KMiAwIG9iag0KPDwvVHlwZS9QYWdlcy9Db3VudCAxL0tpZHNbIDMgMCBSXSA\u002BPg0KZW5kb2JqDQozIDAgb2JqDQo8PC9UeXBlL1BhZ2UvUGFyZW50IDIgMCBSL1Jlc291cmNlczw8L0ZvbnQ8PC9GMSA1IDAgUi9GMiA5IDAgUi9GMyAxNCAwIFI\u002BPi9FeHRHU3RhdGU8PC9HUzcgNyAwIFIvR1M4IDggMCBSPj4vWE9iamVjdDw8L0ltYWdlMTYgMTYgMCBSPj4vUHJvY1NldFsvUERGL1RleHQvSW1hZ2VCL0ltYWdlQy9JbWFnZUldID4\u002BL01lZGlhQm94WyAwIDAgNjEyIDc5Ml0gL0NvbnRlbnRzIDQgMCBSL0dyb3VwPDwvVHlwZS9Hcm91cC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0I\u002BPi9UYWJzL1MvU3RydWN0UGFyZW50cyAwPj4NCmVuZG9iag0KNCAwIG9iag0KPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCA0NDUyPj4NCnN0cmVhbQ0KeJzVXduS47YRfd\u002Bq/QfmJSW5PBziQpCscrmyl9jZJL5lxsmDyw/jsXZ2yrvSZEbjzf59ugEClESiGwvSKccPslbqOTjdAE43AJI6f3a/v319db0vPvvs/Nl\u002Bf3X9ZvNz8cP5891\u002Bv3v34/nlh7vN\u002BbdXN7fbq/3tbnt\u002B8fjTHj/6Yrfbb\u002B4//7x4/vJF8e\u002BnT6qywv86IYuqMPDadLK43zx98q9Piu3TJ88vnz45/0IUoi0uXz99IsCoKkShmlLrQoi67HRx\u002BQ5svrxoipsHxOtUU1SlbGp4FfD\u002B/sZ\u002B3Ua\u002B/seXT58UZ0jDFJfXP6y\u002BvVr/WFz\u002B9emTP0PT3z19ks2x7sojitPMIoSgSS0tn8e3eXzkKZ\u002BmLusqm9EPn1XVc/P5MqFpq7LW\u002BcHB3tKtjc5DsVBvdfUcSnbYqNXd5n4hOkLXpTb5dJYKi6ihq/JpXDzerc8gLm/x9UPxYiFWUralmUFr9\u002B5urVdX2w9L8emaslZL9pYyhQELHJGqK\u002Bu2gPE\u002B0GANPM\u002Bu7MwRUy3LVhetKVXliTa6QzIGX6sa/uGYjj52VC/XZ3K1GWtSCh815lM3pZzF52NDF2Viqjk0umZ91qyqpcg0pmyqWXE5W4oKaHVlZlCxai0aJ9dSyqV4daY084bOYiESFfzRHCZSgBzJ9Vm3EotxkrKECuJ/PrOimtPosstk8gVqztV/FpzpM8gsJziybObFZWnRgYLVzCK0nOjAkJEzqJyIzmKao8puXpctR6Wz1fzvobNEBb1lluossViIhADj30dvCVmXUDMuJzuOjcA1XXvICNYMp5UibxSnDfNQzckh0Jl6pYqvMbXt7vdvinF\u002BS6dnSn1SdiuNZXfbZfN72M/gMwqXxCHRLJtz59CBxKtmdB\u002B\u002Bb0xjp\u002BXFsoGqBayEfjeBcsN8xuR8\u002BXhvS5QtjPYbO9Y/LeDti2/WZzVQPRPVqsUST\u002BF31Zw5MA5lI8q2XlxZFCxlqzow0hr/NVqDskZR2krCCJhVM79//768u8KAPr5dN6sHDPUd/nO8fzeHZytKNYvn3QY6/h73P8rr9Zle7ZDjuyU5atGUdb1wqT\u002B7a2eMSOhWvXrEOL1d16s/rc9a95Ht3s09xrFZ7RaNoeraUs7SgMlppOuuFIHQeBeH/D7e4cbuMwHlZck2zUCm68Zkqe\u002BJHR4QV9A2Zf9sGbLn4fDh\u002BVcvoJUbW5iJCvrQ\u002BMKsAiJV5TbvXn8SNLY3ct\u002BKCSuDNWOAast6ZNMPswGp7rpuwspAVRuQtCqrCaO6lG1R13a3R\u002BgK0pDGk42BjsbSujewX518D7VP\u002BHtAa04MlNBYA0QBlGjLpjlicEJBQ0RU4AjLjkYeGxR//ir9JGdq6kGqgybC4IDioLjxbyLypFuFWQ8GlYZh0kKIC5jtDcjO0KD9FJuAb1rUgcM/ucYzo1fvrm42whQvd8V3gx/ApxE4GKHvNO6hyAZ6UB8gF\u002BcXd1dbPPj66sWrl0V1/ver7U2x2mzPvny\u002BHo62eCAfk9PTLfxDGIfSRcQFQZ6LtVqdyworDamnViZ5rYnKwLQeNziedj5COEygAd8ctMbGSERilAIVeIsS5e7olMT9tTR2UKUNn0NHahgaoXUNiUs2rCsy5koSmN8lwyR5UoWCsoJANZDNlckSylfbX3Fw7G6v7SZ98fWuHJeaM1lKSAJdM4flROk\u002Bl1OrUVyzOeF7VbnjVmNqDYlucY7KgHLO4Bgdxse58EDEamMO1MAuKohRreIixgBF931xr6StMH9Nz0wbdpR9CPvlbkrQclvWLZ4qkY2P4mkjdxIUPTMokO1GEWkwyef0//NbXES8xTWEfSm\u002BwH/fr4WCJQ\u002B82\u002BLLL3YplBvKU75NW1YYyGzOk5vl2aGroeDNolFjaCS\u002B2HfFs\u002B26Xd1iEN\u002BtzwyEr8P1o1kV/7yF\u002BG3Q5n3x8v4WZfRX\u002B8lSbgjZQUhnuLJsRDWsHHN3PK5wxW0H3Q2\u002B7PDl07UQq\u002BLFN7BsK1r8XuCnCl\u002BqdeR0Ky\u002BOwtbp\u002BQ4kzP76t5FE0eFWcEyVLmCd\u002BwbH3e1dcen2CxYURliLNWDJcEiIjfkNlBFWSkb\u002Bv0ljPumEKDe/yQis20HOx53/avuwxxjew2rjEQfi9f52hx9s8R/5AZzg0ilbPtF8EsLULj8YayzX8rYr/rYNcngNQ\u002B4Xm1gWG3ewfsXLHmbw279BYb7fgB7bTFfs8fV23blkuLHJcDGdrnCezKHLLkM9L1w7clVuRy9DSaj48YH7Y9MZXCFkr0L7xvulBeeJiO06pKHFnalrm1iznDlei\u002BCORGVgavdD5njnql9PWYOe5Xhb6dTpg22E7y/WH3kV8fTeU103uL/1MfJjo1zjxpuCAYt7J6UBHZPaTs14l8V3DhLAiF0QAx\u002BBI6otVRd15DvU8Ee8SnW7v91D/Tu\u002B\u002BHEmD1lJ3PFkeMTngYTltK59\u002B7LClvmgxhauaWiENwqyE\u002BvNS6h0Nw/X97d4QanNm7fwyW47iu1sOrid2eUHVyuJh0RD5\u002BLVzmxwYwvgNLS4NxrdYIP7PYRye7s2LrAFvnzrD9MwzNfjddlsYm1ddm1\u002BmGvo2Lo9bD9hCMcWGklgcV9qAXWV5ny53PmRezW\u002BqncuA\u002BVyUVY0j5OJT2vwP0hrFV4Kgi94hnOSUmgTq3DOole4UxuJu8kNCeMnszPpJ/OpEQ7F6gjHHTiNrer6gBIO2FMj7AbBIfm\u002BGpDGnOrGHAE1XTf2LsnIB9uNDBulg4FxGMe4hY/QYIEtnBj1vtM2jnGwsYxPbE4yNx56DElOYbDiEzS22k3BIq46qWxpDNUm1D6xyTFxsci8Rm15RzZ6dD0eVFXLMsAqQdac23yV4Fr3iZTpwNhCOgmMuN7LlQi0K5iyru7wkoXNffEML2bA3HXv74vR7rKhTYHfXDgtFtVqd\u002B32LGJ1RB5jBX8tuvzge7UKXW/TKxP82PI8CSx\u002BEUSDW6jpA1mVEyN5JoWutQk2N5pesYfW\u002BZEcW8GmYMWv0YA8LVkpUtHyILNRuycwT4rmMaiNXfWzDKq2dRSmxtA8Ck2VP4SmKyTZlUaR5Y\u002BzYMofAsZrkDNhyp8Bhyp/AiWi/KGRfDcMSNHyJwCRlY3rT1e3hO48jFDUwLs\u002BGNia5cim94k0cWyDiatqjkyOixrdyvSiRsY3kHiseH3RCTyK1101K7v3radldxm7uCQJjMvu2a70Q3sIZEKulLEtoiQwLlFlu9LPrYPW\u002BU6J7cukYHFymefItFxWNSeXzoKRSwImlGx1glwOOJRcBkqEXNJIIWvVrFwGIEou\u002B/6My2XcoHf9wCAml7SJZTuY8HJZtx8hl7GtsBQsVi6NmSeXrvVEuYxtNyWBsXKZ64pXuBDIFLmMLcyTwFi5zHXFS9zQOt8psRVqChYrl1mOTMqlbgUjl70FLZcUTMjagpfLAxxCLgdKcblkkELWEpxcDkCkXLr\u002BJOQyauBdHwyickmaOLbBhJdLWCSmy2Vs0Z\u002BCxcqllvPk0rWeKJexFXcSGCuXua74oR0CmSCXKlbyJ4Gxcpnrip9bQ\u002Btsp6hYyZ\u002BCxcplliPTclk3nFw6C0YuCZiQtZsEuRxwKLkMlAi5pJFC1mpYuQxApFy6/iTkMmrgXR8MonJJmji2wYSXS1Gly6WiLw2gsVi5FO08uRRVulwq5jyeBmPlMtcVP7RF9RFyyZx\u002B02CsXOa64ueWqNLlkjlhJrFYucxyZFouoZcZuXQWjFwSMCFrqwS5HHAouQyUCLmkkULWUqxcBiBSLkXFyGXUwLsuKlYuSRPHVlSpcqnajziQVfSBLI3FyaXq5p1M9q0nyiVzMkmDcXKZ7Uo/tIdApsglc85Hg3Fyme1KP7cOWuc7hTlkI7E4ucxzZFouK\u002B6op7dg5JKA8XJZJRz1HOBQclnxRz0MkpfLij3qGYAouez7My6XcYPe9QODmFzSJpbtYMLLpZHulscgcdTFwpo\u002B62HAWMFscPzOEEzX/IHGkb4wpz0MGiuZuc54lQux9CpHOsOc9zBorGjmOuOFbmg\u002BoWOYEx8ajJXNLFcmZVO13JFPb0HLJgUTsnfCkc8BDiGbA6W4bDJIIXuxRz4DECmbrkODKurRtX\u002BEhXd\u002BsPCqqE\u002Bv/WNsHONgE6Rz4hEVfe\u002Bq9kTuiFpA0\u002Bc\u002BNBarnNrMU07XelqpqZlzHxqM1c1cV/z4DoFMKDU1c\u002B5Dg7GqmeuKn2BD63ynMOc\u002BJBarmVmOTGumgREugtjZSXaimc5i0MwjmyAIcZiQv63JoJlHRkE2Ak6vdCOruj6g1GvmkZEXFxIp5K6ANObkFcgDec08CZKLo\u002BtPotSMGnjXB4NoqUmaOLbBhC81hf4IuaTPfWgsVi6lnCeXrvVEuWTOfWgwVi5zXfFDOwQyQS5r5tyHBmPlMtcVP7eG1tlOqZlzHxKLlcssR6blUjWcXDoLRi4JmJC1mwS5HHAouQyUCLmkkULWali5DECkXLr\u002BJOQyauBdHwyickmaOLbBhJVLvFGvtUMQH84nNT4vLT6e6XMfGou4IxT0UrqfpZC5d2JK4ZvHsdUa1hXq4IcFi/uCa5Gu43zBGycef1ordyfbbj9xL9tMHhoGnJoR036SDV3a35lIxpQ5gaLBCF\u002Bccmf70k/zg\u002BYl6wpzBEViEXcYOunO82RauoXipNtZMNJNwIQKQlFailZdaA3Hqxi3FlSOhAp5XvECTyOFPKtYgQ9AlMD33e70O/T6gWcHBv2Nf82pftMmlsxg4m8NbKL6bVTZigPNNcSgps\u002BhSChevRu7pZGv3q71QegoR6hjKA6L0O6mKVXNeYLaDXptVpuH4nLiZz7mcfC6nRtNL7WhL/0d5UQ0mZMwEotX7VxPvNIOrUvOEeYgjIIiNFu3eI894we8Hd/7Oq/dPldkxW8yV6Cs6EHkJ3aSe4teAqa2ifuSJAaDJqbzJjj41djoQCv1kXZP7SQPlOI7yQzSQc7WB1lgYid5AKJ2kvv\u002B9FnAjBwbvvd3f58Spiwck2AR7g6PZQDV9sktoYI39NEajcXnAN3gI1Xyc4BrPq2CN9TJGgtGZAFQ4LrjfLEPvsOHfdzdrd3jPbY38MY\u002B9eOP6/7xH3\u002BBj6\u002B28PHPmC96o1i\u002ByKTrE0Zu6P00Cz2fUOgb5hyQBuNTRq4vfqIPzbOFvmGOAUksPmnQnlTEDbq5DfdZIyuE01kDlEgNB4cTK4zeYsgao4VBXw/FYHzWcCZD1phaOxzgEGuHgVJ87cAgHSRvpci1wwBErh1chxJrh8EgunYgTRyZYMKvHYTEhV1i5qBPFmks/0zFeOaQFT7uPj9zuOYTMwd1tMiCxX1R2AE158slPjljt7/CZ89iWrCZAh/M9Th\u002BPtRMQj435AbXT6bQtym5gTnspMEIX/rckOuLn85D83xuYE47Say4J/jgHzyDoT2JPr4iu1X7hEWyVff8ilZyz6/IpQBKwY7GEqcDsZbKbLpPi1mjZzotqgZ/VsXKOZAxpzkRZFhEc6K3aUrRHK\u002B29ChvOiBRTuSxYGJxvMkJiv3t6R5FVgofITLG6Y0szmB0hBSyVPDbZU0xmchilA9QYpTxovE6ON7gz0xM4fRGLoTB6AjJJ8044yGtxggPGDG\u002BeMd5rQ/5mgmU3ibQNWOcPn97thbgZGi5oefmwHj9Gb6v8Ed87C8ZQZulaI8vddKdN4HvzMjAjYXewI2FYxPfhwON0SI2mMSawVuTpPIGpoPEdkq1jzzRireINYIPI8FvhkZGbbiYhzbGi21vUblfT\u002BotjkCKqSeOxzbVcp/9qjv4qBBtN/xIxMc\u002BA39T\u002BB8qu8OnKG7xXWF/CnBjH9\u002B1sb8xcDf\u002B7cRczi52MzinPNo9tumXRHrq1zggUVYgBjh94j/yZH9Y/o37GcVfig\u002B7R/ts6tf2B23wBZ9H7j4WtfvHT4/4IOuHWwi7gIg/QA88/CEv1BOs\u002B1DTpKfC\u002BV9gEhDiDQplbmRzdHJlYW0NCmVuZG9iag0KNSAwIG9iag0KPDwvVHlwZS9Gb250L1N1YnR5cGUvVHJ1ZVR5cGUvTmFtZS9GMS9CYXNlRm9udC9BcmlhbC1Cb2xkTVQvRW5jb2RpbmcvV2luQW5zaUVuY29kaW5nL0ZvbnREZXNjcmlwdG9yIDYgMCBSL0ZpcnN0Q2hhciAzMi9MYXN0Q2hhciAxMjEvV2lkdGhzIDE4MiAwIFI\u002BPg0KZW5kb2JqDQo2IDAgb2JqDQo8PC9UeXBlL0ZvbnREZXNjcmlwdG9yL0ZvbnROYW1lL0FyaWFsLUJvbGRNVC9GbGFncyAzMi9JdGFsaWNBbmdsZSAwL0FzY2VudCA5MDUvRGVzY2VudCAtMjEwL0NhcEhlaWdodCA3MjgvQXZnV2lkdGggNDc5L01heFdpZHRoIDI2MjgvRm9udFdlaWdodCA3MDAvWEhlaWdodCAyNTAvTGVhZGluZyAzMy9TdGVtViA0Ny9Gb250QkJveFsgLTYyOCAtMjEwIDIwMDAgNzI4XSA\u002BPg0KZW5kb2JqDQo3IDAgb2JqDQo8PC9UeXBlL0V4dEdTdGF0ZS9CTS9Ob3JtYWwvY2EgMT4\u002BDQplbmRvYmoNCjggMCBvYmoNCjw8L1R5cGUvRXh0R1N0YXRlL0JNL05vcm1hbC9DQSAxPj4NCmVuZG9iag0KOSAwIG9iag0KPDwvVHlwZS9Gb250L1N1YnR5cGUvVHlwZTAvQmFzZUZvbnQvQXJpYWwtQm9sZE1UL0VuY29kaW5nL0lkZW50aXR5LUgvRGVzY2VuZGFudEZvbnRzIDEwIDAgUi9Ub1VuaWNvZGUgMTc5IDAgUj4\u002BDQplbmRvYmoNCjEwIDAgb2JqDQpbIDExIDAgUl0gDQplbmRvYmoNCjExIDAgb2JqDQo8PC9CYXNlRm9udC9BcmlhbC1Cb2xkTVQvU3VidHlwZS9DSURGb250VHlwZTIvVHlwZS9Gb250L0NJRFRvR0lETWFwL0lkZW50aXR5L0RXIDEwMDAvQ0lEU3lzdGVtSW5mbyAxMiAwIFIvRm9udERlc2NyaXB0b3IgMTMgMCBSL1cgMTgxIDAgUj4\u002BDQplbmRvYmoNCjEyIDAgb2JqDQo8PC9PcmRlcmluZyhJZGVudGl0eSkgL1JlZ2lzdHJ5KEFkb2JlKSAvU3VwcGxlbWVudCAwPj4NCmVuZG9iag0KMTMgMCBvYmoNCjw8L1R5cGUvRm9udERlc2NyaXB0b3IvRm9udE5hbWUvQXJpYWwtQm9sZE1UL0ZsYWdzIDMyL0l0YWxpY0FuZ2xlIDAvQXNjZW50IDkwNS9EZXNjZW50IC0yMTAvQ2FwSGVpZ2h0IDcyOC9BdmdXaWR0aCA0NzkvTWF4V2lkdGggMjYyOC9Gb250V2VpZ2h0IDcwMC9YSGVpZ2h0IDI1MC9MZWFkaW5nIDMzL1N0ZW1WIDQ3L0ZvbnRCQm94WyAtNjI4IC0yMTAgMjAwMCA3MjhdIC9Gb250RmlsZTIgMTgwIDAgUj4\u002BDQplbmRvYmoNCjE0IDAgb2JqDQo8PC9UeXBlL0ZvbnQvU3VidHlwZS9UcnVlVHlwZS9OYW1lL0YzL0Jhc2VGb250L0FyaWFsTVQvRW5jb2RpbmcvV2luQW5zaUVuY29kaW5nL0ZvbnREZXNjcmlwdG9yIDE1IDAgUi9GaXJzdENoYXIgMzIvTGFzdENoYXIgMTIxL1dpZHRocyAxODMgMCBSPj4NCmVuZG9iag0KMTUgMCBvYmoNCjw8L1R5cGUvRm9udERlc2NyaXB0b3IvRm9udE5hbWUvQXJpYWxNVC9GbGFncyAzMi9JdGFsaWNBbmdsZSAwL0FzY2VudCA5MDUvRGVzY2VudCAtMjEwL0NhcEhlaWdodCA3MjgvQXZnV2lkdGggNDQxL01heFdpZHRoIDI2NjUvRm9udFdlaWdodCA0MDAvWEhlaWdodCAyNTAvTGVhZGluZyAzMy9TdGVtViA0NC9Gb250QkJveFsgLTY2NSAtMjEwIDIwMDAgNzI4XSA\u002BPg0KZW5kb2JqDQoxNiAwIG9iag0KPDwvVHlwZS9YT2JqZWN0L1N1YnR5cGUvSW1hZ2UvV2lkdGggMjQ0L0hlaWdodCAxMjQvQ29sb3JTcGFjZS9EZXZpY2VSR0IvQml0c1BlckNvbXBvbmVudCA4L0ZpbHRlci9EQ1REZWNvZGUvSW50ZXJwb2xhdGUgdHJ1ZS9MZW5ndGggNzEyNj4\u002BDQpzdHJlYW0NCv/Y/\u002BAAEEpGSUYAAQEBAJAAkAAA/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMPFB0aHx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEcITIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgAfAD0AwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5\u002Bv/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5\u002Bjp6vLz9PX29/j5\u002Bv/aAAwDAQACEQMRAD8A9/ooooAKKKKACiiigAooooAKKKKACiuD\u002BLfivVPB3g1dT0l4luTdJFmRN42kHPH4V4YPj945/wCe9j/4Cj/GgD6vor5Wh/aC8aRuDINOlA6g2\u002BM/ka9n\u002BGfxRtPHttLbzQraarAu6SANlXX\u002B8v8AUdqAPQqKKKACiiigAooooAKKK\u002BfPiV8XfFfhjx7f6Rps1qtpB5ewSQBjygJ5\u002BpoA\u002Bg6K4D4geLNV8O/DCPXtPeJb5hASXj3L8\u002BM8fjXM/Br4keIfG2uala6zLbvFb2wkQRQhDu3AUAey0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB5R\u002B0J/yTZP8Ar\u002Bi/k1ef/AHw3o3iCXW/7X023vfJWLy/OTdtzuzj8q9A/aE/5Jsn/X9F/Jq8g\u002BE/xHsPh\u002B\u002BptfWVzci7CBfIK/Ltz1yfegD2zxd8H/CepeH7z7BpUFhfJEzwzQZXDAZGR0IrwL4SahLpnxQ0Uxkjzpvs7gdw4xXoHir9oVNS0S6sdE0qe2muEMf2idx8gPBIA71yPwQ8PT6z8RLW8EbG207NxK\u002BOA2CFH1J/lQB9Uarq1homnS6hqVzHbWsQy8jnAH\u002BJ9q8wuf2h/CUM7JDbajOgOPMWIAH3AJzSfG3wr4s8WQafbaHbJPYwZkmjEoVmk6Dg9QB/OsXw1\u002Bz1ptx4dgm167votTmTc8cTKFhJ7dDkigD0bwh8TfDXjSY2\u002Bm3TpeAZ\u002BzTrscj1HY/hW14l8Saf4T0STVtUaRbWNlVjGm45Y4HH1r5DtYJvB/xRhtbe4LPYamsQlXjcocD9RX0T8dv\u002BSU3x/wCm0H/oYoA6Hwj4/wBD8bm6GjSTv9m2\u002BZ5sRTGc46/SrvirxZpfg7Sl1LV3kS3aURAxoWO4gkcfhXjf7NPXxAf\u002BuP8A7NXTftD/APJO4f8Ar\u002Bj/APQWoA7bwj440bxtb3M\u002BjSTPHbuEk82MpyRnvXzN8a/\u002BSs6t/wBsv/Ra16X\u002BzX/yBNc/6\u002BU/9BrzT41/8lZ1b/tl/wCi1oA9z\u002BI\u002BnnUPgdOqjLQ2UE4/4CFJ/TNcD\u002BzXaE6jr15jhYo4gfqSf6V7rpUEV14YsYJ40lhks41dHXKsCg4IqbT9H03SVddOsLa0EhBcQRBN2OmcUAYfi74geHvBUaf2tdkTyDKW8S7pGHrjsPc1xUP7RHhOScJJaalEhP3zGpx\u002BAOa8T8RXMPiH4s3v9vXr29pJqDQyzdTFGrbRj6AV61qvwP8ACer\u002BGZLnwneSSXixloZFuRKkpxwD6ZoA9e0PXtM8R6amoaTeR3Ns/G5eoPoR1B9q0q8g\u002BDnw\u002B8UeCbu8k1aW2Szuoxm2SQswcHhumOmR1r1\u002BgAooooAKKKKACiiigAorHvvFfh/TLtrW\u002B1mxtrhAC0cs6qwzyMgmq3/Cd\u002BE/\u002Bhj0z/wJT/GgDoaK57/hO/Cf/Qx6Z/4Ep/jR/wAJ34T/AOhj0z/wJT/GgDoaK57/AITvwn/0Memf\u002BBKf40f8J34T/wChi0z/AMCU/wAaAOhorn18c\u002BFXYKviHTSxOABcqST\u002BddAORmgDyj9oT/kmyf8AX9F/Jq8d\u002BFXw3tPiC\u002BpLdX81p9kCFfKQNu3Z65\u002BlexftCf8AJNk/6/ov5NXKfs0/63xB/uw/\u002BzUAbVv\u002Bzh4ejcGfV9QlUdVUKuf0Nen\u002BG/C\u002BkeE9MGn6PaLBDnLHOWc\u002BrHqTWzRQB5n8VvikPAkUFjYQxz6tcLvAk\u002B7EnTcfUkg4HtXlFovxa\u002BJUJuYrq7SwkPD\u002BYLeEj2xgsPzpn7Qdncw/ERLmRW8iezj8psccEgj8/wCddz4V\u002BN3hbSfANhb3QnXULO3WE2scX3yoxkN0wetAHhh0u40Xx3Hpl26yXFtfpFIyEkFg4zgmvpf46f8AJKL/AP67Qf8AoYr5ll1aTU/G39sXK\u002BW9xfC4Yf3QXzX1R8XtOk1X4V6tHApd440nAHcKwY/pmgDzn9mk/N4gHtCf/Qq6X9ohgPh7br63yf8AoLV5D8I/iDa\u002BA9ZvG1CGWSxvIwrmIZZGU8HHccmtL4s/EyPx7BBZ6RaTppdm3myyyrgsx4XIHQdfzoA7b9mv/kCa5/18p/6DXmnxr/5Kzq3/AGy/9FrXpf7Nf/IE1z/r5T/0GvNPjX/yVjVv\u002B2X/AKLWgD6u0P8A5F/Tf\u002BvWL/0EVfqhof8AyANN/wCvWL/0AVdcMUYK21iOD6UAfP8A8Ufgtql9rt1rvhtFuFuWMs9qWCur9yueCD1xXjmPEfhO8PGo6XcKefvxHP8AWvQdT\u002BJ/jnwx4/NvrV/NNDY3JElqqiNJo/wHccivQPEHxr8Can4ZuYmgmvJpoWVbWW26MR3J4HPcUAVPg78WtQ8Q6mvh3X3Wa6dC1tchcM\u002B0ZKtjjOMnPtXt9fJnwL0W61L4kWl9EhFtp6vLK/YZUqB9ST\u002BlfWdABRRRQAUUUUAFcl8QvGcPgrw1JeDY99MfLtIWP3n9T7DqfwHeusZgqlmIAAySa\u002Bcrkz/GD4si3VmGj2eQCvaBTyc9mc/zHpQA/wAEfCq58d2Nx4h1/UbqAXcpaJowC83PzOdwPGeB9PTFdV/wz3of/Qb1P8o//ia7jxhpmuT\u002BFDpPhQ29rM4WHzHkMfkxAfwYBwe3tXk3/Crfid/0MB/8Gk3\u002BFAHQ/wDDPeh/9BvU/wAo/wD4mj/hnvQ/\u002Bg3qf5R//E1zv/Crvid/0MB/8Gk3\u002BFL/AMKt\u002BJ3/AEMB/wDBpN/hQB0P/DPeh/8AQb1P8o//AImuV8e/C7w54J8PNfvrGozXUjeXbQMYxvf3\u002BXOAOT\u002BXevavBuh3Phzwvb2eoXkt1e48y5mlmaTLnqAW/hHQfTNeC\u002BIX1b4v/EO5ttHEZtrRGW3MjlUWNTyxODyx/p6UAdB8F/h6t0yeKdWiDRKf9BhYfeYH/WEegPA98nsK97r56j\u002BFPxLgiSKLXVjjQBVRdTlAUDoAMcCuMvP\u002BEwtvFB8Oxa7fXeoCUQ7ba\u002BlZd57ZJHTv2H4UAfTXi3wnpvjPRxpeqtMLcSrL\u002B5cK2RnHJB9aoeDPh7ofgRrs6Q9yTdBRJ58ob7ucYwB615hf/AzxTeTpMvi4lmiTzDPJKzb8fNz6Z6e1Vf8AhQXi3/obYf8AvqWgD6FyPUUZHqK\u002Bev8AhQXiz/obYf8AvqWj/hQXiz/obYf\u002B\u002BpaAPZvFng/RfGemfYdXg3qpzFKjYeI\u002BqmuC0r9nzwrp\u002BoLc3V3e30anIglZQh\u002Bu0AmuW/4UF4t/6G2H/vqWj/hQXi3/AKG2H/vqWgD0TxB8G/CfiPVf7QuUuYJRGkYS1lCIAowOMemK7mC1ig0\u002BOzLGaNIxETKQS4Ax83rmvAv\u002BFBeLf\u002Bhth/76lo/4UF4s/wChth/76loA6vWf2f8AwrqepPd211eWCSNuaCAqUH\u002B7kcVvj4SeE18Jv4djt5Y7aV0kmmRx50rL0yxH6YrzX/hQXi3/AKG2H/vqWj/hQXi3/obYf\u002B\u002BpaAPXvBvgXR/AttdW\u002BkPcFLlw7\u002BfIGOQMcYArG8SfB7wv4p1641nUJL4XU\u002B3f5UwVeAAMDaewrzr/AIUF4s/6G2H/AL6lo/4UF4s/6G2H/vqWgD6AtYI7S0htoz\u002B7hRY1yecAYFS5HqK\u002Bev8AhQXiz/obYf8AvqWj/hQXiz/obYf\u002B\u002BpaAPXPF/wAPvDvjWNf7Vtv9IQbUuYW2yKPTPcexrgYv2cfDazhpNY1J4wc7MoCfx21g/wDCgvFn/Q2w/wDfUtH/AAoLxb/0NsP/AH1LQB7d4d8M6N4U04WOj2iW8OcsQcs59WPUmtivnn/hQXiz/obYf\u002B\u002Bpa960m0ksNHsbOWTzJLe3jidx/EVUAn8cUAXKKKKACiiigDzz4yeJf7A8DTW0TEXWpH7NHtPIUjLn8uP\u002BBCq3wd8PR\u002BGvAp1S72pPfj7TIx/giAOwH8Mt/wACrifihI3jD4taX4YjdhDAY4HK9i53OfwXH5V7fe6ho\u002BgWEK395aWNrgQx/aJFRTgfdGevAoA8hm/aJiSaRYvDu\u002BIMQjm8wWHY42cUz/hosf8AQtD/AMDv/sK9L/4SzwP/ANBvQv8AwIi/xo/4SzwP/wBBvQv/AAIi/wAaAPNP\u002BGix/wBC0v8A4Hf/AGFdh8PvidL481O6tk0UWkNtEJJJvtPmYJOFGNo64PftW5/wlngf/oN6F/4ERf41u6dNYXVol3pz28lvMMrLbkFXHTgjrQBxHxj8SDQfA09vE5W71I/ZY9pwQpHzn/vnj6sKr/Bbwx/Yfg5dQnjC3epkTHjkRj7g/Ilv\u002BBVw/wAU5G8YfFfSvC8EhEcHlwOw/hZyGc/gu38q99ggjtbaOCFQsUSBEUdgBgCgDj/id4xHg/wpJNC3/EwuiYbUDs2OX\u002Bijn64rkvgl4K\u002ByWLeKtRTfeXgP2XecssZ6vz3b\u002BX1rmPEbyfE/4yxaRA7vplk/lMQflWND\u002B9YfU/Ln/dr6Fhhjt4I4IY1jijUIiKMBQOABQBBql6NM0m8vynmC2geYpnG7apOM/hXnulfGnRrrw1ea1qNs9kIZvJit1fzJJ22hvlGB69\u002BB6123in/kUda/68J//RbV89fB3wTa\u002BK9buLvU4zLp\u002Bn7SYT92WRs4B9gBk/h2oA7I/GvXtQDTaL4LuJ7VT/rCXfP/AHyuB\u002BZrW8MfG/StV1BdO1myfSLljtDyPuj3ehOAVP1GPevUYoo4IlihjWONBhUQYCj0Arz/AOKngOy8S\u002BHbrUIII49WtIjLHMq4MiqMlG9cjp6HHvQB6ECCMisLxT4v0jwfppvNUn27siKBOZJT6KP6ngVyfwV8STa74LNrdStJc6dL5G5jkmMjKc/mP\u002BA1wlnZv8VPjFff2hI0mkaczYjzgeWjbVQf7xyT\u002BNAGyPjfrepyM2ieDZ7m3U4LbnkP47VwD\u002BdbPhz42abqOqLpmuadNo10x2hpWzGG9GJAK59xj3r0y0tLextY7W0gjggjXakcahVUewFcz478C6d4y0WaKSBF1FEJtbnGGRuoBPdT0IPr60AUvCfxIj8U\u002BLdT0FNNa3axWRjMZtwfbIE6YGM5zXTeI9ZHh7w5f6u0JmW0iMpjDbd2O2a8I\u002BASSR\u002BOtUjlBEiWDqwPUESpkV7D8Sv\u002BSbeIP\u002BvNqAOet/jRov8AwiP9uX1vJbzPM8MNlG4kklKgZPQADnqa58/GrxHeJ9q03wTPLZdRITI\u002BR9VTFc/8FvAlp4gubnXNWgE9paSeVBC/KPJjJJHcAEcdMn2r6JVQqhVUKoGAAOBQB5t4Q\u002BM2jeI79dOv7Z9KvXO2MSuGjdum3dxg\u002BxH616XXlXxi8C2ep\u002BH7nxBZW6RapZL5sjoMGaMfezjqQOQfbFbvwo8RzeI/AdrPdymS6tna2mkY8sVxgn32laANjxX4y0fwdp32rVJ8M2fKgj5klP8Asj\u002Bp4FeaD4267qTNJovgye4tlJBfc7/\u002BgrgfrXP6Ktp8SfijqGqa/eRDSLMnyoZpQisobEaDkcHBY/8A1692t9V0G1t0gt9Q06KGMbURJ0CqPQAGgDg/C/xr0rWNTXTNYspNIvGOxTI\u002B6Pf/AHScAqfqMe9eo15R8W9F8O\u002BIPDF1qdveWH9rWSeakkcybpVHVDzzxnHuK2Pg94km8Q\u002BBohdOXubGQ2zuTkuAAVJ/AgfhQA7XPiXHo3j\u002Bz8KnS3la5eJRcCbAXecfdx2\u002BtVvGXxi0TwrfPp8MMmo30fEqRMFSI\u002BjMe/sAcd68w\u002BMU9za/FlJ7JmW6jhgMRXqG5xj3zXrHgP4Z6V4Z0uCa\u002BtYbzWXG\u002Be4mUPtY9QuegHr1NAGd4e\u002BLcuv2El2mg\u002BWElMePtWc4AOfu\u002B9FeliONRhUUD2FFAHgPw1VfE/xq1jXW\u002BaKAzzxH/ebYn/jpP5V6l43\u002BH9l46\u002BxC\u002Bv7q3jtN5VINuGLY5OQfT9TXnH7O9uc65cEZIEMef\u002B\u002Bj/hWv45vvifH4tuo/DVrdHSkVBE0cURDHaCxy3PUkfhQAv/DPugf9BbUv/HP/AImj/hn3QP8AoLal/wCOf/E1zf8AaPxt/wCfW\u002B/78QUf2j8bf\u002BfW\u002B/78QUAdJ/wz7oH/AEFtS/8AHP8A4mvT9H0qDRNFs9Ltc\u002BRaQrEhbqQBjJ9zXiNrf/GlryBZra9WIyKHJhgwFyM/pXuOqTm10e8nzzFA75\u002Bik0AeFfDpB4l\u002BOGr6yfmht2nnQnvlvLT/AMdJ/KvYfG2ur4c8G6pqZOJIoSsQ9ZG\u002BVf1Iryn9naDLa5cnltsKZ/76JrY/aA1X7N4X07TFPzXdyZCP9mMf4stAFb4BaAY9N1HxDPzJcyfZ4s/3V5Y/iSB/wGvZ65rwBpA0TwHo1ljDi2WST/ff5m/U10tAGR4p/wCRR1r/AK8J/wD0W1eS/s9alCIda0tiBOXS4X1ZcbT\u002BRA/OvWvFP/Io61/14T/\u002Bi2r5p8EeGPEN1pU/ijwvM/8AaWm3PlmBSAzoVB4zwepyp6igD6trJ8T6jb6V4X1O9unVIorZycnqcHA\u002BpOB\u002BNeTJ8d9R02MW2ueF5Yr5Bh8O0QY\u002Bu1lyPzNZF9d\u002BN/jFdw2cVgdN0IOGLMpEYx/EzEAufQAfl1oA3/2erGWPRdav3BEU9wkSH1KKSf8A0MVmfByZNE\u002BI/iLRLshLiXeqbv4mjc5A\u002BoOfwr2Tw5oFn4Y0G10mxB8mBcbj1djyWPuTzXnHxK\u002BHOo3Grr4t8KFk1WIh5oYzhpGHAdO27HBHcD16gHrtQ3V1DZWk11cSLHDCheR2PCqBkmvEbX46atpMQs/EPhuT7bGMMykwlvcqwOPwNV77WfG/xbePTLHTH0nQpCPPmbOGX/aY43D/AGVH1oAg\u002BCF0t98StdvEXas9rLKB6BpkP9a9Z\u002BJf/JNvEH/Xm1eY/BrQb7RfiLrcU1pdpbRW0sMc00LKHxKmMEjHIGa9O\u002BJX/JNvEH/Xm1AHGfADVLeXwtf6WGAube7MrL6o6jB/NSK9dr5c8HeHfFNpoUXjLwnI8tzFPJBcWqjJZBtP3f41OeR14BHt2o\u002BPl1aR\u002BRqXheWK9UYdPNKDP0Zcj6c0AejfEXU7fSvh/rU9wwAe1eFB/edxtUD8TXJ/Aixlh\u002BH9zLICq3V7I8efQKq5/NT\u002BVcdJa\u002BNfjHqtv9ttX0vQYm3qSpVFHTIzzI5HfoPbv7xpGlWmiaTa6bYxeXbW0YjjXOTgdye5PWgD5u\u002BG3gzQ/EPiPVtD8QfaEvbcEwrHLsztYq46cn7v616j/wAKI8G\u002Bl/8A\u002BBH/ANasv4h/DzVoNfXxh4OLJqCsJJ7eM4Zm6F1zwcjqvf3zWfb/AB4v9OiFrrvhmVL9Plfa5j3H12suR\u002BtAG5e/BXwJp1nLeXk15BbwruklkuQFUe5xXWeBfDvh/wAP6TMvhy6\u002B02dxL5jSCcSgsABwRXlGo6h44\u002BME0On22mPpegswaSRwdhA5yzHG/wBlUdevqPbPDmg2nhnQbTSLIfubdMbiOXY8lj7kkmgDxHx/Es3x\u002B0mN\u002BVaWzyP\u002BBV9AivC/Gul6hP8AHnSbuKwupLZZbUtMsLFBhuctjFe60AFFFFAHiv7PGP7M13HXz4v/AEE11GufGTw14f1u70m8g1Fri1fZIY4VKk4B4JYetef/AAH17TdKTWotSv7azEnkspnlVNxG4HGevavRb62\u002BF2qX017fSeHri6mO6SV7hCzHGOefagDJ/wCF\u002BeEv\u002BffVf\u002B/Cf/F0f8L88Jf8\u002B\u002Bq/9\u002BE/\u002BLq9/Y/wk/ueG/8Av\u002Bn\u002BNH9j/CT\u002B54b/AO/6f40AVYPjt4UuLmGBLfVA0rqgLQJgEnHPz13Pif8A5FTV8dfsU3/oBrkV0n4TI6uq\u002BHAykEETpwR\u002BNbuq\u002BKvDNzo97bL4g0smWB4wPtad1I9aAPO/2eMf2brnr50X/oLVl/HRze\u002BOdB070hCge8kmP/ZRVn9nef5tctyedsL4/wC\u002BgarfFIeZ8bPD6N90tZj/AMjGgD3yJBHEiDoqgCn0gpaAMjxT/wAijrX/AF4T/wDotq8z/Z6/5FvWP\u002Bv0f\u002BgCvYZI0ljaORVdGBDKwyCD1BFQWmn2VgjJZWkFsrHLLDGEBPqcCgCdkV8blBx6inCiigAooooAa0aORuUHHTIp1FFABXK/Er/km3iD/rzauqqOaCK5heGeJJYnGGR1DKw9waAPNPgP/wAk9k/6/pf5LXppRWILKCR0JHSorSytbCHybO2ht4s7tkMYRc\u002BuBU9ABRRRQAU1kViCyg46ZHSnUUAFFFFABRRRQAUUUUAePzfs\u002B6NLcSSJrV/GrMWCKiYUE9BxXmfjvwLa\u002BEPFmm6TFfXE9vdrGzyyABly5U4wMcAZr6srwD9oVAmuaFKuQ5t5RkezLj\u002BZoA2/\u002BGetI/6D2o/98R/4Uf8ADPWkf9B7Uf8AviP/AArxf/hMPEn/AEHtT/8AAuT/ABpf\u002BEw8S/8AQf1P/wAC5P8AGgD2f/hnrSP\u002Bg9qP/fEf\u002BFH/AAz1pH/Qe1H/AL4j/wAK8Y/4TDxL/wBB/U//AALk/wAaP\u002BEw8S/9B/U//AuT/GgD6P8AA/wws/A2qXF7aandXPnw\u002BU0cyqB94EHgdeP1rzr4vk2vxb0C7PAC2zZ/3ZjXmv8AwmHiX/oP6n/4Fyf41Ru9W1DUrqKe\u002Bvbi6lj4R55S5UZzgEmgD7YHSlqG1YvZwserRqT\u002BVTUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB//9kNCmVuZHN0cmVhbQ0KZW5kb2JqDQoxNyAwIG9iag0KPDwvQXV0aG9yKFBhdWwgQmxpY2spIC9LZXl3b3JkcygyLzEvMjAyNCkgL0NyZWF0b3Io/v8ATQBpAGMAcgBvAHMAbwBmAHQArgAgAFcAbwByAGQAIAAyADAAMgAxKSAvQ3JlYXRpb25EYXRlKEQ6MjAyNDAxMjkxOTU0NDMtMDcnMDAnKSAvTW9kRGF0ZShEOjIwMjQwMTI5MTk1NDQzLTA3JzAwJykgL1Byb2R1Y2VyKP7/AE0AaQBjAHIAbwBzAG8AZgB0AK4AIABXAG8AcgBkACAAMgAwADIAMSkgPj4NCmVuZG9iag0KMjkgMCBvYmoNCjw8L1R5cGUvT2JqU3RtL04gMTYwL0ZpcnN0IDEzMzgvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAyMjY0Pj4NCnN0cmVhbQ0KeJydWtuOG0cOfQ\u002BQf6g/ULPuBQQBknWCLIIYxoyBfTD2QbZ77UFmRoEsA/Hf76G6OFJ2Wax4gMGou9VFsg4PT3Wz5ItbnM8ukQvkaKkuLI5ScyE4T9kF73wh5xOOqvPRhYbviotpcaG6tGBccyl5FxeXl\u002BAiuZyii96VBYOyKym7GF2N1cXgKobH7BpfTPDHDvkz497oiDDAB3w2fF8ceZiCbQrLOUQKCT5xX6TkEu6LuTiYooTIEuykgvuqo4zwE8bnivswoYJ4YnNUPaKEvYo5ZdhrcJZhr1Vcx4wXzDcjhKU2TAMI8HQwb9zg4Mr7xLNEiEtxDEuA/YLzCEgKxscWXQFkKfLEASwQKRGfCK4UhhK4wH6B09ycr54cXHuGpeC8YZLVIwfApQLaBc4qQCcqrgZ8YlDlrCBllXNSqsNfCAARIYdIgBjnEcE3jE/eu4ZMJQTRMD4jyQ32M4w1jC/IGkIOBRdrQUYBEqYami\u002Bu4bwhKCQJyUViOHULrNMCMAE9DggHjW/hjDPgzIBAMIr8wQsugCsx8gFnfGGOwUzCvJhsMRNnG2YyYCMMjAVcAw9wUJkQcFUDG044gFUCKWPDnIkpsDBpiXmIWTJIiUAyQpaTX9gguOmZGMAhBYJBAJ4CUkk4SREwgmOgDmKhM4eYFZ5JBRvEhZELG4SdAm4QiiAVIE9wnCp4DWrioDFXQTnmNYHIyDsMgoR5aUzbDLYxD5EmGIZBfJ09MxFzQ1JgkOsH\u002BcAVUC8iBGIuRmSbp5QTgxmZnZgBoXZyBnEIESBArgTY4SxyXnLl2kIqc1u4WOCrcXJA5rLQuVxwgDwT6Fb4HyXmLXHpg7AepUCYCWYMg0zdULi4wLXIVQpbJYIuPKXCVCegVrLnwsOVDOaiAkF4zIkwyVLAPQIlgRwMgvulIZ\u002BENJTG5YeSqwuVs/DUBQVCKKpK50rGFQ\u002BCEPhRfeFaRokEFgmAVQOqhZChGllGMLJyCRLCrSmeBQD1wuLBdQPuAotaOSxUY60MAahUGyZyrhTmTMUno45K4Ls8Vwi\u002BBOwtAlfMskVM87vvdq9YORd3s7vdvdq9/vLHurs9HT\u002B/O/10vz7sfn3jln\u002B73asPLvA933//7TfbkNSHvP5FG\u002BNZkG\u002B0gSCa4Yue4QscHvnyMvDudL\u002BqcT7HXxj5Q\u002Bn1gTeqszPMHYEenGomPPlf9\u002B9VS2kbe5mpmcGggmMOiV8/JH39kPz1Q8rXD6nqkKckv1AhK1uS6vbRzh9xy1yk7WOYwBiscNozwolx6CtZvkgt3pmzPCwom\u002BBbGvr0e2Q2wX88vP\u002BiWhqPfarp/dtBTcctZ/F/auRppI6UKj2JzDGqfCRROF0\u002B0pA2yaQNqVU8czbkTbJ5o9b/zNmQN6mYzlTlmDmrw4poJkm3lHawOww9QNVanYnxFugV0bJNGlX0sj3bPCRNtkmjyuXFmVr/eUiabJNGFdqZsyFpsk0aVUZnzoakSTZptpR2sDsMPUDNWjEfcrwqyrmZDCjDp5xi6ppXde3iTMWpDB9xSjSdqYI4czbU\u002BmIu614VxJmzYc4mDNhS2sHuMPQA1dCbGboqr6WaDKjLyFk1Bcer8npxpuJUh4JTTcHxqrrNnA0Fp5qC41V1mzkbr1ITBmwPgRvYHYYeoBp6NUNXtbIWmwFt5KzZgqNq5cWZilMbCk4zBSeo6jZzNhScZgpOUNVt5myYswkDtpR2sDsMPUA1dHMBC6pWtmwyoA0XsGYKTlC18uJMxYlbZgNv3DOz3Kn6NnU31BxuyFnuVIWbuhs/G9s02PLaERcoJEY9fPv1XNVM7hVaVOCe5NCfqT1Blc0rfwO8hurDHU/Ln6p1U380FCDup1r\u002BVLmb\u002Bxvmb8KHnl6BXeCQMPUZmAtbVDWUm70mI2i4tHFT2fKnyuiVvwFiQzXilrXlT9W\u002BqT8/1iNv6lFU5W/ub/yqPmHEll6BXeCQMPUZmAtdVBWVrlqF\u002BgyGSx3ZTd\u002BoSuqVvwFiY03ypiZFXQOn/saaZDeao66BM3/jXvOMEb0r1WEXOCRMfQbmohd1Vb30vHVGhOGqR8HWJF1VL/4GiI01KZialHQNnPoba1IwNSnpGjjzF4f5mzFiS6/ALnBImGow0Vz3kq6qkWxGxPFzSzQ1KemqevE3QGysSdHeYNA1cOpvrEnR1KSka\u002BDU3zB/M0Zs6RXYBQ4JUw3GblAnXVUnrVUat6jJ7lEnXVWT3ZWjcZea7DZ10jVw6m\u002BsSXanOukaOPX33LZjT6/ALnBImGow2Vz3sq6qyW4\u002BUh4/t2RTk7Kuqsnu0lEea1I2NSnrGjj1N9akbO9g6ho49ffcNmRPr8AucEiY\u002BgzMdS/rqprtZiSV8XNLMTUp66qa7a4dlbEmFVOTsq6BU39jTSqmJmVdA6f\u002BntuW7OkV2AUOCdPe0xrtv3aWddNbR7W31XpfRd6n5S1Knp3liUnWSVFHqQlB4nl7u9va2iH523u7WV0mJmN0qRfkXhzefX5YH0/6xsQ5yO25o4N9/qnO9ln/EvvV\u002BNfHdb05HE67m8P9\u002Btv\u002BD9dfol/tj/DE37rtDXjbahEUn759uf55\u002BnX94qib/hm2Hg\u002BndfeS//30\u002BP5y8hq3vj38ubtd3512vLG5HrdjHiPH/3y8v3tcbz/uOUK\u002B8MMjLOxPd4fHfn483f1nj4Pz2b8Ox9/fHg6/X7DhK58\u002BruuJgzztftu/Ox6uzv/xEf\u002Bvzl/c7e8PH64u3N7fvV\u002Bv7t384LYPx/3D7ue7D5\u002BPa/9tzy8y6ZefHz69cfxjxL/A/HL/sH56s53Kz5P6L4f6D3r\u002B/k8\u002B\u002Bq8x\u002Bu8kJM/bQ1Pfce974X2Xum/f9o3VvuXZNyP7xl7fcuubYX2bqm/59M2Yvk3SNzD6ZkBv0/cGem9t9zaxNHClsyotT2kdSktPWm3SApNGkjR4pPEiDRFpK8jrvryGy\u002BuxvGTKy5\u002B8lMnLkrxyyKuAPKLLo7M8gMqDoTywyYOUPI7IY4Is37KsyuIki4aIuYjs/9fit9/8F3g984MNCmVuZHN0cmVhbQ0KZW5kb2JqDQoxNzkgMCBvYmoNCjw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMjI2Pj4NCnN0cmVhbQ0KeJxdkMFKxDAQhu95ijnuHpa0exCEUtAVoYdVsfoAaTKtATsJ0/TQt3cSywoOJDD5/2/4M/rSPXXkE\u002Bg3DrbHBKMnx7iElS3CgJMnVVfgvE17V247m6i0wP22JJw7GoNqGtDvIi6JNzg8uDDgUelXdsieJjh8Xnrp\u002BzXGb5yRElSqbcHhKIOuJr6YGUEX7NQ50X3aTsL8OT62iHAuff0bxgaHSzQW2dCEqqmkWmiepVqF5P7pOzWM9stwdj/eiftc1ffFvb9nLn/vFsquzJKn7KAEyRE84W1NMcRM5fMDDJpvNg0KZW5kc3RyZWFtDQplbmRvYmoNCjE4MCAwIG9iag0KPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAzMzcxNi9MZW5ndGgxIDgxMDIwPj4NCnN0cmVhbQ0KeJzsfQtgVNXV7tr7nDPvSWbyfhDOGYYkkCEkJJAQiOSEJAhGJDxNwGgCRMEXQRJAtIBWBINKrEqxWolYgwWVyQRxwkOCttZnwfoo2trmVnxVaWmL1CqZ\u002Bb99JiC23j7\u002B\u002B9/r/f/OGtZe\u002B7G\u002Bvddee\u002B29z5lAIEZEMUhkap82M68gseWWtURsEWobFlzT2Bz78DN/Ipr4OpE0ZMHyFi387OPnE12aT2RuuLz5imv2Zrs7iao\u002BIzJNuOLq6y/36am/I2pqB/zooqbGhX98dsW96OsTcNEiVMStTt6I/oeiPHTRNS0rzxud3Y3y80TltquXLGgsWnvhOqLnML53wzWNK5tTb4t7De2Toa9d09TSKHUojcTStgj7rm28polC839E9NEJovwNzUuWtYRz6OdoXyn0m69rapamFT1BdOFYIvenJOZq5psWdJW9eVls6aeWVAsJ2vZuaYaQ7wR\u002Bd\u002BPnn5/ud5HlOuhaDX1BkOYJoYuowkWff/75KhedbRmgmGdEjftZWksuGkEcHxfl0RzgqjEuR6skvc73k0IW5XtKITpIj0jpVbqcx1kUbjfLXJDcRyPDvbRyHrq1ir5nTa3QCJ/Ml5XXQtNZoXkCC\u002BjEwuEwFi1L2StmSommAZN4yQDvoKD0EjXTP0HQbx2QdwspL6M54G3gQvBUcBZ4Hvhiwf9Mn4KUn9BmcCP4HqPfd\u002Bm7Z\u002Box1u0D\u002BftQ/33TDroL\u002BS2mEqpT5tC9Z/Fz6AK0jzDKc8SchTTy/X9vbNg5Bbj1kLMhZ0GWwycpA3Z855y53iby5gxajfq7wDPAG0WblGHg84FTUXcH8vYBjAMc88/6IUr/ecLaXPcNjn3339TtoFf\u002By8fZQfPAqeBh/9V9RylKUYpSlKIUpf9/iW0O7/2mbfhnSX7/v4\u002BtUYpSlKL0TRKj8F4L2EXhfd\u002B0LVGKUpSiFKUoRSlKUYpSlKIUpShFKUpRilKUohSlKEUpSlH6n0PyIbr8m7YhSlH670bse9\u002B0BVGKUpSi9O9Mob6/KveCj4CPRvibJ/lhukS6nsrkDTRZnkkT5PU0Sr4MciNdIheSflZvCc2RbqLx8k1UCp4j308FkDXybTRfHk/VZ/SUh6lGeY3qlLdoszWHNkPeLiXReGUL3Wf08y7NMmQz3cxX0M0iz2soFvVt8jK6RJSFvmgT/5ZFPgLd39EW\u002BSew5w\u002BQt4KH0xZjrDjaAqyRl0\u002BifgRtMQ2jLYoDfAH0bx9oO4W2G\u002BgCOZWGyx9Tu/wdshn12yhO7iTL/ws/f5N0xkdR\u002BvchvoPGnPtvtMBx4CED9YXn6p0ro/R/n85Zi8J/rB2lKEUpSlH6H07SAA\u002BK/FoENggl5PgQko2KcaSRTGk0hEbQSCqmSppEU6gGz9NzqI4up8XUTMvpeuqgbupho/hbJl2zaqlantasrch82fg9BJqBzaeJwE7GU/sMYGupkRbRVXQdrQQ28DfYFoENv/sPPgtoAhWFfxBip/0f/7Tv\u002Bx8/evxPRO\u002Bd99e/deKfJJNIYp6OORjTGNMLX5i\u002B/PUVjHM45a/00SjJytliLLkpPiExKTklNe1LpcysbBpOPnggL39UQSGNKSqmEhpfOtBcWTXp/MlTqPpCumhazfQZM2n2nItr62jeJf\u002BpGfwdkr7M7vkHqm\u002BI5O1I/t8\u002BCvSJs2fpZRPOKx0/rmRs8ZjRhQWj8vNG5o7w5Qwflp2VOdQ7xKOpgzMGpaelpiQnJSbEx7ldsTFOh91mtZhNiixxRiOqvJMaNH9Wg1/O8k6enCvK3kZUNJ5T0eDXUDXpqzp\u002BrcFQ076qqUPz8r/S1COa\u002BllN5tJKqTR3hFbl1fyvVHq1IJs7vRb5Oyq9dZr/uJGfauTbjbwTeY8HAK0qZVGl5mcNWpV/0vJFbVUNleiuy26r8FY02XJHUJfNjqwdOX\u002Byt7mLJU9gRoYnV43r4mRxwih/mreyyp/qrRQW\u002BKXMqsaF/prptVWV6R5PXe4IP6tY4J3vJ\u002B9Ef6zPUKEKYxi/qcJvNobRFovZ0Eata0Rv2\u002B1BF81v8DkWehc2XlLrlxrrxBhuH8at9CevOpbyZRGdx1XUrj\u002B3NV1qq0pZrIliW9t6zd87vfbcVo9I6\u002BrQB7A8c1JD2yQMfTucWD1Tw2h8XV2tn63DkJqYiZhVZH5N3ipR03Cl5rd6J3oXtV3ZgKVJa/PTjOs9gbQ0vSfcR2lVWtusWq/HX5burWusHNSVQG0zru9O1bXUr7bkjuhyuSOO7YqJHcg4nOdmms62GTlDXeSqZ5z1LBMWeacgIPzaAg2W1Hoxp7EiaRpLbQvGQg1Ux4DyL8SKLPZbKxraXONEvcD7lUyXV2v7lBAB3uOffLWmcaDGlOn6lERWxMnZUEP7mbzf5/Pn5IgQMVdgTWHjBKM8JnfE8iAv8ja7NAi4j2rg28a6cXlwv8cjFnhjUKf5KPjXTq\u002BNlDWanx4gPc9X5\u002BcNoqX3TEvibNGy9kzLWXiDF5G82zgDEv2WrLN/Yl1J8VWLxvlZ0t9pboq0V8/0Vk\u002BfW6tVtTUM\u002BLZ61ldKkfaxZ9sGcv74ilopnQ/keLpktCIoLzmrLAq1Dr\u002BciT8mI6gX\u002BiUEpVHBtEl\u002BV8PkSFpn83j\u002Bt5ig2XIOKBg\u002BIVCG\u002BBI2YKV/nO\u002Br5fFfKX/FOkebBHvlLF49a25bm\u002B0rbZNwALW1TfJqk9oa2hqD4bXzvZrL29bDt/Ptbc1VDWcWNBjeuzHdP\u002Bn2OkxiERuHYOU0scvLNkzv0tmGmXNre1y4FDbMqg1wxisaJtZ1DUVbbY\u002BGM9eo5aJWVIqCJgpUzRDnAW4x9NN7dKK1RqtsVBjlBUFGRp3lTB2jBUEeqXNFBsoyBtJxoS8IypEW/Yy2jDpLpG5tRHvYgLYFLS7Rspe4eEQSjRESh0bFrNpzw8HYY3W5ROUOmiXtEh8\u002BhjJIlZ6QHqdSyMe7TRnq2nKn9BjtAnNyIdXAHWCJdOmxbrOzQA9CxiUYMpDkK\u002BgJ9yIzrtCoz72nYO1\u002BaSddRoWo3hmYLap3duuVBYYsHB\u002BReaMMGbBEms0JBWp5GmB5YE6xA7lp4E3greCDYBMM2km/BofBkvSotC0wSUUPj6Cj2PIE6RF4Vkd6GBwGS7D\u002BEczlEfr9QI0Mqx7utjrE8A8bqHTpYaBikbrAa8G7wIfBCi1BuhUcBkvIbUPbNuLSNumhgEt1ldukB2kNmEvfo1jGSEXvW7pdhm/u646NL9DLXdK9VAPm5JemUi\u002BYo9u7ALuLONSrA7mjDBdWd9tiClzQ3wijN8KQjRiyAykzyjpY6G/sjk8S3X87EOs2cDcE8kdHMt2ulIIaeGElMalJupa8WNLVkIMhF0CKpZ4vLSSnYafeHesqWIvxyqBeJiXikVCVyqUkKoCslNIo3VBrDcRExmkNDMspwIwrpBRDJVZy0mhIi2QOFKjaPkk3nL\u002Bh22oX9m0IuBILDkjrJDMlQGsttJLV2AOSDStrM2Yyq9vqLGgvd0izMM1ZcIsKGxm8fK3R0bUBdFTulqqkQZSEtqukDEqEnCQNNuR26SE8tqnS97uzBqm9\u002B6S7DdR3RKcYfkIktCZ0O2MKesut0gS0\u002BqU7sQB3GoO3d2eNLaDyLGkY5YM5fLwGuTVG0Lch14ZVa8NKtWGl2mBUm3gKk25Dy23QyZNWUbO0gtrBW5EXYZUYgEN7jMzQYQU9UqqUAse49sGVDLVp3dYYYVlKIC7eUEvpdsQUlB2QliHOl6FPXWrpTk4pWLJPyjGmMqI7JV0AmgMI1wNScmRpAEwSS3JAGgRHCMdkSIMDiaq/XEVZBLKKV4MX\u002BRHhJP4af0MsNz\u002BMspAvDchXBuRPIzLcy49ENgX/mZB95YP4e\u002BjsMv4ObUWO8338WTwoq/xtHhRW8Ld4D5VBHkV5IWQPZCHk3oDneTXIg90QsP3\u002BgDNJTJY/G/DlDWTUzIFMcvpAJi6poDyTP8MP4Z1P5T\u002BHHAp5iPfi6V7lByFTIHt5Cz0P\u002BSROrfGQuwfkj/h\u002BEeL8Kb6HxkJ2B2KECf6AWYhdAZMQTwQoUqrJU/fzJ/hOvDqo/PFAVhpqH\u002B3OGqrG7kN/jD/CWwIZaly5jT/EatlJKHXQUSEpjm8LFItO2gP7NbWHt/N2PaVYz9Rz9U4pPzM/N79T0jK1XK1Y69TKXfxOHCBbOfYv34i0mDSO6AHr4HZ\u002BW0Au9pf3Y05iXpzWIu0wcg1Im40cIXWdbT1h5Mr4OpoG5uhjNXgNeC34JvFbIPkq8A3gG8HfMmpawK3gFThNmoFoBqIZiGYD0QxEMxDNQDQbiGZj9FawQDQA0QBEAxANBqIBiAYgGoBoMBDC3gYgGgxEDRA1QNQAUWMgaoCoAaIGiBoDUQNEDRA1BkIHQgdCB0I3EDoQOhA6ELqB0IHQgdANRD4Q\u002BUDkA5FvIPKByAciH4h8A5EPRD4Q\u002BQZCA0IDQgNCMxAaEBoQGhCagdCA0IDQDIQLCBcQLiBcBsIFhAsIFxAuA\u002BEy1qcVLBB9QPQB0QdEn4HoA6IPiD4g\u002BgxEHxB9QPTxFV3SkfIfA3IEkCOAHDEgRwA5AsgRQI4YkCOAHAHkyMDUWwxncITNavAa8FqwwPYC2wtsL7C9BrbXCK9WsMD6gfAD4QfCbyD8QPiB8APhNxB\u002BIPxA\u002BA1EBxAdQHQA0WEgOoDoAKIDiA4D0WEEbitYIP71oPyXl4bfxGotuGv5WjbckGvoE0OupqOG/BZ1GfJG6jTkDXSzIVdRsSFXUJYh0Z8hW0i1sIBaHFuehCNgGvgy8BLwVrB4SDoINhu5w\u002BBfg8N8jD5EjjVPM2817zIfNCu7zH1mHmuaZtpq2mU6aFJ2mfpMXCtP507jHMXRQpuMdA3S34NxiSAtM3JlfDTGHY1zdgw\u002Bo/lo3X1c\u002B30OO5zDDuawXTlsUw4rt/LzmWycdBoV43FPZbW6I2uCehRcnJU9ASfTnXs\u002BSVYDWUVqkO2PiOG6D/ITcBe4E3wzuBhcAM4FZ4JVoy4H\u002BrX6kIEu94OzwR6wJoagpCS8msS5LXoPd7LO7h87ySrGyR4G3L5Adj5EMJA9DeKpQPZ8tdzK9lC2eCpiT2LldkLuCqjH0Px4RDwWUPdBPBpQR0PUB7JHQswLZL\u002BiljvZbFJlAZ01IGdi3kLOCKhzoDY9oA6H8AWys4R2DgbKROtwVkvHIDMHUEMjI3kD6niIIQG1RGhbKFssPDNRrmGeAhZS6oZBv\u002B9htTLT7epx9W71E8A/hmMRHm9pQRnicGaQzdFt6v7cB6FcrgbKbUIf90PXgPQL\u002BaTamXmbej/6Ypl71PvUkeqduUELqu\u002BA3bcZQwTUm/G6uVOPV9eq\u002BWpL7jF1mXqB2qjOUOszUR9QL1H3CzOpjtXynXvUGnQ4BbPIDKjnZwYNEyep16u6mq2WaPuFf2lspN/i3P3CA1QQGX0E/JuTGRQxPrs4yNx6jvmEud08zzzRPN7sNQ8xDzZnmBMscRaXJcbisNgsFovJIlu4hSwJwXCf7hPfKyaYXEKYZJHKRt7FRSq\u002BghTvHszC6QLyx0vVvHrmRFbt711A1fM1/6mZ3iCz4W1O8U5k/rhqqp410T/WVx00h2f4i33VfnPNvNouxu6sQ62fb8DL0qzaIAuLqnXp4muTLkbr7kjvIcZS191RV0cpScvLUsriJrhLJlV\u002BTdIwkPq\u002BpJRzsxn\u002BzdUza/07Mur8BSITzqir9t8kvlTp4bHcWVXZw2OEqKvtkZt5bNUMUS83V9ZB7ZihhmiOgRplCwE1y0TShBrOk4lCDWsU0csCHHoeIaBnc1KWoZdlcxp6MhN6XUe1qsouTTN0MomOGjpHM\u002BkcHUQMsJVdWVmGlldjtUKL1Xo1w7DhRkeqCpVc1VBheK4zOlKZMZg/70uVzAGVMWdVxhhjSexLHTWikzDsjE7CMOj4/g\u002BpaaKPdY9qXf2s\u002BJ6qwVvVBG7wb1y\u002BKMW/dr6mda1uHfgCK6th/oJFQjY2\u002BVu9TZX\u002B1d5KrWvUs1/T/KxoHuWt7KJnq2bVdj2rN1UGRumjqryNlXXdZaW15V8Z67azY9WWfk1npaKzWjFWWfnXNJeL5jIxVrkYq1yMVaaXGWNVLRZxX1PbZaGJdRWXRGQ3t9sQww3pnrqJSa7mCSKge8Z7Ulan75WJPUp2X53f4Z3od4JFU255brlowj4TTTHiy8iBppTV4z3pe9mjA00uVLu9E\u002BmMa0koVfvHTK/2e2bOrRWh4tcbv37NlgkymlOoanEl/qDcYjA\u002B52rSsq\u002Bllq\u002Bj1tbWZSJp9S0jqvbnzKz2F02HJWYzhmqorEPdyDN1kmTUdVmtVcFwLxp9MIK1iOFEzsd88KBuw1uXmXeYOsxcvCq0dKdlFCw5gBt8DRjvcXxFIM94feYruodkiveXlu68MRGJ11UhA2meAozQXQyokJkRqbtzkWnPbM9tL\u002B7I7MjtKDahdk8nKtVOcZUG8jolavEtO\u002BMIZFvq4GyYJcZ7KDAowxi4Q2R8vjrfMmb462\u002Bdzc44/axjlw30uszovuXMgkTqlw10gpWIjN56BtY6ADIaWw1QpJNI6WzyJbW0iq6EP3FKK3tpkMHbaZCchXctCh87w6HF4WOiTUj\u002BW5zoGREeoAA9Rj9nw5hG3exzSqbPWCobRVMQpX/GI9wu6qd78Zo/izazOLy7JdFsmsJk6PjodnZ/eHn4IzqPvkPbwk\u002Bxm8M70L6JnqPPYMGvcGMW00XQn01N9JH0HtWFv0cWWk92vNvNYEnUSG/i8ylsuJvuoafZjeHPMGoC3Yz\u002BSqmcysOHwqcph26X25Wj1ifpLtrHTOEF4cV4UhpCbdwXfjP8a8qiOnqYHoNNPtYrTyYPXUXraAtLlZ5D7l76AYWYg9dLFcpBjDSF5tC1tILaaAe9yOJYjXJUORG\u002BIfwBojGehsGmxfQRG8Om8kdkR3hC\u002BG2aRz30POYrPr3yPHm7Mi9UFv5\u002B\u002BBm8hT/FbGw/O6QUKHf23xR\u002BKPwEOWDPKHjkIowzn75Nh\u002BgF\u002BgP9ka8Jr6HJNBMj/5hlMI1lweNv8lS\u002Bmq\u002BWXqORmG09rG2lreTHiuylfXQAvvkF9dF7LIGlswvYfHYX\u002ByN38IX8sHS/tFt6XWbyD\u002BFvL2XCRy30CO2hl\u002BkVOswU9J/PatiVbAn7Lvs\u002B6\u002BN\u002B/gn/s2yRvy1/IfcrWaG\u002B0Bfhi8Kf4t07jS6kVbQGvn2Yumk3/ZTeoD/Sn\u002BgUc7GxbBF7iPlZH/uEW/kQPo038814i35cuki6Szokj5EnylfJr8hvK7cqG82N5tDpztDdocdDr4afCr\u002BK2IlB/1k0CR69CVHxCB2k19D7W/QO/UbED/ofz\u002BaySzHKMraB3cMeZz9mr7LfYpbGr\u002BrHiON5JUZdwq\u002BDn27md/N7MPph8Y0Hf5u/wz/mn0qKNEQqkpZKD0l\u002BKSgdkd6XXXKWPFIeJU\u002BT58phrEyBcr4yU3lU2ak8o5wwlZoWmppNH5pvNt9iebk/p/9XIQotCvlD3YhdCyJpFTzxIG1D3O/GGrwIj/4UFvfRSaxCGvOwbNhdwiaxajaVXcwuYU3sZraefYdtYfezbewJzABz4GbY7uPlfCZv5E38Fr6e38F347OXv8Df5Ef5cVieLHklnzRKmiLNleZJ12IOLdJq6RZ49i5ph3RYek36QPpQOo5VS5YHy63yKvk\u002Bebu8W35VuVC5Bp9tykGlV3lVOa2cNnFTmmmQKc90pelR02/MJnORucZ8m/l1858szWwQy4Hl2rk/dOSp2IOD\u002BQ6eIK9hx1GRgbePWMzch3WYiV3xJyqTQliXGNEO2xJ5qhxv/LhSl/3iuwu2j8awH9MaE5fEf1LRRwH2S94nP8vPozdYA0uVt0vXKi9yD\u002B3EadTO9/N9bCLt5qV8Dn9AIvYebsf3EO8r6R52FVtGO9lxNo59ixWzNfQ6T5JmsluoNLyNy8zKprATBAvoJnkhXfr3f5jKSuiX9FHoQdkp34jzKUibsaKP0a/ZD\u002BlzpoQ/wekm4TRqxClzO\u002BJ9HYlTrx77bA32YypOkKtNh2m3\u002BEm8udg0QV5FJ\u002Bgv9JGyFxE1ESfpB6HF8oPyu\u002BHicC52GHYZPYp9t4jOx455D1FyAGVRugQ73YazpAC7uobm0kL6Fk69u8L\u002B8APhb4evDy\u002Bhl4D9nI1gn7MO7IggEKX0PD6b6C22Efvw/H/1x8gRCi2kXvotS2GZrAD74biyXGlXdii7laeVV0yj4O1b6H5E9G8QzTbMYAG9Sr\u002BlPzML1iaVRtBo2DsWttfS1bxOOkAVLI2asWeH4RyfODCTZejlZnjvAeznA9gbJ3BOXEJP01HGWTJmtADjW9BPNfx8GbQ7sYLfZt2oWYhTO4c\u002Bxrxj2Fi8mI8gHT1txqnVC5t\u002BSe/D22HDrhE4FyrZHPT1Z7qYFmKEIqphXViBPVSCk7VSehn\u002BHspcNJENYT8ArgE7NIYyqER5l3EaEbooPJYvlg7gjgmjvgO3Vzqdx5bCiljMo58S2TQaE5oBG15jkuxnPzOsuI83hddLK0JX00v0Q6yJLi83V8rXyevkL4yfwZCCDyLITBN3cxYymYO8TI8nRQ5JZDPLIUapFpMS4tJ\u002BlkVWHJwplOJznSrtL73IdbJ0an8plSHvOo1kVL7H7XFnIsEbF53WpN7TukJfkCb3ir/5EUQsf4g7WyEr3bCXF5KdF\u002Bg\u002Bm6KnqqNjFVXhylzLWJPEyWqybbIze2pymmTNMlmyzHIWk7K4aS\u002B/Bw9X9\u002BgOLq6CTUxiqTZ7kFm6Pe/vxBvTRSfrS6ceO\u002BY6Hvlc5Kpqqny/HuaVlU519b9f7xuVzyZVTqpkEqyURMKwD/Mn/xK7ZBX/kNWGHu1PCd3KUkMfwNpmqUtqMqy101X66PXKevsp5ZRdNikme5PSZF\u002BuLLebSJGYyW6zmBXMWLKftFgksmguW56tzCbZguwG3SZpqnFzSSzIN3c7HqkQ3qs/3l/fD8tcx93JJcwdV1IiGPZdtzReGuNJlAqN9JExrGDkSZFIXcz92Weh30dS8QLbGuphjzBx5pU9abXYTTZzkA3W000PsLF2m\u002B06lmUeGotXao3ysRapjiuWp/iwYPVTj/Ufp7Kpx0/2M3cJucWg8Z7EBJPJnF1UVOy9naXmtM4tnj2Zb2CpL6y6o1lrGTR/thjvbiSPYTyJhuqJfCzZeNY5/ctn\u002B\u002B8XvY/KL4R77xaPF3AmvDkn/IEco/QibjW6W69eadtg2852mHdYt8c8ZX3eapnjrkuqS5ujXuFelLQo7QrVUsJLTEXWIucUPsVUZZ3k3G59ib9g\u002BpH1R863\u002BC9Mr1tfd7pdKVoKTxGPxplxSaNTOi1ONTYvlsfqKMV2kpJxdBqeJtKGJBy1p3pee8awbyrC4tTSqXDBcd9SwfB5PdXXs4LkJLfLbPIOIberuCh5iMlscruSkgoLioqL3K6sLF7wxspN7SveeDP0OdLCmqSM0dMKI0Lp3bI7dFmoYc9mhFMne3DP5o/KZ10TAh3Sy2ddjTOEHyqHB7dhm2XBB1aao1uv4jfwjVzicpAN775MYUqQX/qUxYo4cljxRFgr/h8fXq87FZJVWZP9siyn2vay7ThbI44unSr2oBHdJ\u002BuPYxmp3uNxm8xjioYWF0pZoQ\u002B\u002B9\u002Bq1jOcfk73tVeGhL9wq1rAQt5oDFmSwMv2yJ1P2pPWkvyj/JOVIypHUI2mWivSKQRUZc1Lvl\u002B9N2SF3DrKY0jQaZipOmyxXpFSkVqRZhqYMTR2aJiVlyXPkDSkPpD8w6IGMHYN2ZFjiKMOVoWWMyliecUtGe8abGZYMsS5JCYmjM7jLEZvhwrpzESs6Aki81WCNKMgf6ubMESu\u002BoPKqjjwHd4i1c3TGK9ajSUk4zhilqbFHXSt46uAzC3jSWMFSbGksYr9v6TEcP776paXYQMxd6KsXrzuUEe4NuEuEDYFYQ\u002BgxrhLZ4ipRLG5Id0nkbaOuyyR\u002B6Kzbremp6Tw9nonnAXSEP/V1IjKqp9ceoPRwHw0CZ4T7xo4dW8eW1iNe3J6iuGLExpjRWV4ES2bR0MKCJOwjs0k2mWXH6WxXxydP\u002B8Y11dUusoQ\u002BTGWW59767PyphaFT5ycxJfTFPcz6i66yi2df2nTlDYM\u002BfPG3Tyzonl9\u002BsiZLrNJU7JV0rNJweksvWJ/4QiK/YdDGQbxT\u002BqGyPWGPtFfZk/B2yjuplqQEdkfSHcncY3OSzJLjkzyq0\u002BXAqTNUd0xzMt25ycmdTpYUZFyPVePz4nm8cG98Z7rC4PInXYgrxB\u002BcU4BquTPb6Xf0Yg0cSa6ja9RN6lZ1l3pQVdQ\u002B89FpQ9nQNF/S0eQV7Cil5pzdTCcHthMi0F2SVz\u002BwICIRxaXHxdEmjhnDpcKrcCrcR/XxmcbeMrxnLk4668YJvLBA/BUwcxIS8g4ZOpW5nNdNv3jFdTOKqtXrVtZOmXy5PdSffs2z1x/\u002B1hWvrf5u6P2f/ST0OVvnWXTtLc1X3pj4nrT44gtqFzaMWLd13i1Xbzi0LH3/ukOhE\u002B9hP8G5ciX8aiMn/VovcWjOEqsj1eFzzHRc5fiNw3TcyUxykpwpD3NOds5zbnc\u002B5XzOaWXcQg6T06zY7E4zORxOZ5A9oadJcoIkyRJ3yE7JyWUbmXVnr/MICvvYMDx0c7Z7D8kyABRktbuVTTZmEwsR5zJvNR80S\u002Ba02DK\u002BhnOeGrOXXcgmG7v62FJcDVOxt8XGLsP12l9fKlyIu4EMsV4Z6ZO/5fpRbGzsmdDNdZznmOp4xfGOQ6FI0MK9PtzBY1ihuzDR62Zuxlf3P8pv/GTPntCJ0C6WfUp6\u002BPSlfw69xQezT0N2RNw8RNwYpRPngksfbonRHMVxVXFTUu9zPhjz3bi3Y6xx7vg4j9sbty4OxxFz2uCFOLc7yDv0pBhnQkyMM86WIO44nUk1rB0H3lfC6ykjutKdjiCfqztVXI7cJgLR1pkggs\u002BekDRaS8hP0BOkhCDbqSe43aorz8XzXGWuaS7JJVRdYqz42NgYOdaFcDySzPRklpymxgSZR49zrmD7jxDT8Z65C8cLzooedv7AMSmC8xiC1MiI49JlnBao8J2N1fql7ohrY\u002BBadjZejVj9SqBmx8Ov5qLCAkKE4q4YOo\u002BlOJZPrV11feP1Dcfa\u002BQf9vxtx6fx9TF68KfRSmNj1GZct2dS\u002Bfv1VHv5F6C9/yQudeOvJO595G7F4MTyeg1hMxpvuAX38lfZWy3rLd1O3K9stP4zZEd8Ts8d9IL7XfTjemagUuStdq5Ke5D9zHUkw76PDgMvMnBLnStdwaAkXDoaL0jtjnaonz8M9wmGezjIr061HrGGrZA2yad27GGPCWUNUOQ/LohtrkqhgO68YfHSagznSMlOOxqUO/at78mTkkD1ZDwcO3JgiIGlgLyPUmJJlbF14Jc7YsrhACWchSzjrN5McGzphm1VRd4Nr8QP\u002BL0KfHf5V6Dcs53fbf9H/0OrpFy1qnjW9WZ45eFZNR/\u002BNoZOv/6/QCVbHbmN3s4X7Tn90272rNm5atwZRejH2bwqi1E639pAc7tNHxbpH2\u002Bxp9nHyWNtkZY59h/1p\u002Byv2t\u002Bw2D54eJTOp9jw7z7OX2afZJbuYsX0v7yCJPfYU50w2WxwWbM3uPDPDM2\u002BDHsOnSUxKc\u002BKB1zHghVJx02A/9hvXrOu4ETrszNx98W5PoonzZE9cXPHF0qEVp25ioT\u002BYjz8nP8SUl1tDF4Tin2H5fOVfEJOb8Zw9H0\u002BT8cbf4T2ql63IYYtiVua8L5\u002BSZasn0WoaNsKTmRSnJk5L5PmJuxJ5YmKCd0hmXLxFS8hkxNOzm01r8UpcPSx7F1ZLXKFW\u002B2hsqdt1T/5IfWTNyIaRzSPXjmwf2THSoo3MH8lHJgzRSIvPx7Ef5Bu7c0fNPPPg0I/Ls37pKV/k4Dae3wUbR7ZxfSaG1wYyShLF9ZkmxNqueHFj1kHpzOrDAdV\u002B\u002B8xqf6z4ctSm4V4Ux7qnYDAXt6A4vvFMaVI8uJQLiotEIGRnefHQPVDI8m7mFzyxc/3cJZfd2l7/0PILQu\u002BFnGzYM4//ByNfAh9Fle1d99atvav37urubL0k3UkaSEgqQCCYAkIEIhB2grbEhU1HIcwg6BslKrKIM4IP2QYnmRkXBp0BE4Ek6hOXcZvnk3FfR2YGB3RkZOYpotKV79yqToA33/t\u002BH0nXraqudNc59yz//z2nKL9sXtOUIX/Yh7yd6fGzjJtf5foKrti1cMlj6dRTa699uk0VMXnR/A0nzbu0YY7EZXvNNZIjM238FeU0d17Vf4K7knuTiTDvGNPWS5v8m4IdzE7\u002BJekt9i3la1YqkUodpWqZvyy4ilslredEwSdomk/TynA5W8IJpdwubof0Cvs7hatH0yGSzXQz6BiQMWyhFk9It0ZZhREtMLTQUCI6DadXdzYtdKHpLuQyAiEdEE2pEfcOlVnXl865zJeM9VGRynyUH0h1CsglFAmVkANg9rrzbps1GKmmucHPck73Fdja8TQd6U6G4jtEgQfHk0SU\u002BlgsqgU12/kAqYKvkXpUNN587QvzI3MjugXpSN17bZX5YeShm371\u002B5c7b9qH8y4//RnQpgXoRnR/x5UHGleu\u002B9z8zvz8i\u002B0UoW8DC70KLNQNoH6tUV3KlcqXaovIIgdXrtVqk4ItwaVBrlYbkbchbxe3XeGKPNQsfd4Sl1sMp/ZTJ7Jtkkpl\u002BNpjKBqrhGjk8YIVuivd2E2tMPp/tcJBE6RStiFqRlow6KVBlv4kbCO6BFO7ASvahgsOt97e0zp05OKpd179YPZNVPrxj0dOWlhX94NZlxzk\u002BvKTz5kn/uvgnZ3XNJUXkefO1Ti9c3\u002B3b9\u002BhxV4ntZEdEEfWgaQSs9KoFzlgdCVCVKwUnxE/EUmFuEXEosiwpARwu8SIQj0/HfxuJgspHUeiSqWCFSJFEQWzYBQgk3yhTNYU0phhQ/NsnZd6FYws566rs3hRIGa9drCnsmPwtdk9XN9Z86Gz2a303micKId7U5hfGSUS4WQWS3IJ8e6H0MQyPMfBTQiiqDAiJ0b5163QtdmIG2qz2qqyK9R2FUfVSrUTsAhRsWLf5hGKueFGHcNXXaz8lWcyOQZf566zNvRurRDAgu8X1LJ2CKDD\u002BRBgSTIgzODPdlSKG1Cp\u002BV72Ka4v\u002Bwwe910jvj1L4/Y9INgTIBPLLO9lODCSKl3nqLEkSqzRqPdrOsMZXDPXzh3juCKulVvBneZIO0e5EzBqzL6PGOYAc4xhj1BfpEIdhSPC3EiGd\u002BTcZ2VOlPo6GpzbVsLd0vu7B5Vyfd81wn3sAt0\u002BT3WLthoRkUderyxzLGYJBCpJlkSZk0RJhpxw2EgLvF8QeJaQKCf7OU6WJZblZVZigWnzAkcI3BijKKIgkh58bRc3SYTB8AoRqn08qHmc0/s15/UephYSsp18UO1h0DtEVq2WgRcgkZCF8qwdke6I7jrxBZZu62zcd1CKKqoO8/Jql5jSGZgYcJ0J841wkk9JW8hOvhMo4xEirOP3kpPkDEeknv5j3SNn6hJVeDHslPBj5R\u002Bx69ld7C5pt7yP7WNfYeVn2aPsOZkdK49n8cq2TBql2zItlj3w/Se7vUo939N/EoCYUk8q1SBsHP56ElW89XAnR7tdYXt0avYIV1gjXGSNueu6nL565sJKE6QOOlMohuBX8OwCS5qLfpp9Dzeat5s3nAZzWoU3Z3937nZ84GtzIszkA\u002BDBD3G/ZThmrBFpFqiVEIjejEi4iIDZC3XPD\u002B\u002B90DlNaiFTszkjsew38AB83zHut99P/oZ6ILghHwYrceCQoShsUkwqgPMR3Hi7IeWP1uXo6DG6pc3caDyYPwzOwoYHG/qL9IUMGV2WfTifuKUiOYGHkKhUIS/BS8ki6Tp5NV5DHpT2yQelPvmM9J0c7CBbpA75RekV\u002BV38HnlHel8\u002BgU\u002BST6XPZXW1tEa\u002BE99D7pTukbdgYb6yCF9HlkhL5ZvwzURowE2kQWqS54nzpPmyEJIrnDoeTXRpjFzvFCg14SVJDuAI0SQhRxeKQFGyxDkEoYp3OqoYhnWzWGwWVV2hG0tKJ1iWaDhTukI3cGqP4aY7isgiQJ5YkIHfgNnW11GLtScygypOud86RU8AIh1jDIVviRJRkqpsooQVWa5iMexi\u002BBjWQTB2gFNJgljkRIDi1W76oE8fHmUFiMszdmDQZs3WuSrBENaKSHx6LczC00pUceAePMrwQkQw4ELGgIuYqiIKiuBjVBrj3F8BWE276/7urouE3dm2bFtdJATAPw0ngGRRFmB5nu1s6Q23vrABPA0G6kaAa3yzwOLF/mOPK1FK\u002BDPWPyuipBnwCDAbsFTbYj1b0ZNIRgJ6yjxlfmz\u002Bxfwj13cuxJ78rpHc8f1t9AU2tRMiT4JmHPRfhlNieTHMaiLxQlwD7TLUr2iEpWLT0SgHidgqQYQQJLIixgIrgb5AVyyhEhMqManiX7dWjTYbYUNpVloVdoXSruBO5YiC7SwlSrkPtXzeOWuWLlVdlA/kC/JBOk0zwkBKgCMrklpLkwy8NgyjwoOGbDui\u002BeGYIYFViFHbRo4clqjVwMZybdDjBOuq9kNKjdiu1FiCjY0M08VZsOHYIFvFGixpZO\u002BChNspdonHWf4F9nXxA5GNshWizo4Rp4v3sR1iJ7tfPMA\u002BIyoUXxhSdY2ODdgI1PPUiiodR\u002BlG8NfAmR2GFBum49mwsa5uLIzCEWxELAghzGrCEJwSxuBqYRo2hCvwXEHy4zxhKp4o7BYeFX6P38cn8QnhW6ykcKkwRVgjbBQewzzNJivPNxgMmEILY1kCjSHIsxNF8XzkM9/NPg4GMJR987tG9qlzDRRZtQAmPQGY1MXkMb805uzgdog7HTudRESCU3QJoVRojbTaK6z2rAmsJ5vETY71zru8m/wbAxu1jaH1EYfgBUuIBLwRfyQUiAi\u002BoaoUHiqwwdR\u002BGTGyW47SpWbAXNHKAqOgtWBFQXtBZwEfLThdgAvcqU4G0XXaSmvO7\u002BnOv\u002B35Qbhp4a\u002BMvRpaf8paOmgDDK8DQh85ojoHMhnk9w4SuZYJVb9ZsqkbNaC7zNvMp81e8zY0/K\u002BPP/6Xjw8fPobfOrZzRVd6tHmjudt8wFwOUHPpt2Z/f/\u002B5s99TPdwPUfsseAHVw2qjhOd6/b0h9lIOLeHe4bDXU6I6nUyem\u002BIuFyMG/wVTBosKKnPycQVu14VRPv9iWDmIKnMA7DyyhAkD2JwjJ4lEGINoOW5yP/oQOWfetu/qHdOue\u002BXZX\u002B6/acKVk2o6ub5g7OP9G3qWeQLZd8lzZuuwq8c1L1Vl\u002BGKK1QDrMAEmxpw17qh1TXbNE65TrnPQVe3OxCHne5LMi7ysiUF5hLPR2egSRLfk8Tv9Lr97hHOE61LXKufN7jdlZY20JnxTwUZpY3h9AS8F/ZLD5ZzlXOVc59zm/JWTc0ZVh19VHS5HQNWCJT63H7X6O/3Y72eiMaouUFyAESGMPmWkGNUNAOStvFQnf4A/wh/lCb9hRQJFE5UJnIgFLtRa/EJcYtlCjg9awfE8dLWiAESAzAXrIxYfactQhVZZ\u002BgTKp/li7DCcSHg857UKNG/5395uf\u002B7Z1luv6zZ//s7K2Vcurvvw7evqpk8qfuIE1zf91Tseejd/1PpHzT\u002Bj\u002BkdbYtk97LTi\u002BeOnXO7gaDae0v9X8k/wnSHoqDG219NTcKj0xSEESFsASFsglF7ELSr9Eb9G/VHp\u002B453Eo4WeY5zTrwlsdSx2Lsktqx0yZDVBesLtscc3gTN2IVFOh2NReGIPiM\u002BI/Fs/NkEaYu3JW6P3574U/xPCT4tl6vF8eJEraonmuQmtSE\u002BIXGduihxs3pLfJN6d/xh\u002BRF1b9wHcFHl43wiLIfVYFyIJ2SVIG1uyAhH9eUhtDzUEcKhPryIyYMo5IjUFuWhvKF\u002BlpmEaFiaHInqdLGsGbWiLagTHUBHkIj\u002BToxIrZsgMrRcCn3ZryHN8Gm61iSkkpFhRalO9wHgUE3oS489geGhb\u002BRsvmnW/McZY1SLxeanuc/AmF5JKWRb\u002BqtM\u002Brg9rkwfh2xnhy4L0MVBH3kFlyQoMLPHv3T5auOgHhjg6JUuLz06ari8tWrUWytbLxc9d9JwOuCcWiuH6MtXe1H30MCiemC0PFqtideAHierE\u002BKNiYflX8dla43SJnmDK2sp66dGHwFBh9iUVuADfi1ILMuifHcKikY6Nty7dexleu/fWzes/fLXyI80wXzPd\u002Butt0\u002BuGDIKHXh91T39zDPm5\u002BY76OP8rRtvnqFPzvMOGzP35t\u002BueH7xP19V266pidfqJRWLb3h6820fXY8Qta8hEJN6wYcF4IKJCqmSVHLN0gqpXdoiCTzicAlhscCIkqZFyFqab9FQQ\u002BaFKKpk6KM39NDDOpvxCtyOt2CCw2L2sdyszJj/OIZZqbPXc2EzcVHD8VxMqrPgJ12kpUwQfWJOJT8xp5Hnzp79/hIG0We9udlwVzxydjMsEgGVwWxY4Gx2ZLR\u002BRHwHvYPfJ\u002B9zHAWCa7gdaDveRXZyHbT\u002BqPAVIgWbreJqJISZIF/GJPnJzKX8PJCSxTiKGD8Ib5MbHsgNz/bgqw2FB04JvAbCCdeHr6JPCNGpVwhaS9rJJ\u002BQYIaQHKYa8lm1nP2GPASgGWz4IVwAs60MKg/FVhlSJEAoLV14zUAwMgwVmvspk0qFTg6jr1MWY6zyiONLttrHEQYARswFsZiwgYRVcGOAKTCZmcwSsZL9C49AP0RI0OvvfXN/3z5OxQPHsp9W5WRbHG2P8wkPy5BlkgUwe5R4WHpUeVD5Ebwn8XcpOtI3dze0QdkvblL3oQVaKoIBQipJCC5or3MXezd0tSToaI\u002BCwHCUVcgO5TL5cXkfukbeSDrmTvEX\u002BKKsjySj538nP5JfIK/JRIshY4hWBFXmFsCLHICxxjARAN4oBYcABryhRhvPD3QGHh0kAZKwwYE1PHeYNX0Dnm2hnercYUUGVT9FGwYNwFjcpNKQrOYd3ULWGqV4pfUyfgt0z9h5TMcgkL9ata7BQcBD8N6UTGgXt8dXDkkeXR8BmALBZXtnW1sasHI5sPdNf9LU5Gi1ASRRF88xRcPQz80mzD2fx02YZejc7KutE35s0VvdnQbr5oHuR\u002BR1dn/0P4xKl5oiMCEs4ViAcYTl7P4qRny7A0jNRXqCpGBEBULFAENBxiTCcLMJM9OAlYJVUX6AwRpSfxBp8No\u002B1g4CLowywAO0wGkxni7slqh834New\u002BzigfXsAj7Ptzn3muF1KoflLq/XksL94Ic\u002BG/FwHXPsFa2U7PcBIPTiYPYEuRy1oJpqT/RQvY2dkn8IN536T3QXfPLn/JBlGLmESTBVqM5YKETGfKwhGpuRNyp9c8qH7E480ItwYnpdcHF6SXJ\u002B8L/zvkYcjvXkvRV7Oc/C8Ggjy4WCKLwu0hFfj9fhh/iD/Iu94Rn/fjQuKq4Z7hqjFRnqYXmzES2ETLtCXF58rxsWNVk2z0unSxxYgWns9UPBtASkoGIKqGQPOUsSHmTkxI99THzPy3LAJRfRYD/7RQSI4VHkIxVXwnjXC29YIVwyBKwzDrxQOT4plUqnaUuTocGDgVv1ArwxnUHdEputIbwVP\u002Byl19eqy2EINfaKh6dpCbbnGauHqZeMG1mPANNtOZehyR9o\u002BOk7XZ4CYpSEIAsWwspOFMdK2jXZVFKC2llMDAaEYSEVegT67\u002BNpinEm3QDBIwwSyTrcdPtsy1GBTkDQoAGH9QS1G8wjPJ\u002BJWLhk5YqQNWhHFegFajrAKtmhRf/qN15/qaWLzSszPFbfATnow8\u002BDTc3923\u002B8ua17eNBtdOeLz4pHzGy6bWO1W8J\u002BH7d7Wsumw2XPPXZfljwyLjY1dGxf8pCm/JJo/Y\u002BIY8w1vVShVN2ZuVXJk8SJQ\u002BQawhm0Wxs1nHuhlvP1njeFK7ci8S/Owdy4/V54bnBtqyf9G4GvIGHWMryZvImlSm3wT87YJuyTZ4UQYMRHaBMwJfjoXPkVxMbIWEyMrClGhuwyzSRd9SMaBVjDtNCgU1Nv6bqubeipb99dpgH1t5AuIni5yMG0ZlJkw31AW84vlxcHFoWX5XAaYi7U2Rms2APJBYamAD/LtIM7fgMJ3dD1nmtneyx83vPrkmzN3rluyaD3Xlz29zTxhfmueNj\u002B4vGUPLn9o\u002BoqORw/94gEae\u002BeA7PXgCWHmT8aM\u002Ba4Wb0twqWuZd1nw1tDN4R14h\u002BNF94uhd93vhD7jPxM/830WOMv7RvlGBaZ4pwQbQy2OZQ5htHdkcGSIXc2tdm3g1rs2hfd6Hwn2eg8FJadloXm600o6ft1ZrdIz4ULdGl0eXe1DhJFBZ16PwhhwKWPAdUz1FrDTPkh4BN6KagKiZ1GMqVDpjhqb7kTOSJ4Q84cj88edr31lpp5Kf3UqTRfiM8fT9jo8jHaUbBuoellWNWIkx/ODdS8y3Pyb85rpy25de33z4gDyp7967TPzbyh46rlP8RdVs2Zv3ff0nsuXV/zHcxBSCRJQySOUG80G3V2Vs5stxlBvC98it3hta9kJpnFWklYUthfi0azuGB3Qw1PYBseUQEN4lyT5LXNRqNUYTkVwumAqZK3MqSYRtRSXi4ncS20nJoYL5tcNSth2xrYYC5HY/M9C9GAr6jJ\u002BmbzMa1sLn2mJxWpyAgIT1IDtXmgq5Crz\u002B3GPLzhsfm8\u002B13UHCme9FQ23XLVx3ZJrN\u002By5vAWlANk6UXgbdp9bse\u002ByGx968PAvOkDecSBvCmzFz\u002BSjX/UybvCTRqV2l7Rb3e7eyz0iPyk9qfZERNGPJuFL\u002BUZ5euFe9RB/KPKS/LLjHfk9x1nhG1XNd\u002BUHDIgQAcPp0V2BZwKvB9iAZQ2F9dbo1GDEPzGATnmbna1O7Ax5KQI/FM7TUbXXKuUURO2STrzMHtND7TGUb42GC8JpJ0UWbrjthV4v7dQnijdE1V2sCEwMVQRsI6ooXFi4vLCjkBS6YqKhunRQeC4api\u002Bq7ZyiTwr4Q0apvz5kFLpgAyE4RGO1lYnrsxZA98JNwBVeejNwkTcXqunYNXAphFkLc1t/wMAb3lp6010aHQ50S/Il1uG4WL3Vot9ynEbQjPX1TgO05KRf6qRf7zRAWTYSALqcTgNNAN5XbS2lQ7RA1MSjANKpjTNszILuPhupa/g7FBrx2X7zb3ctQ/43TyEvnzXYO64avyDFrpl7RV0dQjMrdv/i4NaPwRbS5kvm07dunoR\u002BcMvaCRN\u002BSONGCBzgr8DxgkyPUTWCoHISdUc9LaQ9xInkmRAOBD3Y7w16nD4X43b66HNcfkl0KWih0q9ghU6EzCOPK4j6gyhIDwvd8Lmn6dNfPr8sVdeL08VmkRVL3RWehR7s6UHEUJ2\u002BJPYvZDqDR4I4SG1CcujBsLamFy\u002BzWwfSEFJpV\u002BO5DID38HEmBG5C6TC86mFTW0XBVS4P\u002Baot9lKlCVZUCNC\u002Bi5gnEdpTu2vVmh8mJ1wytuaNN8wTe0iyef26WcUvuGtnNH187jA7mcp/H3CQFvD9INNlpF2oCNWialztHo/Ge/6IvkWSwAW5Yjzfs9TDIYR9fo/Xx/oxclFJC1hBkmV/QA4yjCInRcmIFuv7JdQvISli9cYF48X6llBnCK8InQ7hL0MoxPiTwYBl2nBtZwCdDqBAWKu3QwPww1wZC/bO5I6sGEER5qnaWsBONAWLdbnyP00ihTgA4upWSOTpLnp049NX7ZleYJ6IzhjbeGO1CUw/\u002B2nHpBUb781uxcMfWVDTsGl99gsQGpzK6iy06kMCs7qXkWhFyCPXG1KzhNulA9IR6aj0pcQVSa3SWqkTTnAsLzCAHl2054PWgVgmA3mT53iByFiAuGotFcaKdRIWc3Kdl6PemsLzRSyYwJW0lO9BdsuieQKFySFEzHPfTyHJ7z\u002BAGdoEM7TQqsr9N\u002BUpH3erHmvF1rg1PFQXWDfr41PSYn6//Iz8svR7\u002BQNZnsW2slgVQlIjP0\u002B8iecOSZ\u002BQU\u002BQc\u002BZrnpgnTxMX8reQe8jOyh9vN7xZ2i3IR8fJpkubK\u002BXKhXKxQm0gTJw/WpWSJ5YnCEZ427NKqk8zKskJ68A1GhKsQa4sEJCxSsZJE7QwqYmgHQ/2/5WCYVXNyn2kLQeihOHhgecde/aaod6CmREV7uUuKASGw\u002B4jA81dm7CraQG1mEwqjyWiBeT\u002B6y/yD\u002BfWdXN\u002B5M\u002Bgm88fZK9HHm8zHBvpErdmcZVX7jDI6l1wzh9u5A9wR7ij3pV3iW8t1wgkORGIhbbNJxAzMGhMm/zJruXnKtZXmKnq3MQy/E7JICo3pZcrgrzPwXRCpHAE\u002B6NBZXdRDeqIBTxQnhhoSjihbUTZLai1rL\u002Bsoe5B/RHjYcZA/6DhQdrTsWJmTKasoa4Y3nin7pIwvMyL5ej0ct1tvckKMCJECGlq6ZCFmRRgiuD2eVF5\u002BfjIlg\u002Bm53Emvx1hQ0\u002BpBy8GQenCj4YrkJQvy4dzyfNSaj/Lh3BMlyWSKZuUuhklZiUqqp6MxAu47BZemjHHwqoNXcUpPGaPH6hWp11OfpFhXqijVnmKZVDRVmepPkVS49C91A0A7t/BCWyKB9pyBnABh60xbJl133nUt6g1Z/oL\u002BjZVpGrpQ2hcLUAytWUhaC1qunBp05fNefRtiNx9ZvL2y8ZdXrPplKfh2QWrGmKXDzBOF9SPGLR1qniDJrb\u002BePWfO7IVXNOzMtuCFPx9WN2nzdhPjxp8tGNK4blf2nF1fIy0wZ0GmwwgJPs23QFwqkh6CYLbcDWKD6zM3x1uhzSM4Vd6hKABnMEoGGSu0Ac\u002BkXaH/S2iTlaTDSfWrqo7BCOdAp4G9XBzhLE39S5CzHWMACcUuCmmWkiDQkRbzRPGM2sk/SkOg4Da/mdk9vQgXPrZoVPO6LrOIJPc8MWHpun\u002BjcW0mYJzdIKkKiHiHMekkOiF\u002B4/smQF7CJznsDXNhCbe45/rmBltCO/BOfqe4w9EjvY0/5D6S3nac4E7wJ1X3I\u002BLv8X/yz4svOrhV4iZ\u002Bnch6LCtUNKoiPxH8tUKkNW9FHs5zxpiLIKxNBGxgR0lAGyA7aZl7MeC6ZSGCKAlAGZ/utdvZaK9lsuSCnq2Zd2f3/APp5itf3Gd\u002BczeKbr/xxvvvv/HG7Th\u002BD\u002BLvNl/68h/m8\u002Bv69/58797OPXv3Unk3mz8gO0BeN2DY3cawUb5JPuzV2Vq11qfnNbCT1cm\u002Bhrxv8yTKgwaw7Rnh2zwR/OdCzhNUFLfLOcB5PGVOpyvpdltgVvmfrGfqqTqYSPfxf\u002BE9Vm6iWJbynguwLO1RClBLZ3LEh8LZ81JvRnz1b6/rRdg81zv/3ukwxcGfLr76jvXXLNkIU9t8rflHM2ueMd9vnJP9jO3tfvSB7kd\u002B2QEGuYFh2JGW7HuN0h0ckpxoFreYW8WxFd75zqXOFV4iSy5HkQPf6\u002Bh34HrHdAd29ODVRpkggH2zmJdLGcktVUorJCJF1no7vHihd613v/eol3jdTBKxlvwYt6NOIIlhT30vymcGqN\u002BgOZ/JhKfaUAU0AdZdW2Wroo1pOqDNog/b0m6tqlEtVre4rQkbtPAe1EktesL1Da0t8y4dO2ZmBUnuuL6h5uth4/aZ/wAZK8Ge3SBjOX7OOMJ7\u002BISY0jxaYqd3p39H6v5ySfA3\u002BrH3SbXX\u002BVLs08RZ9UycL1PnqIvU\u002B5Ud3kfivQ5hXMIobkguiV\u002Bb3ODd4F8fv7NYGpmcyDcqU9TprsbY\u002BLgQL04lRzpqYnTduKZY4GXOI8VCasoRj8cTQnHcGPJDxxr/zYGbylaVbwysK98duL/8ifgTCbUd3avdE9pV/uvyA0N4LRY0Ygk9aOQX6UVB9AnAwmox1lxybwkuMUIFeklkiFVehqjbPARVDkEVQ9CQwlilG7mrgRrmIrPd8SXX23mJVjbD6TU9VOXnINpaqxu5CGJ10tE4fIrJLX7X8AjxKIiS8RGxxths1KJdi5ZpZ5CMNEwisTgu9akOXBpZSBBpLFWaIyjS6BMAV8IvXZoaeGXa8uhS/e\u002B7S8v1WI89xq1SRjE9PtZdVGwfhyPWsZEHO9eraES8Mb5T3RZ/If5WnI/FHSohESrHQWA\u002BTDXlQN3a0HqUIwnWcbxEt6oTBZD7GGTXJ0grakenEcsgt1WtINaVviBciZAxlSFoITlNMBUhaMBHB6s1Az5XM\u002BBDNaNmpK7R1SvNKCmDDXyuSyuyFoqINidiQPR2RVBzpD\u002BCc8JbBQvrH\u002B18y7TRHriV9qGtjFyFwUbdbfAvY3crFfe/YkiKt95VChvQwxeH1FqH31FLd7sctGbx\u002BeNKLZNrOWlhBvp6af9\u002BKpkqtqoPNPtdWHygfeh0MakSRbw3XnPDyBJ/YLL52OW3ffDpB2\u002BVmt94Fs5fXhnNT6JnW\u002BZ/9eX7WVSRnjmnNL8iGvB7mi6Zu\u002Bvup366efgl44uCicJA/uIpTevve\u002BMAQ//LtZN4K/cA5ITXjLIoE0UJucw12jnF2eISwgEmxAYDjOb1\u002BZHmxX4UYiVBFhwhqm4Xo3VqBzS2FYYjGqsBjekKIBoyu5kAfW4L\u002BL9DkSrkCoapQAutNmxilIbYpOadE6j3d/j3\u002B9lWf7t/i/\u002Bo/7SfY/xuP228Jv5wZE3nAJhoOjAS4sQYiBO9jL//CC1gnLPrF\u002B6vLBZ0ynreCy49Ttukq3MsKIOA8vgtnWpUabSg40nUVNeUePAtR5RUfmpK6OofX3ZLrSLdfjuKkOQxc/Yd6fy8D8qrZ0wcfj96/dibD5qbQD8/gSgziyQBH\u002BwxtHmeJZ7tHCvxYb4O13macJPnBBYs5uMhSpCRA34geMDykoEAQwOkM2ihBJsK/j9QgiQOwgMRnRaR\u002BL8TIDvF/A90kLGXRJIgZMwWe8QIustOG/30suv3XYbCRTPrJ60sR\u002BGOOVdfuW877jRDxxaNmb7qODoClALkVAAHLQA5FZRnBLjSSIUu0A1PNyLdAMF4rxtGi8xEI6P13QTxrCKKskMBxoa9bESKyHFmqPKS4gDfPm0EC6K6zHCKnwkrJUy5ojOjlQ2MZIekJ2SkOqzPUiRNJ4iREM/IdHUcpjFtlXjzDK/CyESRJQljxMO\u002BVEtX14xQfqmuqEVqpWqoRNW0iFuul6dbbQeVhkJwrULqyXTCkj5cCQCt3XA5ahgUpc8DoLDjhc5c2SIdmnoqA5kqE55mPZpHj\u002B3OaqvzEMEtWK6dpk8w2K1hMRTzaXQp1wcE5LA5G6VeHq3xTverKGaC9rJ/PjgxOHQoLrR16gCdtlo63WlsLhVeJnin0Is\u002BQm8Lp1VOFCIkxJfyI5lR4iTUgn6MVglyEqWFEWi00IimCDuVs/xZQSohSaFc1sloeQKZJj9PxMvk2aRFvpbcIK9Bt8rbyHahT36bfCSfk1WWCEDRgiRKyuVqUi83EilAwvJoeZp8vfwIOUxekc8QSYDJ6faG6Ey\u002B1x3QrCqMEXB4dERkgTDYGkSrXgTvHCobqvdbDWfHDFewWGeT52tIubdPK4juGhq8rSQvqCvxuboSvqGLr5YoP1TERdPVDvWYyqosPY2rFXrae9pe0rIf31t0fo7arNbE8NTBJsWLS0vptoHqkr1nNy3SzWCZCQgkFdAmklZdifaHtbWtpMWlldXAI310MmMs60Brza1o3lMvoinmTrTJfOS9D3ACs\u002BZHqNiUsn9Ak83DdFad5gwyE2bVh/QnvKUc8lHRQw6XLgZVly7QDU83XBDOYWqvReAtQAOJqjh5N2Z8PPFhwrK06ulrhSTfg/aDqbvUCmcpEw1UBloDLF0EsbJgUrfWRrz5hXqAVn1rWSMU1mnvWQ9KGRK2jjDC9MiLahkjf4SeK9D5X8hF0bRd\u002BKQWn7VMHbS1cqr7q\u002BOAxzMVtr2jgSej6MOftYLTTRfrc1afaTrghiA8GoJwF3Ezff0wW/2nH2fdaBR9As1KeRwtw6ueep/bF4aNN1TPUTODAzp2wXGuudJn6Vtwsol4KmUtVztR2jyLEuamCSUT5q1tnjEtPL7m6ivD4E5O/M9zuDdz9di45yP1hy1Mfz\u002Bzip2LHuIOsQLjAu96gJGs//G3DG518KlQmBuWmWQkKLXPsXy2FQZcZJF8FmLJ/y/FtztKKMW3ll7gG14jr6A/cW/CN6SNMMvgdggszBZQ998Rw\u002BL3EbOfvPZo7olkqt62OqpJup7zGvLD38rmGfqEE34Xfcn9JwS85sMSgzDhGEQfz01I5Pj/Ye9LwNq6zkTPufdqX5CExCrgCoTEIpBALAbbIGzAYLMZMHgjtkACZGNEhDC243hJ7Gx1XMdJYydNkybtc/c02zSOkzZpSzuZpnYybZy4nWxt3UzTGSdNX9t0GnM9/zn3SgjbycvrezPf9Cs\u002BlvSfe7Z/P/\u002B5956D7NdqFWY2Y4zPqrvoY/0MrWwz93mIa9I17V\u002BTXpEx0Bfj6GvdfyDRNt1vSNfReXTXJfgoL37vO9fs2NRelXYv8yqDG2yfzVxSVEtux0B2B4yejb7iM3Bp5vQKTvFP1nNW9lAWzqZzVAZfsTy7J3som81OJRsms9F5THTsOp/HnORTayuSbtKeN\u002BPNKqw6m5qKks4a7AzuQtLTz1F\u002BL/NNhmEac76wFVjxNtlGRuZrcsPnAtmVd76YrJLiSA8Ux3aPgevQWJ\u002B2MlYzQ/f0wEeMroqxxUafocW25jnJO2HSFkdIzI7ZBzX9xyKpOeVeb7n820lLuo5\u002B6s7S8oxttens1P1rbppel\u002BVw5rvKlhmmqlbs66/yV2T0laQRiRYwLzD7gRvF6DFfgSIPr8juzx7OZvNyFHl6DcLAn1SMzeFUnJpq5s4Xms9b9S\u002BAu3vuidpKjaaQ8KTEirV2nS4tnINzzhrtmxVYcTbseNHB7HMccTBdjkccDO/wOBjHwZLUs2knmbt8OnwW\u002BSzZFeiga8tuoi3F5HbYn8g9rtmBP1wYMNW4iXHWuIvp3nFjjTsCn/i\u002BRRx742kguXr\u002BxsUr2KOQNr9AcFBwUlnrLltSU5q9NLVicXpRYWG58rH0srYDu\u002B\u002BwWD3Lm75867572cfM1ZVLPMWLko7i1LyUrPySyowRV\u002BPuLgdfkpU2ULfpzj3k2fopnI/vZirBCtK\u002BjVh2HJabCvhEHpVht\u002BEPiL69R95DvFuww3yXjw1iG\u002B7t/3Mb7u2/vCxzzbXB6BOMg4RTuHmujfITtFGiD04pY22exvmGT9DGgN572tBE2xjQMFrPbeA6EPFEqSgHOZEbVaN6tAJ1on60CY2gMJoG\u002B33eNzQ61tXbu3Htjt2LlkxEC1ybA/a2Fq2y0cchJSQrb1/isttdS9i11gqP2WBIs3as3B6JDA43L9uzq6p8fIsppbuPkdfW9UHKvWZ9dsb6XVvWr9\u002Byix3OVeuLSksducPI/cbpGvfpl06Tyc/tdhteOm04bawB0HCagIkfWg\u002B7xV/DGbH\u002BZZWvqA8cMOflkr\u002BW4JR\u002Bk6XfVOk3Vq64LH/57\u002BXll\u002BfzL\u002Bs/Nh77sqeiwnMX\u002BfrAW\u002BYtsxNIqC6Hf9/wlpV5mW7yPZtBLjA3xuvOPuypKC\u002BnlfHzpEzYSL4/IJXvIhB7N3x5ICe86vWWvQkZfAyAPtLZdfCFv13urpxtAegzHk8Fw0uVBAUAvyHNflbhqSgFYO6Pi9B/ZQgxwltoC\u002BbZrVRLMnxa7qwWnVWqz8v15xnkvvDaBey\u002B8AbRLoONN8KHrcjLtZiBF7zwlvAWxKz898nL3vjfhL2w9N0v7Hv/9\u002B9Dr8\u002Bh7bgJeiV7hxt9joAOO3XVOkYn0zgUVQpGATEzPstpQlqs1ShhvaI5z8Gq2f36zGz5DJH0AHbPzM6cBg8L0h0g2wfzLHmV4h5dW6UCN219DEKgPfdtFX71JFYePXo7fkUo/cUvEBZeAno87DXIijb6KhyZVZmMMSX1bLLJpDyr0sGq56xOqTIZVZA0zybhpPOpvvSu9EfS2fR0Tcr5ZMCDUk329nkvDFCVM8KYwIVyt\u002BEN\u002BPJeKAfXNoDphlZYC1eDe6usEDe7Wuhm19QU7BlYe/2OzrVJ39EFwlPNVfduwD8WfmD0lE51rMY7r2trqVxyrWFk346qZHzX/f1JjS3AsXOAdy5wLBlloV5feZr8rMGsOasFaZg12pTzJoPpWe2L2je1LDLhI6bPm94y/c7EaU1ak956ntOfVwLer1FPDBgPXDtg9AJM0Pa6Lxheu0AeTBKMiQxh2U7uYBFUFVSa5Ok0zl3TMS28hOuCtyU9oW4Z1VWt/49/CA6lZVVeg0M7mhvwdfimYH9S78u\u002BPx/ev6ioDDh9Du3ATnYzrCKsPq0Kyc8ijQypzsMXYFKD3T8\u002BA9jAuORtEkueqbraVmnDzp29fSdlZ3jhHqaTeTv41YfvTcVlf3B8DmbljZf\u002BlVvBLQUO5CCPL1N2jk/1pPpg4Z5qyzrHJ3mSmCTzCbUu4wQ6yT5M79Ri98AF8kIM0U\u002B6kVLP5OWWMpUVdUxy7A6lxZzCrN7zzJ66Zfue3nn9M9fXL9v79M7Ja8Pbr41cyy1ddfjMgRtfPLxq1eEXbzxw5vCqi58\u002B8eBDJ0489OAJYiv1YCDf5xYBhYVPIS05jlWjJK/xMFqFUqkFLB7FWlgRet2gsYDLj72AiM1m1LMQ30B4w3xf\u002BNfCzr7Bxfe\u002BWv0ay9oqiuzGS0U7WqDnFogNbVw9sqNVPlthJk5Lw045NlmSk1XnDNl8NpOd7bCfQ8iC7Hab6STz4BMWre0EFyMc1BNkC6Kl1Je7CZ/BCpPppEoZIVfAdFBRJ5em22tzJw/\u002BYNuJiUUlKzePjKxt0DH\u002Bi87aTbv27NpUu2rlumEj88Nn1gZL\u002B3a0Lh/pWuxxOAszhA9H7t\u002BxrrG6YpHdV9m9mcS2dcIwp\u002BXqsQKlXHpf2AtLZZRJUaok97PLhOtgUeulNr/0MZVSTk6b1Vt0WK7DOlbDYa1cdpL9xmMaVk5OsgAPAMybOQ0WXw8Rg9s7c7p8YGD2NHmbbP5u/FsTduML1\u002BGDf2KXXpz5QLiO2Y2/LvRSvEJcGlcAeKVd\u002BpVwA8FLDyMRvKCU6JVb9hws39NlCKkexyhJB0W0zCfs4zDngJYZl94R9pGWeK5l7BQWciocyS8GMp\u002BlefM9JL8EpGiheYsqVt9O8yk0Xw7lXTSfqiX5LrqL/QTk0/5I8oP0HAFSnq4h\u002BVX0vBFSnvEHwtGuS6/LhiCW96DlqNNXbDSbDRresXx5dpPHiVCNMyk7BzQFeRx5JWUVFcV1JeZ0lVFZXCJjiZbUe4l6eGfLz5QTQwFtMZL8hXIveU8huY4VH0Sbs5lUm8PhJAse0XbIfoZSyOkZBXkXTM9aoI63vI6p3GtZe\u002BfLd\u002B4/c0c7k8TnCP\u002BoNyjtayOf8Qe/urup5sC5B3Y\u002BUo/Ni8fWNwZXVZqY1e3PjawerDLmLe0tbz881sDlbP3C\u002BKLK6MkDQmTn44eurS5tczibq/jabff5Bz\u002B3vSc9mTeujq7MS63a2CT8IrXUpPfUtThKW8oyctv3DEg7Q/YDP6zIga7xLVXkp\u002BYzSj6NZxRpqWmME6IbBjmtVrOTzz5CTKjAkuX0KHGSMoccdmvNzrdYuNwSLZtRwqlidnSBcgeMiJoSMGmAmhLxWuQFDqMhn5gUZ7HYUlKIo6zG5LU5whxZX9mJ\u002B34pnHzyK7jm6JmJp45ubc67aFR5izc/8E7bbJB5LGPjwN4VU\u002BuX4jt\u002BEg69eQavxmdmNtaM3vHoC9tW9B/2Rn6Bj84MDLgG4jtZ24G2LFTpy3KocBaPsT7HYNDyvN6jZ/RGRUkKm8RgHTGa\u002BvoLXixaPqB9QTrMpqKUIXiJT9\u002BoeEE724VzJe2hJRuvb88VzmFTTvfWg93V0fDgqmJ2T/BgB79k651rLz4jO/WTqv6lNnNZ93VfmxCxUd4P2FSg5T47YJNZwWMnX4gJPnrADLtLMnlewqmQnLhcP0Ox8oKCAWavkemSzEflH4kbkyqhaJwrlZUK54pa/dXrdq3kCbbZXaP72z3jWwfz89ZFDq1ZvDO8eUWhcK64NVDTvb3NfhUKLJUbV1StrZMoubherFK56eBqsrP20m9ky2VPA4\u002B9PmuBCqjR81ptDsPzWZ4sJouQozIodZhJYDHhr9dNqEi2GWN2QKiopAbDVR7CBTEG4wLh3QQGy56\u002BeEMMQbbxL00/TWAxYEO8yb/QtyTyfSasVMsZjlerZflKpYbLJzjMzsB/7J59fcbwOnjF5EobOESvxVbpNS5mPv/MM7ObnyGvwF\u002Bs/OAD9gUk7dh9AHpUo2t9DZ9T4jElVquRUqHkVWqzSqUOYayGxbyagXWw2kz\u002BOHSZar\u002BKUam0CuAB54EVvIJhwXOTlwxEkc7MmGrI3DY7Y/RCSOS\u002BudiAvnuzjGxsGbg5zVB8s/J6gAbIvEd3dpE3H2QPCDfMPiD8DDuZbrxnNsqcnvXKTs2OMPfMtsXe3ePqwKc60UpfZlMmOBnOkc2yfLYn2wcr\u002BuxCs80DsVn6SSb6pEKtkalZeR554MlAlFpfDp6t3huf\u002B71uA5UPOZKqkoiF3GcW/RgbE5ekXoyZvHAnfLjsmxs2PLSzuWnHF5fZfX1ez5r6fHt9X3n5Gp\u002Bdq7tr94c/v2/DurZPv3TgljOfap7998AtvfbCnuu6B27sdhR0ThM\u002B3wB\u002BepTyOexrmFIfVDNrY5x2iJyW2OygbK4mYTdlsgNxhM0sB54V2CyHAlYtmk4in4HTc3z\u002BKC5zo8IXhKPCr3EmbsP9whB\u002BSfDITl18DuZEckbNDZfeZqbpbqtin1GjRo4yMxafYLBmNXn48YRGp4FFAOEl9YCzZ8izT6MZvBy960UeSzhL2Uoj/iwnUzpKjAVpztG2aLuzLEsD42iX9evSsjnZ/85wpy0euG2EoweHJ4FO\u002B2SloNMlPgODNQ6lgpd5ZI/IWJmMIa9Ta9RKOUduo5\u002BeIbo9AD90xhdfAKskN7MY36eEtw8dog89Lp5im9/CSuHP0Pdtwmr6pKMCdfislXwTzzgcdpXKbrdUVSBbWVmag9ybZCwsURtXUn6qHFVkEbVR6WFALzh6sOoL0lTopXMh6A5ojowQDGoiWjTjFB9SpIpXq\u002BlzinhkWVGNv6LqX1\u002B/riYjq2NjsKLS31Of7MDpSUk99fZlVQUaC053X/udw3v/YbIKjzR4s\u002BqGmu8savSkp5UuK\u002B6/i7lRqHzL66215Jdn1f4af\u002BHiimNn9i4q79/RrDCqpRg4C6SWDbFDu68UncvWn7MXZGPe7rEz2fZse0WKHCvkWF56jk/zpDFphSfkKhXKOZGsI39mQIwMKY0QS5noWmCA3KABDsM8rqiKhYfxOLm6mk2wEDLRs/fu7tyxsTHDPbF49P4tVQ27vrFt6sk9yyqG7x7cKC9ZVZWTU73KVdZZk2Or7ZSd2rP6QGTInZPbuu/hwPCj\u002B1euuv2FfcFXzp0b3vShztE0VOe7pi7bVre\u002BpmF4hUOKoMDnMXLdLhpRSVoK\u002BX00L70NxchRG5L\u002B\u002BiX3EhcBu7egwz6fQo1ZvU4LQSjnIHtx5DKZfK38FjlTK18pZwqBLwomyUCCRjA9hRmaoX4FVliMWjZJIdeTB2FPMCzLySFqfYKcQUiNj8SfZLlpmCGnC7oHysHLEcPTz8hmZozYC\u002BGA0ZuWeJHuRrI5bQobtrHAV4UNLMXJvSQ83yoUNAsv4jew4haZRp\u002BctArndCYl6zXyJ5/kIsIZa3FJpeOfX82vLC7KIKdIHgf6jgB9epSBvLDu451JuTalssjGp3hSfClHyJYubyVOcvBej5fxOokNPZ6UpKdvtXjV\u002BlNMFGWSeBWCGTJTSS4kFsvQ9ZeFHsonbhxz5LEW6XwZCGIwWQuSu28Q6Uk/EO/Z8Mnd9b0m12J3SfJgR\u002BjpHTbHok7XcaGBkU18trKqKbVosT0ULmrb0pB1W1ioZw/9iGHkVU6nV8YwQufv5colrm6rnjmWlmff3upc1VBhyLljqC7cX61gOQx2vPHSu9x\u002B7iCyofU\u002Bl8FmNCLbIzbcYFttu8P2oI0Tj0Gx5aXbyCEjELfZDNTlZZufAWJ1sNzIZqKPshopgIsv0MXpYIDSTVadXEzFveXSJjlRvwk3uP01wqWZXT86unr1Z17a\u002BzRmyoQ3MsKdizY1ORyNA1UdUzye\u002BsfnVh975cChN\u002B5d/eiTpRvb8roObA7e2mMPbCN6SeR2J8iNnIZd7UtV2Xirx\u002BqzHrFyVqsj2cGbPCbGRN80N6mTiZCQJKSEJWsy4X42S\u002B4Qg\u002BOhZ7ZQd1NBXJAj7zieaYk6u/f2lWxoy2zZNL1ScGP\u002BaOtADa9NSS1pKErd0MRF1JrUwU8/te3Yay0ZRTlG9tbZzca8KvvyvWunVjpUMpm4l56rBUw1xGsqFGqWje2BhnUa\u002BHVEn2mxiLxD9rhSiTjCZQzYqoDL5IGnFCbPKZYXGO6WTmaR0nH20OxdTMPss8wNXOSd59754B1xZPY8jKxCLb4cMBG2jGXo\u002BQmAggZGLos9UmPJE7joE\u002BTRIHdKGh2GFQeNjTowb0zjcbZt9mX8pmCD8V76rVAmUbqLUurzpcodHPhFHat20Fv\u002BRkQfv9CpQaVilBo1TEdkmBky8YoDSSPNXJh/UMtxzOOH6O2ua8CCe/HXPzyMXxfykDgiPgkjsijDp2LEkRDplzKuHlMxe8U\u002BuMiHh6U23O8oljf6VigVnErhkMvMcrlMKeNUnEwFsRDDchCUsUCBmVPZuDKOQZwBYjNOp3KUaTDSwCpQw2pUDMwEajXHiivWhGBt4AIJ1kgMgb97MzkZBZxYmttUY7j\u002BZm5GP3OzDEIK8iYr0cH4q6o2QugP8AahAp8XTggn7xbeAnor8QtC1exa/G93C1\u002BTZPofgL0MVinpmzncwK3mGDFy5BRsjAOnAB82rj5zpikx1kI2/zdwkYvT70gckREfmI5u8HWmWKosTA0Hkz/WcijdopMnaRSOnXK8RY6XyNvkTIkcW8HPq9WZ25NxMBl7k5cnM7nJOBn\u002B68FPGj1Gxphu4TR6mUGeDJx5QqdVGSQ/P2OiDv5CeTk9ooKEABS44KWbfcl9xjq2mpxaZ8zDkAi2ydlsKpvGKdR6zUl8VPgLdwn9SrjECX/BR0\u002Bp9WqlDG/KLPFU5zP1Hx5mKy\u002B\u002BQD5cZPbb9mp3SXpM4lEq8T5f5S4lXqXESmUaeDaFg72DA83wAfdU2xncyEDQmGgW7BWaKkoXsC8nFnHBG2MqpowFhI9jA36KxQbht0I7C2i0Mk9\u002BeJj5\u002BmwvotHFu9y74HlJ5N3jK1mU35LPVNtW2JhFphYT08riWharbash3EiIxKWHtcSXJWnyiH3KLrv9RrScsjGZetu5ACP/sgB84\u002Bpj526\u002B6Wf39PTc8\u002BqBm392Tzd2lnRsqasLtbuKVm311W9tdzHe218/3tV9z89vufVnx1avPvbq7esO9BcX9x/csO7GNYUFfQdi3tcHHDWjXFifWtU2g5UH38tarciekpzIQfIO8hMmk1lt\u002BUjHIpqo5IrpDCieczA3ZR7Hd4SO15R11/LeriGP67rO3UMHCh3FS93mriVcRGE21fUOL1qzZ51XrVIIAfaQ8CeDwecoa1SyXAzbC4Atj9xom8\u002BdarE4zCaz2WQw5ZjNaht2Gp2M04nK3Dmi/WBkhFapJnOOISmJvD39ZE5OqdnCq0sTaJihbgsmPqOkFDFqyt3k8IFiat2ELlhnS1O7hZ44AARBrJKXZ0xOjAryLMcZzn\u002Brf5k1M9OyNLy\u002BOuQ9JXz1C97uDH0m78xIPrKiL8NV6C029Dbcw0WScqsLCq7xlmzub03lLIF24dd/7lhnUKpkjFDDfInlFHUFrkVyhvklPZHgAucEnatGt/paI07szC2xKTNtVut9erxFj9fpsR4pDUpe6VNySmVyDbJVV\u002BfaxHP4qgkrbOTviOtZfUVOZqkVW63OHGca8eOPVWhyCEPS4vdExdlJfAIJQMJNrwFi3OROONQiRi4F/JR2\u002Bl\u002BME2Lnw5EwITUlHhqRZ5NOHEjbtragpYov8pjXt2w44ojWRr409vK7RuFNY29nV7\u002Blon9Z376ivpGc2jVVoc\u002B\u002B\u002BUcbvv2aTfqcslxYyypSjCmL\u002BcFDjTvWeU98U9vg8xQlZ2WkJ5kLLa7j28o2rWlMKfruD4FbheBff0/jXYcv6UUOc3JHmBydpVDLMSGWJdKfnQGfemZg9vQAPUFc3BO/R/ga\u002B0/C19lb33nn4jT0dARsfSP0lI88vuRkh8HghAkq35PP4HxjPpOvJNN9lsYozR3UmMWbHXRSkFaB9F6gtP5RxFZHjsojmGc5zWh3ybLiNE4mw7wyJT8ra8XGyIpdXx5fmqTRguO5d9kGc80KU05BasYGHxOZ/Xrg4KbG3GxPrqlklb/Cc3Qt2XYHlnEQcDSCXXh1GrVKp9I41CqzGhbQLSqsMnJyBWiF3EHO9lEqjQ9ALK9APMT3SKWBuY/cTVaq1NQ3EoOApdeAF2Y6CNfn1s8kgKfRe\u002BxCzMlj8rIUOHdmtUylM\u002Bmfx2VCo/Ch0IyrX9Sb9MDwcRqtM5UfHgZ6fiDF7BhiPsTdTv35Fl\u002BdWq5hVAq5hti6jBz4JGNUMo08/paRHHy4yqFkzUrWQPw\u002B0pG92SqkUctlDCtN3BR9cj\u002Bf6urN9EUhgrIhticdTDnhPSATPi7cjle88hJuEg4B/Oh77zFdTK7wGO6YfXX2SRwSjhE8lYDnZwFPJawrCujucQfZPa6Qkx0/LIM5ckg8NoN6kWcaWIEkjMTgZSYWTLyecMsnzTALWTF0iG/3xs8JLbgZKzGDlwP33mDuEtbhL81uEexkRUdjJIhpHDpym1OOfv6TMpTiU8PaS4EZH8bcU\u002Bw36esxxZVQu/LS75gp5n2s0C3Cay7dRO/WM5rY3foN0MN7zB9ZBXoPodlCpHgMEVxpGUy1zA5a9rtYGRMrK4Be9zPvQ9n7UJZPygo1UhlIkznG/BFGXIK7L91GRyT3ZMQRc6HlDcx5KF0KpTeRllysJcF1L8W1Dg9IuHJxXL3Q7w3Mb6C0Hm\u002B4dAtpKY/hU8m8wOyV/VhsyfhpSyUba0lKp2gp8EAqlcdLTcwPmGOyUyK\u002BTCctVTBxfJkfMjfQUsCX2UhGTWakUb3MT6QywIhZT8o0tAz\u002BVUnpdvT6lQlbIFVA\u002Bhb\u002BgPkRu51juWdkfbInrpbkowqZYhek5xXPK8uV25XbVRtUt6of1zymrdLer71f16Xfp39B/0LSaNKowWF4cH4yftnkMM0kLzEvM3/P/D3LMsudljtTClM2pdakPpzmSPti2hfTUzKeymzN/LZ1xDqS1Z1t/BtM/P9TWh1P0U\u002BcHs\u002BpzXl5IS2khfR3mt79r0i8ciEtpP\u002BBKZdfwvctpIW0kBbSQlpIC2khLaSFtJAW0kL6JMnmX0j/Y1NoIS2kv\u002Bl0l5T\u002BObck96bch/8/pA/y7Hl78w7nvZD387zf5H1A0yW7wp5kT7Xn2J12t72apmfzS/Kj\u002BW86HI5Ox0OOh5wspDXOI5C\u002BU\u002BAp\u002BDykLxc8UnCysKDwoSKuaF3R3UVnis4UK4ptkPYVf9WV4drk\u002Bn5JBqR7Sj2la0q/5GYg9bnv\u002BW9Pj/zdpmfdp93/4n7H/WeP3GPx5NFUDqnhbzJ1ea7xjC2khbSQFtJC\u002BvtNCKEe9reI7Ashm18y6CENBCYnumZIMIOUzH0SzKI6Zo8Ec8jMHJFgGUpjnpFgOcAvS7ACBeL9KJGH\u002BYsEq9BtMrUE6/Sc7K7YORFYl3xcgjGSmf\u002BXBDOIM/9aglmUY35FgjmkNr8pwTKkNf9RguVIa8ESrEBl8X6UKC35AQlWoSaLToJ1CsbSDT1jjoWx9NbNEsyhDGsvhWVwXW3dJcEcSrGOU1gO1\u002BXWIxLMIZP1AIUVhG/WhyQYeGW9m8JKuK61fkuCOZRm/SqFVUBkNvPvEizyX4RF/ouwyH8RFvkvwiL/RVjkvwgr0KD1exIs8l\u002BERf6LsE5vzrJTmOwH0xc3SjDQXryIwhq4biq\u002BRoI5lF0s8kpLcCveLcGAT/EEhfVw3VB8rwRzyFp8mMIG2s9uCSb9iPWTCQ\u002BLvyXBwMNikSdmis/zEkzwEWm0wHVz8S8lmEN88SsUTiH1XYwEk/p/onA6qe\u002BySjDUdxkonElk6loiwSBTl4fCWVSmD0kwkakouxxav1uCSf1mCtuJTF2jEgwydW2kcBHhj2ufBAN/XFEKl9B\u002B7pJg0s8tBFYm8F\u002BZwH9lAl3KBLq0CfW1CfW1CXLRxuTyFcSjcuRBZagaoF40ioLw247CaBw\u002BUbQTTdAryyEXAZh8\u002B\u002BF6iNYohZIGNAaJR91wbQTaR9EkzQXhNwi1t8N3gNbUQWqB3CBcDaJpuNJJex\u002BHcWPjtEHvO6HvKeiHh37D0GcIDQE8BPAElEXi4/Bx7D3IC5AjnqtGLoqDH3qYgLo8jOuHcUgfQ2irVHcl5EbhKimdAhwn4zQRPoQoHWMfic8w5QWPlkF\u002BEErIVT/lxHwaxX7CEqU8HWUKSocovSQ3DH1PQ9sIvTIFtQKUczxcj8mjFXAi3AnRduOUt4tp\u002ByCtEUTbYEzC6QD95iWMYnV5en0SrhD\u002BTcQlOEcHKY8CFiFoOQlcaKA1RYpiVPgpTkQDAnREgvNWSt3wX6U9l9esnTfqMigZo7QUQM0QxT0c51gh6qNcmoxTUg09Ek2e66Mk3kc7YPffq\u002Btq\u002BlnQ978Vfb9SD\u002Bak1Eg1YRrqjgM/iByHIYUkmkoo78OAT4iO0EFLRqnm\u002BaFvIpsuqkkRWhKidtQD33O0E56VoRq0iOy3vkLXCd1TgMsEpVKkd5jiG6XyW0d5zFOL3El5KvIgGpdrrDa5FqbaRbhPcApS/AK03oQkfxe19XE6zgTFWmw7JPUSlPJ\u002B2vcEpWAb1IrSMtJqkOIRk\u002BflsolKLURNiVxxZThOgyuen9ONK7kzQfMBaDMEeZekJ8QexXFd8XEup0CU2DTl0xC1nKvxbFqiNERtaoxaT8zSL\u002Bc9aTNGoQKoXzhPV6/eu4jDX8vbREuI6WeE6n5M32K6fzUKYqNfidfiBB0glIi0ROl4Md8Yodazk\u002BoPOcNvnHoM/0dSKuqef55WiZYflr5FqkSY\u002BKAJyRMRbGPSjPVDahJ/93E6KnrtcUkyc73HLCQkcTlCfWOI2nBUki2JV2KzxDC15jFKZYzL87XaRSXjp3BA0oMrPdrlllBAPTuhsxa5IQWpRyZjbKV\u002BK0il6odrhEMjUCNW5pb63HSZlyyUrHfOW0zGORbD5v9mHvqEfp\u002B3XtZHW6wPPiuuzVvgmiinmNYE6Zw5Js0Xc9r9cXNZTCs/ej4jkuuKW85kQowgylvUgqA01gjV5XFJ7i5Kc0SaZ0TfQzyDn/JflHNMj0W9mpA8uDgCmQfEeWU8ril\u002BNDefX\u002B7P/gtkEeeQn9IeluacmP8I0CtTwBvRRuZiHJ7OamOSzhTEcPxo2SIyj82b0UHahQk8CtBZZmyen7mSxo/pj3rfEG0Xq3117\u002Ba6zLvFeH95a8I10Z8m0h3Day7amrOauZkoJkMX9fdhOspwPB9M0BDit0QJTUJvczOsiPUgxSUozVRTcVkm\u002BhJRhm5J4pPUSsbiOMTser4ufXKuJs7wIpWJM818nZ7jxDTl47a/Uo6x2YBEg\u002BMSZ4IJGAToNxlzji9boMZQwtwR/Rh/LHr\u002BAKUgNuPVzvPifugxTD3O1eNrMf6LzTJz/InNZHM8SvQp81tNUl8hympQovvqc67/IyQaiVM/SbV0nPYuWpE48ybO6H\u002BtBsTmtxbUREs7UTPk\u002BmG27KZXWuEaiVu7oaQPco1wtRGuOKFGj1TupJLqp/NQC9RbQ\u002Bc4sY9u\u002BO6A/Drq45oRT/Mktwrqd0BfpG0TWkvHaILeemjNbtp3O1xtg98mqR5psRyurIE8gVdQLyiO1wGtxNVCqzQnipj2wnU\u002BTuF8rFrpiDHM2iHXDf23SKUN0Hcr7Y/gT8ZvpnBHHM9mCdMGyiPSM\u002BlzOWDURnPk6hr47YJ6PXT8BkqziG0HpaEZykVamigGZORSiVaxHuFPn1RCZETwa4M0R1UD5UELxWaOf8vhtwswJ/2vgNJeOkN0QstGSmkP5V6TxDNCbRvNzVElSmo5pYZwlfCgEeB2\u002BKyI866bfou4dCf0Np93/bR8rpZIX4P0vZxyrpPmRGksp7leKitS6pJk2U3puHzUfqqJTbRWA6W4J64hzVR7Rexj2imO0ZmAiTgekW0iLjGt5j/GRsReYuVrJElfyRfC9QbKE4JXT3zkj\u002Bq59Ct8uaesmu8dDfLt4fFwdOdEkF8ejkyEI/5oKDxeyjeMjfHdoZHR6CTfHZwMRrYHA6W8TtcSHIwEp/nOieB4L2nT5t8ZnoryY\u002BGR0BA/FJ7YGSFteNK9x8s7yE\u002B1i\u002B/2j02M8i3\u002B8aHw0Fa4ujI8Os63TAUmyUi9o6FJfiyxn\u002BFwhF8WGhwLDfnHeGlEqBOGQfnJ8FRkKAg/w9FpfyTIT40HghE\u002BSuho7eXbQkPB8cngYn4yGOSD2waDgUAwwI\u002BJV/lAcHIoEpogBNIxAsGoPzQ2WdoQCcFAMIKfj0b8geA2f2QrHx7\u002BaO7ELtaKLZeFxwJ8QXtoKBImeBX2BSOTZIzqUk8ZrVFCarT3xvuirGuM\u002BKdD4yN85/Aw4MeX8N3hwdA43xEaGg2P\u002BSddfJc/GgkNhfx8j59SOcmX1Swqjw/DT05NTIyFgL7h8Hi0lF8XnuK3\u002BXfyU0BplPCUXOajYX4oEvRHgy4\u002BEJqcAD67eP94gJ\u002BIhKB0CKoE4dc/yU8EI9tC0Sh0N7iT8jPGtSgUAPMjMWCYjOAiv5TrcXQmIuHA1FDUxRNtgbYu0iY2ABA2PQqUJWA2DYOGxofGpgJEtWLYh8fHdvIFoUJRegnVoYePw1YUNuFnJDhJ\u002BEYENTcAaR7vazHlQEEIRokGtxGpRkIwaiA8PT4W9gfmc88vsgqUDMgJw1DwPRWdAGUNBAmZpM5ocGxiPkfBgMZ3StWJQKBD4M9oaDAEOJfqdES1hsNjY2GqAhKrXfygfxJwDY/HFTomhILRaHSi1u0OjpdOh7aGJoKBkL80HBlxk5wbam6SVL8QxEvVYpIgRrq5uq1ezcZ\u002BItVoIzV\u002BSti8JQw0EdYEtwfHwP4ou\u002BdbM2HlPHvW6bqIcCapCQDdwIIgtBqJ\u002BIEzARc/HAHbBO0ZGvVHRoBmwmPgFUgUmvPhQbDJccIUP/UnMT375FQQhPyTk2GwHKIfgfDQ1DaQiF80\u002B9AYcKaA9DiPWr5Hcig/LaQYBYLEI4hyuGo9fjoUHSWXE9TNJakbwT5WPBYCPRXHJn1FRJcKI1AjIhS6\u002BG3hQGiY/AYpQyamgKDJUWqw0PXgFDHeSXJR0hKg0A2ETwbBR0MPRNYSl66KqmjwMKRoNBKnKRLTo\u002BFtH0MjMYOpyDggE6QdBMLgeCkuW4JD0ZiCzekxKH8gRA2vVlRx/2B4ezBhXgD/R0yG4kOMbGJOU6SiyVE/UDUYnGe5/gRCI2T4ySgoE3G9YLyioX8cA4i9tTTxPZ3Nvf0N3U18aw/f1d3Z19rY1Mg7G3og73Tx/a29LZ1renmo0d3Q0buO72zmGzrW8ataOxpdfNParu6mnh6\u002Bs5tvbe9qa22Ca60dy9vWNLZ2rOCXQbuOTph\u002BWsESodPeTp4MKHXV2tRDOmtv\u002Bs92rjwe6nWNz2bPTpYMg1DZfmNNEYOxL8MMooWx78IgUWamCEepULaEZCmpZKlUQoRCKGuHypZK0iGicn8zVHTq3j/uPZ9z7/1kzPzmed73fd79\u002B3u\u002Bzzsz1npGoIjRNTYzJtjLoQyMCRY0mwagUQwKh7EmGOvZmGGsUTgba5wlHgtWrw\u002BatTC2MLAGa8GaYy0ICmCtoA6FtQUFFN4IY2ZGrwpjA7bemt4\u002BPUucvbWxoREBZWRppo8FlbpYsGUYXTPsUlVgp/TMMMbmcih9jDnGEEsvZQlasaZnW26dnRGWrgLrw4D/egRjSwtaN/QsLQjWoCgH9tKa8LWonTEeK4fCWBvjaQNiYG0JmqcNJ1jCkm4ELGeBXbJCG2rUqhkBs9BkGzz2W1v0sRgz0BaeVnhl5tUnRxYg0/Cg8w0ak1mZQoKEQNlBDjO\u002BSutOZ0grNQb0sqSVOngs/Bb8LrwafL2yKu9fdUr1Kx7/Kx7/Kx7/98fjl85Uf8Xk/zdj8kuz9ysu/ysu/ysu/ysu/z2a/4rNr47NfxmdX/H5X/H5X/H5/7L4/A85rtefOC7NC6QhTijdxwIZ76pUQ7p/E0y/h5DoOLqa946DVx/Ie7D0OKhfmWZLL7FSY0S/htL58\u002BoUHB1nguiYtYRM4T9t/aoWIMQQ2xBbEXoINcRmhA5CC2GK0FhVkvBDBm9Ku0LRoH61loZre8D\u002BrKoDyg15DpcEUXv1qAUse9jwpU//L8pAuiE//oMuXzfQvg3g6uvvsfx\u002BbfDS\u002B23gUwIT5Ocvh9ILD/KVQxkGufnIocyIJH9MENFZDvXnNFqccikH3f7S9wXApzhN5luqTtwdoIo7M7JsijGKmWWHMsGyqeJ4UGUJg0LRnAA7I4tTjBHUDY6AQRkgQCAjqywjFAGlqsOgiGwXgAjIrdCI5IqSRSCa9Icl/cYSQHf1aI7INtoDQH9nEIEKC/U2I5f4dXnwyOoS9iOzcjhmtkfiL05cXKCgEMJEcjaVDWwh4g1AhXdlw2FQGIxXGQJBWM1WBZ099PE8vRcIK5rZ5R5A2cB2HkCzASyMcBsEIy/MBo/mBbhpAjMvqx0x2NPL34MU4I/mAjhoSiZeJms3V78Af1e0KCBC07Dy8n87bFhxGoPeAEjT0uG8YivTXd1QeC8PeiQZp4ehHXcBgKgAuxIa0ACU0JuV1NDqDqCoBIroZREg/SXtW06H/yQdoEIlVg4UOP5wKpQTAupZYVQoFPIs5VGfcMZpQoxvx944wRSn7fvTgqwh9RJAipBI4UT7gzNDSErXsxikrFzvUWJLpCDF/LTXAZurQlUpkSUhVONJhZBRJhInMvy468SzeF\u002B\u002B1k/vn9xW6T1h/35\u002B1ziV6qrXOFYY\u002BdJ8E9zHnS21Qq2hvymB8dg1famIJiyrubxt0UlrxBRjyqH2\u002BfLoRIENUwO90d7BWVC50fHc4Eb9krt\u002BtXMMJSWXdEKt0PO3yNzxWPzW\u002BXr2qQeNPfw3xO6IxE95H/JWYPdkC3wwqqq7kfFBuB6r3jvREumHDNha09k7DhA/QoWMhI6HVETxZYbWSJzkFgRuRKtYTj5S9GT3UMrweRYYHNwiZ6lQP3BEvABecCyRUog1ACsjM7jEGRiY4HAASVNyINYi\u002BPKYblss2OtsCXKWHPUUGHqt/0j9A4CjJXMjjAHDPCygh94IyNAmhI13xemV5R63pekIRuFC3IJIAShrL5cA9FqAj5aVgZddSVlJQ1VDVkVNXUVdBRCjWZRECAJryXyjHx0jqiQg24eDLMqnxUmSSqOTxYAtLYMYwhIwB0yzjbMNY7DLJzguQb4Kfl\u002BqVXAJ8FPc4\u002BNF0youH6AFK4KtAtcvuHrBhetIW7jygLo8oKYAZgIcvvQaCkVYAGaAyRcZgMVsW64iLCzsR1WAvfpntknAGlqbeaHQRQQMgHy3d\u002BG0lZjhKefwslTMmEtHjdtv3yDrpYx7eqSy6qPzjWkoho9VEq92dtcJqpn19vXzP1pvSOZm9R67xuPsJzKYTPIY2Ne\u002BWftcgX92ymylyVYG64MhV1U/\u002BObjdPYmlqr3dHRi1dKPXA/cXhmSf\u002B5Bv5dj0fFjO4knebqsXQp\u002BYy3riWk44HmNrW6sggVRts7q1csdA0OdCerRVocTpK1PjUwRjO35zTzqfvcM8/aNdI\u002BumeSojZ3w4kAnDvhzZtSeiKrJO9l3rf4ISvpDZtG0kFetRPnrLRFJc166A4jWGttDlXt4UD58age0McF\u002BJaFOSOHRiDt1rDHs5CN6lSKBjK5uJTmsfkWvbgFUxj0g6m1fQjxW4hprs6Wvhn0PdJTYvwRJlABgCUk2fku3DggAM4Fz6\u002BXu5UIkuaEwISTPgCAvUvhXzANf1QE1JUAFWMI81SVRlSb\u002B7Zj8r9BvnMMVF\u002B5RfnfoEwvELCu5eNbW86V\u002BT1v9dsuic6GRftgbnRonyvJEP3xwow4LdCR\u002B0s9kfuGW1Cpnc6h6P/OQgmwhRlawMtfU39jMh59poL2jNk40MLmlPMq07BJzz4PYLh\u002BB5C1JrdLar0c/q6TaPUbuMn5fuknhcXSVvfbcsTLZg6Rm2atbDYbeGhjXCLgTmkRuIe/aONsFzXlcl0KpDOzKP5ey\u002B8IGcsvj0qwReLlLZylfY01jvDSrfRTT60WOCTKPqhlP/m3rHTP5fU9/YzMK64o2fMx1veHF\u002BTe/ecsz7HRqKNu0I1NSxBE7JMwnGqB\u002BX0iZ7B1nftbb3WVv0mOgLUXsC/oNgSMyCHAxsizf1/npP20PWQF9P8Qhoa8F\u002BGCINaKsoKtJc9T0IBiAjVaSE0EzEwNwft37DAAcvKxCuMfvbe8nvsjd6ezZrpV8bEd3a7rg3X8X4cB1C65acLEuo5CavJLyfwrhfmKbBFBO0xqNQlBSAMoJgJL4dXAU4ACFAmh9qQoGXYv\u002BaVU4U2NF1wCXYEU9HF7R1c2dGOJLUvAk\u002BQE6X4vDABVRJRQS9DRpvi/N63Sk\u002B8lL0Z5wUMIvx6HcvkbjFFDIP2EuOMHCpEk7y40Rd9dG772G65T4yHK6mHpqTmVxk9ypFJ6R4eq26qTGIZWifsq1J6KQ2x2qAZdGosJTwkZgj6Ze9bRYiK4j5tY6SAq/TSh0tsJ6MA9pa4omzQHRAo0aOvndHFfFN46cy/FKkEh6QEodyzHUe4cvvsMJeEV97pBC\u002BQUQOweZHvcGQeS8YkK1rPrzNYya1Il\u002BTL/jhe4XdBFrq58fvMD51CcjpWv/BqvLcSZWeem\u002BjZViJsIcXkXdT2oOtBvvOV9xsSrI0EVgPr8rNz/mdSGXfoZLRalXHOM9g5h9gtov6pHijyM\u002BwCTl6zH3q5FmjWsnr2RGfZQwNY735x/Kjwrd0Y4PPx59\u002BnFHv1aw6h\u002BaJYRSa0PvO\u002Bd5UzqOcveleexWSlhQj25/EhKdebjBwS66tvp39sSEDPlXZW/aZDrLd3vN561FQAvWewS3mVtWDDDYnto3O25tPh3GYBnd0MM2dXRCl6WdPXRI0navhLTa7eYrCf7nkcPRfYbKzol5TceVHQNFdS6lujVJvNAVl4oXkXfqVY/DxG1ay9lN1Ez2dLKe7DJMyybrvOGnhG3LfIoXFMYhN6dkiLor88poCOw9rNZqUedYOqNliK94OtLPRtTa1H1CrlXdYZuOLjpPjIu51jazev0uK9hp7/AOgc6\u002BmuSjTBFSgfoXGL1HHzUMSqafDKlHU/kdACq/Lej4A\u002BCy/Zvh\u002Bqdu/gr2kE25TIOd5YXMAkevWUlPwJZ8k9jQHMDKVH5A8VtBBFoCgdJtQliF9GfpIs0SbLuFp0z4C7G7Yz2OXZ/9HPxO4VouG6C/ovgatBqgks1H5vnzoWGOCFmYtqODl7b0d3v6uzsQggqFpL55g3jy2372462nJervZem/SIXXdkspyQll9qZfib7Ynt8Rpx84m5wtVz6yjsd5FE5Sq461iziTpD48GJp85tNByqdU26bBmuSD6YqWBgbBLceP2Dhzhp3jKHIosYgj1RqQYhKtKFpGlMXrpY9bx9jaC012/JH1sIT/iXNMXULf2wwlW54GtfQsiO0IJslHifB23ZpIUY4U8oJ5b9rBkV2aJ8oVkoccdz6NfwWrMihu3r/mNGzLZdf1pvvlrEZL8p5ZKfC0S723j\u002BjYIVtRa8YQBbVUwXurcrCPTk9HS086eS1M2JJFvVUfxE13Rl0pCNcL9HphReS4OMaphhQR3N0Ek\u002BHOofI8B6g8A1\u002BHFw6Hoqk8raCueRUv5akCVZUwKPzPvJQKtWJk\u002BzKdXCA1pUJ1wLHVBBM2g\u002Bt52fQhe1Y49Acc9J3AcOVCLIxzMIrPVfKOL6dERPPkYdyJ\u002Btqdi1ubLQvNYIzEE12cUc2CvEogowP/1EGfRhXQUEArg34NggyDTmdTHuZRWgBK81\u002Bya6QAySUeIfItHePnFgT6YSv4BFoaWL\u002BUDUnwJNI\u002BfkTA41FYvMUWLEYPK49VRqvJ62mg9b\u002BYg680R/Dyc5PHk4h\u002Be1D4pY/VZVM5NEAfdApk3r3fmDfUrN6s5mF/gHYpPWhh9r1DGvmXDMByz\u002BC8yB\u002B2eBXvBlk2ms67AWCJd9OmbEn8v5qff\u002BnQNhOdrOqK712fPGvzmsLKOTc8eNMyLm8ofOKqbEjb/DmWPH4zF2dYfZ7VYXndMzKLozPH8/fPMloG\u002BnpkZ50czq7WbL/qZZxVYt8cbALFaPQesS6rqRw4bh\u002Ba6HJdHnfHntvnufGndyy7YnczpEKh/h79cnpdqKPpqvkzsuXn\u002Be4wP/dsVR/XSZ6ZKeccF\u002BHar5ER6x/ofvdtyu2tXbP\u002BdhfjP388M1b7kpo3nncMy2369Llz7vTtuFsRw/5Fxot72IW0HMM5Xl20KJORRR4Tq5lIQO5pezbqKCQkB3\u002BneLu0XrXhrGSp/Ljmgdw97wxTsw0U85jTedcZ8AnKE5SA\u002BM6UixxVXxzadeCICKxwX6EnRQsQrLvHZFJ0oeRpLsMB9/nI1V6oy5ad8ehjf\u002BhFRBqsq1f2dIj2s/l3vVBw/sDZW8WF0f8pL/Qntr/n2T8IaDD/iHxbIoYvz3bplRSSnS\u002BFvXIPQ8ZiYg6dunkvljkgsO7GSEGjToXnCZF3kD2tcw2GPe5hmChb3Oj4o5G4lIU/Gj6xValGCW1iEbn8\u002BCburYxN2bjhq5a0xcXjYc5rkmYD6rdmPujtTN\u002Btf5b/\u002BQwHN3l\u002BYY2myKMTCKN2m/eHjHh6B\u002BJdtiUE\u002B0gXFoycwp\u002B0rXCQPrWPrSQiv6sx09zh8qBxQp\u002Ba9p0Thp9Kr/mpBLd\u002BnnizP5Is9nmnYo/h3Pv5DoWsnum7t7hwVmW7n\u002Boovrkqj7oohZy/YGS5eLu31Fz\u002BbnV4arcsdhono4C2THMVjLHzXXNIlyME4e\u002BQ62ax6Fg2Oj/R1uwDku9AEPjsv5BvFsqmpd9o\u002BR8g3yDyKaupqn4h36CoQhP/Zlj\u002BV0hVhGS/GcYdvwX1\u002BiPvqZn5KK9kHxKB6/E5Vgg1emEi0tNUzrG\u002BboRYG1q5zV12x1t\u002BvAwCLYZZJ5yCbGXhPRpJBOyvAPqcU06xhwh6a7rNr21mvqr7e1JxVzBgJ009i2V/\u002BHLGkNJSvd5JabuTwbvthjFKh0RJRI/jjhTClbYksxM1d/N3tRN5/Tc0CH\u002BIIVcNEj8a1Mgg13vwBAmLx18ydY3DOV/Z9SlMTOutXUjxrXhdcx2rds5Mxm0eUTPud\u002BAn9Q9MPjT95D\u002BS3nyl8N2\u002BTazot30WjMcrYplVX\u002BwVuTye1qI5pqh/o2D6ieutPGgNiiVpb8vHm3ea9HftXpsJZbCUMP\u002BCVKPgiDz/p9T7h9D0i3qvot7ZdOpN6\u002Bb/EPtmGo21Yn/e8DRVmxII1zp9Nkc84Oqr/Acz6NttDM\u002BLPs/b\u002BQkBV2vr3Zu8B2fG3u69da8wS2row80JH4Ids6wVVZ9n4To\u002B4cG0E0986AMdHUzGk50Cizs/7BZQTV1va0qa1OVqvFQd1RD1Tn2/g7bIu7Rwk\u002BPWkEubOQVmFMMpbr1F5T7D91rfN\u002B\u002BDBJgC\u002BuslNNsm4OdOJtpvvFnxCfFszxklE5lPNpcUP1eMHFWucnZM77fTGZ9qTXM/lrDo7Rz1e70J23Hp5xqvhUwCXU5HiPvVZZ7N1ZyP2n/S\u002B9jefL\u002BOZ5kfkB839yRPN5xjPRmTdytLuAShe/BaOTlDYjOqXGrE9fXsdPUBF3spzn0KGnahuYHnGeM549beIBZw30/v4TBMJ9c/bCl4OLn/4NtnWwNZBneRUiWYiX2XcaIBt6aeQQbH0Ex5SVtm3Qz3vpgrNLowOxB0gOgTEFZEuV/AUqxR9brhfg\u002B1LKgFOX0tGipKXlgXt4mgUbqjr5HdJm3f4eCtzKOp8i\u002BPPFVW4Nk4c0eRICM\u002B21hs0bfh2pWi/pOlBbq5TW1CGPOnMR82pZ/ldgc6q0hKpoMuETNp8Yrr7olfsi8veaKveQoX2J3TUW8z5DVgV9M\u002BANz59GDUfIG9epfl\u002BGlRoc2KN9u2MyhMsmfjVPsmWWREHl89oCrKfKNPrb/TMXGAFGvMk0OF3QeoMBU6\u002B57L\u002Bf\u002BjE7mSrGDXmBgZZDngMGE4P0QrbYcFywZe51CkYIvLBsQp4aez2dmUgwCFnHfgb75frdifDAwQGANkRNuiFJAQ5PzC/9DqKhrKmx2\u002BKjYvKwASsOUb2URA0XLAJoB12QANyUHIgcBgOOblN9yqS6k62Uq0VLUVZWG0WMnXmAWNusKyWQFmWjE4Uw4q58t7aEz2d\u002B2FUyiQyITfG88tdr4sMi1MqrxHzps6H/rg2Rtb27IjW4i3E4rR5872Th3g4M1pyfCMIDgTZHoq8g38rdg4o28H4woqt9iI3Lc58cSXq1LNOZsv6eKEd2z3oIk4yCeozD5sLXlkW2AIXhH4tInoWAaLM7lKjlclCepei7Xdl8IEe6TbfckdTYWzg8SRhb6ck/7e6fwpb10ZSqJCTQDhlbEk9lUBhT\u002BFi3xSU4rsHfjr6hgZK2/KBEQIGm3YS6hNahK\u002BK5I/3GOiCVDmVxiAKaIpLwHKGEAZBii3EKj\u002B2nNV1ThTpXYuM9SzeUs2\u002BRj8/s6F4N5LXM4edy9ZSAGU1P\u002BCffDjgQM7n8J3I8V\u002BZvH84QtldVqV834ld5JTrtd62b/rj5eXb8hI/O4GR4tyCdwKkvZui/poItc2V/fQsz2LKFLAPOl0cPv6pEBm5uO5PevWaSXuFTDNvcH0OWFriRFu2MnX5ODkhT4/xw2o3\u002BM7G55rZMkh1hi5fuy7O9LZiTWJPBCvlzZ8wWYhBO4GuXW2ZCt17oLOnGyiZNfum1RdjffaDeUoGFKPbXPI\u002BdfiTn9IZldP3kTqcaev0c\u002BNDBm8Xr0vSLve5Mgh7qaxQ2liCqW8xTqcdTeQ\u002BLnLYk9z5i\u002BUnboRgbnQUql9/bIRIkY5N2z3PqcExqGMEMpk3cXm9DFti4Xm\u002BNTxLEHzwK66UpUdYS3MvWc2G2ReFvJiKHcfjuVRDy9aX5YwObXIZiWytmjPawjkH7LbNAQNCmVuZHN0cmVhbQ0KZW5kb2JqDQoxODEgMCBvYmoNClsgMFsgNzUwXSAgM1sgMjc4IDMzM10gIDE3WyAyNzhdICAxOVsgNTU2IDU1NiA1NTYgNTU2IDU1NiA1NTYgNTU2IDU1Nl0gIDM4WyA3MjIgNzIyXSAgNDFbIDYxMV0gIDQ0WyAyNzhdICA0OVsgNzIyXSAgNTFbIDY2N10gIDU0WyA2NjcgNjExXSAgNjhbIDU1NiA2MTEgNTU2XSAgNzJbIDU1NiAzMzNdICA3NVsgNjExIDI3OF0gIDc4WyA1NTYgMjc4IDg4OSA2MTEgNjExIDYxMV0gIDg1WyAzODkgNTU2IDMzMyA2MTEgNTU2XSAgOTFbIDU1NiA1NTZdICAxODJbIDI3OF0gXSANCmVuZG9iag0KMTgyIDAgb2JqDQpbIDI3OCAzMzMgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMjc4IDAgNTU2IDU1NiA1NTYgNTU2IDU1NiA1NTYgNTU2IDU1NiAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgNzIyIDcyMiAwIDYxMSAwIDAgMjc4IDAgMCAwIDAgNzIyIDAgNjY3IDAgMCA2NjcgNjExIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDU1NiA2MTEgNTU2IDAgNTU2IDMzMyAwIDYxMSAyNzggMCA1NTYgMjc4IDg4OSA2MTEgNjExIDYxMSAwIDM4OSA1NTYgMzMzIDYxMSA1NTYgMCA1NTYgNTU2XSANCmVuZG9iag0KMTgzIDAgb2JqDQpbIDI3OCAwIDAgMCAwIDAgNjY3IDAgMCAwIDAgMCAyNzggMzMzIDI3OCAyNzggNTU2IDU1NiA1NTYgNTU2IDU1NiA1NTYgMCA1NTYgNTU2IDU1NiAwIDAgMCAwIDAgMCAxMDE1IDY2NyA2NjcgNzIyIDcyMiAwIDYxMSAwIDcyMiAwIDAgNjY3IDAgMCA3MjIgNzc4IDY2NyA3NzggMCA2NjcgNjExIDcyMiA2NjcgMCAwIDAgMCAwIDAgMCAwIDAgMCA1NTYgNTU2IDUwMCA1NTYgNTU2IDAgNTU2IDU1NiAyMjIgMCA1MDAgMjIyIDgzMyA1NTYgNTU2IDU1NiAwIDMzMyA1MDAgMjc4IDU1NiA1MDAgNzIyIDUwMCA1MDBdIA0KZW5kb2JqDQoxODQgMCBvYmoNCjw8L1R5cGUvTWV0YWRhdGEvU3VidHlwZS9YTUwvTGVuZ3RoIDMwOTc\u002BPg0Kc3RyZWFtDQo8P3hwYWNrZXQgYmVnaW49Iu\u002B7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IjMuMS03MDEiPgo8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgo8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiAgeG1sbnM6cGRmPSJodHRwOi8vbnMuYWRvYmUuY29tL3BkZi8xLjMvIj4KPHBkZjpQcm9kdWNlcj5NaWNyb3NvZnTCriBXb3JkIDIwMjE8L3BkZjpQcm9kdWNlcj48cGRmOktleXdvcmRzPjIvMS8yMDI0PC9wZGY6S2V5d29yZHM\u002BPC9yZGY6RGVzY3JpcHRpb24\u002BCjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iPgo8ZGM6Y3JlYXRvcj48cmRmOlNlcT48cmRmOmxpPlBhdWwgQmxpY2s8L3JkZjpsaT48L3JkZjpTZXE\u002BPC9kYzpjcmVhdG9yPjwvcmRmOkRlc2NyaXB0aW9uPgo8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIj4KPHhtcDpDcmVhdG9yVG9vbD5NaWNyb3NvZnTCriBXb3JkIDIwMjE8L3htcDpDcmVhdG9yVG9vbD48eG1wOkNyZWF0ZURhdGU\u002BMjAyNC0wMS0yOVQxOTo1NDo0My0wNzowMDwveG1wOkNyZWF0ZURhdGU\u002BPHhtcDpNb2RpZnlEYXRlPjIwMjQtMDEtMjlUMTk6NTQ6NDMtMDc6MDA8L3htcDpNb2RpZnlEYXRlPjwvcmRmOkRlc2NyaXB0aW9uPgo8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iPgo8eG1wTU06RG9jdW1lbnRJRD51dWlkOkY3OTQwNzFELTc3RjAtNDlDRi05RkE1LTEzNjU1MDBGNzU3MTwveG1wTU06RG9jdW1lbnRJRD48eG1wTU06SW5zdGFuY2VJRD51dWlkOkY3OTQwNzFELTc3RjAtNDlDRi05RkE1LTEzNjU1MDBGNzU3MTwveG1wTU06SW5zdGFuY2VJRD48L3JkZjpEZXNjcmlwdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCjwvcmRmOlJERj48L3g6eG1wbWV0YT48P3hwYWNrZXQgZW5kPSJ3Ij8\u002BDQplbmRzdHJlYW0NCmVuZG9iag0KMTg1IDAgb2JqDQo8PC9EaXNwbGF5RG9jVGl0bGUgdHJ1ZT4\u002BDQplbmRvYmoNCjE4NiAwIG9iag0KPDwvVHlwZS9YUmVmL1NpemUgMTg2L1dbIDEgNCAyXSAvUm9vdCAxIDAgUi9JbmZvIDE3IDAgUi9JRFs8MUQwNzk0RjdGMDc3Q0Y0OTlGQTUxMzY1NTAwRjc1NzE\u002BPDFEMDc5NEY3RjA3N0NGNDk5RkE1MTM2NTUwMEY3NTcxPl0gL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMzg2Pj4NCnN0cmVhbQ0KeJw11DdTVWEUBdALiDnhI4qYRcyKCgZQnpiVIGbMWYwo5iyKOedMZW9txTgoww\u002BwtPBnOBZ4/Zae4qw5zT7djqJ4urpS4p0RRX/5iB\u002BB1EQg8SWQ2RDIqkULPgeyy1CPX4GcykBuOX4G8toDJVVxfPyoIHqLd3iPD3iDLPRAd6TgX0prnFma/H\u002BlIRXp6IZMJNAfPdELvdEHfdEPAzEAg5CBbLzEcAxDLnIwGHkYgnwMRQFeYBxGYgRGYxQKMQZFGItiTMB4TMJETMFkTMNUzMUMTEcJZmIWSjEHs7EQ5SjDfMxDEhWoxAJUYTEWYSmWYDmWYSVWYB1qUI1VqMVq1GEt1mAbNmA96rERm7EJW7EF\u002B7ED27ELO7EHu7EPe3EMB9CAQziIIziMRhzFOTThOE7iBE7jFM7iDK7hAs7jEi7iCi6jGVdxDy24jpu4gdu4hbu4g\u002Bd4gPt4hId4gsd4hqd4hddxM1Q0h9JJfgp8bQt8U0gdvwOdxYHvrVH0B5luWlENCmVuZHN0cmVhbQ0KZW5kb2JqDQp4cmVmDQowIDE4Nw0KMDAwMDAwMDAxOCA2NTUzNSBmDQowMDAwMDAwMDE3IDAwMDAwIG4NCjAwMDAwMDAxNjUgMDAwMDAgbg0KMDAwMDAwMDIyMSAwMDAwMCBuDQowMDAwMDAwNTMxIDAwMDAwIG4NCjAwMDAwMDUwNTggMDAwMDAgbg0KMDAwMDAwNTIyNSAwMDAwMCBuDQowMDAwMDA1NDU2IDAwMDAwIG4NCjAwMDAwMDU1MDkgMDAwMDAgbg0KMDAwMDAwNTU2MiAwMDAwMCBuDQowMDAwMDA1NjkyIDAwMDAwIG4NCjAwMDAwMDU3MjIgMDAwMDAgbg0KMDAwMDAwNTg4MSAwMDAwMCBuDQowMDAwMDA1OTU1IDAwMDAwIG4NCjAwMDAwMDYyMDUgMDAwMDAgbg0KMDAwMDAwNjM2OSAwMDAwMCBuDQowMDAwMDA2NTk2IDAwMDAwIG4NCjAwMDAwMTM5MDEgMDAwMDAgbg0KMDAwMDAwMDAxOSA2NTUzNSBmDQowMDAwMDAwMDIwIDY1NTM1IGYNCjAwMDAwMDAwMjEgNjU1MzUgZg0KMDAwMDAwMDAyMiA2NTUzNSBmDQowMDAwMDAwMDIzIDY1NTM1IGYNCjAwMDAwMDAwMjQgNjU1MzUgZg0KMDAwMDAwMDAyNSA2NTUzNSBmDQowMDAwMDAwMDI2IDY1NTM1IGYNCjAwMDAwMDAwMjcgNjU1MzUgZg0KMDAwMDAwMDAyOCA2NTUzNSBmDQowMDAwMDAwMDI5IDY1NTM1IGYNCjAwMDAwMDAwMzAgNjU1MzUgZg0KMDAwMDAwMDAzMSA2NTUzNSBmDQowMDAwMDAwMDMyIDY1NTM1IGYNCjAwMDAwMDAwMzMgNjU1MzUgZg0KMDAwMDAwMDAzNCA2NTUzNSBmDQowMDAwMDAwMDM1IDY1NTM1IGYNCjAwMDAwMDAwMzYgNjU1MzUgZg0KMDAwMDAwMDAzNyA2NTUzNSBmDQowMDAwMDAwMDM4IDY1NTM1IGYNCjAwMDAwMDAwMzkgNjU1MzUgZg0KMDAwMDAwMDA0MCA2NTUzNSBmDQowMDAwMDAwMDQxIDY1NTM1IGYNCjAwMDAwMDAwNDIgNjU1MzUgZg0KMDAwMDAwMDA0MyA2NTUzNSBmDQowMDAwMDAwMDQ0IDY1NTM1IGYNCjAwMDAwMDAwNDUgNjU1MzUgZg0KMDAwMDAwMDA0NiA2NTUzNSBmDQowMDAwMDAwMDQ3IDY1NTM1IGYNCjAwMDAwMDAwNDggNjU1MzUgZg0KMDAwMDAwMDA0OSA2NTUzNSBmDQowMDAwMDAwMDUwIDY1NTM1IGYNCjAwMDAwMDAwNTEgNjU1MzUgZg0KMDAwMDAwMDA1MiA2NTUzNSBmDQowMDAwMDAwMDUzIDY1NTM1IGYNCjAwMDAwMDAwNTQgNjU1MzUgZg0KMDAwMDAwMDA1NSA2NTUzNSBmDQowMDAwMDAwMDU2IDY1NTM1IGYNCjAwMDAwMDAwNTcgNjU1MzUgZg0KMDAwMDAwMDA1OCA2NTUzNSBmDQowMDAwMDAwMDU5IDY1NTM1IGYNCjAwMDAwMDAwNjAgNjU1MzUgZg0KMDAwMDAwMDA2MSA2NTUzNSBmDQowMDAwMDAwMDYyIDY1NTM1IGYNCjAwMDAwMDAwNjMgNjU1MzUgZg0KMDAwMDAwMDA2NCA2NTUzNSBmDQowMDAwMDAwMDY1IDY1NTM1IGYNCjAwMDAwMDAwNjYgNjU1MzUgZg0KMDAwMDAwMDA2NyA2NTUzNSBmDQowMDAwMDAwMDY4IDY1NTM1IGYNCjAwMDAwMDAwNjkgNjU1MzUgZg0KMDAwMDAwMDA3MCA2NTUzNSBmDQowMDAwMDAwMDcxIDY1NTM1IGYNCjAwMDAwMDAwNzIgNjU1MzUgZg0KMDAwMDAwMDA3MyA2NTUzNSBmDQowMDAwMDAwMDc0IDY1NTM1IGYNCjAwMDAwMDAwNzUgNjU1MzUgZg0KMDAwMDAwMDA3NiA2NTUzNSBmDQowMDAwMDAwMDc3IDY1NTM1IGYNCjAwMDAwMDAwNzggNjU1MzUgZg0KMDAwMDAwMDA3OSA2NTUzNSBmDQowMDAwMDAwMDgwIDY1NTM1IGYNCjAwMDAwMDAwODEgNjU1MzUgZg0KMDAwMDAwMDA4MiA2NTUzNSBmDQowMDAwMDAwMDgzIDY1NTM1IGYNCjAwMDAwMDAwODQgNjU1MzUgZg0KMDAwMDAwMDA4NSA2NTUzNSBmDQowMDAwMDAwMDg2IDY1NTM1IGYNCjAwMDAwMDAwODcgNjU1MzUgZg0KMDAwMDAwMDA4OCA2NTUzNSBmDQowMDAwMDAwMDg5IDY1NTM1IGYNCjAwMDAwMDAwOTAgNjU1MzUgZg0KMDAwMDAwMDA5MSA2NTUzNSBmDQowMDAwMDAwMDkyIDY1NTM1IGYNCjAwMDAwMDAwOTMgNjU1MzUgZg0KMDAwMDAwMDA5NCA2NTUzNSBmDQowMDAwMDAwMDk1IDY1NTM1IGYNCjAwMDAwMDAwOTYgNjU1MzUgZg0KMDAwMDAwMDA5NyA2NTUzNSBmDQowMDAwMDAwMDk4IDY1NTM1IGYNCjAwMDAwMDAwOTkgNjU1MzUgZg0KMDAwMDAwMDEwMCA2NTUzNSBmDQowMDAwMDAwMTAxIDY1NTM1IGYNCjAwMDAwMDAxMDIgNjU1MzUgZg0KMDAwMDAwMDEwMyA2NTUzNSBmDQowMDAwMDAwMTA0IDY1NTM1IGYNCjAwMDAwMDAxMDUgNjU1MzUgZg0KMDAwMDAwMDEwNiA2NTUzNSBmDQowMDAwMDAwMTA3IDY1NTM1IGYNCjAwMDAwMDAxMDggNjU1MzUgZg0KMDAwMDAwMDEwOSA2NTUzNSBmDQowMDAwMDAwMTEwIDY1NTM1IGYNCjAwMDAwMDAxMTEgNjU1MzUgZg0KMDAwMDAwMDExMiA2NTUzNSBmDQowMDAwMDAwMTEzIDY1NTM1IGYNCjAwMDAwMDAxMTQgNjU1MzUgZg0KMDAwMDAwMDExNSA2NTUzNSBmDQowMDAwMDAwMTE2IDY1NTM1IGYNCjAwMDAwMDAxMTcgNjU1MzUgZg0KMDAwMDAwMDExOCA2NTUzNSBmDQowMDAwMDAwMTE5IDY1NTM1IGYNCjAwMDAwMDAxMjAgNjU1MzUgZg0KMDAwMDAwMDEyMSA2NTUzNSBmDQowMDAwMDAwMTIyIDY1NTM1IGYNCjAwMDAwMDAxMjMgNjU1MzUgZg0KMDAwMDAwMDEyNCA2NTUzNSBmDQowMDAwMDAwMTI1IDY1NTM1IGYNCjAwMDAwMDAxMjYgNjU1MzUgZg0KMDAwMDAwMDEyNyA2NTUzNSBmDQowMDAwMDAwMTI4IDY1NTM1IGYNCjAwMDAwMDAxMjkgNjU1MzUgZg0KMDAwMDAwMDEzMCA2NTUzNSBmDQowMDAwMDAwMTMxIDY1NTM1IGYNCjAwMDAwMDAxMzIgNjU1MzUgZg0KMDAwMDAwMDEzMyA2NTUzNSBmDQowMDAwMDAwMTM0IDY1NTM1IGYNCjAwMDAwMDAxMzUgNjU1MzUgZg0KMDAwMDAwMDEzNiA2NTUzNSBmDQowMDAwMDAwMTM3IDY1NTM1IGYNCjAwMDAwMDAxMzggNjU1MzUgZg0KMDAwMDAwMDEzOSA2NTUzNSBmDQowMDAwMDAwMTQwIDY1NTM1IGYNCjAwMDAwMDAxNDEgNjU1MzUgZg0KMDAwMDAwMDE0MiA2NTUzNSBmDQowMDAwMDAwMTQzIDY1NTM1IGYNCjAwMDAwMDAxNDQgNjU1MzUgZg0KMDAwMDAwMDE0NSA2NTUzNSBmDQowMDAwMDAwMTQ2IDY1NTM1IGYNCjAwMDAwMDAxNDcgNjU1MzUgZg0KMDAwMDAwMDE0OCA2NTUzNSBmDQowMDAwMDAwMTQ5IDY1NTM1IGYNCjAwMDAwMDAxNTAgNjU1MzUgZg0KMDAwMDAwMDE1MSA2NTUzNSBmDQowMDAwMDAwMTUyIDY1NTM1IGYNCjAwMDAwMDAxNTMgNjU1MzUgZg0KMDAwMDAwMDE1NCA2NTUzNSBmDQowMDAwMDAwMTU1IDY1NTM1IGYNCjAwMDAwMDAxNTYgNjU1MzUgZg0KMDAwMDAwMDE1NyA2NTUzNSBmDQowMDAwMDAwMTU4IDY1NTM1IGYNCjAwMDAwMDAxNTkgNjU1MzUgZg0KMDAwMDAwMDE2MCA2NTUzNSBmDQowMDAwMDAwMTYxIDY1NTM1IGYNCjAwMDAwMDAxNjIgNjU1MzUgZg0KMDAwMDAwMDE2MyA2NTUzNSBmDQowMDAwMDAwMTY0IDY1NTM1IGYNCjAwMDAwMDAxNjUgNjU1MzUgZg0KMDAwMDAwMDE2NiA2NTUzNSBmDQowMDAwMDAwMTY3IDY1NTM1IGYNCjAwMDAwMDAxNjggNjU1MzUgZg0KMDAwMDAwMDE2OSA2NTUzNSBmDQowMDAwMDAwMTcwIDY1NTM1IGYNCjAwMDAwMDAxNzEgNjU1MzUgZg0KMDAwMDAwMDE3MiA2NTUzNSBmDQowMDAwMDAwMTczIDY1NTM1IGYNCjAwMDAwMDAxNzQgNjU1MzUgZg0KMDAwMDAwMDE3NSA2NTUzNSBmDQowMDAwMDAwMTc2IDY1NTM1IGYNCjAwMDAwMDAxNzcgNjU1MzUgZg0KMDAwMDAwMDE3OCA2NTUzNSBmDQowMDAwMDAwMDAwIDY1NTM1IGYNCjAwMDAwMTY1MTQgMDAwMDAgbg0KMDAwMDAxNjgxNiAwMDAwMCBuDQowMDAwMDUwNjI0IDAwMDAwIG4NCjAwMDAwNTA5MTMgMDAwMDAgbg0KMDAwMDA1MTE5NSAwMDAwMCBuDQowMDAwMDUxNTA2IDAwMDAwIG4NCjAwMDAwNTQ2ODcgMDAwMDAgbg0KMDAwMDA1NDczMyAwMDAwMCBuDQp0cmFpbGVyDQo8PC9TaXplIDE4Ny9Sb290IDEgMCBSL0luZm8gMTcgMCBSL0lEWzwxRDA3OTRGN0YwNzdDRjQ5OUZBNTEzNjU1MDBGNzU3MT48MUQwNzk0RjdGMDc3Q0Y0OTlGQTUxMzY1NTAwRjc1NzE\u002BXSA\u002BPg0Kc3RhcnR4cmVmDQo1NTMyMg0KJSVFT0YNCnhyZWYNCjAgMA0KdHJhaWxlcg0KPDwvU2l6ZSAxODcvUm9vdCAxIDAgUi9JbmZvIDE3IDAgUi9JRFs8MUQwNzk0RjdGMDc3Q0Y0OTlGQTUxMzY1NTAwRjc1NzE\u002BPDFEMDc5NEY3RjA3N0NGNDk5RkE1MTM2NTUwMEY3NTcxPl0gL1ByZXYgNTUzMjIvWFJlZlN0bSA1NDczMz4\u002BDQpzdGFydHhyZWYNCjU5MjIxDQolJUVPRg==" } ] }, "rawData": { "account_number": null, "bill_to": { "address": "525 Animas View Drive\nDurango, CO 81301", "name": "Bill Franks", "vat_number": null }, "cashback": null, "category": "Job Supplies", "created_date": "2024-01-31 19:57:12", "currency_code": "USD", "date": "2024-02-01 00:00:00", "delivery_date": null, "discount": null, "document_reference_number": null, "document_title": null, "document_type": "invoice", "due_date": "2024-02-01", "duplicate_of": null, "external_id": null, "guest_count": null, "id": 182145841, "img_file_name": "182145841.jpg", "insurance": null, "invoice_number": "6654477", "is_approved": null, "is_duplicate": false, "lat": null, "line_items": [ { "category": null, "date": null, "description": "Paper Airplane Stock", "discount": null, "discount_rate": null, "end_date": null, "full_description": null, "hsn": null, "id": 803620149, "order": 0, "price": 3.0, "quantity": 1000.0, "reference": null, "section": null, "sku": null, "start_date": null, "tags": [], "tax": null, "tax_rate": null, "text": "1000\tPaper Airplane Stock\t\t\t3.00\t3000.00", "total": 3000.0, "type": "product", "unit_of_measure": null, "upc": null, "weight": null } ], "lng": null, "notes": null, "ocr_text": "2/1/2024\tInvoice No. 6654477\n\nTo\nBill Franks\n525 Animas View Drive\nDurango, CO 81301\n\nShip To\nBill Franks\n\nInstructions\nKnock three times\n\nQuantity\tDescription\t\t\tUnit Price\tTotal\n\n1000\tPaper Airplane Stock\t\t\t3.00\t3000.00\n\n\tSubtotal\n\n\tSales Tax\t\t0.21\n\tShipping \u0026 Handling\t\t0.00\n\n\tTotal Due\t\t3000.21\n\n\tDue upon receipt\n\tThank you for your business!\n\nPaul\u0027s Paper Supply Company\n\tPaul\u0027s\nTel 970-222-2121\t123 North 1st St\twww.paulspaper.com\nFax 970-222-2122\tDurango, CO 81301\tpaul@paper.com\t\tpaper", "order_date": null, "payment": { "terms": null, "card_number": null, "display_name": null, "type": null }, "purchase_order_number": null, "rounding": null, "reference_number": "VBGEB-45841", "server_name": null, "service_end_date": null, "service_start_date": null, "ship_date": null, "ship_to": { "address": "Durango, CO 81301", "name": "Bill Franks", "vat_number": null }, "shipping": null, "status": null, "store_number": null, "subtotal": 3000.0, "tax": 0.21, "tax_lines": [], "timezone_offset": null, "tip": null, "total": 3000.21, "total_weight": null, "tracking_number": null, "updated_date": "2024-01-31 19:57:13", "vendor": { "types": null, "abn_number": null, "account_number": null, "address": "123 North 1st St", "bank_name": null, "bank_number": null, "bank_swift": null, "category": null, "email": null, "external_id": null, "fax_number": "970-222-2122", "iban": null, "name": "Paul\u0027s Paper Supply", "phone_number": "970-222-2121", "parsed_address": { "city": null, "country": null, "postcode": null, "state": null, "street_address": "123 North 1st St" }, "raw_name": "Paul\u0027s Paper Supply Company", "reg_number": null, "type": null, "vat_number": null, "web": "www.paulspaper.com" }, "weights": null } }, "pageidentifier": null, "roomId": 0 } ``` ```json Invoice example maxLines=15 { "isSuccess": true, "responseText": "Success", "responseCode": 1, "responseData": { "resultData": { "customerData": { "customerId": 0, "firstName": "Bill Franks", "lastName": null, "company": "", "customerNumber": null, "billingAddress1": null, "billingAddress2": null, "billingCity": null, "billingState": null, "billingZip": null, "billingCountry": null, "billingPhone": null, "billingEmail": null, "shippingAddress1": "Durango, CO 81301", "shippingAddress2": null, "shippingCity": null, "shippingState": null, "shippingZip": null, "shippingCountry": null, "additionalData": {}, "identifierFields": null }, "invoiceData": { "invoiceNumber": "6654477", "invoiceDate": "2024-02-01 00:00:00", "invoiceDueDate": "2024-02-01", "invoiceEndDate": null, "invoiceStatus": 0, "invoiceType": 0, "frequency": null, "paymentTerms": "-", "termsConditions": null, "notes": null, "tax": 0.21, "discount": null, "invoiceAmount": 3000.21, "freightAmount": null, "dutyAmount": null, "purchaseOrder": null, "firstName": "Bill Franks", "lastName": null, "company": "", "shippingAddress1": "Durango, CO 81301", "shippingAddress2": null, "shippingCity": null, "shippingState": null, "shippingZip": null, "shippingCountry": null, "shippingEmail": null, "shippingPhone": null, "shippingFromZip": null, "summaryCommodityCode": null, "items": [ { "itemTotalAmount": 3000.0, "itemTaxAmount": 0, "itemTaxRate": 0, "itemProductCode": null, "itemProductName": "Paper Airplane Stock", "itemDescription": "", "itemCommodityCode": null, "itemUnitOfMeasure": null, "itemCost": 3.0, "itemQty": 1000, "itemMode": null, "itemCategories": [] } ], "attachments": [ { "ftype": "pdf", "filename": "paulsPaper_sample Invoice.pdf", "fileDescriptor": null, "furl": null, "fContent": "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ZyAzMy9TdGVtViA0Ny9Gb250QkJveFsgLTYyOCAtMjEwIDIwMDAgNzI4XSA+Pg0KZW5kb2JqDQo3IDAgb2JqDQo8PC9UeXBlL0V4dEdTdGF0ZS9CTS9Ob3JtYWwvY2EgMT4+DQplbmRvYmoNCjggMCBvYmoNCjw8L1R5cGUvRXh0R1N0YXRlL0JNL05vcm1hbC9DQSAxPj4NCmVuZG9iag0KOSAwIG9iag0KPDwvVHlwZS9Gb250L1N1YnR5cGUvVHlwZTAvQmFzZUZvbnQvQXJpYWwtQm9sZE1UL0VuY29kaW5nL0lkZW50aXR5LUgvRGVzY2VuZGFudEZvbnRzIDEwIDAgUi9Ub1VuaWNvZGUgMTc5IDAgUj4+DQplbmRvYmoNCjEwIDAgb2JqDQpbIDExIDAgUl0gDQplbmRvYmoNCjExIDAgb2JqDQo8PC9CYXNlRm9udC9BcmlhbC1Cb2xkTVQvU3VidHlwZS9DSURGb250VHlwZTIvVHlwZS9Gb250L0NJRFRvR0lETWFwL0lkZW50aXR5L0RXIDEwMDAvQ0lEU3lzdGVtSW5mbyAxMiAwIFIvRm9udERlc2NyaXB0b3IgMTMgMCBSL1cgMTgxIDAgUj4+DQplbmRvYmoNCjEyIDAgb2JqDQo8PC9PcmRlcmluZyhJZGVudGl0eSkgL1JlZ2lzdHJ5KEFkb2JlKSAvU3VwcGxlbWVudCAwPj4NCmVuZG9iag0KMTMgMCBvYmoNCjw8L1R5cGUvRm9udERlc2NyaXB0b3IvRm9udE5hbWUvQXJpYWwtQm9sZE1UL0ZsYWdzIDMyL0l0YWxpY0FuZ2xlIDAvQXNjZW50IDkwNS9EZXNjZW50IC0yMTAvQ2FwSGVpZ2h0IDcyOC9BdmdXaWR0aCA0NzkvTWF4V2lkdGggMjYyOC9Gb250V2VpZ2h0IDcwMC9YSGVpZ2h0IDI1MC9MZWFkaW5nIDMzL1N0ZW1WIDQ3L0ZvbnRCQm94WyAtNjI4IC0yMTAgMjAwMCA3MjhdIC9Gb250RmlsZTIgMTgwIDAgUj4+DQplbmRvYmoNCjE0IDAgb2JqDQo8PC9UeXBlL0ZvbnQvU3VidHlwZS9UcnVlVHlwZS9OYW1lL0YzL0Jhc2VGb250L0FyaWFsTVQvRW5jb2RpbmcvV2luQW5zaUVuY29kaW5nL0ZvbnRE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MCAxMDE1IDY2NyA2NjcgNzIyIDcyMiAwIDYxMSAwIDcyMiAwIDAgNjY3IDAgMCA3MjIgNzc4IDY2NyA3NzggMCA2NjcgNjExIDcyMiA2NjcgMCAwIDAgMCAwIDAgMCAwIDAgMCA1NTYgNTU2IDUwMCA1NTYgNTU2IDAgNTU2IDU1NiAyMjIgMCA1MDAgMjIyIDgzMyA1NTYgNTU2IDU1NiAwIDMzMyA1MDAgMjc4IDU1NiA1MDAgNzIyIDUwMCA1MDBdIA0KZW5kb2JqDQoxODQgMCBvYmoNCjw8L1R5cGUvTWV0YWRhdGEvU3VidHlwZS9YTUwvTGVuZ3RoIDMwOTc+Pg0Kc3RyZWFtDQo8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IjMuMS03MDEiPgo8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgo8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiAgeG1sbnM6cGRmPSJodHRwOi8vbnMuYWRvYmUuY29tL3BkZi8xLjMvIj4KPHBkZjpQcm9kdWNlcj5NaWNyb3NvZnTCriBXb3JkIDIwMjE8L3BkZjpQcm9kdWNlcj48cGRmOktleXdvcmRzPjIvMS8yMDI0PC9wZGY6S2V5d29yZHM+PC9yZGY6RGVzY3JpcHRpb24+CjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iPgo8ZGM6Y3JlYXRvcj48cmRmOlNlcT48cmRmOmxpPlBhdWwgQmxpY2s8L3JkZjpsaT48L3JkZjpTZXE+PC9kYzpjcmVhdG9yPjwvcmRmOkRlc2NyaXB0aW9uPgo8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIj4KPHhtcDpDcmVhdG9yVG9vbD5NaWNyb3NvZnTCriBXb3JkIDIwMjE8L3htcDpDcmVhdG9yVG9vbD48eG1wOkNyZWF0ZURhdGU+MjAyNC0wMS0yOVQxOTo1NDo0My0wNzowMDwveG1wOkNyZWF0ZURhdGU+PHhtcDpNb2RpZnlEYXRlPjIwMjQtMDEtMjlUMTk6NTQ6NDMtMDc6MDA8L3htcDpNb2RpZnlEYXRlPjwvcmRmOkRlc2NyaXB0aW9uPgo8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iPgo8eG1wTU06RG9jdW1lbnRJRD51dWlkOkY3OTQwNzFELTc3RjAtNDlDRi05RkE1LTEzNjU1MDBGNzU3MTwveG1wTU06RG9jdW1lbnRJRD48eG1wTU06SW5zdGFuY2VJRD51dWlkOkY3OTQwNzFELTc3RjAtNDlDRi05RkE1LTEzNjU1MDBGNzU3MTwveG1wTU06SW5zdGFuY2VJRD48L3JkZjpEZXNjcmlwdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCjwvcmRmOlJERj48L3g6eG1wbWV0YT48P3hwYWNrZXQgZW5kPSJ3Ij8+DQplbmRzdHJlYW0NCmVuZG9iag0KMTg1IDAgb2JqDQo8PC9EaXNwbGF5RG9jVGl0bGUgdHJ1ZT4+DQplbmRvYmoNCjE4NiAwIG9iag0KPDwvVHlwZS9YUmVmL1NpemUgMTg2L1dbIDEgNCAyXSAvUm9vdCAxIDAgUi9JbmZvIDE3IDAgUi9JRFs8MUQwNzk0RjdGMDc3Q0Y0OTlGQTUxMzY1NTAwRjc1NzE+PDFEMDc5NEY3RjA3N0NGNDk5RkE1MTM2NTUwMEY3NTcxPl0gL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMzg2Pj4NCnN0cmVhbQ0KeJw11DdTVWEUBdALiDnhI4qYRcyKCgZQnpiVIGbMWYwo5iyKOedMZW9txTgoww+wtPBnOBZ4/Zae4qw5zT7djqJ4urpS4p0RRX/5iB+B1EQg8SWQ2RDIqkULPgeyy1CPX4GcykBuOX4G8toDJVVxfPyoIHqLd3iPD3iDLPRAd6TgX0prnFma/H+lIRXp6IZMJNAfPdELvdEHfdEPAzEAg5CBbLzEcAxDLnIwGHkYgnwMRQFeYBxGYgRGYxQKMQZFGItiTMB4TMJETMFkTMNUzMUMTEcJZmIWSjEHs7EQ5SjDfMxDEhWoxAJUYTEWYSmWYDmWYSVWYB1qUI1VqMVq1GEt1mAbNmA96rERm7EJW7EF+7ED27ELO7EHu7EPe3EMB9CAQziIIziMRhzFOTThOE7iBE7jFM7iDK7hAs7jEi7iCi6jGVdxDy24jpu4gdu4hbu4g+d4gPt4hId4gsd4hqd4hddxM1Q0h9JJfgp8bQt8U0gdvwOdxYHvrVH0B5luWlENCmVuZHN0cmVhbQ0KZW5kb2JqDQp4cmVmDQowIDE4Nw0KMDAwMDAwMDAxOCA2NTUzNSBmDQowMDAwMDAwMDE3IDAwMDAwIG4NCjAwMDAwMDAxNjUgMDAwMDAgbg0KMDAwMDAwMDIyMSAwMDAwMCBuDQowMDAwMDAwNTMxIDAwMDAwIG4NCjAwMDAwMDUwNTggMDAwMDAgbg0KMDAwMDAwNTIyNSAwMDAwMCBuDQowMDAwMDA1NDU2IDAwMDAwIG4NCjAwMDAwMDU1MDkgMDAwMDAgbg0KMDAwMDAwNTU2MiAwMDAwMCBuDQowMDAwMDA1NjkyIDAwMDAwIG4NCjAwMDAwMDU3MjIgMDAwMDAgbg0KMDAwMDAwNTg4MSAwMDAwMCBuDQowMDAwMDA1OTU1IDAwMDAwIG4NCjAwMDAwMDYyMDUgMDAwMDAgbg0KMDAwMDAwNjM2OSAwMDAwMCBuDQowMDAwMDA2NTk2IDAwMDAwIG4NCjAwMDAwMTM5MDEgMDAwMDAgbg0KMDAwMDAwMDAxOSA2NTUzNSBmDQowMDAwMDAwMDIwIDY1NTM1IGYNCjAwMDAwMDAwMjEgNjU1MzUgZg0KMDAwMDAwMDAyMiA2NTUzNSBmDQowMDAwMDAwMDIzIDY1NTM1IGYNCjAwMDAwMDAwMjQgNjU1MzUgZg0KMDAwMDAwMDAyNSA2NTUzNSBmDQowMDAwMDAwMDI2IDY1NTM1IGYNCjAwMDAwMDAwMjcgNjU1MzUgZg0KMDAwMDAwMDAyOCA2NTUzNSBmDQowMDAwMDAwMDI5IDY1NTM1IGYNCjAwMDAwMDAwMzAgNjU1MzUgZg0KMDAwMDAwMDAzMSA2NTUzNSBmDQowMDAwMDAwMDMyIDY1NTM1IGYNCjAwMDAwMDAwMzMgNjU1MzUgZg0KMDAwMDAwMDAzNCA2NTUzNSBmDQowMDAwMDAwMDM1IDY1NTM1IGYNCjAwMDAwMDAwMzYgNjU1MzUgZg0KMDAwMDAwMDAzNyA2NTUzNSBmDQowMDAwMDAwMDM4IDY1NTM1IGYNCjAwMDAwMDAwMzkgNjU1MzUgZg0KMDAwMDAwMDA0MCA2NTUzNSBmDQowMDAwMDAwMDQxIDY1NTM1IGYNCjAwMDAwMDAwNDIgNjU1MzUgZg0KMDAwMDAwMDA0MyA2NTUzNSBmDQowMDAwMDAwMDQ0IDY1NTM1IGYNCjAwMDAwMDAwNDUgNjU1MzUgZg0KMDAwMDAwMDA0NiA2NTUzNSBmDQowMDAwMDAwMDQ3IDY1NTM1IGYNCjAwMDAwMDAwNDggNjU1MzUgZg0KMDAwMDAwMDA0OSA2NTUzNSBmDQowMDAwMDAwMDUwIDY1NTM1IGYNCjAwMDAwMDAwNTEgNjU1MzUgZg0KMDAwMDAwMDA1MiA2NTUzNSBmDQowMDAwMDAwMDUzIDY1NTM1IGYNCjAwMDAwMDAwNTQgNjU1MzUgZg0KMDAwMDAwMDA1NSA2NTUzNSBmDQowMDAwMDAwMDU2IDY1NTM1IGYNCjAwMDAwMDAwNTcgNjU1MzUgZg0KMDAwMDAwMDA1OCA2NTUzNSBmDQowMDAwMDAwMDU5IDY1NTM1IGYNCjAwMDAwMDAwNjAgNjU1MzUgZg0KMDAwMDAwMDA2MSA2NTUzNSBmDQowMDAwMDAwMDYyIDY1NTM1IGYNCjAwMDAwMDAwNjMgNjU1MzUgZg0KMDAwMDAwMDA2NCA2NTUzNSBmDQowMDAwMDAwMDY1IDY1NTM1IGYNCjAwMDAwMDAwNjYgNjU1MzUgZg0KMDAwMDAwMDA2NyA2NTUzNSBmDQowMDAwMDAwMDY4IDY1NTM1IGYNCjAwMDAwMDAwNjkgNjU1MzUgZg0KMDAwMDAwMDA3MCA2NTUzNSBmDQowMDAwMDAwMDcxIDY1NTM1IGYNCjAwMDAwMDAwNzIgNjU1MzUgZg0KMDAwMDAwMDA3MyA2NTUzNSBmDQowMDAwMDAwMDc0IDY1NTM1IGYNCjAwMDAwMDAwNzUgNjU1MzUgZg0KMDAwMDAwMDA3NiA2NTUzNSBmDQowMDAwMDAwMDc3IDY1NTM1IGYNCjAwMDAwMDAwNzggNjU1MzUgZg0KMDAwMDAwMDA3OSA2NTUzNSBmDQowMDAwMDAwMDgwIDY1NTM1IGYNCjAwMDAwMDAwODEgNjU1MzUgZg0KMDAwMDAwMDA4MiA2NTUzNSBmDQowMDAwMDAwMDgzIDY1NTM1IGYNCjAwMDAwMDAwODQgNjU1MzUgZg0KMDAwMDAwMDA4NSA2NTUzNSBmDQowMDAwMDAwMDg2IDY1NTM1IGYNCjAwMDAwMDAwODcgNjU1MzUgZg0KMDAwMDAwMDA4OCA2NTUzNSBmDQowMDAwMDAwMDg5IDY1NTM1IGYNCjAwMDAwMDAwOTAgNjU1MzUgZg0KMDAwMDAwMDA5MSA2NTUzNSBmDQowMDAwMDAwMDkyIDY1NTM1IGYNCjAwMDAwMDAwOTMgNjU1MzUgZg0KMDAwMDAwMDA5NCA2NTUzNSBmDQowMDAwMDAwMDk1IDY1NTM1IGYNCjAwMDAwMDAwOTYgNjU1MzUgZg0KMDAwMDAwMDA5NyA2NTUzNSBmDQowMDAwMDAwMDk4IDY1NTM1IGYNCjAwMDAwMDAwOTkgNjU1MzUgZg0KMDAwMDAwMDEwMCA2NTUzNSBmDQowMDAwMDAwMTAxIDY1NTM1IGYNCjAwMDAwMDAxMDIgNjU1MzUgZg0KMDAwMDAwMDEwMyA2NTUzNSBmDQowMDAwMDAwMTA0IDY1NTM1IGYNCjAwMDAwMDAxMDUgNjU1MzUgZg0KMDAwMDAwMDEwNiA2NTUzNSBmDQowMDAwMDAwMTA3IDY1NTM1IGYNCjAwMDAwMDAxMDggNjU1MzUgZg0KMDAwMDAwMDEwOSA2NTUzNSBmDQowMDAwMDAwMTEwIDY1NTM1IGYNCjAwMDAwMDAxMTEgNjU1MzUgZg0KMDAwMDAwMDExMiA2NTUzNSBmDQowMDAwMDAwMTEzIDY1NTM1IGYNCjAwMDAwMDAxMTQgNjU1MzUgZg0KMDAwMDAwMDExNSA2NTUzNSBmDQowMDAwMDAwMTE2IDY1NTM1IGYNCjAwMDAwMDAxMTcgNjU1MzUgZg0KMDAwMDAwMDExOCA2NTUzNSBmDQowMDAwMDAwMTE5IDY1NTM1IGYNCjAwMDAwMDAxMjAgNjU1MzUgZg0KMDAwMDAwMDEyMSA2NTUzNSBmDQowMDAwMDAwMTIyIDY1NTM1IGYNCjAwMDAwMDAxMjMgNjU1MzUgZg0KMDAwMDAwMDEyNCA2NTUzNSBmDQowMDAwMDAwMTI1IDY1NTM1IGYNCjAwMDAwMDAxMjYgNjU1MzUgZg0KMDAwMDAwMDEyNyA2NTUzNSBmDQowMDAwMDAwMTI4IDY1NTM1IGYNCjAwMDAwMDAxMjkgNjU1MzUgZg0KMDAwMDAwMDEzMCA2NTUzNSBmDQowMDAwMDAwMTMxIDY1NTM1IGYNCjAwMDAwMDAxMzIgNjU1MzUgZg0KMDAwMDAwMDEzMyA2NTUzNSBmDQowMDAwMDAwMTM0IDY1NTM1IGYNCjAwMDAwMDAxMzUgNjU1MzUgZg0KMDAwMDAwMDEzNiA2NTUzNSBmDQowMDAwMDAwMTM3IDY1NTM1IGYNCjAwMDAwMDAxMzggNjU1MzUgZg0KMDAwMDAwMDEzOSA2NTUzNSBmDQowMDAwMDAwMTQwIDY1NTM1IGYNCjAwMDAwMDAxNDEgNjU1MzUgZg0KMDAwMDAwMDE0MiA2NTUzNSBmDQowMDAwMDAwMTQzIDY1NTM1IGYNCjAwMDAwMDAxNDQgNjU1MzUgZg0KMDAwMDAwMDE0NSA2NTUzNSBmDQowMDAwMDAwMTQ2IDY1NTM1IGYNCjAwMDAwMDAxNDcgNjU1MzUgZg0KMDAwMDAwMDE0OCA2NTUzNSBmDQowMDAwMDAwMTQ5IDY1NTM1IGYNCjAwMDAwMDAxNTAgNjU1MzUgZg0KMDAwMDAwMDE1MSA2NTUzNSBmDQowMDAwMDAwMTUyIDY1NTM1IGYNCjAwMDAwMDAxNTMgNjU1MzUgZg0KMDAwMDAwMDE1NCA2NTUzNSBmDQowMDAwMDAwMTU1IDY1NTM1IGYNCjAwMDAwMDAxNTYgNjU1MzUgZg0KMDAwMDAwMDE1NyA2NTUzNSBmDQowMDAwMDAwMTU4IDY1NTM1IGYNCjAwMDAwMDAxNTkgNjU1MzUgZg0KMDAwMDAwMDE2MCA2NTUzNSBmDQowMDAwMDAwMTYxIDY1NTM1IGYNCjAwMDAwMDAxNjIgNjU1MzUgZg0KMDAwMDAwMDE2MyA2NTUzNSBmDQowMDAwMDAwMTY0IDY1NTM1IGYNCjAwMDAwMDAxNjUgNjU1MzUgZg0KMDAwMDAwMDE2NiA2NTUzNSBmDQowMDAwMDAwMTY3IDY1NTM1IGYNCjAwMDAwMDAxNjggNjU1MzUgZg0KMDAwMDAwMDE2OSA2NTUzNSBmDQowMDAwMDAwMTcwIDY1NTM1IGYNCjAwMDAwMDAxNzEgNjU1MzUgZg0KMDAwMDAwMDE3MiA2NTUzNSBmDQowMDAwMDAwMTczIDY1NTM1IGYNCjAwMDAwMDAxNzQgNjU1MzUgZg0KMDAwMDAwMDE3NSA2NTUzNSBmDQowMDAwMDAwMTc2IDY1NTM1IGYNCjAwMDAwMDAxNzcgNjU1MzUgZg0KMDAwMDAwMDE3OCA2NTUzNSBmDQowMDAwMDAwMDAwIDY1NTM1IGYNCjAwMDAwMTY1MTQgMDAwMDAgbg0KMDAwMDAxNjgxNiAwMDAwMCBuDQowMDAwMDUwNjI0IDAwMDAwIG4NCjAwMDAwNTA5MTMgMDAwMDAgbg0KMDAwMDA1MTE5NSAwMDAwMCBuDQowMDAwMDUxNTA2IDAwMDAwIG4NCjAwMDAwNTQ2ODcgMDAwMDAgbg0KMDAwMDA1NDczMyAwMDAwMCBuDQp0cmFpbGVyDQo8PC9TaXplIDE4Ny9Sb290IDEgMCBSL0luZm8gMTcgMCBSL0lEWzwxRDA3OTRGN0YwNzdDRjQ5OUZBNTEzNjU1MDBGNzU3MT48MUQwNzk0RjdGMDc3Q0Y0OTlGQTUxMzY1NTAwRjc1NzE+XSA+Pg0Kc3RhcnR4cmVmDQo1NTMyMg0KJSVFT0YNCnhyZWYNCjAgMA0KdHJhaWxlcg0KPDwvU2l6ZSAxODcvUm9vdCAxIDAgUi9JbmZvIDE3IDAgUi9JRFs8MUQwNzk0RjdGMDc3Q0Y0OTlGQTUxMzY1NTAwRjc1NzE+PDFEMDc5NEY3RjA3N0NGNDk5RkE1MTM2NTUwMEY3NTcxPl0gL1ByZXYgNTUzMjIvWFJlZlN0bSA1NDczMz4+DQpzdGFydHhyZWYNCjU5MjIxDQolJUVPRg==" } ], "additionalData": { "category": "Job Supplies", "currency_code": "USD", "type": "invoice", "reference_number": "VBGIJ-80131" } }, "scheduledOptions": null }, "rawData": { "account_number": null, "bill_to": { "address": "525 Animas View Drive\nDurango, CO 81301", "name": "Bill Franks", "vat_number": null }, "cashback": null, "category": "Job Supplies", "created_date": "2024-02-22 03:33:56", "currency_code": "USD", "date": "2024-02-01 00:00:00", "delivery_date": null, "discount": null, "document_reference_number": null, "document_title": null, "document_type": "invoice", "due_date": "2024-02-01", "duplicate_of": null, "external_id": null, "guest_count": null, "id": 186980131, "img_file_name": "186980131.pdf", "insurance": null, "invoice_number": "6654477", "is_approved": null, "is_duplicate": false, "lat": null, "line_items": [ { "category": null, "date": null, "description": "Paper Airplane Stock", "discount": null, "discount_rate": null, "end_date": null, "full_description": "Paper Airplane Stock", "hsn": null, "id": 827010392, "order": 0, "price": 3.0, "quantity": 1000.0, "reference": null, "section": null, "sku": null, "start_date": null, "tags": [], "tax": null, "tax_rate": null, "text": "1000\tPaper Airplane Stock\t\t\t3.00\t3000.00", "total": 3000.0, "type": "product", "unit_of_measure": null, "upc": null, "weight": null } ], "lng": null, "notes": null, "ocr_text": "2/1/2024\tInvoice No. 6654477\n\nTo\nBill Franks\n525 Animas View Drive\nDurango, CO 81301\nShip To\nBill Franks\n\nInstructions\nKnock three times\n\nQuantity\tDescription\t\t\tUnit Price\tTotal\n\n1000\tPaper Airplane Stock\t\t\t3.00\t3000.00\n\n\tSubtotal\n\n\tSales Tax\t\t0.21\n\tShipping & Handling\t\t0.00\n\n\tTotal Due\t\t3000.21\n\n\tDue upon receipt\n\tThank you for your business!\n\nPaul’s Paper Supply Company\n\tPaul's\nTel 970-222-2121\t123 North 1st St\twww.paulspaper.com\nFax 970-222-2122\tDurango, CO 81301\tpaul@paper.com\t\tpaper", "order_date": null, "payment": { "terms": null, "card_number": null, "display_name": null, "type": null }, "purchase_order_number": null, "rounding": null, "reference_number": "VBGIJ-80131", "server_name": null, "service_end_date": null, "service_start_date": null, "ship_date": null, "ship_to": { "address": "Durango, CO 81301", "name": "Bill Franks", "vat_number": null }, "shipping": null, "status": null, "store_number": null, "subtotal": 3000.0, "tax": 0.21, "tax_lines": [], "timezone_offset": null, "tip": null, "total": 3000.21, "total_weight": null, "tracking_number": null, "updated_date": "2024-02-22 03:33:57", "vendor": { "types": null, "abn_number": null, "account_number": null, "address": "123 North 1st St", "bank_name": null, "bank_number": null, "bank_swift": null, "category": null, "email": "paul@paper.com", "external_id": null, "fax_number": "970-222-2122", "iban": null, "name": "Paul’s Paper Supply", "phone_number": "970-222-2121", "parsed_address": { "city": null, "country": null, "postcode": null, "state": null, "street_address": "123 North 1st St" }, "raw_name": "Paul’s Paper Supply Company", "reg_number": null, "type": null, "vat_number": null, "web": "www.paulspaper.com" }, "weights": null } }, "pageidentifier": null, "roomId": 0 } ``` ## Create the bill or invoice After you get the OCR results, you can use the API to create a bill or invoice in Payabli. You'll need the contents of the `resultData` object returned in with the OCR response. Follow these steps to create an invoice (money in). See [the API reference](/developers/api-reference/invoice/add-invoice) for complete details about this endpoint. Make a POST request to **/Invoice/\{entry}**, adding the content you copied from the `resultData` object from the OCR response. The `resultData` contents is the body of the request. ```json Invoice payload maxLines=15 curl --location 'https://api-sandbox.payabli.com/api/Invoice/41035afaa7?forceCustomerCreation=false' --header 'Content-Type: application/json' \ --header 'Accept: application/json' \ --header 'requestToken: ' \ --data '{ "customerData": { "customerId": 0, "firstName": "Bill Franks", "lastName": null, "company": "", "customerNumber": null, "billingAddress1": null, "billingAddress2": null, "billingCity": null, "billingState": null, "billingZip": null, "billingCountry": null, "billingPhone": null, "billingEmail": null, "shippingAddress1": "Durango, CO 81301", "shippingAddress2": null, "shippingCity": null, "shippingState": null, "shippingZip": null, "shippingCountry": null, "additionalData": {}, "identifierFields": null }, "invoiceData": { "invoiceNumber": "6654477", "invoiceDate": "2024-02-01 00:00:00", "invoiceDueDate": "2024-02-01", "invoiceEndDate": null, "invoiceStatus": 0, "invoiceType": 0, "frequency": null, "paymentTerms": "-", "termsConditions": null, "notes": null, "tax": 0.21, "discount": null, "invoiceAmount": 3000.21, "freightAmount": null, "dutyAmount": null, "purchaseOrder": null, "firstName": "Bill Franks", "lastName": null, "company": "", "shippingAddress1": "Durango, CO 81301", "shippingAddress2": null, "shippingCity": null, "shippingState": null, "shippingZip": null, "shippingCountry": null, "shippingEmail": null, "shippingPhone": null, "shippingFromZip": null, "summaryCommodityCode": null, "items": [ { "itemTotalAmount": 3000.0, "itemTaxAmount": 0, "itemTaxRate": 0, "itemProductCode": null, "itemProductName": "Paper Airplane Stock", "itemDescription": "", "itemCommodityCode": null, "itemUnitOfMeasure": null, "itemCost": 3.0, "itemQty": 1000, "itemMode": null, "itemCategories": [] } ], "attachments": [ { "ftype": "pdf", "filename": "paulsPaper_sample Invoice.pdf", "fileDescriptor": null, "furl": null, "fContent": "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ZyAzMy9TdGVtViA0Ny9Gb250QkJveFsgLTYyOCAtMjEwIDIwMDAgNzI4XSA+Pg0KZW5kb2JqDQo3IDAgb2JqDQo8PC9UeXBlL0V4dEdTdGF0ZS9CTS9Ob3JtYWwvY2EgMT4+DQplbmRvYmoNCjggMCBvYmoNCjw8L1R5cGUvRXh0R1N0YXRlL0JNL05vcm1hbC9DQSAxPj4NCmVuZG9iag0KOSAwIG9iag0KPDwvVHlwZS9Gb250L1N1YnR5cGUvVHlwZTAvQmFzZUZvbnQvQXJpYWwtQm9sZE1UL0VuY29kaW5nL0lkZW50aXR5LUgvRGVzY2VuZGFudEZvbnRzIDEwIDAgUi9Ub1VuaWNvZGUgMTc5IDAgUj4+DQplbmRvYmoNCjEwIDAgb2JqDQpbIDExIDAgUl0gDQplbmRvYmoNCjExIDAgb2JqDQo8PC9CYXNlRm9udC9BcmlhbC1Cb2xkTVQvU3VidHlwZS9DSURGb250VHlwZTIvVHlwZS9Gb250L0NJRFRvR0lETWFwL0lkZW50aXR5L0RXIDEwMDAvQ0lEU3lzdGVtSW5mbyAxMiAwIFIvRm9udERlc2NyaXB0b3IgMTMgMCBSL1cgMTgxIDAgUj4+DQplbmRvYmoNCjEyIDAgb2JqDQo8PC9PcmRlcmluZyhJZGVudGl0eSkgL1JlZ2lzdHJ5KEFkb2JlKSAvU3VwcGxlbWVudCAwPj4NCmVuZG9iag0KMTMgMCBvYmoNCjw8L1R5cGUvRm9udERlc2NyaXB0b3IvRm9udE5hbWUvQXJpYWwtQm9sZE1UL0ZsYWdzIDMyL0l0YWxpY0FuZ2xlIDAvQXNjZW50IDkwNS9EZXNjZW50IC0yMTAvQ2FwSGVpZ2h0IDcyOC9BdmdXaWR0aCA0NzkvTWF4V2lkdGggMjYyOC9Gb250V2VpZ2h0IDcwMC9YSGVpZ2h0IDI1MC9MZWFkaW5nIDMzL1N0ZW1WIDQ3L0ZvbnRCQm94WyAtNjI4IC0yMTAgMjAwMCA3MjhdIC9Gb250RmlsZTIgMTgwIDAgUj4+DQplbmRvYmoNCjE0IDAgb2JqDQo8PC9UeXBlL0ZvbnQvU3VidHlwZS9UcnVlVHlwZS9OYW1lL0YzL0Jhc2VGb250L0FyaWFsTVQvRW5jb2RpbmcvV2luQW5zaUVuY29kaW5nL0ZvbnRE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MCAxMDE1IDY2NyA2NjcgNzIyIDcyMiAwIDYxMSAwIDcyMiAwIDAgNjY3IDAgMCA3MjIgNzc4IDY2NyA3NzggMCA2NjcgNjExIDcyMiA2NjcgMCAwIDAgMCAwIDAgMCAwIDAgMCA1NTYgNTU2IDUwMCA1NTYgNTU2IDAgNTU2IDU1NiAyMjIgMCA1MDAgMjIyIDgzMyA1NTYgNTU2IDU1NiAwIDMzMyA1MDAgMjc4IDU1NiA1MDAgNzIyIDUwMCA1MDBdIA0KZW5kb2JqDQoxODQgMCBvYmoNCjw8L1R5cGUvTWV0YWRhdGEvU3VidHlwZS9YTUwvTGVuZ3RoIDMwOTc+Pg0Kc3RyZWFtDQo8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IjMuMS03MDEiPgo8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgo8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiAgeG1sbnM6cGRmPSJodHRwOi8vbnMuYWRvYmUuY29tL3BkZi8xLjMvIj4KPHBkZjpQcm9kdWNlcj5NaWNyb3NvZnTCriBXb3JkIDIwMjE8L3BkZjpQcm9kdWNlcj48cGRmOktleXdvcmRzPjIvMS8yMDI0PC9wZGY6S2V5d29yZHM+PC9yZGY6RGVzY3JpcHRpb24+CjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iPgo8ZGM6Y3JlYXRvcj48cmRmOlNlcT48cmRmOmxpPlBhdWwgQmxpY2s8L3JkZjpsaT48L3JkZjpTZXE+PC9kYzpjcmVhdG9yPjwvcmRmOkRlc2NyaXB0aW9uPgo8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIj4KPHhtcDpDcmVhdG9yVG9vbD5NaWNyb3NvZnTCriBXb3JkIDIwMjE8L3htcDpDcmVhdG9yVG9vbD48eG1wOkNyZWF0ZURhdGU+MjAyNC0wMS0yOVQxOTo1NDo0My0wNzowMDwveG1wOkNyZWF0ZURhdGU+PHhtcDpNb2RpZnlEYXRlPjIwMjQtMDEtMjlUMTk6NTQ6NDMtMDc6MDA8L3htcDpNb2RpZnlEYXRlPjwvcmRmOkRlc2NyaXB0aW9uPgo8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iPgo8eG1wTU06RG9jdW1lbnRJRD51dWlkOkY3OTQwNzFELTc3RjAtNDlDRi05RkE1LTEzNjU1MDBGNzU3MTwveG1wTU06RG9jdW1lbnRJRD48eG1wTU06SW5zdGFuY2VJRD51dWlkOkY3OTQwNzFELTc3RjAtNDlDRi05RkE1LTEzNjU1MDBGNzU3MTwveG1wTU06SW5zdGFuY2VJRD48L3JkZjpEZXNjcmlwdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCjwvcmRmOlJERj48L3g6eG1wbWV0YT48P3hwYWNrZXQgZW5kPSJ3Ij8+DQplbmRzdHJlYW0NCmVuZG9iag0KMTg1IDAgb2JqDQo8PC9EaXNwbGF5RG9jVGl0bGUgdHJ1ZT4+DQplbmRvYmoNCjE4NiAwIG9iag0KPDwvVHlwZS9YUmVmL1NpemUgMTg2L1dbIDEgNCAyXSAvUm9vdCAxIDAgUi9JbmZvIDE3IDAgUi9JRFs8MUQwNzk0RjdGMDc3Q0Y0OTlGQTUxMzY1NTAwRjc1NzE+PDFEMDc5NEY3RjA3N0NGNDk5RkE1MTM2NTUwMEY3NTcxPl0gL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMzg2Pj4NCnN0cmVhbQ0KeJw11DdTVWEUBdALiDnhI4qYRcyKCgZQnpiVIGbMWYwo5iyKOedMZW9txTgoww+wtPBnOBZ4/Zae4qw5zT7djqJ4urpS4p0RRX/5iB+B1EQg8SWQ2RDIqkULPgeyy1CPX4GcykBuOX4G8toDJVVxfPyoIHqLd3iPD3iDLPRAd6TgX0prnFma/H+lIRXp6IZMJNAfPdELvdEHfdEPAzEAg5CBbLzEcAxDLnIwGHkYgnwMRQFeYBxGYgRGYxQKMQZFGItiTMB4TMJETMFkTMNUzMUMTEcJZmIWSjEHs7EQ5SjDfMxDEhWoxAJUYTEWYSmWYDmWYSVWYB1qUI1VqMVq1GEt1mAbNmA96rERm7EJW7EF+7ED27ELO7EHu7EPe3EMB9CAQziIIziMRhzFOTThOE7iBE7jFM7iDK7hAs7jEi7iCi6jGVdxDy24jpu4gdu4hbu4g+d4gPt4hId4gsd4hqd4hddxM1Q0h9JJfgp8bQt8U0gdvwOdxYHvrVH0B5luWlENCmVuZHN0cmVhbQ0KZW5kb2JqDQp4cmVmDQowIDE4Nw0KMDAwMDAwMDAxOCA2NTUzNSBmDQowMDAwMDAwMDE3IDAwMDAwIG4NCjAwMDAwMDAxNjUgMDAwMDAgbg0KMDAwMDAwMDIyMSAwMDAwMCBuDQowMDAwMDAwNTMxIDAwMDAwIG4NCjAwMDAwMDUwNTggMDAwMDAgbg0KMDAwMDAwNTIyNSAwMDAwMCBuDQowMDAwMDA1NDU2IDAwMDAwIG4NCjAwMDAwMDU1MDkgMDAwMDAgbg0KMDAwMDAwNTU2MiAwMDAwMCBuDQowMDAwMDA1NjkyIDAwMDAwIG4NCjAwMDAwMDU3MjIgMDAwMDAgbg0KMDAwMDAwNTg4MSAwMDAwMCBuDQowMDAwMDA1OTU1IDAwMDAwIG4NCjAwMDAwMDYyMDUgMDAwMDAgbg0KMDAwMDAwNjM2OSAwMDAwMCBuDQowMDAwMDA2NTk2IDAwMDAwIG4NCjAwMDAwMTM5MDEgMDAwMDAgbg0KMDAwMDAwMDAxOSA2NTUzNSBmDQowMDAwMDAwMDIwIDY1NTM1IGYNCjAwMDAwMDAwMjEgNjU1MzUgZg0KMDAwMDAwMDAyMiA2NTUzNSBmDQowMDAwMDAwMDIzIDY1NTM1IGYNCjAwMDAwMDAwMjQgNjU1MzUgZg0KMDAwMDAwMDAyNSA2NTUzNSBmDQowMDAwMDAwMDI2IDY1NTM1IGYNCjAwMDAwMDAwMjcgNjU1MzUgZg0KMDAwMDAwMDAyOCA2NTUzNSBmDQowMDAwMDAwMDI5IDY1NTM1IGYNCjAwMDAwMDAwMzAgNjU1MzUgZg0KMDAwMDAwMDAzMSA2NTUzNSBmDQowMDAwMDAwMDMyIDY1NTM1IGYNCjAwMDAwMDAwMzMgNjU1MzUgZg0KMDAwMDAwMDAzNCA2NTUzNSBmDQowMDAwMDAwMDM1IDY1NTM1IGYNCjAwMDAwMDAwMzYgNjU1MzUgZg0KMDAwMDAwMDAzNyA2NTUzNSBmDQowMDAwMDAwMDM4IDY1NTM1IGYNCjAwMDAwMDAwMzkgNjU1MzUgZg0KMDAwMDAwMDA0MCA2NTUzNSBmDQowMDAwMDAwMDQxIDY1NTM1IGYNCjAwMDAwMDAwNDIgNjU1MzUgZg0KMDAwMDAwMDA0MyA2NTUzNSBmDQowMDAwMDAwMDQ0IDY1NTM1IGYNCjAwMDAwMDAwNDUgNjU1MzUgZg0KMDAwMDAwMDA0NiA2NTUzNSBmDQowMDAwMDAwMDQ3IDY1NTM1IGYNCjAwMDAwMDAwNDggNjU1MzUgZg0KMDAwMDAwMDA0OSA2NTUzNSBmDQowMDAwMDAwMDUwIDY1NTM1IGYNCjAwMDAwMDAwNTEgNjU1MzUgZg0KMDAwMDAwMDA1MiA2NTUzNSBmDQowMDAwMDAwMDUzIDY1NTM1IGYNCjAwMDAwMDAwNTQgNjU1MzUgZg0KMDAwMDAwMDA1NSA2NTUzNSBmDQowMDAwMDAwMDU2IDY1NTM1IGYNCjAwMDAwMDAwNTcgNjU1MzUgZg0KMDAwMDAwMDA1OCA2NTUzNSBmDQowMDAwMDAwMDU5IDY1NTM1IGYNCjAwMDAwMDAwNjAgNjU1MzUgZg0KMDAwMDAwMDA2MSA2NTUzNSBmDQowMDAwMDAwMDYyIDY1NTM1IGYNCjAwMDAwMDAwNjMgNjU1MzUgZg0KMDAwMDAwMDA2NCA2NTUzNSBmDQowMDAwMDAwMDY1IDY1NTM1IGYNCjAwMDAwMDAwNjYgNjU1MzUgZg0KMDAwMDAwMDA2NyA2NTUzNSBmDQowMDAwMDAwMDY4IDY1NTM1IGYNCjAwMDAwMDAwNjkgNjU1MzUgZg0KMDAwMDAwMDA3MCA2NTUzNSBmDQowMDAwMDAwMDcxIDY1NTM1IGYNCjAwMDAwMDAwNzIgNjU1MzUgZg0KMDAwMDAwMDA3MyA2NTUzNSBmDQowMDAwMDAwMDc0IDY1NTM1IGYNCjAwMDAwMDAwNzUgNjU1MzUgZg0KMDAwMDAwMDA3NiA2NTUzNSBmDQowMDAwMDAwMDc3IDY1NTM1IGYNCjAwMDAwMDAwNzggNjU1MzUgZg0KMDAwMDAwMDA3OSA2NTUzNSBmDQowMDAwMDAwMDgwIDY1NTM1IGYNCjAwMDAwMDAwODEgNjU1MzUgZg0KMDAwMDAwMDA4MiA2NTUzNSBmDQowMDAwMDAwMDgzIDY1NTM1IGYNCjAwMDAwMDAwODQgNjU1MzUgZg0KMDAwMDAwMDA4NSA2NTUzNSBmDQowMDAwMDAwMDg2IDY1NTM1IGYNCjAwMDAwMDAwODcgNjU1MzUgZg0KMDAwMDAwMDA4OCA2NTUzNSBmDQowMDAwMDAwMDg5IDY1NTM1IGYNCjAwMDAwMDAwOTAgNjU1MzUgZg0KMDAwMDAwMDA5MSA2NTUzNSBmDQowMDAwMDAwMDkyIDY1NTM1IGYNCjAwMDAwMDAwOTMgNjU1MzUgZg0KMDAwMDAwMDA5NCA2NTUzNSBmDQowMDAwMDAwMDk1IDY1NTM1IGYNCjAwMDAwMDAwOTYgNjU1MzUgZg0KMDAwMDAwMDA5NyA2NTUzNSBmDQowMDAwMDAwMDk4IDY1NTM1IGYNCjAwMDAwMDAwOTkgNjU1MzUgZg0KMDAwMDAwMDEwMCA2NTUzNSBmDQowMDAwMDAwMTAxIDY1NTM1IGYNCjAwMDAwMDAxMDIgNjU1MzUgZg0KMDAwMDAwMDEwMyA2NTUzNSBmDQowMDAwMDAwMTA0IDY1NTM1IGYNCjAwMDAwMDAxMDUgNjU1MzUgZg0KMDAwMDAwMDEwNiA2NTUzNSBmDQowMDAwMDAwMTA3IDY1NTM1IGYNCjAwMDAwMDAxMDggNjU1MzUgZg0KMDAwMDAwMDEwOSA2NTUzNSBmDQowMDAwMDAwMTEwIDY1NTM1IGYNCjAwMDAwMDAxMTEgNjU1MzUgZg0KMDAwMDAwMDExMiA2NTUzNSBmDQowMDAwMDAwMTEzIDY1NTM1IGYNCjAwMDAwMDAxMTQgNjU1MzUgZg0KMDAwMDAwMDExNSA2NTUzNSBmDQowMDAwMDAwMTE2IDY1NTM1IGYNCjAwMDAwMDAxMTcgNjU1MzUgZg0KMDAwMDAwMDExOCA2NTUzNSBmDQowMDAwMDAwMTE5IDY1NTM1IGYNCjAwMDAwMDAxMjAgNjU1MzUgZg0KMDAwMDAwMDEyMSA2NTUzNSBmDQowMDAwMDAwMTIyIDY1NTM1IGYNCjAwMDAwMDAxMjMgNjU1MzUgZg0KMDAwMDAwMDEyNCA2NTUzNSBmDQowMDAwMDAwMTI1IDY1NTM1IGYNCjAwMDAwMDAxMjYgNjU1MzUgZg0KMDAwMDAwMDEyNyA2NTUzNSBmDQowMDAwMDAwMTI4IDY1NTM1IGYNCjAwMDAwMDAxMjkgNjU1MzUgZg0KMDAwMDAwMDEzMCA2NTUzNSBmDQowMDAwMDAwMTMxIDY1NTM1IGYNCjAwMDAwMDAxMzIgNjU1MzUgZg0KMDAwMDAwMDEzMyA2NTUzNSBmDQowMDAwMDAwMTM0IDY1NTM1IGYNCjAwMDAwMDAxMzUgNjU1MzUgZg0KMDAwMDAwMDEzNiA2NTUzNSBmDQowMDAwMDAwMTM3IDY1NTM1IGYNCjAwMDAwMDAxMzggNjU1MzUgZg0KMDAwMDAwMDEzOSA2NTUzNSBmDQowMDAwMDAwMTQwIDY1NTM1IGYNCjAwMDAwMDAxNDEgNjU1MzUgZg0KMDAwMDAwMDE0MiA2NTUzNSBmDQowMDAwMDAwMTQzIDY1NTM1IGYNCjAwMDAwMDAxNDQgNjU1MzUgZg0KMDAwMDAwMDE0NSA2NTUzNSBmDQowMDAwMDAwMTQ2IDY1NTM1IGYNCjAwMDAwMDAxNDcgNjU1MzUgZg0KMDAwMDAwMDE0OCA2NTUzNSBmDQowMDAwMDAwMTQ5IDY1NTM1IGYNCjAwMDAwMDAxNTAgNjU1MzUgZg0KMDAwMDAwMDE1MSA2NTUzNSBmDQowMDAwMDAwMTUyIDY1NTM1IGYNCjAwMDAwMDAxNTMgNjU1MzUgZg0KMDAwMDAwMDE1NCA2NTUzNSBmDQowMDAwMDAwMTU1IDY1NTM1IGYNCjAwMDAwMDAxNTYgNjU1MzUgZg0KMDAwMDAwMDE1NyA2NTUzNSBmDQowMDAwMDAwMTU4IDY1NTM1IGYNCjAwMDAwMDAxNTkgNjU1MzUgZg0KMDAwMDAwMDE2MCA2NTUzNSBmDQowMDAwMDAwMTYxIDY1NTM1IGYNCjAwMDAwMDAxNjIgNjU1MzUgZg0KMDAwMDAwMDE2MyA2NTUzNSBmDQowMDAwMDAwMTY0IDY1NTM1IGYNCjAwMDAwMDAxNjUgNjU1MzUgZg0KMDAwMDAwMDE2NiA2NTUzNSBmDQowMDAwMDAwMTY3IDY1NTM1IGYNCjAwMDAwMDAxNjggNjU1MzUgZg0KMDAwMDAwMDE2OSA2NTUzNSBmDQowMDAwMDAwMTcwIDY1NTM1IGYNCjAwMDAwMDAxNzEgNjU1MzUgZg0KMDAwMDAwMDE3MiA2NTUzNSBmDQowMDAwMDAwMTczIDY1NTM1IGYNCjAwMDAwMDAxNzQgNjU1MzUgZg0KMDAwMDAwMDE3NSA2NTUzNSBmDQowMDAwMDAwMTc2IDY1NTM1IGYNCjAwMDAwMDAxNzcgNjU1MzUgZg0KMDAwMDAwMDE3OCA2NTUzNSBmDQowMDAwMDAwMDAwIDY1NTM1IGYNCjAwMDAwMTY1MTQgMDAwMDAgbg0KMDAwMDAxNjgxNiAwMDAwMCBuDQowMDAwMDUwNjI0IDAwMDAwIG4NCjAwMDAwNTA5MTMgMDAwMDAgbg0KMDAwMDA1MTE5NSAwMDAwMCBuDQowMDAwMDUxNTA2IDAwMDAwIG4NCjAwMDAwNTQ2ODcgMDAwMDAgbg0KMDAwMDA1NDczMyAwMDAwMCBuDQp0cmFpbGVyDQo8PC9TaXplIDE4Ny9Sb290IDEgMCBSL0luZm8gMTcgMCBSL0lEWzwxRDA3OTRGN0YwNzdDRjQ5OUZBNTEzNjU1MDBGNzU3MT48MUQwNzk0RjdGMDc3Q0Y0OTlGQTUxMzY1NTAwRjc1NzE+XSA+Pg0Kc3RhcnR4cmVmDQo1NTMyMg0KJSVFT0YNCnhyZWYNCjAgMA0KdHJhaWxlcg0KPDwvU2l6ZSAxODcvUm9vdCAxIDAgUi9JbmZvIDE3IDAgUi9JRFs8MUQwNzk0RjdGMDc3Q0Y0OTlGQTUxMzY1NTAwRjc1NzE+PDFEMDc5NEY3RjA3N0NGNDk5RkE1MTM2NTUwMEY3NTcxPl0gL1ByZXYgNTUzMjIvWFJlZlN0bSA1NDczMz4+DQpzdGFydHhyZWYNCjU5MjIxDQolJUVPRg==" } ], "additionalData": { "category": "Job Supplies", "currency_code": "USD", "type": "invoice", "reference_number": "VBGIJ-80131" } }, "scheduledOptions": null } ``` If your request was successful, you'll recieve a success response with the new invoice's ID in `responseData`. ```json { "isSuccess": true, "responseText": "Success", "responseCode": 1, "responseData": 816, "pageidentifier": null, } ``` Follow these steps to create a bill (money out). See [the API reference](/developers/api-reference/bill/add-bill) for complete details about this endpoint. Make a POST request to **/Bill/single/\{entry}**, adding the content you copied from the `resultData` object from the OCR response. The `resultData` contents is the body of the request. ```json Bill example maxLines=15 curl --location 'https://api-sandbox.payabli.com/api/Bill/single/41035afaa7' --header 'Content-Type: application/json' \ --header 'Accept: application/json' \ --header 'requestToken: ' \ --data '{ "billNumber": "6654477", "netAmount": 3000.21, "billDate": "2024-02-01T00:00:00", "dueDate": "2024-02-01T00:00:00", "comments": null, "billItems": [ { "itemTotalAmount": 3000.0, "itemTaxAmount": 0, "itemTaxRate": 0, "itemProductCode": null, "itemProductName": "Paper Airplane Stock", "itemDescription": "", "itemCommodityCode": null, "itemUnitOfMeasure": null, "itemCost": 3.0, "itemQty": 1000, "itemMode": null, "itemCategories": [] } ], "mode": 0, "accountingField1": null, "accountingField2": "VBGEB-45841", "additionalData": { "category": "Job Supplies", "currency_code": "USD", "type": "invoice", "reference_number": "VBGEB-45841" }, "vendor": { "vendorNumber": null, "name1": "Paul\u0027s Paper Supply", "name2": "Paul\u0027s Paper Supply Company", "ein": null, "phone": "970-222-2121", "email": null, "address1": "123 North 1st St", "address2": null, "city": null, "state": null, "zip": null, "country": null, "mcc": null, "locationCode": null, "contacts": null, "billingData": { "id": 0, "bankName": "", "routingAccount": "", "accountNumber": "", "typeAccount": "", "bankAccountHolderName": "", "bankAccountHolderType": "Business", "bankAccountFunction": 0 }, "paymentMethod": null, "vendorStatus": 1, "remitAddress1": null, "remitAddress2": null, "remitCity": null, "remitState": null, "remitZip": null, "remitCountry": null, "payeeName1": null, "payeeName2": null, "customerVendorAccount": null, "internalReferenceId": null, "customField1": null, "customField2": null, "additionalData": { "web": "www.paulspaper.com" } }, "endDate": null, "frequency": null, "terms": null, "status": 0, "lotNumber": null, "attachments": [ { "ftype": "pdf", "filename": "paulsPaper_sample Invoice.pdf", "fileDescriptor": null, "furl": null, "fContent": "JVBERi0xLjcNCiW1tbW1DQoxIDAgb2JqDQo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFIvTGFuZyhlbikgL1N0cnVjdFRyZWVSb290IDE4IDAgUi9NYXJrSW5mbzw8L01hcmtlZCB0cnVlPj4vTWV0YWRhdGEgMTg0IDAgUi9WaWV3ZXJQcmVmZXJlbmNlcyAxODUgMCBSPj4NCmVuZG9iag0KMiAwIG9iag0KPDwvVHlwZS9QYWdlcy9Db3VudCAxL0tpZHNbIDMgMCBSXSA\u002BPg0KZW5kb2JqDQozIDAgb2JqDQo8PC9UeXBlL1BhZ2UvUGFyZW50IDIgMCBSL1Jlc291cmNlczw8L0ZvbnQ8PC9GMSA1IDAgUi9GMiA5IDAgUi9GMyAxNCAwIFI\u002BPi9FeHRHU3RhdGU8PC9HUzcgNyAwIFIvR1M4IDggMCBSPj4vWE9iamVjdDw8L0ltYWdlMTYgMTYgMCBSPj4vUHJvY1NldFsvUERGL1RleHQvSW1hZ2VCL0ltYWdlQy9JbWFnZUldID4\u002BL01lZGlhQm94WyAwIDAgNjEyIDc5Ml0gL0NvbnRlbnRzIDQgMCBSL0dyb3VwPDwvVHlwZS9Hcm91cC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0I\u002BPi9UYWJzL1MvU3RydWN0UGFyZW50cyAwPj4NCmVuZG9iag0KNCAwIG9iag0KPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCA0NDUyPj4NCnN0cmVhbQ0KeJzVXduS47YRfd\u002Bq/QfmJSW5PBziQpCscrmyl9jZJL5lxsmDyw/jsXZ2yrvSZEbjzf59ugEClESiGwvSKccPslbqOTjdAE43AJI6f3a/v319db0vPvvs/Nl\u002Bf3X9ZvNz8cP5891\u002Bv3v34/nlh7vN\u002BbdXN7fbq/3tbnt\u002B8fjTHj/6Yrfbb\u002B4//7x4/vJF8e\u002BnT6qywv86IYuqMPDadLK43zx98q9Piu3TJ88vnz45/0IUoi0uXz99IsCoKkShmlLrQoi67HRx\u002BQ5svrxoipsHxOtUU1SlbGp4FfD\u002B/sZ\u002B3Ua\u002B/seXT58UZ0jDFJfXP6y\u002BvVr/WFz\u002B9emTP0PT3z19ks2x7sojitPMIoSgSS0tn8e3eXzkKZ\u002BmLusqm9EPn1XVc/P5MqFpq7LW\u002BcHB3tKtjc5DsVBvdfUcSnbYqNXd5n4hOkLXpTb5dJYKi6ihq/JpXDzerc8gLm/x9UPxYiFWUralmUFr9\u002B5urVdX2w9L8emaslZL9pYyhQELHJGqK\u002Bu2gPE\u002B0GANPM\u002Bu7MwRUy3LVhetKVXliTa6QzIGX6sa/uGYjj52VC/XZ3K1GWtSCh815lM3pZzF52NDF2Viqjk0umZ91qyqpcg0pmyqWXE5W4oKaHVlZlCxai0aJ9dSyqV4daY084bOYiESFfzRHCZSgBzJ9Vm3EotxkrKECuJ/PrOimtPosstk8gVqztV/FpzpM8gsJziybObFZWnRgYLVzCK0nOjAkJEzqJyIzmKao8puXpctR6Wz1fzvobNEBb1lluossViIhADj30dvCVmXUDMuJzuOjcA1XXvICNYMp5UibxSnDfNQzckh0Jl6pYqvMbXt7vdvinF\u002BS6dnSn1SdiuNZXfbZfN72M/gMwqXxCHRLJtz59CBxKtmdB\u002B\u002Bb0xjp\u002BXFsoGqBayEfjeBcsN8xuR8\u002BXhvS5QtjPYbO9Y/LeDti2/WZzVQPRPVqsUST\u002BF31Zw5MA5lI8q2XlxZFCxlqzow0hr/NVqDskZR2krCCJhVM79//768u8KAPr5dN6sHDPUd/nO8fzeHZytKNYvn3QY6/h73P8rr9Zle7ZDjuyU5atGUdb1wqT\u002B7a2eMSOhWvXrEOL1d16s/rc9a95Ht3s09xrFZ7RaNoeraUs7SgMlppOuuFIHQeBeH/D7e4cbuMwHlZck2zUCm68Zkqe\u002BJHR4QV9A2Zf9sGbLn4fDh\u002BVcvoJUbW5iJCvrQ\u002BMKsAiJV5TbvXn8SNLY3ct\u002BKCSuDNWOAast6ZNMPswGp7rpuwspAVRuQtCqrCaO6lG1R13a3R\u002BgK0pDGk42BjsbSujewX518D7VP\u002BHtAa04MlNBYA0QBlGjLpjlicEJBQ0RU4AjLjkYeGxR//ir9JGdq6kGqgybC4IDioLjxbyLypFuFWQ8GlYZh0kKIC5jtDcjO0KD9FJuAb1rUgcM/ucYzo1fvrm42whQvd8V3gx/ApxE4GKHvNO6hyAZ6UB8gF\u002BcXd1dbPPj66sWrl0V1/ver7U2x2mzPvny\u002BHo62eCAfk9PTLfxDGIfSRcQFQZ6LtVqdyworDamnViZ5rYnKwLQeNziedj5COEygAd8ctMbGSERilAIVeIsS5e7olMT9tTR2UKUNn0NHahgaoXUNiUs2rCsy5koSmN8lwyR5UoWCsoJANZDNlckSylfbX3Fw7G6v7SZ98fWuHJeaM1lKSAJdM4flROk\u002Bl1OrUVyzOeF7VbnjVmNqDYlucY7KgHLO4Bgdxse58EDEamMO1MAuKohRreIixgBF931xr6StMH9Nz0wbdpR9CPvlbkrQclvWLZ4qkY2P4mkjdxIUPTMokO1GEWkwyef0//NbXES8xTWEfSm\u002BwH/fr4WCJQ\u002B82\u002BLLL3YplBvKU75NW1YYyGzOk5vl2aGroeDNolFjaCS\u002B2HfFs\u002B26Xd1iEN\u002BtzwyEr8P1o1kV/7yF\u002BG3Q5n3x8v4WZfRX\u002B8lSbgjZQUhnuLJsRDWsHHN3PK5wxW0H3Q2\u002B7PDl07UQq\u002BLFN7BsK1r8XuCnCl\u002BqdeR0Ky\u002BOwtbp\u002BQ4kzP76t5FE0eFWcEyVLmCd\u002BwbH3e1dcen2CxYURliLNWDJcEiIjfkNlBFWSkb\u002Bv0ljPumEKDe/yQis20HOx53/avuwxxjew2rjEQfi9f52hx9s8R/5AZzg0ilbPtF8EsLULj8YayzX8rYr/rYNcngNQ\u002B4Xm1gWG3ewfsXLHmbw279BYb7fgB7bTFfs8fV23blkuLHJcDGdrnCezKHLLkM9L1w7clVuRy9DSaj48YH7Y9MZXCFkr0L7xvulBeeJiO06pKHFnalrm1iznDlei\u002BCORGVgavdD5njnql9PWYOe5Xhb6dTpg22E7y/WH3kV8fTeU103uL/1MfJjo1zjxpuCAYt7J6UBHZPaTs14l8V3DhLAiF0QAx\u002BBI6otVRd15DvU8Ee8SnW7v91D/Tu\u002B\u002BHEmD1lJ3PFkeMTngYTltK59\u002B7LClvmgxhauaWiENwqyE\u002BvNS6h0Nw/X97d4QanNm7fwyW47iu1sOrid2eUHVyuJh0RD5\u002BLVzmxwYwvgNLS4NxrdYIP7PYRye7s2LrAFvnzrD9MwzNfjddlsYm1ddm1\u002BmGvo2Lo9bD9hCMcWGklgcV9qAXWV5ny53PmRezW\u002BqncuA\u002BVyUVY0j5OJT2vwP0hrFV4Kgi94hnOSUmgTq3DOole4UxuJu8kNCeMnszPpJ/OpEQ7F6gjHHTiNrer6gBIO2FMj7AbBIfm\u002BGpDGnOrGHAE1XTf2LsnIB9uNDBulg4FxGMe4hY/QYIEtnBj1vtM2jnGwsYxPbE4yNx56DElOYbDiEzS22k3BIq46qWxpDNUm1D6xyTFxsci8Rm15RzZ6dD0eVFXLMsAqQdac23yV4Fr3iZTpwNhCOgmMuN7LlQi0K5iyru7wkoXNffEML2bA3HXv74vR7rKhTYHfXDgtFtVqd\u002B32LGJ1RB5jBX8tuvzge7UKXW/TKxP82PI8CSx\u002BEUSDW6jpA1mVEyN5JoWutQk2N5pesYfW\u002BZEcW8GmYMWv0YA8LVkpUtHyILNRuycwT4rmMaiNXfWzDKq2dRSmxtA8Ck2VP4SmKyTZlUaR5Y\u002BzYMofAsZrkDNhyp8Bhyp/AiWi/KGRfDcMSNHyJwCRlY3rT1e3hO48jFDUwLs\u002BGNia5cim94k0cWyDiatqjkyOixrdyvSiRsY3kHiseH3RCTyK1101K7v3radldxm7uCQJjMvu2a70Q3sIZEKulLEtoiQwLlFlu9LPrYPW\u002BU6J7cukYHFymefItFxWNSeXzoKRSwImlGx1glwOOJRcBkqEXNJIIWvVrFwGIEou\u002B/6My2XcoHf9wCAml7SJZTuY8HJZtx8hl7GtsBQsVi6NmSeXrvVEuYxtNyWBsXKZ64pXuBDIFLmMLcyTwFi5zHXFS9zQOt8psRVqChYrl1mOTMqlbgUjl70FLZcUTMjagpfLAxxCLgdKcblkkELWEpxcDkCkXLr\u002BJOQyauBdHwyickmaOLbBhJdLWCSmy2Vs0Z\u002BCxcqllvPk0rWeKJexFXcSGCuXua74oR0CmSCXKlbyJ4Gxcpnrip9bQ\u002Btsp6hYyZ\u002BCxcplliPTclk3nFw6C0YuCZiQtZsEuRxwKLkMlAi5pJFC1mpYuQxApFy6/iTkMmrgXR8MonJJmji2wYSXS1Gly6WiLw2gsVi5FO08uRRVulwq5jyeBmPlMtcVP7RF9RFyyZx\u002B02CsXOa64ueWqNLlkjlhJrFYucxyZFouoZcZuXQWjFwSMCFrqwS5HHAouQyUCLmkkULWUqxcBiBSLkXFyGXUwLsuKlYuSRPHVlSpcqnajziQVfSBLI3FyaXq5p1M9q0nyiVzMkmDcXKZ7Uo/tIdApsglc85Hg3Fyme1KP7cOWuc7hTlkI7E4ucxzZFouK\u002B6op7dg5JKA8XJZJRz1HOBQclnxRz0MkpfLij3qGYAouez7My6XcYPe9QODmFzSJpbtYMLLpZHulscgcdTFwpo\u002B62HAWMFscPzOEEzX/IHGkb4wpz0MGiuZuc54lQux9CpHOsOc9zBorGjmOuOFbmg\u002BoWOYEx8ajJXNLFcmZVO13JFPb0HLJgUTsnfCkc8BDiGbA6W4bDJIIXuxRz4DECmbrkODKurRtX\u002BEhXd\u002BsPCqqE\u002Bv/WNsHONgE6Rz4hEVfe\u002Bq9kTuiFpA0\u002Bc\u002BNBarnNrMU07XelqpqZlzHxqM1c1cV/z4DoFMKDU1c\u002B5Dg7GqmeuKn2BD63ynMOc\u002BJBarmVmOTGumgREugtjZSXaimc5i0MwjmyAIcZiQv63JoJlHRkE2Ak6vdCOruj6g1GvmkZEXFxIp5K6ANObkFcgDec08CZKLo\u002BtPotSMGnjXB4NoqUmaOLbBhC81hf4IuaTPfWgsVi6lnCeXrvVEuWTOfWgwVi5zXfFDOwQyQS5r5tyHBmPlMtcVP7eG1tlOqZlzHxKLlcssR6blUjWcXDoLRi4JmJC1mwS5HHAouQyUCLmkkULWali5DECkXLr\u002BJOQyauBdHwyickmaOLbBhJVLvFGvtUMQH84nNT4vLT6e6XMfGou4IxT0UrqfpZC5d2JK4ZvHsdUa1hXq4IcFi/uCa5Gu43zBGycef1ordyfbbj9xL9tMHhoGnJoR036SDV3a35lIxpQ5gaLBCF\u002Bccmf70k/zg\u002BYl6wpzBEViEXcYOunO82RauoXipNtZMNJNwIQKQlFailZdaA3Hqxi3FlSOhAp5XvECTyOFPKtYgQ9AlMD33e70O/T6gWcHBv2Nf82pftMmlsxg4m8NbKL6bVTZigPNNcSgps\u002BhSChevRu7pZGv3q71QegoR6hjKA6L0O6mKVXNeYLaDXptVpuH4nLiZz7mcfC6nRtNL7WhL/0d5UQ0mZMwEotX7VxPvNIOrUvOEeYgjIIiNFu3eI894we8Hd/7Oq/dPldkxW8yV6Cs6EHkJ3aSe4teAqa2ifuSJAaDJqbzJjj41djoQCv1kXZP7SQPlOI7yQzSQc7WB1lgYid5AKJ2kvv\u002B9FnAjBwbvvd3f58Spiwck2AR7g6PZQDV9sktoYI39NEajcXnAN3gI1Xyc4BrPq2CN9TJGgtGZAFQ4LrjfLEPvsOHfdzdrd3jPbY38MY\u002B9eOP6/7xH3\u002BBj6\u002B28PHPmC96o1i\u002ByKTrE0Zu6P00Cz2fUOgb5hyQBuNTRq4vfqIPzbOFvmGOAUksPmnQnlTEDbq5DfdZIyuE01kDlEgNB4cTK4zeYsgao4VBXw/FYHzWcCZD1phaOxzgEGuHgVJ87cAgHSRvpci1wwBErh1chxJrh8EgunYgTRyZYMKvHYTEhV1i5qBPFmks/0zFeOaQFT7uPj9zuOYTMwd1tMiCxX1R2AE158slPjljt7/CZ89iWrCZAh/M9Th\u002BPtRMQj435AbXT6bQtym5gTnspMEIX/rckOuLn85D83xuYE47Say4J/jgHzyDoT2JPr4iu1X7hEWyVff8ilZyz6/IpQBKwY7GEqcDsZbKbLpPi1mjZzotqgZ/VsXKOZAxpzkRZFhEc6K3aUrRHK\u002B29ChvOiBRTuSxYGJxvMkJiv3t6R5FVgofITLG6Y0szmB0hBSyVPDbZU0xmchilA9QYpTxovE6ON7gz0xM4fRGLoTB6AjJJ8044yGtxggPGDG\u002BeMd5rQ/5mgmU3ibQNWOcPn97thbgZGi5oefmwHj9Gb6v8Ed87C8ZQZulaI8vddKdN4HvzMjAjYXewI2FYxPfhwON0SI2mMSawVuTpPIGpoPEdkq1jzzRireINYIPI8FvhkZGbbiYhzbGi21vUblfT\u002BotjkCKqSeOxzbVcp/9qjv4qBBtN/xIxMc\u002BA39T\u002BB8qu8OnKG7xXWF/CnBjH9\u002B1sb8xcDf\u002B7cRczi52MzinPNo9tumXRHrq1zggUVYgBjh94j/yZH9Y/o37GcVfig\u002B7R/ts6tf2B23wBZ9H7j4WtfvHT4/4IOuHWwi7gIg/QA88/CEv1BOs\u002B1DTpKfC\u002BV9gEhDiDQplbmRzdHJlYW0NCmVuZG9iag0KNSAwIG9iag0KPDwvVHlwZS9Gb250L1N1YnR5cGUvVHJ1ZVR5cGUvTmFtZS9GMS9CYXNlRm9udC9BcmlhbC1Cb2xkTVQvRW5jb2RpbmcvV2luQW5zaUVuY29kaW5nL0ZvbnREZXNjcmlwdG9yIDYgMCBSL0ZpcnN0Q2hhciAzMi9MYXN0Q2hhciAxMjEvV2lkdGhzIDE4MiAwIFI\u002BPg0KZW5kb2JqDQo2IDAgb2JqDQo8PC9UeXBlL0ZvbnREZXNjcmlwdG9yL0ZvbnROYW1lL0FyaWFsLUJvbGRNVC9GbGFncyAzMi9JdGFsaWNBbmdsZSAwL0FzY2VudCA5MDUvRGVzY2VudCAtMjEwL0NhcEhlaWdodCA3MjgvQXZnV2lkdGggNDc5L01heFdpZHRoIDI2MjgvRm9udFdlaWdodCA3MDAvWEhlaWdodCAyNTAvTGVhZGluZyAzMy9TdGVtViA0Ny9Gb250QkJveFsgLTYyOCAtMjEwIDIwMDAgNzI4XSA\u002BPg0KZW5kb2JqDQo3IDAgb2JqDQo8PC9UeXBlL0V4dEdTdGF0ZS9CTS9Ob3JtYWwvY2EgMT4\u002BDQplbmRvYmoNCjggMCBvYmoNCjw8L1R5cGUvRXh0R1N0YXRlL0JNL05vcm1hbC9DQSAxPj4NCmVuZG9iag0KOSAwIG9iag0KPDwvVHlwZS9Gb250L1N1YnR5cGUvVHlwZTAvQmFzZUZvbnQvQXJpYWwtQm9sZE1UL0VuY29kaW5nL0lkZW50aXR5LUgvRGVzY2VuZGFudEZvbnRzIDEwIDAgUi9Ub1VuaWNvZGUgMTc5IDAgUj4\u002BDQplbmRvYmoNCjEwIDAgb2JqDQpbIDExIDAgUl0gDQplbmRvYmoNCjExIDAgb2JqDQo8PC9CYXNlRm9udC9BcmlhbC1Cb2xkTVQvU3VidHlwZS9DSURGb250VHlwZTIvVHlwZS9Gb250L0NJRFRvR0lETWFwL0lkZW50aXR5L0RXIDEwMDAvQ0lEU3lzdGVtSW5mbyAxMiAwIFIvRm9udERlc2NyaXB0b3IgMTMgMCBSL1cgMTgxIDAgUj4\u002BDQplbmRvYmoNCjEyIDAgb2JqDQo8PC9PcmRlcmluZyhJZGVudGl0eSkgL1JlZ2lzdHJ5KEFkb2JlKSAvU3VwcGxlbWVudCAwPj4NCmVuZG9iag0KMTMgMCBvYmoNCjw8L1R5cGUvRm9udERlc2NyaXB0b3IvRm9udE5hbWUvQXJpYWwtQm9sZE1UL0ZsYWdzIDMyL0l0YWxpY0FuZ2xlIDAvQXNjZW50IDkwNS9EZXNjZW50IC0yMTAvQ2FwSGVpZ2h0IDcyOC9BdmdXaWR0aCA0NzkvTWF4V2lkdGggMjYyOC9Gb250V2VpZ2h0IDcwMC9YSGVpZ2h0IDI1MC9MZWFkaW5nIDMzL1N0ZW1WIDQ3L0ZvbnRCQm94WyAtNjI4IC0yMTAgMjAwMCA3MjhdIC9Gb250RmlsZTIgMTgwIDAgUj4\u002BDQplbmRvYmoNCjE0IDAgb2JqDQo8PC9UeXBlL0ZvbnQvU3VidHlwZS9UcnVlVHlwZS9OYW1lL0YzL0Jhc2VGb250L0FyaWFsTVQvRW5jb2RpbmcvV2luQW5zaUVuY29kaW5nL0ZvbnREZXNjcmlwdG9yIDE1IDAgUi9GaXJzdENoYXIgMzIvTGFzdENoYXIgMTIxL1dpZHRocyAxODMgMCBSPj4NCmVuZG9iag0KMTUgMCBvYmoNCjw8L1R5cGUvRm9udERlc2NyaXB0b3IvRm9udE5hbWUvQXJpYWxNVC9GbGFncyAzMi9JdGFsaWNBbmdsZSAwL0FzY2VudCA5MDUvRGVzY2VudCAtMjEwL0NhcEhlaWdodCA3MjgvQXZnV2lkdGggNDQxL01heFdpZHRoIDI2NjUvRm9udFdlaWdodCA0MDAvWEhlaWdodCAyNTAvTGVhZGluZyAzMy9TdGVtViA0NC9Gb250QkJveFsgLTY2NSAtMjEwIDIwMDAgNzI4XSA\u002BPg0KZW5kb2JqDQoxNiAwIG9iag0KPDwvVHlwZS9YT2JqZWN0L1N1YnR5cGUvSW1hZ2UvV2lkdGggMjQ0L0hlaWdodCAxMjQvQ29sb3JTcGFjZS9EZXZpY2VSR0IvQml0c1BlckNvbXBvbmVudCA4L0ZpbHRlci9EQ1REZWNvZGUvSW50ZXJwb2xhdGUgdHJ1ZS9MZW5ndGggNzEyNj4\u002BDQpzdHJlYW0NCv/Y/\u002BAAEEpGSUYAAQEBAJAAkAAA/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMPFB0aHx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEcITIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgAfAD0AwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5\u002Bv/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5\u002Bjp6vLz9PX29/j5\u002Bv/aAAwDAQACEQMRAD8A9/ooooAKKKKACiiigAooooAKKKKACiuD\u002BLfivVPB3g1dT0l4luTdJFmRN42kHPH4V4YPj945/wCe9j/4Cj/GgD6vor5Wh/aC8aRuDINOlA6g2\u002BM/ka9n\u002BGfxRtPHttLbzQraarAu6SANlXX\u002B8v8AUdqAPQqKKKACiiigAooooAKKK\u002BfPiV8XfFfhjx7f6Rps1qtpB5ewSQBjygJ5\u002BpoA\u002Bg6K4D4geLNV8O/DCPXtPeJb5hASXj3L8\u002BM8fjXM/Br4keIfG2uala6zLbvFb2wkQRQhDu3AUAey0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB5R\u002B0J/yTZP8Ar\u002Bi/k1ef/AHw3o3iCXW/7X023vfJWLy/OTdtzuzj8q9A/aE/5Jsn/X9F/Jq8g\u002BE/xHsPh\u002B\u002BptfWVzci7CBfIK/Ltz1yfegD2zxd8H/CepeH7z7BpUFhfJEzwzQZXDAZGR0IrwL4SahLpnxQ0Uxkjzpvs7gdw4xXoHir9oVNS0S6sdE0qe2muEMf2idx8gPBIA71yPwQ8PT6z8RLW8EbG207NxK\u002BOA2CFH1J/lQB9Uarq1homnS6hqVzHbWsQy8jnAH\u002BJ9q8wuf2h/CUM7JDbajOgOPMWIAH3AJzSfG3wr4s8WQafbaHbJPYwZkmjEoVmk6Dg9QB/OsXw1\u002Bz1ptx4dgm167votTmTc8cTKFhJ7dDkigD0bwh8TfDXjSY2\u002Bm3TpeAZ\u002BzTrscj1HY/hW14l8Saf4T0STVtUaRbWNlVjGm45Y4HH1r5DtYJvB/xRhtbe4LPYamsQlXjcocD9RX0T8dv\u002BSU3x/wCm0H/oYoA6Hwj4/wBD8bm6GjSTv9m2\u002BZ5sRTGc46/SrvirxZpfg7Sl1LV3kS3aURAxoWO4gkcfhXjf7NPXxAf\u002BuP8A7NXTftD/APJO4f8Ar\u002Bj/APQWoA7bwj440bxtb3M\u002BjSTPHbuEk82MpyRnvXzN8a/\u002BSs6t/wBsv/Ra16X\u002BzX/yBNc/6\u002BU/9BrzT41/8lZ1b/tl/wCi1oA9z\u002BI\u002BnnUPgdOqjLQ2UE4/4CFJ/TNcD\u002BzXaE6jr15jhYo4gfqSf6V7rpUEV14YsYJ40lhks41dHXKsCg4IqbT9H03SVddOsLa0EhBcQRBN2OmcUAYfi74geHvBUaf2tdkTyDKW8S7pGHrjsPc1xUP7RHhOScJJaalEhP3zGpx\u002BAOa8T8RXMPiH4s3v9vXr29pJqDQyzdTFGrbRj6AV61qvwP8ACer\u002BGZLnwneSSXixloZFuRKkpxwD6ZoA9e0PXtM8R6amoaTeR3Ns/G5eoPoR1B9q0q8g\u002BDnw\u002B8UeCbu8k1aW2Szuoxm2SQswcHhumOmR1r1\u002BgAooooAKKKKACiiigAorHvvFfh/TLtrW\u002B1mxtrhAC0cs6qwzyMgmq3/Cd\u002BE/\u002Bhj0z/wJT/GgDoaK57/hO/Cf/Qx6Z/4Ep/jR/wAJ34T/AOhj0z/wJT/GgDoaK57/AITvwn/0Memf\u002BBKf40f8J34T/wChi0z/AMCU/wAaAOhorn18c\u002BFXYKviHTSxOABcqST\u002BddAORmgDyj9oT/kmyf8AX9F/Jq8d\u002BFXw3tPiC\u002BpLdX81p9kCFfKQNu3Z65\u002BlexftCf8AJNk/6/ov5NXKfs0/63xB/uw/\u002BzUAbVv\u002Bzh4ejcGfV9QlUdVUKuf0Nen\u002BG/C\u002BkeE9MGn6PaLBDnLHOWc\u002BrHqTWzRQB5n8VvikPAkUFjYQxz6tcLvAk\u002B7EnTcfUkg4HtXlFovxa\u002BJUJuYrq7SwkPD\u002BYLeEj2xgsPzpn7Qdncw/ERLmRW8iezj8psccEgj8/wCddz4V\u002BN3hbSfANhb3QnXULO3WE2scX3yoxkN0wetAHhh0u40Xx3Hpl26yXFtfpFIyEkFg4zgmvpf46f8AJKL/AP67Qf8AoYr5ll1aTU/G39sXK\u002BW9xfC4Yf3QXzX1R8XtOk1X4V6tHApd440nAHcKwY/pmgDzn9mk/N4gHtCf/Qq6X9ohgPh7br63yf8AoLV5D8I/iDa\u002BA9ZvG1CGWSxvIwrmIZZGU8HHccmtL4s/EyPx7BBZ6RaTppdm3myyyrgsx4XIHQdfzoA7b9mv/kCa5/18p/6DXmnxr/5Kzq3/AGy/9FrXpf7Nf/IE1z/r5T/0GvNPjX/yVjVv\u002B2X/AKLWgD6u0P8A5F/Tf\u002BvWL/0EVfqhof8AyANN/wCvWL/0AVdcMUYK21iOD6UAfP8A8Ufgtql9rt1rvhtFuFuWMs9qWCur9yueCD1xXjmPEfhO8PGo6XcKefvxHP8AWvQdT\u002BJ/jnwx4/NvrV/NNDY3JElqqiNJo/wHccivQPEHxr8Can4ZuYmgmvJpoWVbWW26MR3J4HPcUAVPg78WtQ8Q6mvh3X3Wa6dC1tchcM\u002B0ZKtjjOMnPtXt9fJnwL0W61L4kWl9EhFtp6vLK/YZUqB9ST\u002BlfWdABRRRQAUUUUAFcl8QvGcPgrw1JeDY99MfLtIWP3n9T7DqfwHeusZgqlmIAAySa\u002Bcrkz/GD4si3VmGj2eQCvaBTyc9mc/zHpQA/wAEfCq58d2Nx4h1/UbqAXcpaJowC83PzOdwPGeB9PTFdV/wz3of/Qb1P8o//ia7jxhpmuT\u002BFDpPhQ29rM4WHzHkMfkxAfwYBwe3tXk3/Crfid/0MB/8Gk3\u002BFAHQ/wDDPeh/9BvU/wAo/wD4mj/hnvQ/\u002Bg3qf5R//E1zv/Crvid/0MB/8Gk3\u002BFL/AMKt\u002BJ3/AEMB/wDBpN/hQB0P/DPeh/8AQb1P8o//AImuV8e/C7w54J8PNfvrGozXUjeXbQMYxvf3\u002BXOAOT\u002BXevavBuh3Phzwvb2eoXkt1e48y5mlmaTLnqAW/hHQfTNeC\u002BIX1b4v/EO5ttHEZtrRGW3MjlUWNTyxODyx/p6UAdB8F/h6t0yeKdWiDRKf9BhYfeYH/WEegPA98nsK97r56j\u002BFPxLgiSKLXVjjQBVRdTlAUDoAMcCuMvP\u002BEwtvFB8Oxa7fXeoCUQ7ba\u002BlZd57ZJHTv2H4UAfTXi3wnpvjPRxpeqtMLcSrL\u002B5cK2RnHJB9aoeDPh7ofgRrs6Q9yTdBRJ58ob7ucYwB615hf/AzxTeTpMvi4lmiTzDPJKzb8fNz6Z6e1Vf8AhQXi3/obYf8AvqWgD6FyPUUZHqK\u002Bev8AhQXiz/obYf8AvqWj/hQXiz/obYf\u002B\u002BpaAPZvFng/RfGemfYdXg3qpzFKjYeI\u002BqmuC0r9nzwrp\u002BoLc3V3e30anIglZQh\u002Bu0AmuW/4UF4t/6G2H/vqWj/hQXi3/AKG2H/vqWgD0TxB8G/CfiPVf7QuUuYJRGkYS1lCIAowOMemK7mC1ig0\u002BOzLGaNIxETKQS4Ax83rmvAv\u002BFBeLf\u002Bhth/76lo/4UF4s/wChth/76loA6vWf2f8AwrqepPd211eWCSNuaCAqUH\u002B7kcVvj4SeE18Jv4djt5Y7aV0kmmRx50rL0yxH6YrzX/hQXi3/AKG2H/vqWj/hQXi3/obYf\u002B\u002BpaAPXvBvgXR/AttdW\u002BkPcFLlw7\u002BfIGOQMcYArG8SfB7wv4p1641nUJL4XU\u002B3f5UwVeAAMDaewrzr/AIUF4s/6G2H/AL6lo/4UF4s/6G2H/vqWgD6AtYI7S0htoz\u002B7hRY1yecAYFS5HqK\u002Bev8AhQXiz/obYf8AvqWj/hQXiz/obYf\u002B\u002BpaAPXPF/wAPvDvjWNf7Vtv9IQbUuYW2yKPTPcexrgYv2cfDazhpNY1J4wc7MoCfx21g/wDCgvFn/Q2w/wDfUtH/AAoLxb/0NsP/AH1LQB7d4d8M6N4U04WOj2iW8OcsQcs59WPUmtivnn/hQXiz/obYf\u002B\u002Bpa960m0ksNHsbOWTzJLe3jidx/EVUAn8cUAXKKKKACiiigDzz4yeJf7A8DTW0TEXWpH7NHtPIUjLn8uP\u002BBCq3wd8PR\u002BGvAp1S72pPfj7TIx/giAOwH8Mt/wACrifihI3jD4taX4YjdhDAY4HK9i53OfwXH5V7fe6ho\u002BgWEK395aWNrgQx/aJFRTgfdGevAoA8hm/aJiSaRYvDu\u002BIMQjm8wWHY42cUz/hosf8AQtD/AMDv/sK9L/4SzwP/ANBvQv8AwIi/xo/4SzwP/wBBvQv/AAIi/wAaAPNP\u002BGix/wBC0v8A4Hf/AGFdh8PvidL481O6tk0UWkNtEJJJvtPmYJOFGNo64PftW5/wlngf/oN6F/4ERf41u6dNYXVol3pz28lvMMrLbkFXHTgjrQBxHxj8SDQfA09vE5W71I/ZY9pwQpHzn/vnj6sKr/Bbwx/Yfg5dQnjC3epkTHjkRj7g/Ilv\u002BBVw/wAU5G8YfFfSvC8EhEcHlwOw/hZyGc/gu38q99ggjtbaOCFQsUSBEUdgBgCgDj/id4xHg/wpJNC3/EwuiYbUDs2OX\u002Bijn64rkvgl4K\u002ByWLeKtRTfeXgP2XecssZ6vz3b\u002BX1rmPEbyfE/4yxaRA7vplk/lMQflWND\u002B9YfU/Ln/dr6Fhhjt4I4IY1jijUIiKMBQOABQBBql6NM0m8vynmC2geYpnG7apOM/hXnulfGnRrrw1ea1qNs9kIZvJit1fzJJ22hvlGB69\u002BB6123in/kUda/68J//RbV89fB3wTa\u002BK9buLvU4zLp\u002Bn7SYT92WRs4B9gBk/h2oA7I/GvXtQDTaL4LuJ7VT/rCXfP/AHyuB\u002BZrW8MfG/StV1BdO1myfSLljtDyPuj3ehOAVP1GPevUYoo4IlihjWONBhUQYCj0Arz/AOKngOy8S\u002BHbrUIII49WtIjLHMq4MiqMlG9cjp6HHvQB6ECCMisLxT4v0jwfppvNUn27siKBOZJT6KP6ngVyfwV8STa74LNrdStJc6dL5G5jkmMjKc/mP\u002BA1wlnZv8VPjFff2hI0mkaczYjzgeWjbVQf7xyT\u002BNAGyPjfrepyM2ieDZ7m3U4LbnkP47VwD\u002BdbPhz42abqOqLpmuadNo10x2hpWzGG9GJAK59xj3r0y0tLextY7W0gjggjXakcahVUewFcz478C6d4y0WaKSBF1FEJtbnGGRuoBPdT0IPr60AUvCfxIj8U\u002BLdT0FNNa3axWRjMZtwfbIE6YGM5zXTeI9ZHh7w5f6u0JmW0iMpjDbd2O2a8I\u002BASSR\u002BOtUjlBEiWDqwPUESpkV7D8Sv\u002BSbeIP\u002BvNqAOet/jRov8AwiP9uX1vJbzPM8MNlG4kklKgZPQADnqa58/GrxHeJ9q03wTPLZdRITI\u002BR9VTFc/8FvAlp4gubnXNWgE9paSeVBC/KPJjJJHcAEcdMn2r6JVQqhVUKoGAAOBQB5t4Q\u002BM2jeI79dOv7Z9KvXO2MSuGjdum3dxg\u002BxH616XXlXxi8C2ep\u002BH7nxBZW6RapZL5sjoMGaMfezjqQOQfbFbvwo8RzeI/AdrPdymS6tna2mkY8sVxgn32laANjxX4y0fwdp32rVJ8M2fKgj5klP8Asj\u002Bp4FeaD4267qTNJovgye4tlJBfc7/\u002BgrgfrXP6Ktp8SfijqGqa/eRDSLMnyoZpQisobEaDkcHBY/8A1692t9V0G1t0gt9Q06KGMbURJ0CqPQAGgDg/C/xr0rWNTXTNYspNIvGOxTI\u002B6Pf/AHScAqfqMe9eo15R8W9F8O\u002BIPDF1qdveWH9rWSeakkcybpVHVDzzxnHuK2Pg94km8Q\u002BBohdOXubGQ2zuTkuAAVJ/AgfhQA7XPiXHo3j\u002Bz8KnS3la5eJRcCbAXecfdx2\u002BtVvGXxi0TwrfPp8MMmo30fEqRMFSI\u002BjMe/sAcd68w\u002BMU9za/FlJ7JmW6jhgMRXqG5xj3zXrHgP4Z6V4Z0uCa\u002BtYbzWXG\u002Be4mUPtY9QuegHr1NAGd4e\u002BLcuv2El2mg\u002BWElMePtWc4AOfu\u002B9FeliONRhUUD2FFAHgPw1VfE/xq1jXW\u002BaKAzzxH/ebYn/jpP5V6l43\u002BH9l46\u002BxC\u002Bv7q3jtN5VINuGLY5OQfT9TXnH7O9uc65cEZIEMef\u002B\u002Bj/hWv45vvifH4tuo/DVrdHSkVBE0cURDHaCxy3PUkfhQAv/DPugf9BbUv/HP/AImj/hn3QP8AoLal/wCOf/E1zf8AaPxt/wCfW\u002B/78QUf2j8bf\u002BfW\u002B/78QUAdJ/wz7oH/AEFtS/8AHP8A4mvT9H0qDRNFs9Ltc\u002BRaQrEhbqQBjJ9zXiNrf/GlryBZra9WIyKHJhgwFyM/pXuOqTm10e8nzzFA75\u002Bik0AeFfDpB4l\u002BOGr6yfmht2nnQnvlvLT/AMdJ/KvYfG2ur4c8G6pqZOJIoSsQ9ZG\u002BVf1Iryn9naDLa5cnltsKZ/76JrY/aA1X7N4X07TFPzXdyZCP9mMf4stAFb4BaAY9N1HxDPzJcyfZ4s/3V5Y/iSB/wGvZ65rwBpA0TwHo1ljDi2WST/ff5m/U10tAGR4p/wCRR1r/AK8J/wD0W1eS/s9alCIda0tiBOXS4X1ZcbT\u002BRA/OvWvFP/Io61/14T/\u002Bi2r5p8EeGPEN1pU/ijwvM/8AaWm3PlmBSAzoVB4zwepyp6igD6trJ8T6jb6V4X1O9unVIorZycnqcHA\u002BpOB\u002BNeTJ8d9R02MW2ueF5Yr5Bh8O0QY\u002Bu1lyPzNZF9d\u002BN/jFdw2cVgdN0IOGLMpEYx/EzEAufQAfl1oA3/2erGWPRdav3BEU9wkSH1KKSf8A0MVmfByZNE\u002BI/iLRLshLiXeqbv4mjc5A\u002BoOfwr2Tw5oFn4Y0G10mxB8mBcbj1djyWPuTzXnHxK\u002BHOo3Grr4t8KFk1WIh5oYzhpGHAdO27HBHcD16gHrtQ3V1DZWk11cSLHDCheR2PCqBkmvEbX46atpMQs/EPhuT7bGMMykwlvcqwOPwNV77WfG/xbePTLHTH0nQpCPPmbOGX/aY43D/AGVH1oAg\u002BCF0t98StdvEXas9rLKB6BpkP9a9Z\u002BJf/JNvEH/Xm1eY/BrQb7RfiLrcU1pdpbRW0sMc00LKHxKmMEjHIGa9O\u002BJX/JNvEH/Xm1AHGfADVLeXwtf6WGAube7MrL6o6jB/NSK9dr5c8HeHfFNpoUXjLwnI8tzFPJBcWqjJZBtP3f41OeR14BHt2o\u002BPl1aR\u002BRqXheWK9UYdPNKDP0Zcj6c0AejfEXU7fSvh/rU9wwAe1eFB/edxtUD8TXJ/Aixlh\u002BH9zLICq3V7I8efQKq5/NT\u002BVcdJa\u002BNfjHqtv9ttX0vQYm3qSpVFHTIzzI5HfoPbv7xpGlWmiaTa6bYxeXbW0YjjXOTgdye5PWgD5u\u002BG3gzQ/EPiPVtD8QfaEvbcEwrHLsztYq46cn7v616j/wAKI8G\u002Bl/8A\u002BBH/ANasv4h/DzVoNfXxh4OLJqCsJJ7eM4Zm6F1zwcjqvf3zWfb/AB4v9OiFrrvhmVL9Plfa5j3H12suR\u002BtAG5e/BXwJp1nLeXk15BbwruklkuQFUe5xXWeBfDvh/wAP6TMvhy6\u002B02dxL5jSCcSgsABwRXlGo6h44\u002BME0On22mPpegswaSRwdhA5yzHG/wBlUdevqPbPDmg2nhnQbTSLIfubdMbiOXY8lj7kkmgDxHx/Es3x\u002B0mN\u002BVaWzyP\u002BBV9AivC/Gul6hP8AHnSbuKwupLZZbUtMsLFBhuctjFe60AFFFFAHiv7PGP7M13HXz4v/AEE11GufGTw14f1u70m8g1Fri1fZIY4VKk4B4JYetef/AAH17TdKTWotSv7azEnkspnlVNxG4HGevavRb62\u002BF2qX017fSeHri6mO6SV7hCzHGOefagDJ/wCF\u002BeEv\u002BffVf\u002B/Cf/F0f8L88Jf8\u002B\u002Bq/9\u002BE/\u002BLq9/Y/wk/ueG/8Av\u002Bn\u002BNH9j/CT\u002B54b/AO/6f40AVYPjt4UuLmGBLfVA0rqgLQJgEnHPz13Pif8A5FTV8dfsU3/oBrkV0n4TI6uq\u002BHAykEETpwR\u002BNbuq\u002BKvDNzo97bL4g0smWB4wPtad1I9aAPO/2eMf2brnr50X/oLVl/HRze\u002BOdB070hCge8kmP/ZRVn9nef5tctyedsL4/wC\u002BgarfFIeZ8bPD6N90tZj/AMjGgD3yJBHEiDoqgCn0gpaAMjxT/wAijrX/AF4T/wDotq8z/Z6/5FvWP\u002Bv0f\u002BgCvYZI0ljaORVdGBDKwyCD1BFQWmn2VgjJZWkFsrHLLDGEBPqcCgCdkV8blBx6inCiigAooooAa0aORuUHHTIp1FFABXK/Er/km3iD/rzauqqOaCK5heGeJJYnGGR1DKw9waAPNPgP/wAk9k/6/pf5LXppRWILKCR0JHSorSytbCHybO2ht4s7tkMYRc\u002BuBU9ABRRRQAU1kViCyg46ZHSnUUAFFFFABRRRQAUUUUAePzfs\u002B6NLcSSJrV/GrMWCKiYUE9BxXmfjvwLa\u002BEPFmm6TFfXE9vdrGzyyABly5U4wMcAZr6srwD9oVAmuaFKuQ5t5RkezLj\u002BZoA2/\u002BGetI/6D2o/98R/4Uf8ADPWkf9B7Uf8AviP/AArxf/hMPEn/AEHtT/8AAuT/ABpf\u002BEw8S/8AQf1P/wAC5P8AGgD2f/hnrSP\u002Bg9qP/fEf\u002BFH/AAz1pH/Qe1H/AL4j/wAK8Y/4TDxL/wBB/U//AALk/wAaP\u002BEw8S/9B/U//AuT/GgD6P8AA/wws/A2qXF7aandXPnw\u002BU0cyqB94EHgdeP1rzr4vk2vxb0C7PAC2zZ/3ZjXmv8AwmHiX/oP6n/4Fyf41Ru9W1DUrqKe\u002Bvbi6lj4R55S5UZzgEmgD7YHSlqG1YvZwserRqT\u002BVTUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB//9kNCmVuZHN0cmVhbQ0KZW5kb2JqDQoxNyAwIG9iag0KPDwvQXV0aG9yKFBhdWwgQmxpY2spIC9LZXl3b3JkcygyLzEvMjAyNCkgL0NyZWF0b3Io/v8ATQBpAGMAcgBvAHMAbwBmAHQArgAgAFcAbwByAGQAIAAyADAAMgAxKSAvQ3JlYXRpb25EYXRlKEQ6MjAyNDAxMjkxOTU0NDMtMDcnMDAnKSAvTW9kRGF0ZShEOjIwMjQwMTI5MTk1NDQzLTA3JzAwJykgL1Byb2R1Y2VyKP7/AE0AaQBjAHIAbwBzAG8AZgB0AK4AIABXAG8AcgBkACAAMgAwADIAMSkgPj4NCmVuZG9iag0KMjkgMCBvYmoNCjw8L1R5cGUvT2JqU3RtL04gMTYwL0ZpcnN0IDEzMzgvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAyMjY0Pj4NCnN0cmVhbQ0KeJydWtuOG0cOfQ\u002BQf6g/ULPuBQQBknWCLIIYxoyBfTD2QbZ77UFmRoEsA/Hf76G6OFJ2Wax4gMGou9VFsg4PT3Wz5ItbnM8ukQvkaKkuLI5ScyE4T9kF73wh5xOOqvPRhYbviotpcaG6tGBccyl5FxeXl\u002BAiuZyii96VBYOyKym7GF2N1cXgKobH7BpfTPDHDvkz497oiDDAB3w2fF8ceZiCbQrLOUQKCT5xX6TkEu6LuTiYooTIEuykgvuqo4zwE8bnivswoYJ4YnNUPaKEvYo5ZdhrcJZhr1Vcx4wXzDcjhKU2TAMI8HQwb9zg4Mr7xLNEiEtxDEuA/YLzCEgKxscWXQFkKfLEASwQKRGfCK4UhhK4wH6B09ycr54cXHuGpeC8YZLVIwfApQLaBc4qQCcqrgZ8YlDlrCBllXNSqsNfCAARIYdIgBjnEcE3jE/eu4ZMJQTRMD4jyQ32M4w1jC/IGkIOBRdrQUYBEqYami\u002Bu4bwhKCQJyUViOHULrNMCMAE9DggHjW/hjDPgzIBAMIr8wQsugCsx8gFnfGGOwUzCvJhsMRNnG2YyYCMMjAVcAw9wUJkQcFUDG044gFUCKWPDnIkpsDBpiXmIWTJIiUAyQpaTX9gguOmZGMAhBYJBAJ4CUkk4SREwgmOgDmKhM4eYFZ5JBRvEhZELG4SdAm4QiiAVIE9wnCp4DWrioDFXQTnmNYHIyDsMgoR5aUzbDLYxD5EmGIZBfJ09MxFzQ1JgkOsH\u002BcAVUC8iBGIuRmSbp5QTgxmZnZgBoXZyBnEIESBArgTY4SxyXnLl2kIqc1u4WOCrcXJA5rLQuVxwgDwT6Fb4HyXmLXHpg7AepUCYCWYMg0zdULi4wLXIVQpbJYIuPKXCVCegVrLnwsOVDOaiAkF4zIkwyVLAPQIlgRwMgvulIZ\u002BENJTG5YeSqwuVs/DUBQVCKKpK50rGFQ\u002BCEPhRfeFaRokEFgmAVQOqhZChGllGMLJyCRLCrSmeBQD1wuLBdQPuAotaOSxUY60MAahUGyZyrhTmTMUno45K4Ls8Vwi\u002BBOwtAlfMskVM87vvdq9YORd3s7vdvdq9/vLHurs9HT\u002B/O/10vz7sfn3jln\u002B73asPLvA933//7TfbkNSHvP5FG\u002BNZkG\u002B0gSCa4Yue4QscHvnyMvDudL\u002BqcT7HXxj5Q\u002Bn1gTeqszPMHYEenGomPPlf9\u002B9VS2kbe5mpmcGggmMOiV8/JH39kPz1Q8rXD6nqkKckv1AhK1uS6vbRzh9xy1yk7WOYwBiscNozwolx6CtZvkgt3pmzPCwom\u002BBbGvr0e2Q2wX88vP\u002BiWhqPfarp/dtBTcctZ/F/auRppI6UKj2JzDGqfCRROF0\u002B0pA2yaQNqVU8czbkTbJ5o9b/zNmQN6mYzlTlmDmrw4poJkm3lHawOww9QNVanYnxFugV0bJNGlX0sj3bPCRNtkmjyuXFmVr/eUiabJNGFdqZsyFpsk0aVUZnzoakSTZptpR2sDsMPUDNWjEfcrwqyrmZDCjDp5xi6ppXde3iTMWpDB9xSjSdqYI4czbU\u002BmIu614VxJmzYc4mDNhS2sHuMPQA1dCbGboqr6WaDKjLyFk1Bcer8npxpuJUh4JTTcHxqrrNnA0Fp5qC41V1mzkbr1ITBmwPgRvYHYYeoBp6NUNXtbIWmwFt5KzZgqNq5cWZilMbCk4zBSeo6jZzNhScZgpOUNVt5myYswkDtpR2sDsMPUA1dHMBC6pWtmwyoA0XsGYKTlC18uJMxYlbZgNv3DOz3Kn6NnU31BxuyFnuVIWbuhs/G9s02PLaERcoJEY9fPv1XNVM7hVaVOCe5NCfqT1Blc0rfwO8hurDHU/Ln6p1U380FCDup1r\u002BVLmb\u002Bxvmb8KHnl6BXeCQMPUZmAtbVDWUm70mI2i4tHFT2fKnyuiVvwFiQzXilrXlT9W\u002BqT8/1iNv6lFU5W/ub/yqPmHEll6BXeCQMPUZmAtdVBWVrlqF\u002BgyGSx3ZTd\u002BoSuqVvwFiY03ypiZFXQOn/saaZDeao66BM3/jXvOMEb0r1WEXOCRMfQbmohd1Vb30vHVGhOGqR8HWJF1VL/4GiI01KZialHQNnPoba1IwNSnpGjjzF4f5mzFiS6/ALnBImGow0Vz3kq6qkWxGxPFzSzQ1KemqevE3QGysSdHeYNA1cOpvrEnR1KSka\u002BDU3zB/M0Zs6RXYBQ4JUw3GblAnXVUnrVUat6jJ7lEnXVWT3ZWjcZea7DZ10jVw6m\u002BsSXanOukaOPX33LZjT6/ALnBImGow2Vz3sq6qyW4\u002BUh4/t2RTk7Kuqsnu0lEea1I2NSnrGjj1N9akbO9g6ho49ffcNmRPr8AucEiY\u002BgzMdS/rqprtZiSV8XNLMTUp66qa7a4dlbEmFVOTsq6BU39jTSqmJmVdA6f\u002BntuW7OkV2AUOCdPe0xrtv3aWddNbR7W31XpfRd6n5S1Knp3liUnWSVFHqQlB4nl7u9va2iH523u7WV0mJmN0qRfkXhzefX5YH0/6xsQ5yO25o4N9/qnO9ln/EvvV\u002BNfHdb05HE67m8P9\u002Btv\u002BD9dfol/tj/DE37rtDXjbahEUn759uf55\u002BnX94qib/hm2Hg\u002BndfeS//30\u002BP5y8hq3vj38ubtd3512vLG5HrdjHiPH/3y8v3tcbz/uOUK\u002B8MMjLOxPd4fHfn483f1nj4Pz2b8Ox9/fHg6/X7DhK58\u002BruuJgzztftu/Ox6uzv/xEf\u002Bvzl/c7e8PH64u3N7fvV\u002Bv7t384LYPx/3D7ue7D5\u002BPa/9tzy8y6ZefHz69cfxjxL/A/HL/sH56s53Kz5P6L4f6D3r\u002B/k8\u002B\u002Bq8x\u002Bu8kJM/bQ1Pfce974X2Xum/f9o3VvuXZNyP7xl7fcuubYX2bqm/59M2Yvk3SNzD6ZkBv0/cGem9t9zaxNHClsyotT2kdSktPWm3SApNGkjR4pPEiDRFpK8jrvryGy\u002BuxvGTKy5\u002B8lMnLkrxyyKuAPKLLo7M8gMqDoTywyYOUPI7IY4Is37KsyuIki4aIuYjs/9fit9/8F3g984MNCmVuZHN0cmVhbQ0KZW5kb2JqDQoxNzkgMCBvYmoNCjw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMjI2Pj4NCnN0cmVhbQ0KeJxdkMFKxDAQhu95ijnuHpa0exCEUtAVoYdVsfoAaTKtATsJ0/TQt3cSywoOJDD5/2/4M/rSPXXkE\u002Bg3DrbHBKMnx7iElS3CgJMnVVfgvE17V247m6i0wP22JJw7GoNqGtDvIi6JNzg8uDDgUelXdsieJjh8Xnrp\u002BzXGb5yRElSqbcHhKIOuJr6YGUEX7NQ50X3aTsL8OT62iHAuff0bxgaHSzQW2dCEqqmkWmiepVqF5P7pOzWM9stwdj/eiftc1ffFvb9nLn/vFsquzJKn7KAEyRE84W1NMcRM5fMDDJpvNg0KZW5kc3RyZWFtDQplbmRvYmoNCjE4MCAwIG9iag0KPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAzMzcxNi9MZW5ndGgxIDgxMDIwPj4NCnN0cmVhbQ0KeJzsfQtgVNXV7tr7nDPvSWbyfhDOGYYkkCEkJJAQiOSEJAhGJDxNwGgCRMEXQRJAtIBWBINKrEqxWolYgwWVyQRxwkOCttZnwfoo2trmVnxVaWmL1CqZ\u002Bb99JiC23j7\u002B\u002B9/r/f/OGtZe\u002B7G\u002Bvddee\u002B29z5lAIEZEMUhkap82M68gseWWtURsEWobFlzT2Bz78DN/Ipr4OpE0ZMHyFi387OPnE12aT2RuuLz5imv2Zrs7iao\u002BIzJNuOLq6y/36am/I2pqB/zooqbGhX98dsW96OsTcNEiVMStTt6I/oeiPHTRNS0rzxud3Y3y80TltquXLGgsWnvhOqLnML53wzWNK5tTb4t7De2Toa9d09TSKHUojcTStgj7rm28polC839E9NEJovwNzUuWtYRz6OdoXyn0m69rapamFT1BdOFYIvenJOZq5psWdJW9eVls6aeWVAsJ2vZuaYaQ7wR\u002Bd\u002BPnn5/ud5HlOuhaDX1BkOYJoYuowkWff/75KhedbRmgmGdEjftZWksuGkEcHxfl0RzgqjEuR6skvc73k0IW5XtKITpIj0jpVbqcx1kUbjfLXJDcRyPDvbRyHrq1ir5nTa3QCJ/Ml5XXQtNZoXkCC\u002BjEwuEwFi1L2StmSommAZN4yQDvoKD0EjXTP0HQbx2QdwspL6M54G3gQvBUcBZ4Hvhiwf9Mn4KUn9BmcCP4HqPfd\u002Bm7Z\u002Box1u0D\u002BftQ/33TDroL\u002BS2mEqpT5tC9Z/Fz6AK0jzDKc8SchTTy/X9vbNg5Bbj1kLMhZ0GWwycpA3Z855y53iby5gxajfq7wDPAG0WblGHg84FTUXcH8vYBjAMc88/6IUr/ecLaXPcNjn3339TtoFf\u002By8fZQfPAqeBh/9V9RylKUYpSlKIUpf9/iW0O7/2mbfhnSX7/v4\u002BtUYpSlKL0TRKj8F4L2EXhfd\u002B0LVGKUpSiFKUoRSlKUYpSlKIUpShFKUpRilKUohSlKEUpSlH6n0PyIbr8m7YhSlH670bse9\u002B0BVGKUpSi9O9Mob6/KveCj4CPRvibJ/lhukS6nsrkDTRZnkkT5PU0Sr4MciNdIheSflZvCc2RbqLx8k1UCp4j308FkDXybTRfHk/VZ/SUh6lGeY3qlLdoszWHNkPeLiXReGUL3Wf08y7NMmQz3cxX0M0iz2soFvVt8jK6RJSFvmgT/5ZFPgLd39EW\u002BSew5w\u002BQt4KH0xZjrDjaAqyRl0\u002BifgRtMQ2jLYoDfAH0bx9oO4W2G\u002BgCOZWGyx9Tu/wdshn12yhO7iTL/ws/f5N0xkdR\u002BvchvoPGnPtvtMBx4CED9YXn6p0ro/R/n85Zi8J/rB2lKEUpSlH6H07SAA\u002BK/FoENggl5PgQko2KcaSRTGk0hEbQSCqmSppEU6gGz9NzqI4up8XUTMvpeuqgbupho/hbJl2zaqlantasrch82fg9BJqBzaeJwE7GU/sMYGupkRbRVXQdrQQ28DfYFoENv/sPPgtoAhWFfxBip/0f/7Tv\u002Bx8/evxPRO\u002Bd99e/deKfJJNIYp6OORjTGNMLX5i\u002B/PUVjHM45a/00SjJytliLLkpPiExKTklNe1LpcysbBpOPnggL39UQSGNKSqmEhpfOtBcWTXp/MlTqPpCumhazfQZM2n2nItr62jeJf\u002BpGfwdkr7M7vkHqm\u002BI5O1I/t8\u002BCvSJs2fpZRPOKx0/rmRs8ZjRhQWj8vNG5o7w5Qwflp2VOdQ7xKOpgzMGpaelpiQnJSbEx7ldsTFOh91mtZhNiixxRiOqvJMaNH9Wg1/O8k6enCvK3kZUNJ5T0eDXUDXpqzp\u002BrcFQ076qqUPz8r/S1COa\u002BllN5tJKqTR3hFbl1fyvVHq1IJs7vRb5Oyq9dZr/uJGfauTbjbwTeY8HAK0qZVGl5mcNWpV/0vJFbVUNleiuy26r8FY02XJHUJfNjqwdOX\u002Byt7mLJU9gRoYnV43r4mRxwih/mreyyp/qrRQW\u002BKXMqsaF/prptVWV6R5PXe4IP6tY4J3vJ\u002B9Ef6zPUKEKYxi/qcJvNobRFovZ0Eata0Rv2\u002B1BF81v8DkWehc2XlLrlxrrxBhuH8at9CevOpbyZRGdx1XUrj\u002B3NV1qq0pZrIliW9t6zd87vfbcVo9I6\u002BrQB7A8c1JD2yQMfTucWD1Tw2h8XV2tn63DkJqYiZhVZH5N3ipR03Cl5rd6J3oXtV3ZgKVJa/PTjOs9gbQ0vSfcR2lVWtusWq/HX5burWusHNSVQG0zru9O1bXUr7bkjuhyuSOO7YqJHcg4nOdmms62GTlDXeSqZ5z1LBMWeacgIPzaAg2W1Hoxp7EiaRpLbQvGQg1Ux4DyL8SKLPZbKxraXONEvcD7lUyXV2v7lBAB3uOffLWmcaDGlOn6lERWxMnZUEP7mbzf5/Pn5IgQMVdgTWHjBKM8JnfE8iAv8ja7NAi4j2rg28a6cXlwv8cjFnhjUKf5KPjXTq\u002BNlDWanx4gPc9X5\u002BcNoqX3TEvibNGy9kzLWXiDF5G82zgDEv2WrLN/Yl1J8VWLxvlZ0t9pboq0V8/0Vk\u002BfW6tVtTUM\u002BLZ61ldKkfaxZ9sGcv74ilopnQ/keLpktCIoLzmrLAq1Dr\u002BciT8mI6gX\u002BiUEpVHBtEl\u002BV8PkSFpn83j\u002Bt5ig2XIOKBg\u002BIVCG\u002BBI2YKV/nO\u002Br5fFfKX/FOkebBHvlLF49a25bm\u002B0rbZNwALW1TfJqk9oa2hqD4bXzvZrL29bDt/Ptbc1VDWcWNBjeuzHdP\u002Bn2OkxiERuHYOU0scvLNkzv0tmGmXNre1y4FDbMqg1wxisaJtZ1DUVbbY\u002BGM9eo5aJWVIqCJgpUzRDnAW4x9NN7dKK1RqtsVBjlBUFGRp3lTB2jBUEeqXNFBsoyBtJxoS8IypEW/Yy2jDpLpG5tRHvYgLYFLS7Rspe4eEQSjRESh0bFrNpzw8HYY3W5ROUOmiXtEh8\u002BhjJIlZ6QHqdSyMe7TRnq2nKn9BjtAnNyIdXAHWCJdOmxbrOzQA9CxiUYMpDkK\u002BgJ9yIzrtCoz72nYO1\u002BaSddRoWo3hmYLap3duuVBYYsHB\u002BReaMMGbBEms0JBWp5GmB5YE6xA7lp4E3greCDYBMM2km/BofBkvSotC0wSUUPj6Cj2PIE6RF4Vkd6GBwGS7D\u002BEczlEfr9QI0Mqx7utjrE8A8bqHTpYaBikbrAa8G7wIfBCi1BuhUcBkvIbUPbNuLSNumhgEt1ldukB2kNmEvfo1jGSEXvW7pdhm/u646NL9DLXdK9VAPm5JemUi\u002BYo9u7ALuLONSrA7mjDBdWd9tiClzQ3wijN8KQjRiyAykzyjpY6G/sjk8S3X87EOs2cDcE8kdHMt2ulIIaeGElMalJupa8WNLVkIMhF0CKpZ4vLSSnYafeHesqWIvxyqBeJiXikVCVyqUkKoCslNIo3VBrDcRExmkNDMspwIwrpBRDJVZy0mhIi2QOFKjaPkk3nL\u002Bh22oX9m0IuBILDkjrJDMlQGsttJLV2AOSDStrM2Yyq9vqLGgvd0izMM1ZcIsKGxm8fK3R0bUBdFTulqqkQZSEtqukDEqEnCQNNuR26SE8tqnS97uzBqm9\u002B6S7DdR3RKcYfkIktCZ0O2MKesut0gS0\u002BqU7sQB3GoO3d2eNLaDyLGkY5YM5fLwGuTVG0Lch14ZVa8NKtWGl2mBUm3gKk25Dy23QyZNWUbO0gtrBW5EXYZUYgEN7jMzQYQU9UqqUAse49sGVDLVp3dYYYVlKIC7eUEvpdsQUlB2QliHOl6FPXWrpTk4pWLJPyjGmMqI7JV0AmgMI1wNScmRpAEwSS3JAGgRHCMdkSIMDiaq/XEVZBLKKV4MX\u002BRHhJP4af0MsNz\u002BMspAvDchXBuRPIzLcy49ENgX/mZB95YP4e\u002BjsMv4ObUWO8338WTwoq/xtHhRW8Ld4D5VBHkV5IWQPZCHk3oDneTXIg90QsP3\u002BgDNJTJY/G/DlDWTUzIFMcvpAJi6poDyTP8MP4Z1P5T\u002BHHAp5iPfi6V7lByFTIHt5Cz0P\u002BSROrfGQuwfkj/h\u002BEeL8Kb6HxkJ2B2KECf6AWYhdAZMQTwQoUqrJU/fzJ/hOvDqo/PFAVhpqH\u002B3OGqrG7kN/jD/CWwIZaly5jT/EatlJKHXQUSEpjm8LFItO2gP7NbWHt/N2PaVYz9Rz9U4pPzM/N79T0jK1XK1Y69TKXfxOHCBbOfYv34i0mDSO6AHr4HZ\u002BW0Au9pf3Y05iXpzWIu0wcg1Im40cIXWdbT1h5Mr4OpoG5uhjNXgNeC34JvFbIPkq8A3gG8HfMmpawK3gFThNmoFoBqIZiGYD0QxEMxDNQDQbiGZj9FawQDQA0QBEAxANBqIBiAYgGoBoMBDC3gYgGgxEDRA1QNQAUWMgaoCoAaIGiBoDUQNEDRA1BkIHQgdCB0I3EDoQOhA6ELqB0IHQgdANRD4Q\u002BUDkA5FvIPKByAciH4h8A5EPRD4Q\u002BQZCA0IDQgNCMxAaEBoQGhCagdCA0IDQDIQLCBcQLiBcBsIFhAsIFxAuA\u002BEy1qcVLBB9QPQB0QdEn4HoA6IPiD4g\u002BgxEHxB9QPTxFV3SkfIfA3IEkCOAHDEgRwA5AsgRQI4YkCOAHAHkyMDUWwxncITNavAa8FqwwPYC2wtsL7C9BrbXCK9WsMD6gfAD4QfCbyD8QPiB8APhNxB\u002BIPxA\u002BA1EBxAdQHQA0WEgOoDoAKIDiA4D0WEEbitYIP71oPyXl4bfxGotuGv5WjbckGvoE0OupqOG/BZ1GfJG6jTkDXSzIVdRsSFXUJYh0Z8hW0i1sIBaHFuehCNgGvgy8BLwVrB4SDoINhu5w\u002BBfg8N8jD5EjjVPM2817zIfNCu7zH1mHmuaZtpq2mU6aFJ2mfpMXCtP507jHMXRQpuMdA3S34NxiSAtM3JlfDTGHY1zdgw\u002Bo/lo3X1c\u002B30OO5zDDuawXTlsUw4rt/LzmWycdBoV43FPZbW6I2uCehRcnJU9ASfTnXs\u002BSVYDWUVqkO2PiOG6D/ITcBe4E3wzuBhcAM4FZ4JVoy4H\u002BrX6kIEu94OzwR6wJoagpCS8msS5LXoPd7LO7h87ySrGyR4G3L5Adj5EMJA9DeKpQPZ8tdzK9lC2eCpiT2LldkLuCqjH0Px4RDwWUPdBPBpQR0PUB7JHQswLZL\u002BiljvZbFJlAZ01IGdi3kLOCKhzoDY9oA6H8AWys4R2DgbKROtwVkvHIDMHUEMjI3kD6niIIQG1RGhbKFssPDNRrmGeAhZS6oZBv\u002B9htTLT7epx9W71E8A/hmMRHm9pQRnicGaQzdFt6v7cB6FcrgbKbUIf90PXgPQL\u002BaTamXmbej/6Ypl71PvUkeqduUELqu\u002BA3bcZQwTUm/G6uVOPV9eq\u002BWpL7jF1mXqB2qjOUOszUR9QL1H3CzOpjtXynXvUGnQ4BbPIDKjnZwYNEyep16u6mq2WaPuFf2lspN/i3P3CA1QQGX0E/JuTGRQxPrs4yNx6jvmEud08zzzRPN7sNQ8xDzZnmBMscRaXJcbisNgsFovJIlu4hSwJwXCf7hPfKyaYXEKYZJHKRt7FRSq\u002BghTvHszC6QLyx0vVvHrmRFbt711A1fM1/6mZ3iCz4W1O8U5k/rhqqp410T/WVx00h2f4i33VfnPNvNouxu6sQ62fb8DL0qzaIAuLqnXp4muTLkbr7kjvIcZS191RV0cpScvLUsriJrhLJlV\u002BTdIwkPq\u002BpJRzsxn\u002BzdUza/07Mur8BSITzqir9t8kvlTp4bHcWVXZw2OEqKvtkZt5bNUMUS83V9ZB7ZihhmiOgRplCwE1y0TShBrOk4lCDWsU0csCHHoeIaBnc1KWoZdlcxp6MhN6XUe1qsouTTN0MomOGjpHM\u002BkcHUQMsJVdWVmGlldjtUKL1Xo1w7DhRkeqCpVc1VBheK4zOlKZMZg/70uVzAGVMWdVxhhjSexLHTWikzDsjE7CMOj4/g\u002BpaaKPdY9qXf2s\u002BJ6qwVvVBG7wb1y\u002BKMW/dr6mda1uHfgCK6th/oJFQjY2\u002BVu9TZX\u002B1d5KrWvUs1/T/KxoHuWt7KJnq2bVdj2rN1UGRumjqryNlXXdZaW15V8Z67azY9WWfk1npaKzWjFWWfnXNJeL5jIxVrkYq1yMVaaXGWNVLRZxX1PbZaGJdRWXRGQ3t9sQww3pnrqJSa7mCSKge8Z7Ulan75WJPUp2X53f4Z3od4JFU255brlowj4TTTHiy8iBppTV4z3pe9mjA00uVLu9E\u002BmMa0koVfvHTK/2e2bOrRWh4tcbv37NlgkymlOoanEl/qDcYjA\u002B52rSsq\u002Bllq\u002Bj1tbWZSJp9S0jqvbnzKz2F02HJWYzhmqorEPdyDN1kmTUdVmtVcFwLxp9MIK1iOFEzsd88KBuw1uXmXeYOsxcvCq0dKdlFCw5gBt8DRjvcXxFIM94feYruodkiveXlu68MRGJ11UhA2meAozQXQyokJkRqbtzkWnPbM9tL\u002B7I7MjtKDahdk8nKtVOcZUG8jolavEtO\u002BMIZFvq4GyYJcZ7KDAowxi4Q2R8vjrfMmb462\u002Bdzc44/axjlw30uszovuXMgkTqlw10gpWIjN56BtY6ADIaWw1QpJNI6WzyJbW0iq6EP3FKK3tpkMHbaZCchXctCh87w6HF4WOiTUj\u002BW5zoGREeoAA9Rj9nw5hG3exzSqbPWCobRVMQpX/GI9wu6qd78Zo/izazOLy7JdFsmsJk6PjodnZ/eHn4IzqPvkPbwk\u002Bxm8M70L6JnqPPYMGvcGMW00XQn01N9JH0HtWFv0cWWk92vNvNYEnUSG/i8ylsuJvuoafZjeHPMGoC3Yz\u002BSqmcysOHwqcph26X25Wj1ifpLtrHTOEF4cV4UhpCbdwXfjP8a8qiOnqYHoNNPtYrTyYPXUXraAtLlZ5D7l76AYWYg9dLFcpBjDSF5tC1tILaaAe9yOJYjXJUORG\u002BIfwBojGehsGmxfQRG8Om8kdkR3hC\u002BG2aRz30POYrPr3yPHm7Mi9UFv5\u002B\u002BBm8hT/FbGw/O6QUKHf23xR\u002BKPwEOWDPKHjkIowzn75Nh\u002BgF\u002BgP9ka8Jr6HJNBMj/5hlMI1lweNv8lS\u002Bmq\u002BWXqORmG09rG2lreTHiuylfXQAvvkF9dF7LIGlswvYfHYX\u002ByN38IX8sHS/tFt6XWbyD\u002BFvL2XCRy30CO2hl\u002BkVOswU9J/PatiVbAn7Lvs\u002B6\u002BN\u002B/gn/s2yRvy1/IfcrWaG\u002B0Bfhi8Kf4t07jS6kVbQGvn2Yumk3/ZTeoD/Sn\u002BgUc7GxbBF7iPlZH/uEW/kQPo038814i35cuki6Szokj5EnylfJr8hvK7cqG82N5tDpztDdocdDr4afCr\u002BK2IlB/1k0CR69CVHxCB2k19D7W/QO/UbED/ofz\u002BaySzHKMraB3cMeZz9mr7LfYpbGr\u002BrHiON5JUZdwq\u002BDn27md/N7MPph8Y0Hf5u/wz/mn0qKNEQqkpZKD0l\u002BKSgdkd6XXXKWPFIeJU\u002BT58phrEyBcr4yU3lU2ak8o5wwlZoWmppNH5pvNt9iebk/p/9XIQotCvlD3YhdCyJpFTzxIG1D3O/GGrwIj/4UFvfRSaxCGvOwbNhdwiaxajaVXcwuYU3sZraefYdtYfezbewJzABz4GbY7uPlfCZv5E38Fr6e38F347OXv8Df5Ef5cVieLHklnzRKmiLNleZJ12IOLdJq6RZ49i5ph3RYek36QPpQOo5VS5YHy63yKvk\u002Bebu8W35VuVC5Bp9tykGlV3lVOa2cNnFTmmmQKc90pelR02/MJnORucZ8m/l1858szWwQy4Hl2rk/dOSp2IOD\u002BQ6eIK9hx1GRgbePWMzch3WYiV3xJyqTQliXGNEO2xJ5qhxv/LhSl/3iuwu2j8awH9MaE5fEf1LRRwH2S94nP8vPozdYA0uVt0vXKi9yD\u002B3EadTO9/N9bCLt5qV8Dn9AIvYebsf3EO8r6R52FVtGO9lxNo59ixWzNfQ6T5JmsluoNLyNy8zKprATBAvoJnkhXfr3f5jKSuiX9FHoQdkp34jzKUibsaKP0a/ZD\u002BlzpoQ/wekm4TRqxClzO\u002BJ9HYlTrx77bA32YypOkKtNh2m3\u002BEm8udg0QV5FJ\u002Bgv9JGyFxE1ESfpB6HF8oPyu\u002BHicC52GHYZPYp9t4jOx455D1FyAGVRugQ73YazpAC7uobm0kL6Fk69u8L\u002B8APhb4evDy\u002Bhl4D9nI1gn7MO7IggEKX0PD6b6C22Efvw/H/1x8gRCi2kXvotS2GZrAD74biyXGlXdii7laeVV0yj4O1b6H5E9G8QzTbMYAG9Sr\u002BlPzML1iaVRtBo2DsWttfS1bxOOkAVLI2asWeH4RyfODCTZejlZnjvAeznA9gbJ3BOXEJP01HGWTJmtADjW9BPNfx8GbQ7sYLfZt2oWYhTO4c\u002Bxrxj2Fi8mI8gHT1txqnVC5t\u002BSe/D22HDrhE4FyrZHPT1Z7qYFmKEIqphXViBPVSCk7VSehn\u002BHspcNJENYT8ArgE7NIYyqER5l3EaEbooPJYvlg7gjgmjvgO3Vzqdx5bCiljMo58S2TQaE5oBG15jkuxnPzOsuI83hddLK0JX00v0Q6yJLi83V8rXyevkL4yfwZCCDyLITBN3cxYymYO8TI8nRQ5JZDPLIUapFpMS4tJ\u002BlkVWHJwplOJznSrtL73IdbJ0an8plSHvOo1kVL7H7XFnIsEbF53WpN7TukJfkCb3ir/5EUQsf4g7WyEr3bCXF5KdF\u002Bg\u002Bm6KnqqNjFVXhylzLWJPEyWqybbIze2pymmTNMlmyzHIWk7K4aS\u002B/Bw9X9\u002BgOLq6CTUxiqTZ7kFm6Pe/vxBvTRSfrS6ceO\u002BY6Hvlc5Kpqqny/HuaVlU519b9f7xuVzyZVTqpkEqyURMKwD/Mn/xK7ZBX/kNWGHu1PCd3KUkMfwNpmqUtqMqy101X66PXKevsp5ZRdNikme5PSZF\u002BuLLebSJGYyW6zmBXMWLKftFgksmguW56tzCbZguwG3SZpqnFzSSzIN3c7HqkQ3qs/3l/fD8tcx93JJcwdV1IiGPZdtzReGuNJlAqN9JExrGDkSZFIXcz92Weh30dS8QLbGuphjzBx5pU9abXYTTZzkA3W000PsLF2m\u002B06lmUeGotXao3ysRapjiuWp/iwYPVTj/Ufp7Kpx0/2M3cJucWg8Z7EBJPJnF1UVOy9naXmtM4tnj2Zb2CpL6y6o1lrGTR/thjvbiSPYTyJhuqJfCzZeNY5/ctn\u002B\u002B8XvY/KL4R77xaPF3AmvDkn/IEco/QibjW6W69eadtg2852mHdYt8c8ZX3eapnjrkuqS5ujXuFelLQo7QrVUsJLTEXWIucUPsVUZZ3k3G59ib9g\u002BpH1R863\u002BC9Mr1tfd7pdKVoKTxGPxplxSaNTOi1ONTYvlsfqKMV2kpJxdBqeJtKGJBy1p3pee8awbyrC4tTSqXDBcd9SwfB5PdXXs4LkJLfLbPIOIberuCh5iMlscruSkgoLioqL3K6sLF7wxspN7SveeDP0OdLCmqSM0dMKI0Lp3bI7dFmoYc9mhFMne3DP5o/KZ10TAh3Sy2ddjTOEHyqHB7dhm2XBB1aao1uv4jfwjVzicpAN775MYUqQX/qUxYo4cljxRFgr/h8fXq87FZJVWZP9siyn2vay7ThbI44unSr2oBHdJ\u002BuPYxmp3uNxm8xjioYWF0pZoQ\u002B\u002B9\u002Bq1jOcfk73tVeGhL9wq1rAQt5oDFmSwMv2yJ1P2pPWkvyj/JOVIypHUI2mWivSKQRUZc1Lvl\u002B9N2SF3DrKY0jQaZipOmyxXpFSkVqRZhqYMTR2aJiVlyXPkDSkPpD8w6IGMHYN2ZFjiKMOVoWWMyliecUtGe8abGZYMsS5JCYmjM7jLEZvhwrpzESs6Aki81WCNKMgf6ubMESu\u002BoPKqjjwHd4i1c3TGK9ajSUk4zhilqbFHXSt46uAzC3jSWMFSbGksYr9v6TEcP776paXYQMxd6KsXrzuUEe4NuEuEDYFYQ\u002BgxrhLZ4ipRLG5Id0nkbaOuyyR\u002B6Kzbremp6Tw9nonnAXSEP/V1IjKqp9ceoPRwHw0CZ4T7xo4dW8eW1iNe3J6iuGLExpjRWV4ES2bR0MKCJOwjs0k2mWXH6WxXxydP\u002B8Y11dUusoQ\u002BTGWW59767PyphaFT5ycxJfTFPcz6i66yi2df2nTlDYM\u002BfPG3Tyzonl9\u002BsiZLrNJU7JV0rNJweksvWJ/4QiK/YdDGQbxT\u002BqGyPWGPtFfZk/B2yjuplqQEdkfSHcncY3OSzJLjkzyq0\u002BXAqTNUd0xzMt25ycmdTpYUZFyPVePz4nm8cG98Z7rC4PInXYgrxB\u002BcU4BquTPb6Xf0Yg0cSa6ja9RN6lZ1l3pQVdQ\u002B89FpQ9nQNF/S0eQV7Cil5pzdTCcHthMi0F2SVz\u002BwICIRxaXHxdEmjhnDpcKrcCrcR/XxmcbeMrxnLk4668YJvLBA/BUwcxIS8g4ZOpW5nNdNv3jFdTOKqtXrVtZOmXy5PdSffs2z1x/\u002B1hWvrf5u6P2f/ST0OVvnWXTtLc1X3pj4nrT44gtqFzaMWLd13i1Xbzi0LH3/ukOhE\u002B9hP8G5ciX8aiMn/VovcWjOEqsj1eFzzHRc5fiNw3TcyUxykpwpD3NOds5zbnc\u002B5XzOaWXcQg6T06zY7E4zORxOZ5A9oadJcoIkyRJ3yE7JyWUbmXVnr/MICvvYMDx0c7Z7D8kyABRktbuVTTZmEwsR5zJvNR80S\u002Ba02DK\u002BhnOeGrOXXcgmG7v62FJcDVOxt8XGLsP12l9fKlyIu4EMsV4Z6ZO/5fpRbGzsmdDNdZznmOp4xfGOQ6FI0MK9PtzBY1ihuzDR62Zuxlf3P8pv/GTPntCJ0C6WfUp6\u002BPSlfw69xQezT0N2RNw8RNwYpRPngksfbonRHMVxVXFTUu9zPhjz3bi3Y6xx7vg4j9sbty4OxxFz2uCFOLc7yDv0pBhnQkyMM86WIO44nUk1rB0H3lfC6ykjutKdjiCfqztVXI7cJgLR1pkggs\u002BekDRaS8hP0BOkhCDbqSe43aorz8XzXGWuaS7JJVRdYqz42NgYOdaFcDySzPRklpymxgSZR49zrmD7jxDT8Z65C8cLzooedv7AMSmC8xiC1MiI49JlnBao8J2N1fql7ohrY\u002BBadjZejVj9SqBmx8Ov5qLCAkKE4q4YOo\u002BlOJZPrV11feP1Dcfa\u002BQf9vxtx6fx9TF68KfRSmNj1GZct2dS\u002Bfv1VHv5F6C9/yQudeOvJO595G7F4MTyeg1hMxpvuAX38lfZWy3rLd1O3K9stP4zZEd8Ts8d9IL7XfTjemagUuStdq5Ke5D9zHUkw76PDgMvMnBLnStdwaAkXDoaL0jtjnaonz8M9wmGezjIr061HrGGrZA2yad27GGPCWUNUOQ/LohtrkqhgO68YfHSagznSMlOOxqUO/at78mTkkD1ZDwcO3JgiIGlgLyPUmJJlbF14Jc7YsrhACWchSzjrN5McGzphm1VRd4Nr8QP\u002BL0KfHf5V6Dcs53fbf9H/0OrpFy1qnjW9WZ45eFZNR/\u002BNoZOv/6/QCVbHbmN3s4X7Tn90272rNm5atwZRejH2bwqi1E639pAc7tNHxbpH2\u002Bxp9nHyWNtkZY59h/1p\u002Byv2t\u002Bw2D54eJTOp9jw7z7OX2afZJbuYsX0v7yCJPfYU50w2WxwWbM3uPDPDM2\u002BDHsOnSUxKc\u002BKB1zHghVJx02A/9hvXrOu4ETrszNx98W5PoonzZE9cXPHF0qEVp25ioT\u002BYjz8nP8SUl1tDF4Tin2H5fOVfEJOb8Zw9H0\u002BT8cbf4T2ql63IYYtiVua8L5\u002BSZasn0WoaNsKTmRSnJk5L5PmJuxJ5YmKCd0hmXLxFS8hkxNOzm01r8UpcPSx7F1ZLXKFW\u002B2hsqdt1T/5IfWTNyIaRzSPXjmwf2THSoo3MH8lHJgzRSIvPx7Ef5Bu7c0fNPPPg0I/Ls37pKV/k4Dae3wUbR7ZxfSaG1wYyShLF9ZkmxNqueHFj1kHpzOrDAdV\u002B\u002B8xqf6z4ctSm4V4Ux7qnYDAXt6A4vvFMaVI8uJQLiotEIGRnefHQPVDI8m7mFzyxc/3cJZfd2l7/0PILQu\u002BFnGzYM4//ByNfAh9Fle1d99atvav37urubL0k3UkaSEgqQCCYAkIEIhB2grbEhU1HIcwg6BslKrKIM4IP2QYnmRkXBp0BE4Ek6hOXcZvnk3FfR2YGB3RkZOYpotKV79yqToA33/t\u002BH0nXraqudNc59yz//z2nKL9sXtOUIX/Yh7yd6fGzjJtf5foKrti1cMlj6dRTa699uk0VMXnR/A0nzbu0YY7EZXvNNZIjM238FeU0d17Vf4K7knuTiTDvGNPWS5v8m4IdzE7\u002BJekt9i3la1YqkUodpWqZvyy4ilslredEwSdomk/TynA5W8IJpdwubof0Cvs7hatH0yGSzXQz6BiQMWyhFk9It0ZZhREtMLTQUCI6DadXdzYtdKHpLuQyAiEdEE2pEfcOlVnXl865zJeM9VGRynyUH0h1CsglFAmVkANg9rrzbps1GKmmucHPck73Fdja8TQd6U6G4jtEgQfHk0SU\u002BlgsqgU12/kAqYKvkXpUNN587QvzI3MjugXpSN17bZX5YeShm371\u002B5c7b9qH8y4//RnQpgXoRnR/x5UHGleu\u002B9z8zvz8i\u002B0UoW8DC70KLNQNoH6tUV3KlcqXaovIIgdXrtVqk4ItwaVBrlYbkbchbxe3XeGKPNQsfd4Sl1sMp/ZTJ7Jtkkpl\u002BNpjKBqrhGjk8YIVuivd2E2tMPp/tcJBE6RStiFqRlow6KVBlv4kbCO6BFO7ASvahgsOt97e0zp05OKpd179YPZNVPrxj0dOWlhX94NZlxzk\u002BvKTz5kn/uvgnZ3XNJUXkefO1Ti9c3\u002B3b9\u002BhxV4ntZEdEEfWgaQSs9KoFzlgdCVCVKwUnxE/EUmFuEXEosiwpARwu8SIQj0/HfxuJgspHUeiSqWCFSJFEQWzYBQgk3yhTNYU0phhQ/NsnZd6FYws566rs3hRIGa9drCnsmPwtdk9XN9Z86Gz2a303micKId7U5hfGSUS4WQWS3IJ8e6H0MQyPMfBTQiiqDAiJ0b5163QtdmIG2qz2qqyK9R2FUfVSrUTsAhRsWLf5hGKueFGHcNXXaz8lWcyOQZf566zNvRurRDAgu8X1LJ2CKDD\u002BRBgSTIgzODPdlSKG1Cp\u002BV72Ka4v\u002Bwwe910jvj1L4/Y9INgTIBPLLO9lODCSKl3nqLEkSqzRqPdrOsMZXDPXzh3juCKulVvBneZIO0e5EzBqzL6PGOYAc4xhj1BfpEIdhSPC3EiGd\u002BTcZ2VOlPo6GpzbVsLd0vu7B5Vyfd81wn3sAt0\u002BT3WLthoRkUderyxzLGYJBCpJlkSZk0RJhpxw2EgLvF8QeJaQKCf7OU6WJZblZVZigWnzAkcI3BijKKIgkh58bRc3SYTB8AoRqn08qHmc0/s15/UephYSsp18UO1h0DtEVq2WgRcgkZCF8qwdke6I7jrxBZZu62zcd1CKKqoO8/Jql5jSGZgYcJ0J841wkk9JW8hOvhMo4xEirOP3kpPkDEeknv5j3SNn6hJVeDHslPBj5R\u002Bx69ld7C5pt7yP7WNfYeVn2aPsOZkdK49n8cq2TBql2zItlj3w/Se7vUo939N/EoCYUk8q1SBsHP56ElW89XAnR7tdYXt0avYIV1gjXGSNueu6nL565sJKE6QOOlMohuBX8OwCS5qLfpp9Dzeat5s3nAZzWoU3Z3937nZ84GtzIszkA\u002BDBD3G/ZThmrBFpFqiVEIjejEi4iIDZC3XPD\u002B\u002B90DlNaiFTszkjsew38AB83zHut99P/oZ6ILghHwYrceCQoShsUkwqgPMR3Hi7IeWP1uXo6DG6pc3caDyYPwzOwoYHG/qL9IUMGV2WfTifuKUiOYGHkKhUIS/BS8ki6Tp5NV5DHpT2yQelPvmM9J0c7CBbpA75RekV\u002BV38HnlHel8\u002BgU\u002BST6XPZXW1tEa\u002BE99D7pTukbdgYb6yCF9HlkhL5ZvwzURowE2kQWqS54nzpPmyEJIrnDoeTXRpjFzvFCg14SVJDuAI0SQhRxeKQFGyxDkEoYp3OqoYhnWzWGwWVV2hG0tKJ1iWaDhTukI3cGqP4aY7isgiQJ5YkIHfgNnW11GLtScygypOud86RU8AIh1jDIVviRJRkqpsooQVWa5iMexi\u002BBjWQTB2gFNJgljkRIDi1W76oE8fHmUFiMszdmDQZs3WuSrBENaKSHx6LczC00pUceAePMrwQkQw4ELGgIuYqiIKiuBjVBrj3F8BWE276/7urouE3dm2bFtdJATAPw0ngGRRFmB5nu1s6Q23vrABPA0G6kaAa3yzwOLF/mOPK1FK\u002BDPWPyuipBnwCDAbsFTbYj1b0ZNIRgJ6yjxlfmz\u002Bxfwj13cuxJ78rpHc8f1t9AU2tRMiT4JmHPRfhlNieTHMaiLxQlwD7TLUr2iEpWLT0SgHidgqQYQQJLIixgIrgb5AVyyhEhMqManiX7dWjTYbYUNpVloVdoXSruBO5YiC7SwlSrkPtXzeOWuWLlVdlA/kC/JBOk0zwkBKgCMrklpLkwy8NgyjwoOGbDui\u002BeGYIYFViFHbRo4clqjVwMZybdDjBOuq9kNKjdiu1FiCjY0M08VZsOHYIFvFGixpZO\u002BChNspdonHWf4F9nXxA5GNshWizo4Rp4v3sR1iJ7tfPMA\u002BIyoUXxhSdY2ODdgI1PPUiiodR\u002BlG8NfAmR2GFBum49mwsa5uLIzCEWxELAghzGrCEJwSxuBqYRo2hCvwXEHy4zxhKp4o7BYeFX6P38cn8QnhW6ykcKkwRVgjbBQewzzNJivPNxgMmEILY1kCjSHIsxNF8XzkM9/NPg4GMJR987tG9qlzDRRZtQAmPQGY1MXkMb805uzgdog7HTudRESCU3QJoVRojbTaK6z2rAmsJ5vETY71zru8m/wbAxu1jaH1EYfgBUuIBLwRfyQUiAi\u002BoaoUHiqwwdR\u002BGTGyW47SpWbAXNHKAqOgtWBFQXtBZwEfLThdgAvcqU4G0XXaSmvO7\u002BnOv\u002B35Qbhp4a\u002BMvRpaf8paOmgDDK8DQh85ojoHMhnk9w4SuZYJVb9ZsqkbNaC7zNvMp81e8zY0/K\u002BPP/6Xjw8fPobfOrZzRVd6tHmjudt8wFwOUHPpt2Z/f/\u002B5s99TPdwPUfsseAHVw2qjhOd6/b0h9lIOLeHe4bDXU6I6nUyem\u002BIuFyMG/wVTBosKKnPycQVu14VRPv9iWDmIKnMA7DyyhAkD2JwjJ4lEGINoOW5yP/oQOWfetu/qHdOue\u002BXZX\u002B6/acKVk2o6ub5g7OP9G3qWeQLZd8lzZuuwq8c1L1Vl\u002BGKK1QDrMAEmxpw17qh1TXbNE65TrnPQVe3OxCHne5LMi7ysiUF5hLPR2egSRLfk8Tv9Lr97hHOE61LXKufN7jdlZY20JnxTwUZpY3h9AS8F/ZLD5ZzlXOVc59zm/JWTc0ZVh19VHS5HQNWCJT63H7X6O/3Y72eiMaouUFyAESGMPmWkGNUNAOStvFQnf4A/wh/lCb9hRQJFE5UJnIgFLtRa/EJcYtlCjg9awfE8dLWiAESAzAXrIxYfactQhVZZ\u002BgTKp/li7DCcSHg857UKNG/5395uf\u002B7Z1luv6zZ//s7K2Vcurvvw7evqpk8qfuIE1zf91Tseejd/1PpHzT\u002Bj\u002BkdbYtk97LTi\u002BeOnXO7gaDae0v9X8k/wnSHoqDG219NTcKj0xSEESFsASFsglF7ELSr9Eb9G/VHp\u002B453Eo4WeY5zTrwlsdSx2Lsktqx0yZDVBesLtscc3gTN2IVFOh2NReGIPiM\u002BI/Fs/NkEaYu3JW6P3574U/xPCT4tl6vF8eJEraonmuQmtSE\u002BIXGduihxs3pLfJN6d/xh\u002BRF1b9wHcFHl43wiLIfVYFyIJ2SVIG1uyAhH9eUhtDzUEcKhPryIyYMo5IjUFuWhvKF\u002BlpmEaFiaHInqdLGsGbWiLagTHUBHkIj\u002BToxIrZsgMrRcCn3ZryHN8Gm61iSkkpFhRalO9wHgUE3oS489geGhb\u002BRsvmnW/McZY1SLxeanuc/AmF5JKWRb\u002BqtM\u002Brg9rkwfh2xnhy4L0MVBH3kFlyQoMLPHv3T5auOgHhjg6JUuLz06ari8tWrUWytbLxc9d9JwOuCcWiuH6MtXe1H30MCiemC0PFqtideAHierE\u002BKNiYflX8dla43SJnmDK2sp66dGHwFBh9iUVuADfi1ILMuifHcKikY6Nty7dexleu/fWzes/fLXyI80wXzPd\u002Butt0\u002BuGDIKHXh91T39zDPm5\u002BY76OP8rRtvnqFPzvMOGzP35t\u002BueH7xP19V266pidfqJRWLb3h6820fXY8Qta8hEJN6wYcF4IKJCqmSVHLN0gqpXdoiCTzicAlhscCIkqZFyFqab9FQQ\u002BaFKKpk6KM39NDDOpvxCtyOt2CCw2L2sdyszJj/OIZZqbPXc2EzcVHD8VxMqrPgJ12kpUwQfWJOJT8xp5Hnzp79/hIG0We9udlwVzxydjMsEgGVwWxY4Gx2ZLR\u002BRHwHvYPfJ\u002B9zHAWCa7gdaDveRXZyHbT\u002BqPAVIgWbreJqJISZIF/GJPnJzKX8PJCSxTiKGD8Ib5MbHsgNz/bgqw2FB04JvAbCCdeHr6JPCNGpVwhaS9rJJ\u002BQYIaQHKYa8lm1nP2GPASgGWz4IVwAs60MKg/FVhlSJEAoLV14zUAwMgwVmvspk0qFTg6jr1MWY6zyiONLttrHEQYARswFsZiwgYRVcGOAKTCZmcwSsZL9C49AP0RI0OvvfXN/3z5OxQPHsp9W5WRbHG2P8wkPy5BlkgUwe5R4WHpUeVD5Ebwn8XcpOtI3dze0QdkvblL3oQVaKoIBQipJCC5or3MXezd0tSToaI\u002BCwHCUVcgO5TL5cXkfukbeSDrmTvEX\u002BKKsjySj538nP5JfIK/JRIshY4hWBFXmFsCLHICxxjARAN4oBYcABryhRhvPD3QGHh0kAZKwwYE1PHeYNX0Dnm2hnercYUUGVT9FGwYNwFjcpNKQrOYd3ULWGqV4pfUyfgt0z9h5TMcgkL9ata7BQcBD8N6UTGgXt8dXDkkeXR8BmALBZXtnW1sasHI5sPdNf9LU5Gi1ASRRF88xRcPQz80mzD2fx02YZejc7KutE35s0VvdnQbr5oHuR\u002BR1dn/0P4xKl5oiMCEs4ViAcYTl7P4qRny7A0jNRXqCpGBEBULFAENBxiTCcLMJM9OAlYJVUX6AwRpSfxBp8No\u002B1g4CLowywAO0wGkxni7slqh834New\u002BzigfXsAj7Ptzn3muF1KoflLq/XksL94Ic\u002BG/FwHXPsFa2U7PcBIPTiYPYEuRy1oJpqT/RQvY2dkn8IN536T3QXfPLn/JBlGLmESTBVqM5YKETGfKwhGpuRNyp9c8qH7E480ItwYnpdcHF6SXJ\u002B8L/zvkYcjvXkvRV7Oc/C8Ggjy4WCKLwu0hFfj9fhh/iD/Iu94Rn/fjQuKq4Z7hqjFRnqYXmzES2ETLtCXF58rxsWNVk2z0unSxxYgWns9UPBtASkoGIKqGQPOUsSHmTkxI99THzPy3LAJRfRYD/7RQSI4VHkIxVXwnjXC29YIVwyBKwzDrxQOT4plUqnaUuTocGDgVv1ArwxnUHdEputIbwVP\u002Byl19eqy2EINfaKh6dpCbbnGauHqZeMG1mPANNtOZehyR9o\u002BOk7XZ4CYpSEIAsWwspOFMdK2jXZVFKC2llMDAaEYSEVegT67\u002BNpinEm3QDBIwwSyTrcdPtsy1GBTkDQoAGH9QS1G8wjPJ\u002BJWLhk5YqQNWhHFegFajrAKtmhRf/qN15/qaWLzSszPFbfATnow8\u002BDTc3923\u002B8ua17eNBtdOeLz4pHzGy6bWO1W8J\u002BH7d7Wsumw2XPPXZfljwyLjY1dGxf8pCm/JJo/Y\u002BIY8w1vVShVN2ZuVXJk8SJQ\u002BQawhm0Wxs1nHuhlvP1njeFK7ci8S/Owdy4/V54bnBtqyf9G4GvIGHWMryZvImlSm3wT87YJuyTZ4UQYMRHaBMwJfjoXPkVxMbIWEyMrClGhuwyzSRd9SMaBVjDtNCgU1Nv6bqubeipb99dpgH1t5AuIni5yMG0ZlJkw31AW84vlxcHFoWX5XAaYi7U2Rms2APJBYamAD/LtIM7fgMJ3dD1nmtneyx83vPrkmzN3rluyaD3Xlz29zTxhfmueNj\u002B4vGUPLn9o\u002BoqORw/94gEae\u002BeA7PXgCWHmT8aM\u002Ba4Wb0twqWuZd1nw1tDN4R14h\u002BNF94uhd93vhD7jPxM/830WOMv7RvlGBaZ4pwQbQy2OZQ5htHdkcGSIXc2tdm3g1rs2hfd6Hwn2eg8FJadloXm600o6ft1ZrdIz4ULdGl0eXe1DhJFBZ16PwhhwKWPAdUz1FrDTPkh4BN6KagKiZ1GMqVDpjhqb7kTOSJ4Q84cj88edr31lpp5Kf3UqTRfiM8fT9jo8jHaUbBuoellWNWIkx/ODdS8y3Pyb85rpy25de33z4gDyp7967TPzbyh46rlP8RdVs2Zv3ff0nsuXV/zHcxBSCRJQySOUG80G3V2Vs5stxlBvC98it3hta9kJpnFWklYUthfi0azuGB3Qw1PYBseUQEN4lyT5LXNRqNUYTkVwumAqZK3MqSYRtRSXi4ncS20nJoYL5tcNSth2xrYYC5HY/M9C9GAr6jJ\u002BmbzMa1sLn2mJxWpyAgIT1IDtXmgq5Crz\u002B3GPLzhsfm8\u002B13UHCme9FQ23XLVx3ZJrN\u002By5vAWlANk6UXgbdp9bse\u002ByGx968PAvOkDecSBvCmzFz\u002BSjX/UybvCTRqV2l7Rb3e7eyz0iPyk9qfZERNGPJuFL\u002BUZ5euFe9RB/KPKS/LLjHfk9x1nhG1XNd\u002BUHDIgQAcPp0V2BZwKvB9iAZQ2F9dbo1GDEPzGATnmbna1O7Ax5KQI/FM7TUbXXKuUURO2STrzMHtND7TGUb42GC8JpJ0UWbrjthV4v7dQnijdE1V2sCEwMVQRsI6ooXFi4vLCjkBS6YqKhunRQeC4api\u002Bq7ZyiTwr4Q0apvz5kFLpgAyE4RGO1lYnrsxZA98JNwBVeejNwkTcXqunYNXAphFkLc1t/wMAb3lp6010aHQ50S/Il1uG4WL3Vot9ynEbQjPX1TgO05KRf6qRf7zRAWTYSALqcTgNNAN5XbS2lQ7RA1MSjANKpjTNszILuPhupa/g7FBrx2X7zb3ctQ/43TyEvnzXYO64avyDFrpl7RV0dQjMrdv/i4NaPwRbS5kvm07dunoR\u002BcMvaCRN\u002BSONGCBzgr8DxgkyPUTWCoHISdUc9LaQ9xInkmRAOBD3Y7w16nD4X43b66HNcfkl0KWih0q9ghU6EzCOPK4j6gyhIDwvd8Lmn6dNfPr8sVdeL08VmkRVL3RWehR7s6UHEUJ2\u002BJPYvZDqDR4I4SG1CcujBsLamFy\u002BzWwfSEFJpV\u002BO5DID38HEmBG5C6TC86mFTW0XBVS4P\u002Baot9lKlCVZUCNC\u002Bi5gnEdpTu2vVmh8mJ1wytuaNN8wTe0iyef26WcUvuGtnNH187jA7mcp/H3CQFvD9INNlpF2oCNWialztHo/Ge/6IvkWSwAW5Yjzfs9TDIYR9fo/Xx/oxclFJC1hBkmV/QA4yjCInRcmIFuv7JdQvISli9cYF48X6llBnCK8InQ7hL0MoxPiTwYBl2nBtZwCdDqBAWKu3QwPww1wZC/bO5I6sGEER5qnaWsBONAWLdbnyP00ihTgA4upWSOTpLnp049NX7ZleYJ6IzhjbeGO1CUw/\u002B2nHpBUb781uxcMfWVDTsGl99gsQGpzK6iy06kMCs7qXkWhFyCPXG1KzhNulA9IR6aj0pcQVSa3SWqkTTnAsLzCAHl2054PWgVgmA3mT53iByFiAuGotFcaKdRIWc3Kdl6PemsLzRSyYwJW0lO9BdsuieQKFySFEzHPfTyHJ7z\u002BAGdoEM7TQqsr9N\u002BUpH3erHmvF1rg1PFQXWDfr41PSYn6//Iz8svR7\u002BQNZnsW2slgVQlIjP0\u002B8iecOSZ\u002BQU\u002BQc\u002BZrnpgnTxMX8reQe8jOyh9vN7xZ2i3IR8fJpkubK\u002BXKhXKxQm0gTJw/WpWSJ5YnCEZ427NKqk8zKskJ68A1GhKsQa4sEJCxSsZJE7QwqYmgHQ/2/5WCYVXNyn2kLQeihOHhgecde/aaod6CmREV7uUuKASGw\u002B4jA81dm7CraQG1mEwqjyWiBeT\u002B6y/yD\u002BfWdXN\u002B5M\u002Bgm88fZK9HHm8zHBvpErdmcZVX7jDI6l1wzh9u5A9wR7ij3pV3iW8t1wgkORGIhbbNJxAzMGhMm/zJruXnKtZXmKnq3MQy/E7JICo3pZcrgrzPwXRCpHAE\u002B6NBZXdRDeqIBTxQnhhoSjihbUTZLai1rL\u002Bsoe5B/RHjYcZA/6DhQdrTsWJmTKasoa4Y3nin7pIwvMyL5ej0ct1tvckKMCJECGlq6ZCFmRRgiuD2eVF5\u002BfjIlg\u002Bm53Emvx1hQ0\u002BpBy8GQenCj4YrkJQvy4dzyfNSaj/Lh3BMlyWSKZuUuhklZiUqqp6MxAu47BZemjHHwqoNXcUpPGaPH6hWp11OfpFhXqijVnmKZVDRVmepPkVS49C91A0A7t/BCWyKB9pyBnABh60xbJl133nUt6g1Z/oL\u002BjZVpGrpQ2hcLUAytWUhaC1qunBp05fNefRtiNx9ZvL2y8ZdXrPplKfh2QWrGmKXDzBOF9SPGLR1qniDJrb\u002BePWfO7IVXNOzMtuCFPx9WN2nzdhPjxp8tGNK4blf2nF1fIy0wZ0GmwwgJPs23QFwqkh6CYLbcDWKD6zM3x1uhzSM4Vd6hKABnMEoGGSu0Ac\u002BkXaH/S2iTlaTDSfWrqo7BCOdAp4G9XBzhLE39S5CzHWMACcUuCmmWkiDQkRbzRPGM2sk/SkOg4Da/mdk9vQgXPrZoVPO6LrOIJPc8MWHpun\u002BjcW0mYJzdIKkKiHiHMekkOiF\u002B4/smQF7CJznsDXNhCbe45/rmBltCO/BOfqe4w9EjvY0/5D6S3nac4E7wJ1X3I\u002BLv8X/yz4svOrhV4iZ\u002Bnch6LCtUNKoiPxH8tUKkNW9FHs5zxpiLIKxNBGxgR0lAGyA7aZl7MeC6ZSGCKAlAGZ/utdvZaK9lsuSCnq2Zd2f3/APp5itf3Gd\u002BczeKbr/xxvvvv/HG7Th\u002BD\u002BLvNl/68h/m8\u002Bv69/58797OPXv3Unk3mz8gO0BeN2DY3cawUb5JPuzV2Vq11qfnNbCT1cm\u002Bhrxv8yTKgwaw7Rnh2zwR/OdCzhNUFLfLOcB5PGVOpyvpdltgVvmfrGfqqTqYSPfxf\u002BE9Vm6iWJbynguwLO1RClBLZ3LEh8LZ81JvRnz1b6/rRdg81zv/3ukwxcGfLr76jvXXLNkIU9t8rflHM2ueMd9vnJP9jO3tfvSB7kd\u002B2QEGuYFh2JGW7HuN0h0ckpxoFreYW8WxFd75zqXOFV4iSy5HkQPf6\u002Bh34HrHdAd29ODVRpkggH2zmJdLGcktVUorJCJF1no7vHihd613v/eol3jdTBKxlvwYt6NOIIlhT30vymcGqN\u002BgOZ/JhKfaUAU0AdZdW2Wroo1pOqDNog/b0m6tqlEtVre4rQkbtPAe1EktesL1Da0t8y4dO2ZmBUnuuL6h5uth4/aZ/wAZK8Ge3SBjOX7OOMJ7\u002BISY0jxaYqd3p39H6v5ySfA3\u002BrH3SbXX\u002BVLs08RZ9UycL1PnqIvU\u002B5Ud3kfivQ5hXMIobkguiV\u002Bb3ODd4F8fv7NYGpmcyDcqU9TprsbY\u002BLgQL04lRzpqYnTduKZY4GXOI8VCasoRj8cTQnHcGPJDxxr/zYGbylaVbwysK98duL/8ifgTCbUd3avdE9pV/uvyA0N4LRY0Ygk9aOQX6UVB9AnAwmox1lxybwkuMUIFeklkiFVehqjbPARVDkEVQ9CQwlilG7mrgRrmIrPd8SXX23mJVjbD6TU9VOXnINpaqxu5CGJ10tE4fIrJLX7X8AjxKIiS8RGxxths1KJdi5ZpZ5CMNEwisTgu9akOXBpZSBBpLFWaIyjS6BMAV8IvXZoaeGXa8uhS/e\u002B7S8v1WI89xq1SRjE9PtZdVGwfhyPWsZEHO9eraES8Mb5T3RZ/If5WnI/FHSohESrHQWA\u002BTDXlQN3a0HqUIwnWcbxEt6oTBZD7GGTXJ0grakenEcsgt1WtINaVviBciZAxlSFoITlNMBUhaMBHB6s1Az5XM\u002BBDNaNmpK7R1SvNKCmDDXyuSyuyFoqINidiQPR2RVBzpD\u002BCc8JbBQvrH\u002B18y7TRHriV9qGtjFyFwUbdbfAvY3crFfe/YkiKt95VChvQwxeH1FqH31FLd7sctGbx\u002BeNKLZNrOWlhBvp6af9\u002BKpkqtqoPNPtdWHygfeh0MakSRbw3XnPDyBJ/YLL52OW3ffDpB2\u002BVmt94Fs5fXhnNT6JnW\u002BZ/9eX7WVSRnjmnNL8iGvB7mi6Zu\u002Bvup366efgl44uCicJA/uIpTevve\u002BMAQ//LtZN4K/cA5ITXjLIoE0UJucw12jnF2eISwgEmxAYDjOb1\u002BZHmxX4UYiVBFhwhqm4Xo3VqBzS2FYYjGqsBjekKIBoyu5kAfW4L\u002BL9DkSrkCoapQAutNmxilIbYpOadE6j3d/j3\u002B9lWf7t/i/\u002Bo/7SfY/xuP228Jv5wZE3nAJhoOjAS4sQYiBO9jL//CC1gnLPrF\u002B6vLBZ0ynreCy49Ttukq3MsKIOA8vgtnWpUabSg40nUVNeUePAtR5RUfmpK6OofX3ZLrSLdfjuKkOQxc/Yd6fy8D8qrZ0wcfj96/dibD5qbQD8/gSgziyQBH\u002BwxtHmeJZ7tHCvxYb4O13macJPnBBYs5uMhSpCRA34geMDykoEAQwOkM2ihBJsK/j9QgiQOwgMRnRaR\u002BL8TIDvF/A90kLGXRJIgZMwWe8QIustOG/30suv3XYbCRTPrJ60sR\u002BGOOVdfuW877jRDxxaNmb7qODoClALkVAAHLQA5FZRnBLjSSIUu0A1PNyLdAMF4rxtGi8xEI6P13QTxrCKKskMBxoa9bESKyHFmqPKS4gDfPm0EC6K6zHCKnwkrJUy5ojOjlQ2MZIekJ2SkOqzPUiRNJ4iREM/IdHUcpjFtlXjzDK/CyESRJQljxMO\u002BVEtX14xQfqmuqEVqpWqoRNW0iFuul6dbbQeVhkJwrULqyXTCkj5cCQCt3XA5ahgUpc8DoLDjhc5c2SIdmnoqA5kqE55mPZpHj\u002B3OaqvzEMEtWK6dpk8w2K1hMRTzaXQp1wcE5LA5G6VeHq3xTverKGaC9rJ/PjgxOHQoLrR16gCdtlo63WlsLhVeJnin0Is\u002BQm8Lp1VOFCIkxJfyI5lR4iTUgn6MVglyEqWFEWi00IimCDuVs/xZQSohSaFc1sloeQKZJj9PxMvk2aRFvpbcIK9Bt8rbyHahT36bfCSfk1WWCEDRgiRKyuVqUi83EilAwvJoeZp8vfwIOUxekc8QSYDJ6faG6Ey\u002B1x3QrCqMEXB4dERkgTDYGkSrXgTvHCobqvdbDWfHDFewWGeT52tIubdPK4juGhq8rSQvqCvxuboSvqGLr5YoP1TERdPVDvWYyqosPY2rFXrae9pe0rIf31t0fo7arNbE8NTBJsWLS0vptoHqkr1nNy3SzWCZCQgkFdAmklZdifaHtbWtpMWlldXAI310MmMs60Brza1o3lMvoinmTrTJfOS9D3ACs\u002BZHqNiUsn9Ak83DdFad5gwyE2bVh/QnvKUc8lHRQw6XLgZVly7QDU83XBDOYWqvReAtQAOJqjh5N2Z8PPFhwrK06ulrhSTfg/aDqbvUCmcpEw1UBloDLF0EsbJgUrfWRrz5hXqAVn1rWSMU1mnvWQ9KGRK2jjDC9MiLahkjf4SeK9D5X8hF0bRd\u002BKQWn7VMHbS1cqr7q\u002BOAxzMVtr2jgSej6MOftYLTTRfrc1afaTrghiA8GoJwF3Ezff0wW/2nH2fdaBR9As1KeRwtw6ueep/bF4aNN1TPUTODAzp2wXGuudJn6Vtwsol4KmUtVztR2jyLEuamCSUT5q1tnjEtPL7m6ivD4E5O/M9zuDdz9di45yP1hy1Mfz\u002Bzip2LHuIOsQLjAu96gJGs//G3DG518KlQmBuWmWQkKLXPsXy2FQZcZJF8FmLJ/y/FtztKKMW3ll7gG14jr6A/cW/CN6SNMMvgdggszBZQ998Rw\u002BL3EbOfvPZo7olkqt62OqpJup7zGvLD38rmGfqEE34Xfcn9JwS85sMSgzDhGEQfz01I5Pj/Ye9LwNq6zkTPufdqX5CExCrgCoTEIpBALAbbIGzAYLMZMHgjtkACZGNEhDC243hJ7Gx1XMdJYydNkybtc/c02zSOkzZpSzuZpnYybZy4nWxt3UzTGSdNX9t0GnM9/zn3SgjbycvrezPf9Cs\u002BlvSfe7Z/P/\u002B5956D7NdqFWY2Y4zPqrvoY/0MrWwz93mIa9I17V\u002BTXpEx0Bfj6GvdfyDRNt1vSNfReXTXJfgoL37vO9fs2NRelXYv8yqDG2yfzVxSVEtux0B2B4yejb7iM3Bp5vQKTvFP1nNW9lAWzqZzVAZfsTy7J3som81OJRsms9F5THTsOp/HnORTayuSbtKeN\u002BPNKqw6m5qKks4a7AzuQtLTz1F\u002BL/NNhmEac76wFVjxNtlGRuZrcsPnAtmVd76YrJLiSA8Ux3aPgevQWJ\u002B2MlYzQ/f0wEeMroqxxUafocW25jnJO2HSFkdIzI7ZBzX9xyKpOeVeb7n820lLuo5\u002B6s7S8oxttens1P1rbppel\u002BVw5rvKlhmmqlbs66/yV2T0laQRiRYwLzD7gRvF6DFfgSIPr8juzx7OZvNyFHl6DcLAn1SMzeFUnJpq5s4Xms9b9S\u002BAu3vuidpKjaaQ8KTEirV2nS4tnINzzhrtmxVYcTbseNHB7HMccTBdjkccDO/wOBjHwZLUs2knmbt8OnwW\u002BSzZFeiga8tuoi3F5HbYn8g9rtmBP1wYMNW4iXHWuIvp3nFjjTsCn/i\u002BRRx742kguXr\u002BxsUr2KOQNr9AcFBwUlnrLltSU5q9NLVicXpRYWG58rH0srYDu\u002B\u002BwWD3Lm75867572cfM1ZVLPMWLko7i1LyUrPySyowRV\u002BPuLgdfkpU2ULfpzj3k2fopnI/vZirBCtK\u002BjVh2HJabCvhEHpVht\u002BEPiL69R95DvFuww3yXjw1iG\u002B7t/3Mb7u2/vCxzzbXB6BOMg4RTuHmujfITtFGiD04pY22exvmGT9DGgN572tBE2xjQMFrPbeA6EPFEqSgHOZEbVaN6tAJ1on60CY2gMJoG\u002B33eNzQ61tXbu3Htjt2LlkxEC1ybA/a2Fq2y0cchJSQrb1/isttdS9i11gqP2WBIs3as3B6JDA43L9uzq6p8fIsppbuPkdfW9UHKvWZ9dsb6XVvWr9\u002Byix3OVeuLSksducPI/cbpGvfpl06Tyc/tdhteOm04bawB0HCagIkfWg\u002B7xV/DGbH\u002BZZWvqA8cMOflkr\u002BW4JR\u002Bk6XfVOk3Vq64LH/57\u002BXll\u002BfzL\u002Bs/Nh77sqeiwnMX\u002BfrAW\u002BYtsxNIqC6Hf9/wlpV5mW7yPZtBLjA3xuvOPuypKC\u002BnlfHzpEzYSL4/IJXvIhB7N3x5ICe86vWWvQkZfAyAPtLZdfCFv13urpxtAegzHk8Fw0uVBAUAvyHNflbhqSgFYO6Pi9B/ZQgxwltoC\u002BbZrVRLMnxa7qwWnVWqz8v15xnkvvDaBey\u002B8AbRLoONN8KHrcjLtZiBF7zwlvAWxKz898nL3vjfhL2w9N0v7Hv/9\u002B9Dr8\u002Bh7bgJeiV7hxt9joAOO3XVOkYn0zgUVQpGATEzPstpQlqs1ShhvaI5z8Gq2f36zGz5DJH0AHbPzM6cBg8L0h0g2wfzLHmV4h5dW6UCN219DEKgPfdtFX71JFYePXo7fkUo/cUvEBZeAno87DXIijb6KhyZVZmMMSX1bLLJpDyr0sGq56xOqTIZVZA0zybhpPOpvvSu9EfS2fR0Tcr5ZMCDUk329nkvDFCVM8KYwIVyt\u002BEN\u002BPJeKAfXNoDphlZYC1eDe6usEDe7Wuhm19QU7BlYe/2OzrVJ39EFwlPNVfduwD8WfmD0lE51rMY7r2trqVxyrWFk346qZHzX/f1JjS3AsXOAdy5wLBlloV5feZr8rMGsOasFaZg12pTzJoPpWe2L2je1LDLhI6bPm94y/c7EaU1ak956ntOfVwLer1FPDBgPXDtg9AJM0Pa6Lxheu0AeTBKMiQxh2U7uYBFUFVSa5Ok0zl3TMS28hOuCtyU9oW4Z1VWt/49/CA6lZVVeg0M7mhvwdfimYH9S78u\u002BPx/ev6ioDDh9Du3ATnYzrCKsPq0Kyc8ijQypzsMXYFKD3T8\u002BA9jAuORtEkueqbraVmnDzp29fSdlZ3jhHqaTeTv41YfvTcVlf3B8DmbljZf\u002BlVvBLQUO5CCPL1N2jk/1pPpg4Z5qyzrHJ3mSmCTzCbUu4wQ6yT5M79Ri98AF8kIM0U\u002B6kVLP5OWWMpUVdUxy7A6lxZzCrN7zzJ66Zfue3nn9M9fXL9v79M7Ja8Pbr41cyy1ddfjMgRtfPLxq1eEXbzxw5vCqi58\u002B8eBDJ0489OAJYiv1YCDf5xYBhYVPIS05jlWjJK/xMFqFUqkFLB7FWlgRet2gsYDLj72AiM1m1LMQ30B4w3xf\u002BNfCzr7Bxfe\u002BWv0ay9oqiuzGS0U7WqDnFogNbVw9sqNVPlthJk5Lw045NlmSk1XnDNl8NpOd7bCfQ8iC7Hab6STz4BMWre0EFyMc1BNkC6Kl1Je7CZ/BCpPppEoZIVfAdFBRJ5em22tzJw/\u002BYNuJiUUlKzePjKxt0DH\u002Bi87aTbv27NpUu2rlumEj88Nn1gZL\u002B3a0Lh/pWuxxOAszhA9H7t\u002BxrrG6YpHdV9m9mcS2dcIwp\u002BXqsQKlXHpf2AtLZZRJUaok97PLhOtgUeulNr/0MZVSTk6b1Vt0WK7DOlbDYa1cdpL9xmMaVk5OsgAPAMybOQ0WXw8Rg9s7c7p8YGD2NHmbbP5u/FsTduML1\u002BGDf2KXXpz5QLiO2Y2/LvRSvEJcGlcAeKVd\u002BpVwA8FLDyMRvKCU6JVb9hws39NlCKkexyhJB0W0zCfs4zDngJYZl94R9pGWeK5l7BQWciocyS8GMp\u002BlefM9JL8EpGiheYsqVt9O8yk0Xw7lXTSfqiX5LrqL/QTk0/5I8oP0HAFSnq4h\u002BVX0vBFSnvEHwtGuS6/LhiCW96DlqNNXbDSbDRresXx5dpPHiVCNMyk7BzQFeRx5JWUVFcV1JeZ0lVFZXCJjiZbUe4l6eGfLz5QTQwFtMZL8hXIveU8huY4VH0Sbs5lUm8PhJAse0XbIfoZSyOkZBXkXTM9aoI63vI6p3GtZe\u002BfLd\u002B4/c0c7k8TnCP\u002BoNyjtayOf8Qe/urup5sC5B3Y\u002BUo/Ni8fWNwZXVZqY1e3PjawerDLmLe0tbz881sDlbP3C\u002BKLK6MkDQmTn44eurS5tczibq/jabff5Bz\u002B3vSc9mTeujq7MS63a2CT8IrXUpPfUtThKW8oyctv3DEg7Q/YDP6zIga7xLVXkp\u002BYzSj6NZxRpqWmME6IbBjmtVrOTzz5CTKjAkuX0KHGSMoccdmvNzrdYuNwSLZtRwqlidnSBcgeMiJoSMGmAmhLxWuQFDqMhn5gUZ7HYUlKIo6zG5LU5whxZX9mJ\u002B34pnHzyK7jm6JmJp45ubc67aFR5izc/8E7bbJB5LGPjwN4VU\u002BuX4jt\u002BEg69eQavxmdmNtaM3vHoC9tW9B/2Rn6Bj84MDLgG4jtZ24G2LFTpy3KocBaPsT7HYNDyvN6jZ/RGRUkKm8RgHTGa\u002BvoLXixaPqB9QTrMpqKUIXiJT9\u002BoeEE724VzJe2hJRuvb88VzmFTTvfWg93V0fDgqmJ2T/BgB79k651rLz4jO/WTqv6lNnNZ93VfmxCxUd4P2FSg5T47YJNZwWMnX4gJPnrADLtLMnlewqmQnLhcP0Ox8oKCAWavkemSzEflH4kbkyqhaJwrlZUK54pa/dXrdq3kCbbZXaP72z3jWwfz89ZFDq1ZvDO8eUWhcK64NVDTvb3NfhUKLJUbV1StrZMoubherFK56eBqsrP20m9ky2VPA4\u002B9PmuBCqjR81ptDsPzWZ4sJouQozIodZhJYDHhr9dNqEi2GWN2QKiopAbDVR7CBTEG4wLh3QQGy56\u002BeEMMQbbxL00/TWAxYEO8yb/QtyTyfSasVMsZjlerZflKpYbLJzjMzsB/7J59fcbwOnjF5EobOESvxVbpNS5mPv/MM7ObnyGvwF\u002Bs/OAD9gUk7dh9AHpUo2t9DZ9T4jElVquRUqHkVWqzSqUOYayGxbyagXWw2kz\u002BOHSZar\u002BKUam0CuAB54EVvIJhwXOTlwxEkc7MmGrI3DY7Y/RCSOS\u002BudiAvnuzjGxsGbg5zVB8s/J6gAbIvEd3dpE3H2QPCDfMPiD8DDuZbrxnNsqcnvXKTs2OMPfMtsXe3ePqwKc60UpfZlMmOBnOkc2yfLYn2wcr\u002BuxCs80DsVn6SSb6pEKtkalZeR554MlAlFpfDp6t3huf\u002B71uA5UPOZKqkoiF3GcW/RgbE5ekXoyZvHAnfLjsmxs2PLSzuWnHF5fZfX1ez5r6fHt9X3n5Gp\u002Bdq7tr94c/v2/DurZPv3TgljOfap7998AtvfbCnuu6B27sdhR0ThM\u002B3wB\u002BepTyOexrmFIfVDNrY5x2iJyW2OygbK4mYTdlsgNxhM0sB54V2CyHAlYtmk4in4HTc3z\u002BKC5zo8IXhKPCr3EmbsP9whB\u002BSfDITl18DuZEckbNDZfeZqbpbqtin1GjRo4yMxafYLBmNXn48YRGp4FFAOEl9YCzZ8izT6MZvBy960UeSzhL2Uoj/iwnUzpKjAVpztG2aLuzLEsD42iX9evSsjnZ/85wpy0euG2EoweHJ4FO\u002B2SloNMlPgODNQ6lgpd5ZI/IWJmMIa9Ta9RKOUduo5\u002BeIbo9AD90xhdfAKskN7MY36eEtw8dog89Lp5im9/CSuHP0Pdtwmr6pKMCdfislXwTzzgcdpXKbrdUVSBbWVmag9ybZCwsURtXUn6qHFVkEbVR6WFALzh6sOoL0lTopXMh6A5ojowQDGoiWjTjFB9SpIpXq\u002BlzinhkWVGNv6LqX1\u002B/riYjq2NjsKLS31Of7MDpSUk99fZlVQUaC053X/udw3v/YbIKjzR4s\u002BqGmu8savSkp5UuK\u002B6/i7lRqHzL66215Jdn1f4af\u002BHiimNn9i4q79/RrDCqpRg4C6SWDbFDu68UncvWn7MXZGPe7rEz2fZse0WKHCvkWF56jk/zpDFphSfkKhXKOZGsI39mQIwMKY0QS5noWmCA3KABDsM8rqiKhYfxOLm6mk2wEDLRs/fu7tyxsTHDPbF49P4tVQ27vrFt6sk9yyqG7x7cKC9ZVZWTU73KVdZZk2Or7ZSd2rP6QGTInZPbuu/hwPCj\u002B1euuv2FfcFXzp0b3vShztE0VOe7pi7bVre\u002BpmF4hUOKoMDnMXLdLhpRSVoK\u002BX00L70NxchRG5L\u002B\u002BiX3EhcBu7egwz6fQo1ZvU4LQSjnIHtx5DKZfK38FjlTK18pZwqBLwomyUCCRjA9hRmaoX4FVliMWjZJIdeTB2FPMCzLySFqfYKcQUiNj8SfZLlpmCGnC7oHysHLEcPTz8hmZozYC\u002BGA0ZuWeJHuRrI5bQobtrHAV4UNLMXJvSQ83yoUNAsv4jew4haZRp\u002BctArndCYl6zXyJ5/kIsIZa3FJpeOfX82vLC7KIKdIHgf6jgB9epSBvLDu451JuTalssjGp3hSfClHyJYubyVOcvBej5fxOokNPZ6UpKdvtXjV\u002BlNMFGWSeBWCGTJTSS4kFsvQ9ZeFHsonbhxz5LEW6XwZCGIwWQuSu28Q6Uk/EO/Z8Mnd9b0m12J3SfJgR\u002BjpHTbHok7XcaGBkU18trKqKbVosT0ULmrb0pB1W1ioZw/9iGHkVU6nV8YwQufv5colrm6rnjmWlmff3upc1VBhyLljqC7cX61gOQx2vPHSu9x\u002B7iCyofU\u002Bl8FmNCLbIzbcYFttu8P2oI0Tj0Gx5aXbyCEjELfZDNTlZZufAWJ1sNzIZqKPshopgIsv0MXpYIDSTVadXEzFveXSJjlRvwk3uP01wqWZXT86unr1Z17a\u002BzRmyoQ3MsKdizY1ORyNA1UdUzye\u002BsfnVh975cChN\u002B5d/eiTpRvb8roObA7e2mMPbCN6SeR2J8iNnIZd7UtV2Xirx\u002BqzHrFyVqsj2cGbPCbGRN80N6mTiZCQJKSEJWsy4X42S\u002B4Qg\u002BOhZ7ZQd1NBXJAj7zieaYk6u/f2lWxoy2zZNL1ScGP\u002BaOtADa9NSS1pKErd0MRF1JrUwU8/te3Yay0ZRTlG9tbZzca8KvvyvWunVjpUMpm4l56rBUw1xGsqFGqWje2BhnUa\u002BHVEn2mxiLxD9rhSiTjCZQzYqoDL5IGnFCbPKZYXGO6WTmaR0nH20OxdTMPss8wNXOSd59754B1xZPY8jKxCLb4cMBG2jGXo\u002BQmAggZGLos9UmPJE7joE\u002BTRIHdKGh2GFQeNjTowb0zjcbZt9mX8pmCD8V76rVAmUbqLUurzpcodHPhFHat20Fv\u002BRkQfv9CpQaVilBo1TEdkmBky8YoDSSPNXJh/UMtxzOOH6O2ua8CCe/HXPzyMXxfykDgiPgkjsijDp2LEkRDplzKuHlMxe8U\u002BuMiHh6U23O8oljf6VigVnErhkMvMcrlMKeNUnEwFsRDDchCUsUCBmVPZuDKOQZwBYjNOp3KUaTDSwCpQw2pUDMwEajXHiivWhGBt4AIJ1kgMgb97MzkZBZxYmttUY7j\u002BZm5GP3OzDEIK8iYr0cH4q6o2QugP8AahAp8XTggn7xbeAnor8QtC1exa/G93C1\u002BTZPofgL0MVinpmzncwK3mGDFy5BRsjAOnAB82rj5zpikx1kI2/zdwkYvT70gckREfmI5u8HWmWKosTA0Hkz/WcijdopMnaRSOnXK8RY6XyNvkTIkcW8HPq9WZ25NxMBl7k5cnM7nJOBn\u002B68FPGj1Gxphu4TR6mUGeDJx5QqdVGSQ/P2OiDv5CeTk9ooKEABS44KWbfcl9xjq2mpxaZ8zDkAi2ydlsKpvGKdR6zUl8VPgLdwn9SrjECX/BR0\u002Bp9WqlDG/KLPFU5zP1Hx5mKy\u002B\u002BQD5cZPbb9mp3SXpM4lEq8T5f5S4lXqXESmUaeDaFg72DA83wAfdU2xncyEDQmGgW7BWaKkoXsC8nFnHBG2MqpowFhI9jA36KxQbht0I7C2i0Mk9\u002BeJj5\u002BmwvotHFu9y74HlJ5N3jK1mU35LPVNtW2JhFphYT08riWharbash3EiIxKWHtcSXJWnyiH3KLrv9RrScsjGZetu5ACP/sgB84\u002Bpj526\u002B6Wf39PTc8\u002BqBm392Tzd2lnRsqasLtbuKVm311W9tdzHe218/3tV9z89vufVnx1avPvbq7esO9BcX9x/csO7GNYUFfQdi3tcHHDWjXFifWtU2g5UH38tarciekpzIQfIO8hMmk1lt\u002BUjHIpqo5IrpDCieczA3ZR7Hd4SO15R11/LeriGP67rO3UMHCh3FS93mriVcRGE21fUOL1qzZ51XrVIIAfaQ8CeDwecoa1SyXAzbC4Atj9xom8\u002BdarE4zCaz2WQw5ZjNaht2Gp2M04nK3Dmi/WBkhFapJnOOISmJvD39ZE5OqdnCq0sTaJihbgsmPqOkFDFqyt3k8IFiat2ELlhnS1O7hZ44AARBrJKXZ0xOjAryLMcZzn\u002Brf5k1M9OyNLy\u002BOuQ9JXz1C97uDH0m78xIPrKiL8NV6C029Dbcw0WScqsLCq7xlmzub03lLIF24dd/7lhnUKpkjFDDfInlFHUFrkVyhvklPZHgAucEnatGt/paI07szC2xKTNtVut9erxFj9fpsR4pDUpe6VNySmVyDbJVV\u002BfaxHP4qgkrbOTviOtZfUVOZqkVW63OHGca8eOPVWhyCEPS4vdExdlJfAIJQMJNrwFi3OROONQiRi4F/JR2\u002Bl\u002BME2Lnw5EwITUlHhqRZ5NOHEjbtragpYov8pjXt2w44ojWRr409vK7RuFNY29nV7\u002Blon9Z376ivpGc2jVVoc\u002B\u002B\u002BUcbvv2aTfqcslxYyypSjCmL\u002BcFDjTvWeU98U9vg8xQlZ2WkJ5kLLa7j28o2rWlMKfruD4FbheBff0/jXYcv6UUOc3JHmBydpVDLMSGWJdKfnQGfemZg9vQAPUFc3BO/R/ga\u002B0/C19lb33nn4jT0dARsfSP0lI88vuRkh8HghAkq35PP4HxjPpOvJNN9lsYozR3UmMWbHXRSkFaB9F6gtP5RxFZHjsojmGc5zWh3ybLiNE4mw7wyJT8ra8XGyIpdXx5fmqTRguO5d9kGc80KU05BasYGHxOZ/Xrg4KbG3GxPrqlklb/Cc3Qt2XYHlnEQcDSCXXh1GrVKp9I41CqzGhbQLSqsMnJyBWiF3EHO9lEqjQ9ALK9APMT3SKWBuY/cTVaq1NQ3EoOApdeAF2Y6CNfn1s8kgKfRe\u002BxCzMlj8rIUOHdmtUylM\u002Bmfx2VCo/Ch0IyrX9Sb9MDwcRqtM5UfHgZ6fiDF7BhiPsTdTv35Fl\u002BdWq5hVAq5hti6jBz4JGNUMo08/paRHHy4yqFkzUrWQPw\u002B0pG92SqkUctlDCtN3BR9cj\u002Bf6urN9EUhgrIhticdTDnhPSATPi7cjle88hJuEg4B/Oh77zFdTK7wGO6YfXX2SRwSjhE8lYDnZwFPJawrCujucQfZPa6Qkx0/LIM5ckg8NoN6kWcaWIEkjMTgZSYWTLyecMsnzTALWTF0iG/3xs8JLbgZKzGDlwP33mDuEtbhL81uEexkRUdjJIhpHDpym1OOfv6TMpTiU8PaS4EZH8bcU\u002Bw36esxxZVQu/LS75gp5n2s0C3Cay7dRO/WM5rY3foN0MN7zB9ZBXoPodlCpHgMEVxpGUy1zA5a9rtYGRMrK4Be9zPvQ9n7UJZPygo1UhlIkznG/BFGXIK7L91GRyT3ZMQRc6HlDcx5KF0KpTeRllysJcF1L8W1Dg9IuHJxXL3Q7w3Mb6C0Hm\u002B4dAtpKY/hU8m8wOyV/VhsyfhpSyUba0lKp2gp8EAqlcdLTcwPmGOyUyK\u002BTCctVTBxfJkfMjfQUsCX2UhGTWakUb3MT6QywIhZT8o0tAz\u002BVUnpdvT6lQlbIFVA\u002Bhb\u002BgPkRu51juWdkfbInrpbkowqZYhek5xXPK8uV25XbVRtUt6of1zymrdLer71f16Xfp39B/0LSaNKowWF4cH4yftnkMM0kLzEvM3/P/D3LMsudljtTClM2pdakPpzmSPti2hfTUzKeymzN/LZ1xDqS1Z1t/BtM/P9TWh1P0U\u002BcHs\u002BpzXl5IS2khfR3mt79r0i8ciEtpP\u002BBKZdfwvctpIW0kBbSQlpIC2khLaSFtJAW0kL6JMnmX0j/Y1NoIS2kv\u002Bl0l5T\u002BObck96bch/8/pA/y7Hl78w7nvZD387zf5H1A0yW7wp5kT7Xn2J12t72apmfzS/Kj\u002BW86HI5Ox0OOh5wspDXOI5C\u002BU\u002BAp\u002BDykLxc8UnCysKDwoSKuaF3R3UVnis4UK4ptkPYVf9WV4drk\u002Bn5JBqR7Sj2la0q/5GYg9bnv\u002BW9Pj/zdpmfdp93/4n7H/WeP3GPx5NFUDqnhbzJ1ea7xjC2khbSQFtJC\u002BvtNCKEe9reI7Ashm18y6CENBCYnumZIMIOUzH0SzKI6Zo8Ec8jMHJFgGUpjnpFgOcAvS7ACBeL9KJGH\u002BYsEq9BtMrUE6/Sc7K7YORFYl3xcgjGSmf\u002BXBDOIM/9aglmUY35FgjmkNr8pwTKkNf9RguVIa8ESrEBl8X6UKC35AQlWoSaLToJ1CsbSDT1jjoWx9NbNEsyhDGsvhWVwXW3dJcEcSrGOU1gO1\u002BXWIxLMIZP1AIUVhG/WhyQYeGW9m8JKuK61fkuCOZRm/SqFVUBkNvPvEizyX4RF/ouwyH8RFvkvwiL/RVjkvwgr0KD1exIs8l\u002BERf6LsE5vzrJTmOwH0xc3SjDQXryIwhq4biq\u002BRoI5lF0s8kpLcCveLcGAT/EEhfVw3VB8rwRzyFp8mMIG2s9uCSb9iPWTCQ\u002BLvyXBwMNikSdmis/zEkzwEWm0wHVz8S8lmEN88SsUTiH1XYwEk/p/onA6qe\u002BySjDUdxkonElk6loiwSBTl4fCWVSmD0kwkakouxxav1uCSf1mCtuJTF2jEgwydW2kcBHhj2ufBAN/XFEKl9B\u002B7pJg0s8tBFYm8F\u002BZwH9lAl3KBLq0CfW1CfW1CXLRxuTyFcSjcuRBZagaoF40ioLw247CaBw\u002BUbQTTdAryyEXAZh8\u002B\u002BF6iNYohZIGNAaJR91wbQTaR9EkzQXhNwi1t8N3gNbUQWqB3CBcDaJpuNJJex\u002BHcWPjtEHvO6HvKeiHh37D0GcIDQE8BPAElEXi4/Bx7D3IC5AjnqtGLoqDH3qYgLo8jOuHcUgfQ2irVHcl5EbhKimdAhwn4zQRPoQoHWMfic8w5QWPlkF\u002BEErIVT/lxHwaxX7CEqU8HWUKSocovSQ3DH1PQ9sIvTIFtQKUczxcj8mjFXAi3AnRduOUt4tp\u002ByCtEUTbYEzC6QD95iWMYnV5en0SrhD\u002BTcQlOEcHKY8CFiFoOQlcaKA1RYpiVPgpTkQDAnREgvNWSt3wX6U9l9esnTfqMigZo7QUQM0QxT0c51gh6qNcmoxTUg09Ek2e66Mk3kc7YPffq\u002Btq\u002BlnQ978Vfb9SD\u002Bak1Eg1YRrqjgM/iByHIYUkmkoo78OAT4iO0EFLRqnm\u002BaFvIpsuqkkRWhKidtQD33O0E56VoRq0iOy3vkLXCd1TgMsEpVKkd5jiG6XyW0d5zFOL3El5KvIgGpdrrDa5FqbaRbhPcApS/AK03oQkfxe19XE6zgTFWmw7JPUSlPJ\u002B2vcEpWAb1IrSMtJqkOIRk\u002BflsolKLURNiVxxZThOgyuen9ONK7kzQfMBaDMEeZekJ8QexXFd8XEup0CU2DTl0xC1nKvxbFqiNERtaoxaT8zSL\u002Bc9aTNGoQKoXzhPV6/eu4jDX8vbREuI6WeE6n5M32K6fzUKYqNfidfiBB0glIi0ROl4Md8Yodazk\u002BoPOcNvnHoM/0dSKuqef55WiZYflr5FqkSY\u002BKAJyRMRbGPSjPVDahJ/93E6KnrtcUkyc73HLCQkcTlCfWOI2nBUki2JV2KzxDC15jFKZYzL87XaRSXjp3BA0oMrPdrlllBAPTuhsxa5IQWpRyZjbKV\u002BK0il6odrhEMjUCNW5pb63HSZlyyUrHfOW0zGORbD5v9mHvqEfp\u002B3XtZHW6wPPiuuzVvgmiinmNYE6Zw5Js0Xc9r9cXNZTCs/ej4jkuuKW85kQowgylvUgqA01gjV5XFJ7i5Kc0SaZ0TfQzyDn/JflHNMj0W9mpA8uDgCmQfEeWU8ril\u002BNDefX\u002B7P/gtkEeeQn9IeluacmP8I0CtTwBvRRuZiHJ7OamOSzhTEcPxo2SIyj82b0UHahQk8CtBZZmyen7mSxo/pj3rfEG0Xq3117\u002Ba6zLvFeH95a8I10Z8m0h3Day7amrOauZkoJkMX9fdhOspwPB9M0BDit0QJTUJvczOsiPUgxSUozVRTcVkm\u002BhJRhm5J4pPUSsbiOMTser4ufXKuJs7wIpWJM818nZ7jxDTl47a/Uo6x2YBEg\u002BMSZ4IJGAToNxlzji9boMZQwtwR/Rh/LHr\u002BAKUgNuPVzvPifugxTD3O1eNrMf6LzTJz/InNZHM8SvQp81tNUl8hympQovvqc67/IyQaiVM/SbV0nPYuWpE48ybO6H\u002BtBsTmtxbUREs7UTPk\u002BmG27KZXWuEaiVu7oaQPco1wtRGuOKFGj1TupJLqp/NQC9RbQ\u002Bc4sY9u\u002BO6A/Drq45oRT/Mktwrqd0BfpG0TWkvHaILeemjNbtp3O1xtg98mqR5psRyurIE8gVdQLyiO1wGtxNVCqzQnipj2wnU\u002BTuF8rFrpiDHM2iHXDf23SKUN0Hcr7Y/gT8ZvpnBHHM9mCdMGyiPSM\u002BlzOWDURnPk6hr47YJ6PXT8BkqziG0HpaEZykVamigGZORSiVaxHuFPn1RCZETwa4M0R1UD5UELxWaOf8vhtwswJ/2vgNJeOkN0QstGSmkP5V6TxDNCbRvNzVElSmo5pYZwlfCgEeB2\u002BKyI866bfou4dCf0Np93/bR8rpZIX4P0vZxyrpPmRGksp7leKitS6pJk2U3puHzUfqqJTbRWA6W4J64hzVR7Rexj2imO0ZmAiTgekW0iLjGt5j/GRsReYuVrJElfyRfC9QbKE4JXT3zkj\u002Bq59Ct8uaesmu8dDfLt4fFwdOdEkF8ejkyEI/5oKDxeyjeMjfHdoZHR6CTfHZwMRrYHA6W8TtcSHIwEp/nOieB4L2nT5t8ZnoryY\u002BGR0BA/FJ7YGSFteNK9x8s7yE\u002B1i\u002B/2j02M8i3\u002B8aHw0Fa4ujI8Os63TAUmyUi9o6FJfiyxn\u002BFwhF8WGhwLDfnHeGlEqBOGQfnJ8FRkKAg/w9FpfyTIT40HghE\u002BSuho7eXbQkPB8cngYn4yGOSD2waDgUAwwI\u002BJV/lAcHIoEpogBNIxAsGoPzQ2WdoQCcFAMIKfj0b8geA2f2QrHx7\u002BaO7ELtaKLZeFxwJ8QXtoKBImeBX2BSOTZIzqUk8ZrVFCarT3xvuirGuM\u002BKdD4yN85/Aw4MeX8N3hwdA43xEaGg2P\u002BSddfJc/GgkNhfx8j59SOcmX1Swqjw/DT05NTIyFgL7h8Hi0lF8XnuK3\u002BXfyU0BplPCUXOajYX4oEvRHgy4\u002BEJqcAD67eP94gJ\u002BIhKB0CKoE4dc/yU8EI9tC0Sh0N7iT8jPGtSgUAPMjMWCYjOAiv5TrcXQmIuHA1FDUxRNtgbYu0iY2ABA2PQqUJWA2DYOGxofGpgJEtWLYh8fHdvIFoUJRegnVoYePw1YUNuFnJDhJ\u002BEYENTcAaR7vazHlQEEIRokGtxGpRkIwaiA8PT4W9gfmc88vsgqUDMgJw1DwPRWdAGUNBAmZpM5ocGxiPkfBgMZ3StWJQKBD4M9oaDAEOJfqdES1hsNjY2GqAhKrXfygfxJwDY/HFTomhILRaHSi1u0OjpdOh7aGJoKBkL80HBlxk5wbam6SVL8QxEvVYpIgRrq5uq1ezcZ\u002BItVoIzV\u002BSti8JQw0EdYEtwfHwP4ou\u002BdbM2HlPHvW6bqIcCapCQDdwIIgtBqJ\u002BIEzARc/HAHbBO0ZGvVHRoBmwmPgFUgUmvPhQbDJccIUP/UnMT375FQQhPyTk2GwHKIfgfDQ1DaQiF80\u002B9AYcKaA9DiPWr5Hcig/LaQYBYLEI4hyuGo9fjoUHSWXE9TNJakbwT5WPBYCPRXHJn1FRJcKI1AjIhS6\u002BG3hQGiY/AYpQyamgKDJUWqw0PXgFDHeSXJR0hKg0A2ETwbBR0MPRNYSl66KqmjwMKRoNBKnKRLTo\u002BFtH0MjMYOpyDggE6QdBMLgeCkuW4JD0ZiCzekxKH8gRA2vVlRx/2B4ezBhXgD/R0yG4kOMbGJOU6SiyVE/UDUYnGe5/gRCI2T4ySgoE3G9YLyioX8cA4i9tTTxPZ3Nvf0N3U18aw/f1d3Z19rY1Mg7G3og73Tx/a29LZ1renmo0d3Q0buO72zmGzrW8ataOxpdfNParu6mnh6\u002Bs5tvbe9qa22Ca60dy9vWNLZ2rOCXQbuOTph\u002BWsESodPeTp4MKHXV2tRDOmtv\u002Bs92rjwe6nWNz2bPTpYMg1DZfmNNEYOxL8MMooWx78IgUWamCEepULaEZCmpZKlUQoRCKGuHypZK0iGicn8zVHTq3j/uPZ9z7/1kzPzmed73fd79\u002B3u\u002Bzzsz1npGoIjRNTYzJtjLoQyMCRY0mwagUQwKh7EmGOvZmGGsUTgba5wlHgtWrw\u002BatTC2MLAGa8GaYy0ICmCtoA6FtQUFFN4IY2ZGrwpjA7bemt4\u002BPUucvbWxoREBZWRppo8FlbpYsGUYXTPsUlVgp/TMMMbmcih9jDnGEEsvZQlasaZnW26dnRGWrgLrw4D/egRjSwtaN/QsLQjWoCgH9tKa8LWonTEeK4fCWBvjaQNiYG0JmqcNJ1jCkm4ELGeBXbJCG2rUqhkBs9BkGzz2W1v0sRgz0BaeVnhl5tUnRxYg0/Cg8w0ak1mZQoKEQNlBDjO\u002BSutOZ0grNQb0sqSVOngs/Bb8LrwafL2yKu9fdUr1Kx7/Kx7/Kx7/98fjl85Uf8Xk/zdj8kuz9ysu/ysu/ysu/ysu/z2a/4rNr47NfxmdX/H5X/H5X/H5/7L4/A85rtefOC7NC6QhTijdxwIZ76pUQ7p/E0y/h5DoOLqa946DVx/Ie7D0OKhfmWZLL7FSY0S/htL58\u002BoUHB1nguiYtYRM4T9t/aoWIMQQ2xBbEXoINcRmhA5CC2GK0FhVkvBDBm9Ku0LRoH61loZre8D\u002BrKoDyg15DpcEUXv1qAUse9jwpU//L8pAuiE//oMuXzfQvg3g6uvvsfx\u002BbfDS\u002B23gUwIT5Ocvh9ILD/KVQxkGufnIocyIJH9MENFZDvXnNFqccikH3f7S9wXApzhN5luqTtwdoIo7M7JsijGKmWWHMsGyqeJ4UGUJg0LRnAA7I4tTjBHUDY6AQRkgQCAjqywjFAGlqsOgiGwXgAjIrdCI5IqSRSCa9Icl/cYSQHf1aI7INtoDQH9nEIEKC/U2I5f4dXnwyOoS9iOzcjhmtkfiL05cXKCgEMJEcjaVDWwh4g1AhXdlw2FQGIxXGQJBWM1WBZ099PE8vRcIK5rZ5R5A2cB2HkCzASyMcBsEIy/MBo/mBbhpAjMvqx0x2NPL34MU4I/mAjhoSiZeJms3V78Af1e0KCBC07Dy8n87bFhxGoPeAEjT0uG8YivTXd1QeC8PeiQZp4ehHXcBgKgAuxIa0ACU0JuV1NDqDqCoBIroZREg/SXtW06H/yQdoEIlVg4UOP5wKpQTAupZYVQoFPIs5VGfcMZpQoxvx944wRSn7fvTgqwh9RJAipBI4UT7gzNDSErXsxikrFzvUWJLpCDF/LTXAZurQlUpkSUhVONJhZBRJhInMvy468SzeF\u002B\u002B1k/vn9xW6T1h/35\u002B1ziV6qrXOFYY\u002BdJ8E9zHnS21Qq2hvymB8dg1famIJiyrubxt0UlrxBRjyqH2\u002BfLoRIENUwO90d7BWVC50fHc4Eb9krt\u002BtXMMJSWXdEKt0PO3yNzxWPzW\u002BXr2qQeNPfw3xO6IxE95H/JWYPdkC3wwqqq7kfFBuB6r3jvREumHDNha09k7DhA/QoWMhI6HVETxZYbWSJzkFgRuRKtYTj5S9GT3UMrweRYYHNwiZ6lQP3BEvABecCyRUog1ACsjM7jEGRiY4HAASVNyINYi\u002BPKYblss2OtsCXKWHPUUGHqt/0j9A4CjJXMjjAHDPCygh94IyNAmhI13xemV5R63pekIRuFC3IJIAShrL5cA9FqAj5aVgZddSVlJQ1VDVkVNXUVdBRCjWZRECAJryXyjHx0jqiQg24eDLMqnxUmSSqOTxYAtLYMYwhIwB0yzjbMNY7DLJzguQb4Kfl\u002BqVXAJ8FPc4\u002BNF0youH6AFK4KtAtcvuHrBhetIW7jygLo8oKYAZgIcvvQaCkVYAGaAyRcZgMVsW64iLCzsR1WAvfpntknAGlqbeaHQRQQMgHy3d\u002BG0lZjhKefwslTMmEtHjdtv3yDrpYx7eqSy6qPzjWkoho9VEq92dtcJqpn19vXzP1pvSOZm9R67xuPsJzKYTPIY2Ne\u002BWftcgX92ymylyVYG64MhV1U/\u002BObjdPYmlqr3dHRi1dKPXA/cXhmSf\u002B5Bv5dj0fFjO4knebqsXQp\u002BYy3riWk44HmNrW6sggVRts7q1csdA0OdCerRVocTpK1PjUwRjO35zTzqfvcM8/aNdI\u002BumeSojZ3w4kAnDvhzZtSeiKrJO9l3rf4ISvpDZtG0kFetRPnrLRFJc166A4jWGttDlXt4UD58age0McF\u002BJaFOSOHRiDt1rDHs5CN6lSKBjK5uJTmsfkWvbgFUxj0g6m1fQjxW4hprs6Wvhn0PdJTYvwRJlABgCUk2fku3DggAM4Fz6\u002BXu5UIkuaEwISTPgCAvUvhXzANf1QE1JUAFWMI81SVRlSb\u002B7Zj8r9BvnMMVF\u002B5RfnfoEwvELCu5eNbW86V\u002BT1v9dsuic6GRftgbnRonyvJEP3xwow4LdCR\u002B0s9kfuGW1Cpnc6h6P/OQgmwhRlawMtfU39jMh59poL2jNk40MLmlPMq07BJzz4PYLh\u002BB5C1JrdLar0c/q6TaPUbuMn5fuknhcXSVvfbcsTLZg6Rm2atbDYbeGhjXCLgTmkRuIe/aONsFzXlcl0KpDOzKP5ey\u002B8IGcsvj0qwReLlLZylfY01jvDSrfRTT60WOCTKPqhlP/m3rHTP5fU9/YzMK64o2fMx1veHF\u002BTe/ecsz7HRqKNu0I1NSxBE7JMwnGqB\u002BX0iZ7B1nftbb3WVv0mOgLUXsC/oNgSMyCHAxsizf1/npP20PWQF9P8Qhoa8F\u002BGCINaKsoKtJc9T0IBiAjVaSE0EzEwNwft37DAAcvKxCuMfvbe8nvsjd6ezZrpV8bEd3a7rg3X8X4cB1C65acLEuo5CavJLyfwrhfmKbBFBO0xqNQlBSAMoJgJL4dXAU4ACFAmh9qQoGXYv\u002BaVU4U2NF1wCXYEU9HF7R1c2dGOJLUvAk\u002BQE6X4vDABVRJRQS9DRpvi/N63Sk\u002B8lL0Z5wUMIvx6HcvkbjFFDIP2EuOMHCpEk7y40Rd9dG772G65T4yHK6mHpqTmVxk9ypFJ6R4eq26qTGIZWifsq1J6KQ2x2qAZdGosJTwkZgj6Ze9bRYiK4j5tY6SAq/TSh0tsJ6MA9pa4omzQHRAo0aOvndHFfFN46cy/FKkEh6QEodyzHUe4cvvsMJeEV97pBC\u002BQUQOweZHvcGQeS8YkK1rPrzNYya1Il\u002BTL/jhe4XdBFrq58fvMD51CcjpWv/BqvLcSZWeem\u002BjZViJsIcXkXdT2oOtBvvOV9xsSrI0EVgPr8rNz/mdSGXfoZLRalXHOM9g5h9gtov6pHijyM\u002BwCTl6zH3q5FmjWsnr2RGfZQwNY735x/Kjwrd0Y4PPx59\u002BnFHv1aw6h\u002BaJYRSa0PvO\u002Bd5UzqOcveleexWSlhQj25/EhKdebjBwS66tvp39sSEDPlXZW/aZDrLd3vN561FQAvWewS3mVtWDDDYnto3O25tPh3GYBnd0MM2dXRCl6WdPXRI0navhLTa7eYrCf7nkcPRfYbKzol5TceVHQNFdS6lujVJvNAVl4oXkXfqVY/DxG1ay9lN1Ez2dLKe7DJMyybrvOGnhG3LfIoXFMYhN6dkiLor88poCOw9rNZqUedYOqNliK94OtLPRtTa1H1CrlXdYZuOLjpPjIu51jazev0uK9hp7/AOgc6\u002BmuSjTBFSgfoXGL1HHzUMSqafDKlHU/kdACq/Lej4A\u002BCy/Zvh\u002Bqdu/gr2kE25TIOd5YXMAkevWUlPwJZ8k9jQHMDKVH5A8VtBBFoCgdJtQliF9GfpIs0SbLuFp0z4C7G7Yz2OXZ/9HPxO4VouG6C/ovgatBqgks1H5vnzoWGOCFmYtqODl7b0d3v6uzsQggqFpL55g3jy2372462nJervZem/SIXXdkspyQll9qZfib7Ynt8Rpx84m5wtVz6yjsd5FE5Sq461iziTpD48GJp85tNByqdU26bBmuSD6YqWBgbBLceP2Dhzhp3jKHIosYgj1RqQYhKtKFpGlMXrpY9bx9jaC012/JH1sIT/iXNMXULf2wwlW54GtfQsiO0IJslHifB23ZpIUY4U8oJ5b9rBkV2aJ8oVkoccdz6NfwWrMihu3r/mNGzLZdf1pvvlrEZL8p5ZKfC0S723j\u002BjYIVtRa8YQBbVUwXurcrCPTk9HS086eS1M2JJFvVUfxE13Rl0pCNcL9HphReS4OMaphhQR3N0Ek\u002BHOofI8B6g8A1\u002BHFw6Hoqk8raCueRUv5akCVZUwKPzPvJQKtWJk\u002BzKdXCA1pUJ1wLHVBBM2g\u002Bt52fQhe1Y49Acc9J3AcOVCLIxzMIrPVfKOL6dERPPkYdyJ\u002Btqdi1ubLQvNYIzEE12cUc2CvEogowP/1EGfRhXQUEArg34NggyDTmdTHuZRWgBK81\u002Bya6QAySUeIfItHePnFgT6YSv4BFoaWL\u002BUDUnwJNI\u002BfkTA41FYvMUWLEYPK49VRqvJ62mg9b\u002BYg680R/Dyc5PHk4h\u002Be1D4pY/VZVM5NEAfdApk3r3fmDfUrN6s5mF/gHYpPWhh9r1DGvmXDMByz\u002BC8yB\u002B2eBXvBlk2ms67AWCJd9OmbEn8v5qff\u002BnQNhOdrOqK712fPGvzmsLKOTc8eNMyLm8ofOKqbEjb/DmWPH4zF2dYfZ7VYXndMzKLozPH8/fPMloG\u002BnpkZ50czq7WbL/qZZxVYt8cbALFaPQesS6rqRw4bh\u002Ba6HJdHnfHntvnufGndyy7YnczpEKh/h79cnpdqKPpqvkzsuXn\u002Be4wP/dsVR/XSZ6ZKeccF\u002BHar5ER6x/ofvdtyu2tXbP\u002BdhfjP388M1b7kpo3nncMy2369Llz7vTtuFsRw/5Fxot72IW0HMM5Xl20KJORRR4Tq5lIQO5pezbqKCQkB3\u002BneLu0XrXhrGSp/Ljmgdw97wxTsw0U85jTedcZ8AnKE5SA\u002BM6UixxVXxzadeCICKxwX6EnRQsQrLvHZFJ0oeRpLsMB9/nI1V6oy5ad8ehjf\u002BhFRBqsq1f2dIj2s/l3vVBw/sDZW8WF0f8pL/Qntr/n2T8IaDD/iHxbIoYvz3bplRSSnS\u002BFvXIPQ8ZiYg6dunkvljkgsO7GSEGjToXnCZF3kD2tcw2GPe5hmChb3Oj4o5G4lIU/Gj6xValGCW1iEbn8\u002BCburYxN2bjhq5a0xcXjYc5rkmYD6rdmPujtTN\u002Btf5b/\u002BQwHN3l\u002BYY2myKMTCKN2m/eHjHh6B\u002BJdtiUE\u002B0gXFoycwp\u002B0rXCQPrWPrSQiv6sx09zh8qBxQp\u002Ba9p0Thp9Kr/mpBLd\u002BnnizP5Is9nmnYo/h3Pv5DoWsnum7t7hwVmW7n\u002Boovrkqj7oohZy/YGS5eLu31Fz\u002BbnV4arcsdhono4C2THMVjLHzXXNIlyME4e\u002BQ62ax6Fg2Oj/R1uwDku9AEPjsv5BvFsqmpd9o\u002BR8g3yDyKaupqn4h36CoQhP/Zlj\u002BV0hVhGS/GcYdvwX1\u002BiPvqZn5KK9kHxKB6/E5Vgg1emEi0tNUzrG\u002BboRYG1q5zV12x1t\u002BvAwCLYZZJ5yCbGXhPRpJBOyvAPqcU06xhwh6a7rNr21mvqr7e1JxVzBgJ009i2V/\u002BHLGkNJSvd5JabuTwbvthjFKh0RJRI/jjhTClbYksxM1d/N3tRN5/Tc0CH\u002BIIVcNEj8a1Mgg13vwBAmLx18ydY3DOV/Z9SlMTOutXUjxrXhdcx2rds5Mxm0eUTPud\u002BAn9Q9MPjT95D\u002BS3nyl8N2\u002BTazot30WjMcrYplVX\u002BwVuTye1qI5pqh/o2D6ieutPGgNiiVpb8vHm3ea9HftXpsJZbCUMP\u002BCVKPgiDz/p9T7h9D0i3qvot7ZdOpN6\u002Bb/EPtmGo21Yn/e8DRVmxII1zp9Nkc84Oqr/Acz6NttDM\u002BLPs/b\u002BQkBV2vr3Zu8B2fG3u69da8wS2row80JH4Ids6wVVZ9n4To\u002B4cG0E0986AMdHUzGk50Cizs/7BZQTV1va0qa1OVqvFQd1RD1Tn2/g7bIu7Rwk\u002BPWkEubOQVmFMMpbr1F5T7D91rfN\u002B\u002BDBJgC\u002BuslNNsm4OdOJtpvvFnxCfFszxklE5lPNpcUP1eMHFWucnZM77fTGZ9qTXM/lrDo7Rz1e70J23Hp5xqvhUwCXU5HiPvVZZ7N1ZyP2n/S\u002B9jefL\u002BOZ5kfkB839yRPN5xjPRmTdytLuAShe/BaOTlDYjOqXGrE9fXsdPUBF3spzn0KGnahuYHnGeM549beIBZw30/v4TBMJ9c/bCl4OLn/4NtnWwNZBneRUiWYiX2XcaIBt6aeQQbH0Ex5SVtm3Qz3vpgrNLowOxB0gOgTEFZEuV/AUqxR9brhfg\u002B1LKgFOX0tGipKXlgXt4mgUbqjr5HdJm3f4eCtzKOp8i\u002BPPFVW4Nk4c0eRICM\u002B21hs0bfh2pWi/pOlBbq5TW1CGPOnMR82pZ/ldgc6q0hKpoMuETNp8Yrr7olfsi8veaKveQoX2J3TUW8z5DVgV9M\u002BANz59GDUfIG9epfl\u002BGlRoc2KN9u2MyhMsmfjVPsmWWREHl89oCrKfKNPrb/TMXGAFGvMk0OF3QeoMBU6\u002B57L\u002Bf\u002BjE7mSrGDXmBgZZDngMGE4P0QrbYcFywZe51CkYIvLBsQp4aez2dmUgwCFnHfgb75frdifDAwQGANkRNuiFJAQ5PzC/9DqKhrKmx2\u002BKjYvKwASsOUb2URA0XLAJoB12QANyUHIgcBgOOblN9yqS6k62Uq0VLUVZWG0WMnXmAWNusKyWQFmWjE4Uw4q58t7aEz2d\u002B2FUyiQyITfG88tdr4sMi1MqrxHzps6H/rg2Rtb27IjW4i3E4rR5872Th3g4M1pyfCMIDgTZHoq8g38rdg4o28H4woqt9iI3Lc58cSXq1LNOZsv6eKEd2z3oIk4yCeozD5sLXlkW2AIXhH4tInoWAaLM7lKjlclCepei7Xdl8IEe6TbfckdTYWzg8SRhb6ck/7e6fwpb10ZSqJCTQDhlbEk9lUBhT\u002BFi3xSU4rsHfjr6hgZK2/KBEQIGm3YS6hNahK\u002BK5I/3GOiCVDmVxiAKaIpLwHKGEAZBii3EKj\u002B2nNV1ThTpXYuM9SzeUs2\u002BRj8/s6F4N5LXM4edy9ZSAGU1P\u002BCffDjgQM7n8J3I8V\u002BZvH84QtldVqV834ld5JTrtd62b/rj5eXb8hI/O4GR4tyCdwKkvZui/poItc2V/fQsz2LKFLAPOl0cPv6pEBm5uO5PevWaSXuFTDNvcH0OWFriRFu2MnX5ODkhT4/xw2o3\u002BM7G55rZMkh1hi5fuy7O9LZiTWJPBCvlzZ8wWYhBO4GuXW2ZCt17oLOnGyiZNfum1RdjffaDeUoGFKPbXPI\u002BdfiTn9IZldP3kTqcaev0c\u002BNDBm8Xr0vSLve5Mgh7qaxQ2liCqW8xTqcdTeQ\u002BLnLYk9z5i\u002BUnboRgbnQUql9/bIRIkY5N2z3PqcExqGMEMpk3cXm9DFti4Xm\u002BNTxLEHzwK66UpUdYS3MvWc2G2ReFvJiKHcfjuVRDy9aX5YwObXIZiWytmjPawjkH7LbNAQNCmVuZHN0cmVhbQ0KZW5kb2JqDQoxODEgMCBvYmoNClsgMFsgNzUwXSAgM1sgMjc4IDMzM10gIDE3WyAyNzhdICAxOVsgNTU2IDU1NiA1NTYgNTU2IDU1NiA1NTYgNTU2IDU1Nl0gIDM4WyA3MjIgNzIyXSAgNDFbIDYxMV0gIDQ0WyAyNzhdICA0OVsgNzIyXSAgNTFbIDY2N10gIDU0WyA2NjcgNjExXSAgNjhbIDU1NiA2MTEgNTU2XSAgNzJbIDU1NiAzMzNdICA3NVsgNjExIDI3OF0gIDc4WyA1NTYgMjc4IDg4OSA2MTEgNjExIDYxMV0gIDg1WyAzODkgNTU2IDMzMyA2MTEgNTU2XSAgOTFbIDU1NiA1NTZdICAxODJbIDI3OF0gXSANCmVuZG9iag0KMTgyIDAgb2JqDQpbIDI3OCAzMzMgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMjc4IDAgNTU2IDU1NiA1NTYgNTU2IDU1NiA1NTYgNTU2IDU1NiAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgNzIyIDcyMiAwIDYxMSAwIDAgMjc4IDAgMCAwIDAgNzIyIDAgNjY3IDAgMCA2NjcgNjExIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDU1NiA2MTEgNTU2IDAgNTU2IDMzMyAwIDYxMSAyNzggMCA1NTYgMjc4IDg4OSA2MTEgNjExIDYxMSAwIDM4OSA1NTYgMzMzIDYxMSA1NTYgMCA1NTYgNTU2XSANCmVuZG9iag0KMTgzIDAgb2JqDQpbIDI3OCAwIDAgMCAwIDAgNjY3IDAgMCAwIDAgMCAyNzggMzMzIDI3OCAyNzggNTU2IDU1NiA1NTYgNTU2IDU1NiA1NTYgMCA1NTYgNTU2IDU1NiAwIDAgMCAwIDAgMCAxMDE1IDY2NyA2NjcgNzIyIDcyMiAwIDYxMSAwIDcyMiAwIDAgNjY3IDAgMCA3MjIgNzc4IDY2NyA3NzggMCA2NjcgNjExIDcyMiA2NjcgMCAwIDAgMCAwIDAgMCAwIDAgMCA1NTYgNTU2IDUwMCA1NTYgNTU2IDAgNTU2IDU1NiAyMjIgMCA1MDAgMjIyIDgzMyA1NTYgNTU2IDU1NiAwIDMzMyA1MDAgMjc4IDU1NiA1MDAgNzIyIDUwMCA1MDBdIA0KZW5kb2JqDQoxODQgMCBvYmoNCjw8L1R5cGUvTWV0YWRhdGEvU3VidHlwZS9YTUwvTGVuZ3RoIDMwOTc\u002BPg0Kc3RyZWFtDQo8P3hwYWNrZXQgYmVnaW49Iu\u002B7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IjMuMS03MDEiPgo8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgo8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiAgeG1sbnM6cGRmPSJodHRwOi8vbnMuYWRvYmUuY29tL3BkZi8xLjMvIj4KPHBkZjpQcm9kdWNlcj5NaWNyb3NvZnTCriBXb3JkIDIwMjE8L3BkZjpQcm9kdWNlcj48cGRmOktleXdvcmRzPjIvMS8yMDI0PC9wZGY6S2V5d29yZHM\u002BPC9yZGY6RGVzY3JpcHRpb24\u002BCjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iPgo8ZGM6Y3JlYXRvcj48cmRmOlNlcT48cmRmOmxpPlBhdWwgQmxpY2s8L3JkZjpsaT48L3JkZjpTZXE\u002BPC9kYzpjcmVhdG9yPjwvcmRmOkRlc2NyaXB0aW9uPgo8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIj4KPHhtcDpDcmVhdG9yVG9vbD5NaWNyb3NvZnTCriBXb3JkIDIwMjE8L3htcDpDcmVhdG9yVG9vbD48eG1wOkNyZWF0ZURhdGU\u002BMjAyNC0wMS0yOVQxOTo1NDo0My0wNzowMDwveG1wOkNyZWF0ZURhdGU\u002BPHhtcDpNb2RpZnlEYXRlPjIwMjQtMDEtMjlUMTk6NTQ6NDMtMDc6MDA8L3htcDpNb2RpZnlEYXRlPjwvcmRmOkRlc2NyaXB0aW9uPgo8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iPgo8eG1wTU06RG9jdW1lbnRJRD51dWlkOkY3OTQwNzFELTc3RjAtNDlDRi05RkE1LTEzNjU1MDBGNzU3MTwveG1wTU06RG9jdW1lbnRJRD48eG1wTU06SW5zdGFuY2VJRD51dWlkOkY3OTQwNzFELTc3RjAtNDlDRi05RkE1LTEzNjU1MDBGNzU3MTwveG1wTU06SW5zdGFuY2VJRD48L3JkZjpEZXNjcmlwdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCjwvcmRmOlJERj48L3g6eG1wbWV0YT48P3hwYWNrZXQgZW5kPSJ3Ij8\u002BDQplbmRzdHJlYW0NCmVuZG9iag0KMTg1IDAgb2JqDQo8PC9EaXNwbGF5RG9jVGl0bGUgdHJ1ZT4\u002BDQplbmRvYmoNCjE4NiAwIG9iag0KPDwvVHlwZS9YUmVmL1NpemUgMTg2L1dbIDEgNCAyXSAvUm9vdCAxIDAgUi9JbmZvIDE3IDAgUi9JRFs8MUQwNzk0RjdGMDc3Q0Y0OTlGQTUxMzY1NTAwRjc1NzE\u002BPDFEMDc5NEY3RjA3N0NGNDk5RkE1MTM2NTUwMEY3NTcxPl0gL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMzg2Pj4NCnN0cmVhbQ0KeJw11DdTVWEUBdALiDnhI4qYRcyKCgZQnpiVIGbMWYwo5iyKOedMZW9txTgoww\u002BwtPBnOBZ4/Zae4qw5zT7djqJ4urpS4p0RRX/5iB\u002BB1EQg8SWQ2RDIqkULPgeyy1CPX4GcykBuOX4G8toDJVVxfPyoIHqLd3iPD3iDLPRAd6TgX0prnFma/H\u002BlIRXp6IZMJNAfPdELvdEHfdEPAzEAg5CBbLzEcAxDLnIwGHkYgnwMRQFeYBxGYgRGYxQKMQZFGItiTMB4TMJETMFkTMNUzMUMTEcJZmIWSjEHs7EQ5SjDfMxDEhWoxAJUYTEWYSmWYDmWYSVWYB1qUI1VqMVq1GEt1mAbNmA96rERm7EJW7EF\u002B7ED27ELO7EHu7EPe3EMB9CAQziIIziMRhzFOTThOE7iBE7jFM7iDK7hAs7jEi7iCi6jGVdxDy24jpu4gdu4hbu4g\u002Bd4gPt4hId4gsd4hqd4hddxM1Q0h9JJfgp8bQt8U0gdvwOdxYHvrVH0B5luWlENCmVuZHN0cmVhbQ0KZW5kb2JqDQp4cmVmDQowIDE4Nw0KMDAwMDAwMDAxOCA2NTUzNSBmDQowMDAwMDAwMDE3IDAwMDAwIG4NCjAwMDAwMDAxNjUgMDAwMDAgbg0KMDAwMDAwMDIyMSAwMDAwMCBuDQowMDAwMDAwNTMxIDAwMDAwIG4NCjAwMDAwMDUwNTggMDAwMDAgbg0KMDAwMDAwNTIyNSAwMDAwMCBuDQowMDAwMDA1NDU2IDAwMDAwIG4NCjAwMDAwMDU1MDkgMDAwMDAgbg0KMDAwMDAwNTU2MiAwMDAwMCBuDQowMDAwMDA1NjkyIDAwMDAwIG4NCjAwMDAwMDU3MjIgMDAwMDAgbg0KMDAwMDAwNTg4MSAwMDAwMCBuDQowMDAwMDA1OTU1IDAwMDAwIG4NCjAwMDAwMDYyMDUgMDAwMDAgbg0KMDAwMDAwNjM2OSAwMDAwMCBuDQowMDAwMDA2NTk2IDAwMDAwIG4NCjAwMDAwMTM5MDEgMDAwMDAgbg0KMDAwMDAwMDAxOSA2NTUzNSBmDQowMDAwMDAwMDIwIDY1NTM1IGYNCjAwMDAwMDAwMjEgNjU1MzUgZg0KMDAwMDAwMDAyMiA2NTUzNSBmDQowMDAwMDAwMDIzIDY1NTM1IGYNCjAwMDAwMDAwMjQgNjU1MzUgZg0KMDAwMDAwMDAyNSA2NTUzNSBmDQowMDAwMDAwMDI2IDY1NTM1IGYNCjAwMDAwMDAwMjcgNjU1MzUgZg0KMDAwMDAwMDAyOCA2NTUzNSBmDQowMDAwMDAwMDI5IDY1NTM1IGYNCjAwMDAwMDAwMzAgNjU1MzUgZg0KMDAwMDAwMDAzMSA2NTUzNSBmDQowMDAwMDAwMDMyIDY1NTM1IGYNCjAwMDAwMDAwMzMgNjU1MzUgZg0KMDAwMDAwMDAzNCA2NTUzNSBmDQowMDAwMDAwMDM1IDY1NTM1IGYNCjAwMDAwMDAwMzYgNjU1MzUgZg0KMDAwMDAwMDAzNyA2NTUzNSBmDQowMDAwMDAwMDM4IDY1NTM1IGYNCjAwMDAwMDAwMzkgNjU1MzUgZg0KMDAwMDAwMDA0MCA2NTUzNSBmDQowMDAwMDAwMDQxIDY1NTM1IGYNCjAwMDAwMDAwNDIgNjU1MzUgZg0KMDAwMDAwMDA0MyA2NTUzNSBmDQowMDAwMDAwMDQ0IDY1NTM1IGYNCjAwMDAwMDAwNDUgNjU1MzUgZg0KMDAwMDAwMDA0NiA2NTUzNSBmDQowMDAwMDAwMDQ3IDY1NTM1IGYNCjAwMDAwMDAwNDggNjU1MzUgZg0KMDAwMDAwMDA0OSA2NTUzNSBmDQowMDAwMDAwMDUwIDY1NTM1IGYNCjAwMDAwMDAwNTEgNjU1MzUgZg0KMDAwMDAwMDA1MiA2NTUzNSBmDQowMDAwMDAwMDUzIDY1NTM1IGYNCjAwMDAwMDAwNTQgNjU1MzUgZg0KMDAwMDAwMDA1NSA2NTUzNSBmDQowMDAwMDAwMDU2IDY1NTM1IGYNCjAwMDAwMDAwNTcgNjU1MzUgZg0KMDAwMDAwMDA1OCA2NTUzNSBmDQowMDAwMDAwMDU5IDY1NTM1IGYNCjAwMDAwMDAwNjAgNjU1MzUgZg0KMDAwMDAwMDA2MSA2NTUzNSBmDQowMDAwMDAwMDYyIDY1NTM1IGYNCjAwMDAwMDAwNjMgNjU1MzUgZg0KMDAwMDAwMDA2NCA2NTUzNSBmDQowMDAwMDAwMDY1IDY1NTM1IGYNCjAwMDAwMDAwNjYgNjU1MzUgZg0KMDAwMDAwMDA2NyA2NTUzNSBmDQowMDAwMDAwMDY4IDY1NTM1IGYNCjAwMDAwMDAwNjkgNjU1MzUgZg0KMDAwMDAwMDA3MCA2NTUzNSBmDQowMDAwMDAwMDcxIDY1NTM1IGYNCjAwMDAwMDAwNzIgNjU1MzUgZg0KMDAwMDAwMDA3MyA2NTUzNSBmDQowMDAwMDAwMDc0IDY1NTM1IGYNCjAwMDAwMDAwNzUgNjU1MzUgZg0KMDAwMDAwMDA3NiA2NTUzNSBmDQowMDAwMDAwMDc3IDY1NTM1IGYNCjAwMDAwMDAwNzggNjU1MzUgZg0KMDAwMDAwMDA3OSA2NTUzNSBmDQowMDAwMDAwMDgwIDY1NTM1IGYNCjAwMDAwMDAwODEgNjU1MzUgZg0KMDAwMDAwMDA4MiA2NTUzNSBmDQowMDAwMDAwMDgzIDY1NTM1IGYNCjAwMDAwMDAwODQgNjU1MzUgZg0KMDAwMDAwMDA4NSA2NTUzNSBmDQowMDAwMDAwMDg2IDY1NTM1IGYNCjAwMDAwMDAwODcgNjU1MzUgZg0KMDAwMDAwMDA4OCA2NTUzNSBmDQowMDAwMDAwMDg5IDY1NTM1IGYNCjAwMDAwMDAwOTAgNjU1MzUgZg0KMDAwMDAwMDA5MSA2NTUzNSBmDQowMDAwMDAwMDkyIDY1NTM1IGYNCjAwMDAwMDAwOTMgNjU1MzUgZg0KMDAwMDAwMDA5NCA2NTUzNSBmDQowMDAwMDAwMDk1IDY1NTM1IGYNCjAwMDAwMDAwOTYgNjU1MzUgZg0KMDAwMDAwMDA5NyA2NTUzNSBmDQowMDAwMDAwMDk4IDY1NTM1IGYNCjAwMDAwMDAwOTkgNjU1MzUgZg0KMDAwMDAwMDEwMCA2NTUzNSBmDQowMDAwMDAwMTAxIDY1NTM1IGYNCjAwMDAwMDAxMDIgNjU1MzUgZg0KMDAwMDAwMDEwMyA2NTUzNSBmDQowMDAwMDAwMTA0IDY1NTM1IGYNCjAwMDAwMDAxMDUgNjU1MzUgZg0KMDAwMDAwMDEwNiA2NTUzNSBmDQowMDAwMDAwMTA3IDY1NTM1IGYNCjAwMDAwMDAxMDggNjU1MzUgZg0KMDAwMDAwMDEwOSA2NTUzNSBmDQowMDAwMDAwMTEwIDY1NTM1IGYNCjAwMDAwMDAxMTEgNjU1MzUgZg0KMDAwMDAwMDExMiA2NTUzNSBmDQowMDAwMDAwMTEzIDY1NTM1IGYNCjAwMDAwMDAxMTQgNjU1MzUgZg0KMDAwMDAwMDExNSA2NTUzNSBmDQowMDAwMDAwMTE2IDY1NTM1IGYNCjAwMDAwMDAxMTcgNjU1MzUgZg0KMDAwMDAwMDExOCA2NTUzNSBmDQowMDAwMDAwMTE5IDY1NTM1IGYNCjAwMDAwMDAxMjAgNjU1MzUgZg0KMDAwMDAwMDEyMSA2NTUzNSBmDQowMDAwMDAwMTIyIDY1NTM1IGYNCjAwMDAwMDAxMjMgNjU1MzUgZg0KMDAwMDAwMDEyNCA2NTUzNSBmDQowMDAwMDAwMTI1IDY1NTM1IGYNCjAwMDAwMDAxMjYgNjU1MzUgZg0KMDAwMDAwMDEyNyA2NTUzNSBmDQowMDAwMDAwMTI4IDY1NTM1IGYNCjAwMDAwMDAxMjkgNjU1MzUgZg0KMDAwMDAwMDEzMCA2NTUzNSBmDQowMDAwMDAwMTMxIDY1NTM1IGYNCjAwMDAwMDAxMzIgNjU1MzUgZg0KMDAwMDAwMDEzMyA2NTUzNSBmDQowMDAwMDAwMTM0IDY1NTM1IGYNCjAwMDAwMDAxMzUgNjU1MzUgZg0KMDAwMDAwMDEzNiA2NTUzNSBmDQowMDAwMDAwMTM3IDY1NTM1IGYNCjAwMDAwMDAxMzggNjU1MzUgZg0KMDAwMDAwMDEzOSA2NTUzNSBmDQowMDAwMDAwMTQwIDY1NTM1IGYNCjAwMDAwMDAxNDEgNjU1MzUgZg0KMDAwMDAwMDE0MiA2NTUzNSBmDQowMDAwMDAwMTQzIDY1NTM1IGYNCjAwMDAwMDAxNDQgNjU1MzUgZg0KMDAwMDAwMDE0NSA2NTUzNSBmDQowMDAwMDAwMTQ2IDY1NTM1IGYNCjAwMDAwMDAxNDcgNjU1MzUgZg0KMDAwMDAwMDE0OCA2NTUzNSBmDQowMDAwMDAwMTQ5IDY1NTM1IGYNCjAwMDAwMDAxNTAgNjU1MzUgZg0KMDAwMDAwMDE1MSA2NTUzNSBmDQowMDAwMDAwMTUyIDY1NTM1IGYNCjAwMDAwMDAxNTMgNjU1MzUgZg0KMDAwMDAwMDE1NCA2NTUzNSBmDQowMDAwMDAwMTU1IDY1NTM1IGYNCjAwMDAwMDAxNTYgNjU1MzUgZg0KMDAwMDAwMDE1NyA2NTUzNSBmDQowMDAwMDAwMTU4IDY1NTM1IGYNCjAwMDAwMDAxNTkgNjU1MzUgZg0KMDAwMDAwMDE2MCA2NTUzNSBmDQowMDAwMDAwMTYxIDY1NTM1IGYNCjAwMDAwMDAxNjIgNjU1MzUgZg0KMDAwMDAwMDE2MyA2NTUzNSBmDQowMDAwMDAwMTY0IDY1NTM1IGYNCjAwMDAwMDAxNjUgNjU1MzUgZg0KMDAwMDAwMDE2NiA2NTUzNSBmDQowMDAwMDAwMTY3IDY1NTM1IGYNCjAwMDAwMDAxNjggNjU1MzUgZg0KMDAwMDAwMDE2OSA2NTUzNSBmDQowMDAwMDAwMTcwIDY1NTM1IGYNCjAwMDAwMDAxNzEgNjU1MzUgZg0KMDAwMDAwMDE3MiA2NTUzNSBmDQowMDAwMDAwMTczIDY1NTM1IGYNCjAwMDAwMDAxNzQgNjU1MzUgZg0KMDAwMDAwMDE3NSA2NTUzNSBmDQowMDAwMDAwMTc2IDY1NTM1IGYNCjAwMDAwMDAxNzcgNjU1MzUgZg0KMDAwMDAwMDE3OCA2NTUzNSBmDQowMDAwMDAwMDAwIDY1NTM1IGYNCjAwMDAwMTY1MTQgMDAwMDAgbg0KMDAwMDAxNjgxNiAwMDAwMCBuDQowMDAwMDUwNjI0IDAwMDAwIG4NCjAwMDAwNTA5MTMgMDAwMDAgbg0KMDAwMDA1MTE5NSAwMDAwMCBuDQowMDAwMDUxNTA2IDAwMDAwIG4NCjAwMDAwNTQ2ODcgMDAwMDAgbg0KMDAwMDA1NDczMyAwMDAwMCBuDQp0cmFpbGVyDQo8PC9TaXplIDE4Ny9Sb290IDEgMCBSL0luZm8gMTcgMCBSL0lEWzwxRDA3OTRGN0YwNzdDRjQ5OUZBNTEzNjU1MDBGNzU3MT48MUQwNzk0RjdGMDc3Q0Y0OTlGQTUxMzY1NTAwRjc1NzE\u002BXSA\u002BPg0Kc3RhcnR4cmVmDQo1NTMyMg0KJSVFT0YNCnhyZWYNCjAgMA0KdHJhaWxlcg0KPDwvU2l6ZSAxODcvUm9vdCAxIDAgUi9JbmZvIDE3IDAgUi9JRFs8MUQwNzk0RjdGMDc3Q0Y0OTlGQTUxMzY1NTAwRjc1NzE\u002BPDFEMDc5NEY3RjA3N0NGNDk5RkE1MTM2NTUwMEY3NTcxPl0gL1ByZXYgNTUzMjIvWFJlZlN0bSA1NDczMz4\u002BDQpzdGFydHhyZWYNCjU5MjIxDQolJUVPRg==" } ] } ``` If your request was successful, you'll recieve a success response with the new bill's ID in `responseData`. ```json { "isSuccess": true, "responseText": "Success", "responseCode": 1, "responseData": 816, "pageidentifier": null, } ``` ## Related resources See these related resources to help you get the most out of Payabli. * **[Manage bills with the API](/guides/pay-out-developer-bills-manage)** - Learn how to add and manage bills for vendors via the API * **[Manage invoices with the API](/guides/pay-in-developer-invoices-manage)** - Learn how to create, update, delete, and send invoices with the Payabli API *** title: Build your own components subtitle: Use Creator to build your own PCI-compliant embeddable components with no code description: >- Build custom PCI-compliant payment components with Creator. Design branded embeddable forms and reports that match your look and feel with a visual no-code UI 'og:description': >- Build custom PCI-compliant payment components with Creator. Design branded embeddable forms and reports that match your look and feel with a visual no-code UI keywords: >- embedded payments, payment processing, accept payments, payment components, no-code tools, custom UI, embeddable forms, PCI compliance, white label payments slug: guides/platform-creator-overview icon: pen-paintbrush area: * Pay Ops * Pay In * Pay Out subArea: * Components audience: * developers * partners * merchants *** Creator is currently in beta release. Only reports are embeddable at this time. You build and preview Pay In and Pay Out components, but you can't make transactions with them yet. Use Payabli's Creator tool to build your own embeddable components, customized fully for your needs and your brand's look and feel. To access Creator, navigate to **Developers > Creator** in PartnerHub. ## Using Creator ### Creator token Before you can build components, you need to get an API token that's configured for use with Creator. Add a new token using [these instructions](/developers/api-reference/api-overview#authentication), making sure that you select **Yes** for *Creator Token?*. #### Domain restrictions When creating the token, you must add the domains that you plan to embed Creator components on. This feature is for security, and it limits where components can be displayed: they can't be displayed on a domain that **isn't** listed on the token. Just add any allowed domains while creating the API token. For example, if you plan to embed Creator components on `https://app.myproduct.com` and `https://yourapp.myproduct2.com`, then add `https://app.myproduct.com` and `https://yourapp.myproduct2.com` in the Domain Restrictions section. To use the Test feature in Creator, you must add `https://partner-sandbox.payabli.com/` to the Domain Restriction section. When you have a Creator token, navigate to Creator's **Settings** screen, and paste it into the **Integration Token** field. ### Build components Building components is straightforward. Use the editor to create and style your components. an image of Creator's editor ### Embed components After you've built your component, embedding the component in your app or website is easy. You need to create a hash value for the target paypoints and then grab the integration code. #### Hashing function First, use the hashing function to create a hash for the entrypoint you want to use the component with. The hashing function is used to generate the unique hash value for each paypoint. This hash value goes in to the `Entry` parameter in the integration code. The hash value designates which paypoint the component will display data for or attribute actions to. For testing, Creator has a drop down menu that lets you choose a paypoint to generate a hash for. For more extensive integrations, Payabli recommends embedding the hashing function in your app so you can quickly generate hash values for any of your entrypoints. **Hashing function use case:** When you board a merchant, you receive 'activated Merchant' webhook which provides the new merchant's entrypoint ID (entryname). You can then use the hashing function implemented within your app's code to programmatically generate the unique hash for the new paypoint. You store and use that hash for any Creator implementation for that paypoint. This is an example of the hashing function that you can embed in your app. There are other code languages available in Creator. Replace `entryName` with the entryname for the paypoint, and replace `secretKey` with your Creator API token (also known as "Integration Token" in Creator settings). See the [Creator token](/guides/platform-creator-overview#creator-token) section for more info. ```javascript const generateSecretKey = (secretKey) => { return crypto.createHash('md5').update(secretKey).digest('hex'); } export const encryptEntry = (entryName, secretKey) => { const iv = crypto.randomBytes(16); const cipher = crypto.createCipheriv( 'aes-256-cbc', generateSecretKey(secretKey), iv ); let encrypted = cipher.update(entryName); encrypted = Buffer.concat([encrypted, cipher.final()]); return iv.toString('hex') + ':' + encrypted.toString('hex'); } ``` #### Copy the integration code The integration code displays in Creator, so when you're ready, you can copy the code to embed it in your app. Here's an example of the integration code for a transaction report component. ```html Report Component Example Payabli
``` ## Test components You can test components in Creator. Copy the integration code, click **Test**, paste the code in, and then click **Try your embedded HTML**. The rendered component is displayed in on the right side of the screen. If you get an error, make sure that the API token you're using has `https://partner-sandbox.payabli/` added in the Domain Restriction section. *** title: Trust center subtitle: >- Learn about Payabli's security certifications, compliance standards, and data protection practices description: >- Learn about Payabli's security certifications including SOC 2, PCI DSS Level 1, and GDPR compliance. Visit the Payabli Trust Center for detailed documentation. slug: trust-center icon: shield-halved hide-nav-links: true layout: reference ----------------- Payabli maintains industry-leading security certifications and compliance standards to protect your data and your customers' data. Visit the [Payabli Trust Center](https://trust.payabli.com) for full documentation, including audit reports and compliance details. ## Certifications and standards Payabli has completed a SOC 2 Type II audit, verifying that our systems and processes meet rigorous standards for security, availability, and confidentiality. As a PCI DSS Level 1 certified service provider, Payabli meets the highest level of payment card industry security standards. Payabli's data handling practices comply with the General Data Protection Regulation, ensuring proper protection of personal data. *** title: Vulnerability disclosure policy subtitle: How to report security vulnerabilities to Payabli description: >- Payabli's vulnerability disclosure policy. Learn how to report security issues, what's in scope, and what to expect from the process. 'og:description': >- Payabli's vulnerability disclosure policy. Learn how to report security issues, what's in scope, and what to expect from the process. keywords: >- security vulnerability, responsible disclosure, bug report, Payabli security, vulnerability reporting slug: vulnerability-disclosure icon: shield-check hide-nav-links: true -------------------- At Payabli, the security of our platform, customers, and partners is a top priority. We value the security community and encourage responsible disclosure of potential vulnerabilities in our systems. This policy outlines how to report security issues to Payabli and what you can expect from us in return. ## Our commitment If you identify a security vulnerability and report it to us in accordance with this policy, Payabli commits to: * Acknowledge receipt of your report within a reasonable timeframe * Investigate the issue promptly * Work to remediate validated vulnerabilities based on severity and risk * Not pursue legal action for good faith security research conducted in accordance with this policy We appreciate responsible disclosure and collaboration that helps improve our security posture. ## Scope This policy applies to vulnerabilities in: * Publicly accessible Payabli websites * Public APIs and developer endpoints * Applications and services owned and operated by Payabli ### Out of scope The following aren't covered by this policy: * Third-party vendors, partners, or integrations not owned by Payabli * Social engineering, phishing, or physical testing of employees * Denial of service (DoS/DDoS) testing * Automated scanning that degrades performance * Any testing that violates applicable law If you aren't sure whether a system is in scope, contact us before proceeding. ## How to report a vulnerability Submit vulnerability reports to **[vulnerability@payabli.com](mailto:vulnerability@payabli.com)**. To help us triage quickly, include: * A detailed description of the issue * Affected URL, endpoint, or system * Steps to reproduce * Proof of concept (screenshots, request/response samples, etc.) * Any potential impact you identified * Your contact information We request that you refrain from public disclosure until we've had a reasonable opportunity to investigate and remediate. ## Responsible disclosure guidelines We ask that you: * Act in good faith * Avoid accessing, modifying, or exfiltrating customer data * Limit testing to what's necessary to demonstrate the vulnerability * Cease testing immediately if sensitive data is encountered and notify us * Don't attempt privilege escalation, persistence, or lateral movement Testing that causes service disruption or operational impact isn't authorized. ## Safe harbor If you conduct research in good faith and in accordance with this policy, Payabli won't pursue legal action related to your findings. This safe harbor applies only to activities that comply with this policy and applicable laws. ## Rewards and recognition Payabli doesn't operate a formal bug bounty program. We may, at our sole discretion: * Provide public recognition (with your permission) * Offer non-monetary acknowledgment * Provide discretionary compensation Submission of a report doesn't create an entitlement to compensation. Any reward or payout is determined solely at Payabli's discretion. ## Policy changes Payabli reserves the right to modify or terminate this vulnerability disclosure policy at any time.