{"title":"PayTo for API only","category":"default","creationDate":1776961628,"content":"<p>You can add PayTo to your existing integration. The following instructions show only what you must add to your integration specifically for PayTo.<\/p>\n<p>If an instruction on this page corresponds with a step in the main integration guide, it includes a link to that corresponding step of the main integration guide.<\/p>\n<h2>Requirements<\/h2>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Requirement<\/th>\n<th style=\"text-align: left;\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"><strong>Integration type<\/strong><\/td>\n<td style=\"text-align: left;\">Make sure that you have an existing <a href=\"\/pt\/online-payments\/build-your-integration\/advanced-flow\/?platform=Web&amp;integration=API%20only\">API-only integration<\/a>. <br> This page includes only instructions to add PayTo to your existing integration.<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong>Checkout API<\/strong><\/td>\n<td style=\"text-align: left;\">Make sure that you use Checkout API v70 or later.<\/td>\n<td> <\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong>Action handling<\/strong><\/td>\n<td style=\"text-align: left;\">Make sure that your existing integration is set up to <a href=\"\/pt\/online-payments\/build-your-integration\/advanced-flow\/?platform=Web&amp;integration=API%20only#handle-the-redirect\">handle the additional action<\/a>. <br> <code>action.type<\/code>: <span translate=\"no\"><strong>await<\/strong><\/span>.<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong>Setup steps<\/strong><\/td>\n<td style=\"text-align: left;\"> Before you begin, <a href=\"\/pt\/payment-methods\/add-payment-methods\">add PayTo in your Customer Area<\/a>.  <\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Get PayTo as an available payment method<\/h2>\n<p>When you make the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/paymentMethods\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/paymentMethods<\/a> to <a href=\"\/pt\/online-payments\/build-your-integration\/advanced-flow\/?platform=Web&amp;integration=API%20only#get-available-payment-methods\">get available payment methods<\/a>, specify the following so that PayTo is included in the response.<\/p>\n<table>\n<thead>\n<tr>\n<th>Parameter<\/th>\n<th>Values<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/paymentMethods#request-countryCode\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">countryCode<\/a><\/td>\n<td><span translate=\"no\"><strong><strong>AU<\/strong><\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/paymentMethods#request-amount-currency\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">amount.currency<\/a><\/td>\n<td><span translate=\"no\"><strong><strong>AUD<\/strong><\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/paymentMethods#request-shopperReference\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">shopperReference<\/a><\/td>\n<td>Optional. Your shopper's unique ID to retrieve their stored payment methods.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Build your payment form<\/h2>\n<div class=\"sc-notice info\"><div>\n<p>We provide the logo for PayTo that <a href=\"\/pt\/online-payments\/build-your-integration\/advanced-flow\/?platform=Web&amp;integration=API%20only#downloading-logos\">you can download<\/a>.<\/p>\n<\/div><\/div>\n<p>Include PayTo in the list of available payment methods. You do not need to collect any information from the shopper in your payment form.<\/p>\n<h2>Add additional parameters to your \/payments request<\/h2>\n<p>When you <a href=\"\/pt\/online-payments\/build-your-integration\/advanced-flow\/?platform=Web&amp;integration=API%20only#make-a-payment\">make a payment<\/a>, add the following parameters:<\/p>\n<p>The additional parameters that you include depends on the type of payment.<\/p>\n<ul>\n<li><a href=\"#one-time-payment\">One time payment<\/a>.<\/li>\n<li><a href=\"#subscription-setup-and-first-payment\">Subscription setup and first payment<\/a>.<\/li>\n<li><a href=\"#subsequent-subscription-payment\">Subsequent subscription payment<\/a>.<\/li>\n<\/ul>\n<h3 id=\"one-time-payment\">One-time payment<\/h3>\n<p>For one-time payments, add the following additional parameters.<\/p>\n<table>\n<thead>\n<tr>\n<th>Parameter<\/th>\n<th>Required<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-paymentMethod\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">paymentMethod<\/a><\/td>\n<td><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td><span translate=\"no\"><strong>payto<\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-paymentMethod-listOfValues-shopperAccountIdentifier\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">paymentMethod.shopperAccountIdentifier<\/a><\/td>\n<td><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td>The shopper's banking details or PayID reference, used to complete the payment. <a href=\"#values\">Possible values<\/a>. <sup>1<\/sup><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-shopperName-firstName\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">shopperName.firstName<\/a><\/td>\n<td><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td>The shopper's first name.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-shopperName-lastName\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">shopperName.lastName<\/a><\/td>\n<td><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td>The shopper's last name.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-shopperStatement\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">shopperStatement<\/a><\/td>\n<td><\/td>\n<td>The text that shows up on the shopper's statement.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-lineItems-quantity\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">lineItems.quantity<\/a><\/td>\n<td><\/td>\n<td>The number of items From 0 to 9999.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-lineItems-sku\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">lineItems.sku<\/a><\/td>\n<td><\/td>\n<td>Up to 200 characters.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-lineItems-description\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">lineItems.description<\/a><\/td>\n<td><\/td>\n<td>Used to display the payment statement description to the shopper.<br\/>Up to 280 characters. If multiple items, the item descriptions will be appended with a \",\" separator.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-lineItems-amountIncludingTax\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">lineItems.amountIncludingTax<\/a><\/td>\n<td><\/td>\n<td>From 1 to 100000000.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-lineItems-itemCategory\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">lineItems.itemCategory<\/a><\/td>\n<td><\/td>\n<td>Up to 200 characters.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-reference\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">reference<\/a><\/td>\n<td><\/td>\n<td>The reference to uniquely identify a payment. We recommend using a unique value per payment; however, it is not a requirement.<br\/>Important: For PayTo, the maximum length is 35 characters.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'Example request for one-time payments'\" :id=\"'payments-request-onetime'\" :code-data=\"[{&quot;language&quot;:&quot;bash&quot;,&quot;tabTitle&quot;:&quot;&quot;,&quot;content&quot;:&quot;curl https:\\\/\\\/checkout-test.adyen.com\\\/v72\\\/payments \\\\\\n-H 'x-api-key: ADYEN_API_KEY' \\\\\\n-H 'idempotency-key: YOUR_IDEMPOTENCY_KEY' \\\\\\n-H 'content-type: application\\\/json' \\\\\\n-X POST\\n-d '{\\n    \\&quot;merchantAccount\\&quot;: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n    \\&quot;reference\\&quot;: \\&quot;YOUR_REFERENCE\\&quot;,\\n    \\&quot;amount\\&quot;: {\\n        \\&quot;currency\\&quot;: \\&quot;AUD\\&quot;,\\n        \\&quot;value\\&quot;: 3000\\n    },\\n    \\&quot;paymentMethod\\&quot;: {\\n        \\&quot;type\\&quot;: \\&quot;payto\\&quot;,\\n        \\&quot;shopperAccountIdentifier\\&quot;: \\&quot;PayID@example.com\\&quot;\\n    },\\n    \\&quot;countryCode\\&quot;: \\&quot;AU\\&quot;,\\n    \\&quot;shopperName\\&quot;: {\\n        \\&quot;firstName\\&quot;: \\&quot;Simon\\&quot;,\\n        \\&quot;lastName\\&quot;: \\&quot;Hopper\\&quot;\\n    },\\n    \\&quot;shopperReference\\&quot;: \\&quot;YOUR_SHOPPER_REFERENCE\\&quot;,\\n    \\&quot;returnUrl\\&quot;: \\&quot;your-package-name.example.com\\\/checkout?shopperOrder=12xy..\\&quot;\\n}'&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<p>The response includes:<\/p>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'Example response for one-time payments'\" :id=\"'payments-response-onetime'\" :code-data=\"[{&quot;language&quot;:&quot;bash&quot;,&quot;tabTitle&quot;:&quot;&quot;,&quot;content&quot;:&quot;curl https:\\\/\\\/checkout-test.adyen.com\\\/v72\\\/payments \\\\\\n-H \\&quot;x-API-key: ADYEN_API_KEY\\&quot; \\\\\\n-H \\&quot;content-type: application\\\/json\\&quot; \\\\\\n-d '{\\n   \\&quot;resultCode\\&quot;: \\&quot;Pending\\&quot;,\\n   \\&quot;action\\&quot;: {\\n      \\&quot;paymentData\\&quot;: \\&quot;Ab02....M9tFK\\&quot;,\\n      \\&quot;paymentMethodType\\&quot;: \\&quot;payto\\&quot;,\\n      \\&quot;type\\&quot;: \\&quot;await\\&quot;\\n   }\\n}'&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<h3 id=\"subscription-setup-and-first-payment\">Subscription setup and first payment<\/h3>\n<p>To set up a subscription agreement with specific conditions and accept the first payment from the shopper, add the following parameters.<\/p>\n<table>\n<thead>\n<tr>\n<th>Parameter<\/th>\n<th>Required<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-paymentMethod\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">paymentMethod<\/a><\/td>\n<td><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td><span translate=\"no\"><strong>payto<\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-paymentMethod-listOfValues-shopperAccountIdentifier\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">paymentMethod.shopperAccountIdentifier<\/a><\/td>\n<td><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td>The shopper's banking details or PayID reference, used to complete the payment. <a href=\"#values\">Possible values<\/a>. <sup>1<\/sup><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-shopperName-firstName\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">shopperName.firstName<\/a><\/td>\n<td><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td>The shopper's first name.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-shopperName-lastName\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">shopperName.lastName<\/a><\/td>\n<td><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td>The shopper's last name.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-storePaymentMethod\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">storePaymentMethod<\/a><\/td>\n<td><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td>Set to <span translate=\"no\"><strong>true<\/strong><\/span> to store payment details for subscription payments.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-recurringProcessingModel\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">recurringProcessingModel<\/a><\/td>\n<td><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td><span translate=\"no\"><strong>Subscription<\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-shopperInteraction\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">shopperInteraction<\/a><\/td>\n<td><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td><span translate=\"no\"><strong>Ecommerce<\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-mandate-frequency\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">mandate.frequency<\/a><\/td>\n<td><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td>The frequency with which a shopper should be charged.<br\/>Possible values: adhoc, daily, weekly, biWeekly, monthly, quarterly, halfYearly, yearly.<br\/><br\/><span translate=\"no\"><strong>adhoc<\/strong><\/span>: Suitable for Card On File and Unscheduled Card On File recurring processing models.<br\/><span translate=\"no\"><strong>daily<\/strong><\/span>, <span translate=\"no\"><strong>weekly<\/strong><\/span>, <span translate=\"no\"><strong>biWeekly<\/strong><\/span>, <span translate=\"no\"><strong>monthly<\/strong><\/span>, <span translate=\"no\"><strong>quarterly<\/strong><\/span>, <span translate=\"no\"><strong>halfYearly<\/strong><\/span>, <span translate=\"no\"><strong>yearly<\/strong><\/span>: Suitable for Subscription recurring processing model.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-mandate-endsAt\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">mandate.endsAt<\/a><\/td>\n<td><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td>End date of the billing plan, in YYYY-MM-DD format.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-mandate-amount\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">mandate.amount<\/a><\/td>\n<td><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td>The billing amount (in minor units) of the recurring transactions. 1 to 1000000000.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-mandate-amountRule\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">mandate.amountRule<\/a><\/td>\n<td><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td>The limitation rule of the billing amount.<br\/>Possible values:<br\/>max: The transaction amount can not exceed the amount.<br\/>exact: The transaction amount should be the same as the amount.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-mandate-remarks\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">mandate.remarks<\/a><\/td>\n<td><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td>The agreement description shown to the shopper up to 140 characters.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-mandate-startsAt\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">mandate.startsAt<\/a><\/td>\n<td><\/td>\n<td>Start date of the billing plan, in YYYY-MM-DD format. By default, the transaction date.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-mandate-count\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">mandate.count<\/a><\/td>\n<td><\/td>\n<td>The number of transactions that can be performed within the given frequency.<br\/>Conditions:<br\/>If the frequency is different than <code>adhoc<\/code> the count has to be provided and should be &gt;= 1<br\/>If frequency is <code>adhoc<\/code> the count can be omitted or will represent the total number of payments that can be done.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-shopperStatement\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">shopperStatement<\/a><\/td>\n<td><\/td>\n<td>The text that shows up on the shopper's statement. Appears in Mandate Remarks in One-off payment flow, if no Remarks are provided.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-lineItems-quantity\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">lineItems.quantity<\/a> <strong><a href=\"#lineitems\">\n  <sup>1<\/sup>\n<\/a><\/strong><\/td>\n<td><\/td>\n<td>From 0 to 9999.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-lineItems-sku\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">lineItems.sku<\/a>  <strong><a href=\"#lineitems\">\n  <sup>1<\/sup>\n<\/a><\/strong><\/td>\n<td><\/td>\n<td>Up to 200 characters. Note that this field is only available from v70 onwards.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-lineItems-description\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">lineItems.description<\/a>  <strong><a href=\"#lineitems\">\n  <sup>1<\/sup>\n<\/a><\/strong><\/td>\n<td><\/td>\n<td>Used to display the payment statement description to the shopper.<br\/>Up to 280 characters. If multiple items, the item descriptions will be appended with a \",\" separator.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-lineItems-amountIncludingTax\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">lineItems.amountIncludingTax<\/a> <strong><a href=\"#lineitems\">\n  <sup>1<\/sup>\n<\/a><\/strong><\/td>\n<td><\/td>\n<td>From 1 to 100000000.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-lineItems-itemCategory\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">lineItems.itemCategory<\/a> <strong><a href=\"#lineitems\">\n  <sup>1<\/sup>\n<\/a><\/strong><\/td>\n<td><\/td>\n<td>Up to 200 characters.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-reference\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">reference<\/a><\/td>\n<td><\/td>\n<td>The reference to uniquely identify a payment. We recommend using a unique value per payment; however, it is not a requirement.<br\/>Important: For PayTo, the maximum length is 35 characters.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><a id=\"lineitems\"><\/a><br \/>\n<strong><sup>1<\/sup><\/strong> The <code>lineItems<\/code> information are consolidated and provided to PayTo as the payment description, and can be shown in the shopper's banking app (depending on the bank's capabilities).<\/p>\n<p><br\/><\/p>\n<p>The following example shows a payment request that gives the shopper a subscription agreement with a first payment of 30 AUD and a weekly payment of up to 90 AUD.<\/p>\n<table>\n<thead>\n<tr>\n<th>Parameter<\/th>\n<th>Example value<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>amount.value<\/code><\/td>\n<td><strong>3000<\/strong><\/td>\n<td>After the shopper accepts the subscription agreement, they make a first, immediate payment of 30 AUD.<\/td>\n<\/tr>\n<tr>\n<td><code>mandate.frequency<\/code><\/td>\n<td><span translate=\"no\"><strong>weekly<\/strong><\/span><\/td>\n<td>A payment must be made weekly.<\/td>\n<\/tr>\n<tr>\n<td><code>mandate.amount<\/code><\/td>\n<td><strong>9000<\/strong><\/td>\n<td>The amount of the weekly payment.<\/td>\n<\/tr>\n<tr>\n<td><code>mandate.amountRule<\/code><\/td>\n<td><span translate=\"no\"><strong>max<\/strong><\/span><\/td>\n<td>The maximum amount of the weekly payment is the <code>mandate.amount<\/code> of 90 AUD.<\/td>\n<\/tr>\n<tr>\n<td><code>mandate.count<\/code><\/td>\n<td><strong>1<\/strong><\/td>\n<td>The shopper can make only one payment each week.<\/td>\n<\/tr>\n<tr>\n<td><code>mandate.endsAt<\/code><\/td>\n<td><span translate=\"no\"><strong>2025-12-31<\/strong><\/span><\/td>\n<td>The subscription agreement ends on December 31, 2025.<\/td>\n<\/tr>\n<tr>\n<td><code>mandate.remarks<\/code><\/td>\n<td><strong>Your agreement description<\/strong><\/td>\n<td>The description of the agreement that appears in the shopper agreement.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'Example request for subscriptions'\" :id=\"'payments-request'\" :code-data=\"[{&quot;language&quot;:&quot;bash&quot;,&quot;tabTitle&quot;:&quot;&quot;,&quot;content&quot;:&quot;curl https:\\\/\\\/checkout-test.adyen.com\\\/v72\\\/payments \\\\\\n-H 'x-api-key: ADYEN_API_KEY' \\\\\\n-H 'idempotency-key: YOUR_IDEMPOTENCY_KEY' \\\\\\n-H 'content-type: application\\\/json' \\\\\\n-X POST\\n-d '{\\n    \\&quot;merchantAccount\\&quot;: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n    \\&quot;reference\\&quot;: \\&quot;YOUR_REFERENCE\\&quot;,\\n    \\&quot;amount\\&quot;: {\\n        \\&quot;currency\\&quot;: \\&quot;AUD\\&quot;,\\n        \\&quot;value\\&quot;: 3000\\n    },\\n    \\&quot;paymentMethod\\&quot;: {\\n        \\&quot;type\\&quot;: \\&quot;payto\\&quot;,\\n        \\&quot;shopperAccountIdentifier\\&quot;: \\&quot;PayID@example.com\\&quot;\\n    },\\n    \\&quot;countryCode\\&quot;: \\&quot;AU\\&quot;,\\n    \\&quot;shopperName\\&quot;: {\\n        \\&quot;firstName\\&quot;: \\&quot;Simon\\&quot;,\\n        \\&quot;lastName\\&quot;: \\&quot;Hopper\\&quot;\\n    },\\n    \\&quot;mandate\\&quot;:{\\n        \\&quot;frequency\\&quot;: \\&quot;weekly\\&quot;,\\n        \\&quot;endsAt\\&quot;: \\&quot;2025-12-31\\&quot;,\\n        \\&quot;amount\\&quot;: \\&quot;9000\\&quot;,\\n        \\&quot;amountRule\\&quot;: \\&quot;max\\&quot;,\\n        \\&quot;count\\&quot;: \\&quot;1\\&quot;,\\n        \\&quot;remarks\\&quot;: \\&quot;Your agreement description\\&quot;\\n    },\\n    \\&quot;shopperReference\\&quot;: \\&quot;YOUR_SHOPPER_REFERENCE\\&quot;\\n    \\&quot;storePaymentMethod\\&quot;: true,\\n    \\&quot;recurringProcessingModel\\&quot;: \\&quot;Subscription\\&quot;,\\n    \\&quot;shopperInteraction\\&quot;: \\&quot;Ecommerce\\&quot;,\\n    \\&quot;returnUrl\\&quot;: \\&quot;your-package-name.example.com\\\/checkout?shopperOrder=12xy..\\&quot;\\n}'&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<p>The response includes:<\/p>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'Example response for subscriptions'\" :id=\"'payments-response'\" :code-data=\"[{&quot;language&quot;:&quot;bash&quot;,&quot;tabTitle&quot;:&quot;&quot;,&quot;content&quot;:&quot;curl https:\\\/\\\/checkout-test.adyen.com\\\/v72\\\/payments \\\\\\n-H \\&quot;x-API-key: ADYEN_API_KEY\\&quot; \\\\\\n-H \\&quot;content-type: application\\\/json\\&quot; \\\\\\n-d '{\\n   \\&quot;resultCode\\&quot;: \\&quot;Pending\\&quot;,\\n   \\&quot;action\\&quot;: {\\n      \\&quot;paymentData\\&quot;: \\&quot;Ab02....M9tFK\\&quot;,\\n      \\&quot;paymentMethodType\\&quot;: \\&quot;payto\\&quot;,\\n      \\&quot;type\\&quot;: \\&quot;await\\&quot;\\n   }\\n}'&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<p>The shopper receives a notification from their bank (through SMS, email, or in their banking app) to authorize or decline the agreement.<\/p>\n<p>When the subscription agreement is accepted, you get the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Webhooks\/latest\/post\/RECURRING_CONTRACT\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">RECURRING_CONTRACT<\/a> webhook that includes the <code>recurringDetailReference<\/code> for subsequent subscription payments.<\/p>\n<h3 id=\"subsequent-subscription-payment\">Subsequent subscription payment<\/h3>\n<p>For a subsequent subscription payment, add the following parameters.<\/p>\n<table>\n<thead>\n<tr>\n<th>Parameter<\/th>\n<th>Required<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-paymentMethod\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">paymentMethod<\/a><\/td>\n<td><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td><span translate=\"no\"><strong>payto<\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-paymentMethod-PayToDetails-storedPaymentMethodId\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">paymentMethod.storedPaymentMethodId<\/a><\/td>\n<td><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td>From the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Tokenization-webhooks\/latest\/post\/recurring.token.created\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">recurring.token.created<\/a> webhook associated with the shopper, the <code>data.storedPaymentMethodId<\/code>. This stored payment method can only be used according to the conditions specified in the subscription agreement.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-shopperInteraction\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">shopperInteraction<\/a><\/td>\n<td><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td><span translate=\"no\"><strong>ContAuth<\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments#request-reference\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">reference<\/a><\/td>\n<td><\/td>\n<td>The reference to uniquely identify a payment. We recommend using a unique value per payment; however, it is not a requirement.<br\/>Important: For PayTo, the maximum length is 35 characters.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'Example request for subsequent payments'\" :id=\"'payments-request-subsequent'\" :code-data=\"[{&quot;language&quot;:&quot;bash&quot;,&quot;tabTitle&quot;:&quot;&quot;,&quot;content&quot;:&quot;curl https:\\\/\\\/checkout-test.adyen.com\\\/v72\\\/payments \\\\\\n-H 'x-api-key: ADYEN_API_KEY' \\\\\\n-H 'idempotency-key: YOUR_IDEMPOTENCY_KEY' \\\\\\n-H 'content-type: application\\\/json' \\\\\\n-X POST\\n-d '{\\n    \\&quot;merchantAccount\\&quot;: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n    \\&quot;reference\\&quot;: \\&quot;YOUR_REFERENCE\\&quot;,\\n    \\&quot;amount\\&quot;: {\\n        \\&quot;currency\\&quot;: \\&quot;AUD\\&quot;,\\n        \\&quot;value\\&quot;: 3000\\n    },\\n    \\&quot;paymentMethod\\&quot;: {\\n        \\&quot;type\\&quot;: \\&quot;payto\\&quot;,\\n        \\&quot;storedPaymentMethodId\\&quot;: \\&quot;FKSPNCQ8HXSKGK82\\&quot;\\n    },\\n    \\&quot;shopperReference\\&quot;: \\&quot;YOUR_SHOPPER_REFERENCE\\&quot;\\n    \\&quot;recurringProcessingModel\\&quot;: \\&quot;Subscription\\&quot;,\\n    \\&quot;shopperInteraction\\&quot;: \\&quot;ContAuth\\&quot;\\n}'&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<p>The response includes:<\/p>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'Example response for subsequent payments'\" :id=\"'payments-response-subsequent'\" :code-data=\"[{&quot;language&quot;:&quot;bash&quot;,&quot;tabTitle&quot;:&quot;&quot;,&quot;content&quot;:&quot;curl https:\\\/\\\/checkout-test.adyen.com\\\/v72\\\/payments \\\\\\n-H \\&quot;x-API-key: ADYEN_API_KEY\\&quot; \\\\\\n-H \\&quot;content-type: application\\\/json\\&quot; \\\\\\n-d '{\\n   \\&quot;additionalData\\&quot;: {\\n       \\&quot;bankAccount.ownerName\\&quot;: null,\\n       \\&quot;recurring.contractTypes\\&quot;: \\&quot;RECURRING\\&quot;,\\n       \\&quot;recurring.recurringDetailReference\\&quot;: \\&quot;FKSPNCQ8HXSKGK82\\&quot;,\\n       \\&quot;recurringProcessingModel\\&quot;: \\&quot;Subscription\\&quot;,\\n       \\&quot;recurring.shopperReference\\&quot;: \\&quot;YOUR_SHOPPER_REFERENCE\\&quot;,\\n       \\&quot;tokenization.shopperReference\\&quot;: \\&quot;YOUR_SHOPPER_REFERENCE\\&quot;,\\n       \\&quot;recurring.firstPspReference\\&quot;: \\&quot;ZMXFX8BFHT7ST8Q2\\&quot;,\\n       \\&quot;tokenization.storedPaymentMethodId\\&quot;: \\&quot;FKSPNCQ8HXSKGK82\\&quot;,\\n       \\&quot;bankAccount.iban\\&quot;: null\\n   },\\n   \\&quot;pspReference\\&quot;: \\&quot;PPJT7Z8LGBT8W8G2\\&quot;,\\n   \\&quot;resultCode\\&quot;: \\&quot;Received\\&quot;,\\n   \\&quot;merchantReference\\&quot;: \\&quot;YOUR_REFERENCE\\&quot;\\n}'&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<h3 id=\"values\">Shopper account identifiers<\/h3>\n<p>The following table shows the possible values you can use for the <code>shopperAccountIdentifier<\/code> parameter.<\/p>\n<table>\n<thead>\n<tr>\n<th>Identifier<\/th>\n<th>Regular expression (RegEx) for allowed values<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\n<p>BSB-AccountNumber<\/p>\n<\/td>\n<td>\n<p><code>^\\d{6}-[ -~]{1,28}$`<\/code><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>PayID Email<\/p>\n<\/td>\n<td>\n<p><code>^(?:[a-z0-9!#$%&amp;'<em>+\\\/=?^_`{|}~-]+(?:.[a-z0-9!#$%&amp;'<\/em>+\\\/=?^_`{|}~-]+)<em>@(?:[a-z0-9] (?:[a-z0-9-]<\/em>[a-z0-9])?.)+[a-z0-9] (?:[a-z0-9-]*[a-z0-9])?)$<\/code><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>PayID Phone Number<\/p>\n<\/td>\n<td>\n<p><code>^+[0-9]{1,3}-[1-9]{1,1}[0-9]{1,29}$<\/code><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>PayID ABN<\/p>\n<\/td>\n<td>\n<p><code>^((\\d{9})|(\\d{11}))$<\/code><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>PayID Organisation Identifier<\/p>\n<\/td>\n<td>\n<p><code>^[!-@[-~][ -@[-~]{0,254}[!-@[-~]$<\/code><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Required webhooks<\/h3>\n<p>The following webhook notifications indicate the status of the transaction.<\/p>\n<p><span translate=\"no\"><strong>OFFER_CLOSED<\/strong><\/span><\/p>\n<p>This notification will be returned when the agreement failed or is canceled by the user.<br \/>\nIn this case, the <code>refusalReasonRaw<\/code> will be included in the <code>additionalData<\/code> object in the format <code>errorCode:errorDescription<\/code>. The contents of <code>refusalReasonRaw<\/code> will provide details about the reason for the failure or cancellation. Process the <code>refusalReasonRaw<\/code> to obtain more information about the decline or cancellation reason.<\/p>\n<p><span translate=\"no\"><strong>AUTHORISATION<\/strong><\/span><\/p>\n<p>You will receive this notification for a payment on an accepted agreement, the payment outcome could be authorized or rejected.<br \/>\nIn case the payment fails due to an error, you can consume the <code>refusalReasonRaw<\/code> that is returned in the <code>additionalData<\/code> object of your notification to get additional information about the reason for the payment being refused.<\/p>\n<p><span translate=\"no\"><strong>REFUND<\/strong><\/span><\/p>\n<p>When the refund is successfully received, the outcome will most likely succeed unless you receive a REFUND_FAILED notification.<\/p>\n<p><span translate=\"no\"><strong>REFUND_FAILED<\/strong><\/span><\/p>\n<p>Because refunds are asynchronous events, the outcome might fail due to unexpected reasons. In such cases you will receive a REFUND_FAILED notification.<\/p>\n<p><span translate=\"no\"><strong>RECURRING_CONTRACT<\/strong><\/span><\/p>\n<p>Contains the token in the payload of the notification sent to you in the <code>pspReference<\/code> parameter.<\/p>\n<p><span translate=\"no\"><strong>DISABLE_RECURRING<\/strong><\/span><\/p>\n<p>When an agreement arrives to term, or is canceled (by you or the shopper), you will receive a DISABLE_RECURRING notification to keep you informed about a token deletion.<\/p>\n<p><a href=\"\/pt\/online-payments\/tokenization\/managing-tokens\/#webhooks\">Token lifecycle webhooks<\/a> are also supported.<\/p>\n<h2>Test and go live<\/h2>\n<p>To test, use the <code>shopperAccountIdentifier<\/code> with the following emails to simulate testing scenarios:<\/p>\n<table>\n<tr>\n<th>Type<\/th>\n<th>shopperAccountIdentifier<\/th>\n<th>Result<\/th>\n<th>Description<\/th>\n<\/tr>\n<tr>\n<td rowspan=\"3\">Agreement<\/td>\n<td>[Any valid input]<\/td>\n<td>Authorised<\/td>\n<td>Successful payment.<\/td>\n<\/tr>\n<tr>\n<td>expire@adyen-test.com<\/td>\n<td>OFFER_CLOSED<\/td>\n<td>The Agreement has expired, please request your shopper to pay again.<\/td>\n<\/tr>\n<tr>\n<td>debtor_account_type_not_supported@adyen-test.com<\/td>\n<td>OFFER_CLOSED<\/td>\n<td>The agreement has been refused.<\/td>\n<\/tr>\n\n<tr>\n<td rowspan=\"4\">Payment<\/td>\n<td>[Any valid input]<\/td>\n<td>Authorised<\/td>\n<td>Successful payment.<\/td>\n<\/tr>\n<tr>\n<td>insufficient_funds@adyen-test.com<\/td>\n<td>Refused<\/td>\n<td>Insufficient Funds<\/td>\n<\/tr>\n<tr>\n<td>debtor_account_closed@adyen-test.com<\/td>\n<td>Refused<\/td>\n<td>The Shopper account is closed.<\/td>\n<\/tr>\n<tr>\n<td>financial_infrastructure_unavailable@adyen-test.com<\/td>\n<td>Error<\/td>\n<td>NPP is unable to process the payment due to back office issues or outage.<\/td>\n<\/tr>\n<\/table>\n<h2 id=\"see-also\">See also<\/h2>\n<div class=\"see-also-links output-inline\" id=\"see-also\">\n<ul><li><a href=\"\/online-payments\/build-your-integration\/advanced-flow\/?platform=Web&amp;integration=API%20only\"\n                        target=\"_self\"\n                        >\n                    API-only integration guide\n                <\/a><\/li><\/ul><\/div>\n","url":"https:\/\/docs.adyen.com\/pt\/payment-methods\/payto\/api-only","articleFields":{"description":"Add PayTo to your API-only integration.","never_cache_twig":true,"parameters":{"flow":"Advanced","integration_guide_url":"\/online-payments\/build-your-integration\/advanced-flow\/?platform=Web&integration=API%20only","payment_method":"PayTo","payment_method_type":"payto","payment_method_type_capitalized":"Payto","tx_variant":"payto","tx_variant_capitalized":"Payto","country_codes":"<strong>AU<\/strong>","currency_codes":"<strong>AUD<\/strong>","additional_api":"true","api_version":"70","action_type":"await","pm_directory":"payto","contact":"false"}},"algolia":{"url":"https:\/\/docs.adyen.com\/pt\/payment-methods\/payto\/api-only","title":"PayTo for API only","content":"You can add PayTo to your existing integration. The following instructions show only what you must add to your integration specifically for PayTo.\nIf an instruction on this page corresponds with a step in the main integration guide, it includes a link to that corresponding step of the main integration guide.\nRequirements\n\n\n\nRequirement\nDescription\n\n\n\n\nIntegration type\nMake sure that you have an existing API-only integration.  This page includes only instructions to add PayTo to your existing integration.\n\n\n\nCheckout API\nMake sure that you use Checkout API v70 or later.\n \n\n\nAction handling\nMake sure that your existing integration is set up to handle the additional action.  action.type: await.\n\n\n\nSetup steps\n Before you begin, add PayTo in your Customer Area.  \n\n\n\nGet PayTo as an available payment method\nWhen you make the  \/paymentMethods to get available payment methods, specify the following so that PayTo is included in the response.\n\n\n\nParameter\nValues\n\n\n\n\n countryCode\nAU\n\n\n amount.currency\nAUD\n\n\n shopperReference\nOptional. Your shopper's unique ID to retrieve their stored payment methods.\n\n\n\nBuild your payment form\n\nWe provide the logo for PayTo that you can download.\n\nInclude PayTo in the list of available payment methods. You do not need to collect any information from the shopper in your payment form.\nAdd additional parameters to your \/payments request\nWhen you make a payment, add the following parameters:\nThe additional parameters that you include depends on the type of payment.\n\nOne time payment.\nSubscription setup and first payment.\nSubsequent subscription payment.\n\nOne-time payment\nFor one-time payments, add the following additional parameters.\n\n\n\nParameter\nRequired\nDescription\n\n\n\n\n paymentMethod\n\npayto\n\n\n paymentMethod.shopperAccountIdentifier\n\nThe shopper's banking details or PayID reference, used to complete the payment. Possible values. 1\n\n\n\n shopperName.firstName\n\nThe shopper's first name.\n\n\n shopperName.lastName\n\nThe shopper's last name.\n\n\n shopperStatement\n\nThe text that shows up on the shopper's statement.\n\n\n lineItems.quantity\n\nThe number of items From 0 to 9999.\n\n\n lineItems.sku\n\nUp to 200 characters.\n\n\n lineItems.description\n\nUsed to display the payment statement description to the shopper.Up to 280 characters. If multiple items, the item descriptions will be appended with a \",\" separator.\n\n\n lineItems.amountIncludingTax\n\nFrom 1 to 100000000.\n\n\n lineItems.itemCategory\n\nUp to 200 characters.\n\n\n reference\n\nThe reference to uniquely identify a payment. We recommend using a unique value per payment; however, it is not a requirement.Important: For PayTo, the maximum length is 35 characters.\n\n\n\n\n    \n\nThe response includes:\n\n    \n\nSubscription setup and first payment\nTo set up a subscription agreement with specific conditions and accept the first payment from the shopper, add the following parameters.\n\n\n\nParameter\nRequired\nDescription\n\n\n\n\n paymentMethod\n\npayto\n\n\n paymentMethod.shopperAccountIdentifier\n\nThe shopper's banking details or PayID reference, used to complete the payment. Possible values. 1\n\n\n\n shopperName.firstName\n\nThe shopper's first name.\n\n\n shopperName.lastName\n\nThe shopper's last name.\n\n\n storePaymentMethod\n\nSet to true to store payment details for subscription payments.\n\n\n recurringProcessingModel\n\nSubscription\n\n\n shopperInteraction\n\nEcommerce\n\n\n mandate.frequency\n\nThe frequency with which a shopper should be charged.Possible values: adhoc, daily, weekly, biWeekly, monthly, quarterly, halfYearly, yearly.adhoc: Suitable for Card On File and Unscheduled Card On File recurring processing models.daily, weekly, biWeekly, monthly, quarterly, halfYearly, yearly: Suitable for Subscription recurring processing model.\n\n\n mandate.endsAt\n\nEnd date of the billing plan, in YYYY-MM-DD format.\n\n\n mandate.amount\n\nThe billing amount (in minor units) of the recurring transactions. 1 to 1000000000.\n\n\n mandate.amountRule\n\nThe limitation rule of the billing amount.Possible values:max: The transaction amount can not exceed the amount.exact: The transaction amount should be the same as the amount.\n\n\n mandate.remarks\n\nThe agreement description shown to the shopper up to 140 characters.\n\n\n mandate.startsAt\n\nStart date of the billing plan, in YYYY-MM-DD format. By default, the transaction date.\n\n\n mandate.count\n\nThe number of transactions that can be performed within the given frequency.Conditions:If the frequency is different than adhoc the count has to be provided and should be &gt;= 1If frequency is adhoc the count can be omitted or will represent the total number of payments that can be done.\n\n\n shopperStatement\n\nThe text that shows up on the shopper's statement. Appears in Mandate Remarks in One-off payment flow, if no Remarks are provided.\n\n\n lineItems.quantity \n  1\n\n\nFrom 0 to 9999.\n\n\n lineItems.sku  \n  1\n\n\nUp to 200 characters. Note that this field is only available from v70 onwards.\n\n\n lineItems.description  \n  1\n\n\nUsed to display the payment statement description to the shopper.Up to 280 characters. If multiple items, the item descriptions will be appended with a \",\" separator.\n\n\n lineItems.amountIncludingTax \n  1\n\n\nFrom 1 to 100000000.\n\n\n lineItems.itemCategory \n  1\n\n\nUp to 200 characters.\n\n\n reference\n\nThe reference to uniquely identify a payment. We recommend using a unique value per payment; however, it is not a requirement.Important: For PayTo, the maximum length is 35 characters.\n\n\n\n\n1 The lineItems information are consolidated and provided to PayTo as the payment description, and can be shown in the shopper's banking app (depending on the bank's capabilities).\n\nThe following example shows a payment request that gives the shopper a subscription agreement with a first payment of 30 AUD and a weekly payment of up to 90 AUD.\n\n\n\nParameter\nExample value\nDescription\n\n\n\n\namount.value\n3000\nAfter the shopper accepts the subscription agreement, they make a first, immediate payment of 30 AUD.\n\n\nmandate.frequency\nweekly\nA payment must be made weekly.\n\n\nmandate.amount\n9000\nThe amount of the weekly payment.\n\n\nmandate.amountRule\nmax\nThe maximum amount of the weekly payment is the mandate.amount of 90 AUD.\n\n\nmandate.count\n1\nThe shopper can make only one payment each week.\n\n\nmandate.endsAt\n2025-12-31\nThe subscription agreement ends on December 31, 2025.\n\n\nmandate.remarks\nYour agreement description\nThe description of the agreement that appears in the shopper agreement.\n\n\n\n\n    \n\nThe response includes:\n\n    \n\nThe shopper receives a notification from their bank (through SMS, email, or in their banking app) to authorize or decline the agreement.\nWhen the subscription agreement is accepted, you get the  RECURRING_CONTRACT webhook that includes the recurringDetailReference for subsequent subscription payments.\nSubsequent subscription payment\nFor a subsequent subscription payment, add the following parameters.\n\n\n\nParameter\nRequired\nDescription\n\n\n\n\n paymentMethod\n\npayto\n\n\n paymentMethod.storedPaymentMethodId\n\nFrom the  recurring.token.created webhook associated with the shopper, the data.storedPaymentMethodId. This stored payment method can only be used according to the conditions specified in the subscription agreement.\n\n\n shopperInteraction\n\nContAuth\n\n\n reference\n\nThe reference to uniquely identify a payment. We recommend using a unique value per payment; however, it is not a requirement.Important: For PayTo, the maximum length is 35 characters.\n\n\n\n\n    \n\nThe response includes:\n\n    \n\nShopper account identifiers\nThe following table shows the possible values you can use for the shopperAccountIdentifier parameter.\n\n\n\nIdentifier\nRegular expression (RegEx) for allowed values\n\n\n\n\n\nBSB-AccountNumber\n\n\n^\\d{6}-[ -~]{1,28}$`\n\n\n\n\nPayID Email\n\n\n^(?:[a-z0-9!#$%&amp;'+\\\/=?^_`{|}~-]+(?:.[a-z0-9!#$%&amp;'+\\\/=?^_`{|}~-]+)@(?:[a-z0-9] (?:[a-z0-9-][a-z0-9])?.)+[a-z0-9] (?:[a-z0-9-]*[a-z0-9])?)$\n\n\n\n\nPayID Phone Number\n\n\n^+[0-9]{1,3}-[1-9]{1,1}[0-9]{1,29}$\n\n\n\n\nPayID ABN\n\n\n^((\\d{9})|(\\d{11}))$\n\n\n\n\nPayID Organisation Identifier\n\n\n^[!-@[-~][ -@[-~]{0,254}[!-@[-~]$\n\n\n\n\nRequired webhooks\nThe following webhook notifications indicate the status of the transaction.\nOFFER_CLOSED\nThis notification will be returned when the agreement failed or is canceled by the user.\nIn this case, the refusalReasonRaw will be included in the additionalData object in the format errorCode:errorDescription. The contents of refusalReasonRaw will provide details about the reason for the failure or cancellation. Process the refusalReasonRaw to obtain more information about the decline or cancellation reason.\nAUTHORISATION\nYou will receive this notification for a payment on an accepted agreement, the payment outcome could be authorized or rejected.\nIn case the payment fails due to an error, you can consume the refusalReasonRaw that is returned in the additionalData object of your notification to get additional information about the reason for the payment being refused.\nREFUND\nWhen the refund is successfully received, the outcome will most likely succeed unless you receive a REFUND_FAILED notification.\nREFUND_FAILED\nBecause refunds are asynchronous events, the outcome might fail due to unexpected reasons. In such cases you will receive a REFUND_FAILED notification.\nRECURRING_CONTRACT\nContains the token in the payload of the notification sent to you in the pspReference parameter.\nDISABLE_RECURRING\nWhen an agreement arrives to term, or is canceled (by you or the shopper), you will receive a DISABLE_RECURRING notification to keep you informed about a token deletion.\nToken lifecycle webhooks are also supported.\nTest and go live\nTo test, use the shopperAccountIdentifier with the following emails to simulate testing scenarios:\n\n\nType\nshopperAccountIdentifier\nResult\nDescription\n\n\nAgreement\n[Any valid input]\nAuthorised\nSuccessful payment.\n\n\nexpire@adyen-test.com\nOFFER_CLOSED\nThe Agreement has expired, please request your shopper to pay again.\n\n\ndebtor_account_type_not_supported@adyen-test.com\nOFFER_CLOSED\nThe agreement has been refused.\n\n\n\nPayment\n[Any valid input]\nAuthorised\nSuccessful payment.\n\n\ninsufficient_funds@adyen-test.com\nRefused\nInsufficient Funds\n\n\ndebtor_account_closed@adyen-test.com\nRefused\nThe Shopper account is closed.\n\n\nfinancial_infrastructure_unavailable@adyen-test.com\nError\nNPP is unable to process the payment due to back office issues or outage.\n\n\nSee also\n\n\n                    API-only integration guide\n                \n","type":"page","locale":"pt","boost":17,"hierarchy":{"lvl0":"Home","lvl1":"Payment methods","lvl2":"PayTo","lvl3":"PayTo for API only"},"hierarchy_url":{"lvl0":"https:\/\/docs.adyen.com\/pt","lvl1":"https:\/\/docs.adyen.com\/pt\/payment-methods","lvl2":"https:\/\/docs.adyen.com\/pt\/payment-methods\/payto","lvl3":"\/pt\/payment-methods\/payto\/api-only"},"levels":4,"category":"Payment method","category_color":"green","tags":["PayTo"]}}
