{"title":"ANCV for API only","category":"default","creationDate":1776961628,"content":"<p>You can add ANCV to your existing integration. The following instructions show only what you must add to your integration specifically for ANCV.<\/p>\n<p>If an instruction on this page corresponds with a step in the main integration guide, it includes a link to 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>.<\/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#additional-action\">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 ANCV in your Customer Area<\/a>. <\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>How it works<\/h2>\n<ol>\n<li>The shopper selects ANCV as the payment method.<\/li>\n<li>The shopper enters their details in the <a href=\"#build-your-payment-form\">payment form that you build<\/a>.<\/li>\n<li>When you make the payment request, you <a href=\"#additional-parameters-payments\">include additional information about the items that the shopper intends to purchase<\/a>.<\/li>\n<li>Your existing integration setup will <a href=\"\/pt\/online-payments\/build-your-integration\/advanced-flow\/?platform=Web&amp;integration=API%20only#additional-action\">handle the await action<\/a>, while you display the <a href=\"#show-waiting-screen\">waiting screen<\/a>.<\/li>\n<\/ol>\n<h2 id=\"build-your-payment-form\">Build your payment form<\/h2>\n<p>Include ANCV as an available payment method in your payment form.<\/p>\n<p>Use 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> request to show available payment methods to the shopper. Specify these parameters:<\/p>\n<ul>\n<li><code>countryCode<\/code>: <strong>FR<\/strong><\/li>\n<li><code>amount.currency<\/code>: <strong>EUR<\/strong><\/li>\n<\/ul>\n<p>The response contains <code>paymentMethod.type<\/code>: <strong>ancv<\/strong>.<\/p>\n<div class=\"notices green\">\n<p>You can <a href=\"\/pt\/online-payments\/build-your-integration\/advanced-flow\/?platform=Web&amp;integration=API%2Bonly&amp;version=71#downloading-logos\">download the logo for ANCV<\/a> to use in your form.<\/p>\n<\/div>\n<h2>Get ANCV 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 ANCV 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>FR<\/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>EUR<\/strong><\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'Example request for available payment methods'\" :id=\"'payment-methods-request'\" :code-data=\"[{&quot;language&quot;:&quot;bash&quot;,&quot;tabTitle&quot;:&quot;curl&quot;,&quot;content&quot;:&quot;curl https:\\\/\\\/checkout-test.adyen.com\\\/v72\\\/paymentMethods \\\\\\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;countryCode\\&quot;: \\&quot;FR\\&quot;,\\n   \\&quot;amount\\&quot;: {\\n      \\&quot;currency\\&quot;: \\&quot;EUR\\&quot;,\\n\\t  \\&quot;value\\&quot;: 1000\\n   },\\n   \\&quot;shopperLocale\\&quot;: \\&quot;fr-FR\\&quot;\\n}'&quot;},{&quot;language&quot;:&quot;java&quot;,&quot;tabTitle&quot;:&quot;Java&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Java API Library v40.0.0\\nimport com.adyen.Client;\\nimport com.adyen.enums.Environment;\\nimport com.adyen.model.checkout.*;\\nimport java.time.OffsetDateTime;\\nimport java.util.*;\\nimport com.adyen.model.RequestOptions;\\nimport com.adyen.service.checkout.*;\\n\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\nClient client = new Client(\\&quot;ADYEN_API_KEY\\&quot;, Environment.TEST);\\n\\n\\\/\\\/ Create the request object(s)\\nAmount amount = new Amount()\\n  .currency(\\&quot;EUR\\&quot;)\\n  .value(1000L);\\n\\nPaymentMethodsRequest paymentMethodsRequest = new PaymentMethodsRequest()\\n  .amount(amount)\\n  .merchantAccount(\\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;)\\n  .countryCode(\\&quot;FR\\&quot;)\\n  .shopperLocale(\\&quot;fr-FR\\&quot;);\\n\\n\\\/\\\/ Send the request\\nPaymentsApi service = new PaymentsApi(client);\\nPaymentMethodsResponse response = service.paymentMethods(paymentMethodsRequest, new RequestOptions().idempotencyKey(\\&quot;UUID\\&quot;));&quot;},{&quot;language&quot;:&quot;php&quot;,&quot;tabTitle&quot;:&quot;PHP&quot;,&quot;content&quot;:&quot;&lt;?php\\n\\\/\\\/ Adyen PHP API Library v28.3.0\\nuse Adyen\\\\Client;\\nuse Adyen\\\\Environment;\\nuse Adyen\\\\Model\\\\Checkout\\\\Amount;\\nuse Adyen\\\\Model\\\\Checkout\\\\PaymentMethodsRequest;\\nuse Adyen\\\\Service\\\\Checkout\\\\PaymentsApi;\\n\\n$client = new Client();\\n$client-&gt;setXApiKey(\\&quot;ADYEN_API_KEY\\&quot;);\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\n$client-&gt;setEnvironment(Environment::TEST);\\n\\n\\n\\\/\\\/ Create the request object(s)\\n$amount = new Amount();\\n$amount\\n  -&gt;setCurrency(\\&quot;EUR\\&quot;)\\n  -&gt;setValue(1000);\\n\\n$paymentMethodsRequest = new PaymentMethodsRequest();\\n$paymentMethodsRequest\\n  -&gt;setAmount($amount)\\n  -&gt;setMerchantAccount(\\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;)\\n  -&gt;setCountryCode(\\&quot;FR\\&quot;)\\n  -&gt;setShopperLocale(\\&quot;fr-FR\\&quot;);\\n\\n$requestOptions['idempotencyKey'] = 'UUID';\\n\\n\\\/\\\/ Send the request\\n$service = new PaymentsApi($client);\\n$response = $service-&gt;paymentMethods($paymentMethodsRequest, $requestOptions);&quot;},{&quot;language&quot;:&quot;cs&quot;,&quot;tabTitle&quot;:&quot;C#&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen .NET API Library v32.2.1\\nusing Adyen;\\nusing Environment = Adyen.Model.Environment;\\nusing Adyen.Model;\\nusing Adyen.Model.Checkout;\\nusing Adyen.Service.Checkout;\\n\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\nvar config = new Config()\\n{\\n    XApiKey = \\&quot;ADYEN_API_KEY\\&quot;,\\n    Environment = Environment.Test\\n};\\nvar client = new Client(config);\\n\\n\\\/\\\/ Create the request object(s)\\nAmount amount = new Amount\\n{\\n  Currency = \\&quot;EUR\\&quot;,\\n  Value = 1000\\n};\\n\\nPaymentMethodsRequest paymentMethodsRequest = new PaymentMethodsRequest\\n{\\n  Amount = amount,\\n  MerchantAccount = \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n  CountryCode = \\&quot;FR\\&quot;,\\n  ShopperLocale = \\&quot;fr-FR\\&quot;\\n};\\n\\n\\\/\\\/ Send the request\\nvar service = new PaymentsService(client);\\nvar response = service.PaymentMethods(paymentMethodsRequest, requestOptions: new RequestOptions { IdempotencyKey = \\&quot;UUID\\&quot;});&quot;},{&quot;language&quot;:&quot;js&quot;,&quot;tabTitle&quot;:&quot;NodeJS (JavaScript)&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Node API Library v30.0.1\\nconst { Client, CheckoutAPI } = require('@adyen\\\/api-library');\\n\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\nconst config = new Config({\\n  apiKey: \\&quot;ADYEN_API_KEY\\&quot;,\\n  environment: EnvironmentEnum.TEST\\n});\\n\\nconst client = new Client(config);\\n\\n\\\/\\\/ Create the request object(s)\\nconst paymentMethodsRequest = {\\n  merchantAccount: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n  countryCode: \\&quot;FR\\&quot;,\\n  amount: {\\n    currency: \\&quot;EUR\\&quot;,\\n    value: 1000\\n  },\\n  shopperLocale: \\&quot;fr-FR\\&quot;\\n}\\n\\n\\\/\\\/ Send the request\\nconst checkoutAPI = new CheckoutAPI(client);\\nconst response = checkoutAPI.PaymentsApi.paymentMethods(paymentMethodsRequest, { idempotencyKey: \\&quot;UUID\\&quot; });&quot;},{&quot;language&quot;:&quot;go&quot;,&quot;tabTitle&quot;:&quot;Go&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Go API Library v21.1.0\\nimport (\\n  \\&quot;context\\&quot;\\n  \\&quot;github.com\\\/adyen\\\/adyen-go-api-library\\\/v21\\\/src\\\/common\\&quot;\\n  \\&quot;github.com\\\/adyen\\\/adyen-go-api-library\\\/v21\\\/src\\\/adyen\\&quot;\\n  \\&quot;github.com\\\/adyen\\\/adyen-go-api-library\\\/v21\\\/src\\\/checkout\\&quot;\\n)\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\nclient := adyen.NewClient(&amp;common.Config{\\n  ApiKey:      \\&quot;ADYEN_API_KEY\\&quot;,\\n  Environment: common.TestEnv,\\n})\\n\\n\\\/\\\/ Create the request object(s)\\namount := checkout.Amount{\\n  Currency: \\&quot;EUR\\&quot;,\\n  Value: 1000,\\n}\\n\\npaymentMethodsRequest := checkout.PaymentMethodsRequest{\\n  Amount: &amp;amount,\\n  MerchantAccount: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n  CountryCode: common.PtrString(\\&quot;FR\\&quot;),\\n  ShopperLocale: common.PtrString(\\&quot;fr-FR\\&quot;),\\n}\\n\\n\\\/\\\/ Send the request\\nservice := client.Checkout()\\nreq := service.PaymentsApi.PaymentMethodsInput().IdempotencyKey(\\&quot;UUID\\&quot;).PaymentMethodsRequest(paymentMethodsRequest)\\nres, httpRes, err := service.PaymentsApi.PaymentMethods(context.Background(), req)&quot;},{&quot;language&quot;:&quot;py&quot;,&quot;tabTitle&quot;:&quot;Python&quot;,&quot;content&quot;:&quot;# Adyen Python API Library v14.0.0\\nimport Adyen\\n\\nadyen = Adyen.Adyen()\\nadyen.client.xapikey = \\&quot;ADYEN_API_KEY\\&quot;\\n# For the LIVE environment, also include your liveEndpointUrlPrefix.\\nadyen.client.platform = \\&quot;test\\&quot; # The environment to use library in.\\n\\n# Create the request object(s)\\njson_request = {\\n  \\&quot;merchantAccount\\&quot;: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n  \\&quot;countryCode\\&quot;: \\&quot;FR\\&quot;,\\n  \\&quot;amount\\&quot;: {\\n    \\&quot;currency\\&quot;: \\&quot;EUR\\&quot;,\\n    \\&quot;value\\&quot;: 1000\\n  },\\n  \\&quot;shopperLocale\\&quot;: \\&quot;fr-FR\\&quot;\\n}\\n\\n# Send the request\\nresult = adyen.checkout.payments_api.payment_methods(request=json_request, idempotency_key=\\&quot;UUID\\&quot;)&quot;},{&quot;language&quot;:&quot;rb&quot;,&quot;tabTitle&quot;:&quot;Ruby&quot;,&quot;content&quot;:&quot;# Adyen Ruby API Library v11.1.0\\nrequire \\&quot;adyen-ruby-api-library\\&quot;\\n\\nadyen = Adyen::Client.new\\nadyen.api_key = 'ADYEN_API_KEY'\\n# For the LIVE environment, also include your liveEndpointUrlPrefix.\\nadyen.env = :test # Set to \\&quot;live\\&quot; for live environment\\n\\n# Create the request object(s)\\nrequest_body = {\\n  :merchantAccount =&gt; 'ADYEN_MERCHANT_ACCOUNT',\\n  :countryCode =&gt; 'FR',\\n  :amount =&gt; {\\n    :currency =&gt; 'EUR',\\n    :value =&gt; 1000\\n  },\\n  :shopperLocale =&gt; 'fr-FR'\\n}\\n\\n# Send the request\\nresult = adyen.checkout.payments_api.payment_methods(request_body, headers: { 'Idempotency-Key' =&gt; 'UUID' })&quot;},{&quot;language&quot;:&quot;ts&quot;,&quot;tabTitle&quot;:&quot;NodeJS (TypeScript)&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Node API Library v30.0.1\\nimport { Client, CheckoutAPI, Types } from \\&quot;@adyen\\\/api-library\\&quot;;\\n\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\nconst config = new Config({\\n  apiKey: \\&quot;ADYEN_API_KEY\\&quot;,\\n  environment: EnvironmentEnum.TEST\\n});\\n\\nconst client = new Client(config);\\n\\n\\\/\\\/ Create the request object(s)\\nconst amount: Types.checkout.Amount = {\\n  currency: \\&quot;EUR\\&quot;,\\n  value: 1000\\n};\\n\\nconst paymentMethodsRequest: Types.checkout.PaymentMethodsRequest = {\\n  amount: amount,\\n  merchantAccount: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n  countryCode: \\&quot;FR\\&quot;,\\n  shopperLocale: \\&quot;fr-FR\\&quot;\\n};\\n\\n\\\/\\\/ Send the request\\nconst checkoutAPI = new CheckoutAPI(client);\\nconst response = checkoutAPI.PaymentsApi.paymentMethods(paymentMethodsRequest, { idempotencyKey: \\&quot;UUID\\&quot; });&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'Example response with ANCV available'\" :id=\"'payment-methods-response'\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n    \\\"paymentMethods\\\": [\\n        {\\n            \\\"name\\\": \\\"ANCV\\\",\\n            \\\"type\\\": \\\"ancv\\\"\\n        }\\n    ]\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<h2 id=\"additional-parameters-payments\">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<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><code>paymentMethod.type<\/code><\/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><strong>ancv<\/strong><\/td>\n<\/tr>\n<tr>\n<td><code>paymentMethod.beneficiaryId<\/code><\/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>This is the ANCV ID of the shopper collected during the checkout (either email address or 11-digit value).<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'Example payment request for ANCV'\" :id=\"'payments-request'\" :code-data=\"[{&quot;language&quot;:&quot;bash&quot;,&quot;tabTitle&quot;:&quot;curl&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;amount\\&quot;:{\\n     \\&quot;currency\\&quot;:\\&quot;EUR\\&quot;,\\n     \\&quot;value\\&quot;:3000\\n  },\\n  \\&quot;reference\\&quot;:\\&quot;YOUR_ORDER_NUMBER\\&quot;,\\n  \\&quot;paymentMethod\\&quot;: {\\n     \\&quot;type\\&quot;: \\&quot;ancv\\&quot;,\\n     \\&quot;beneficiaryId\\&quot;: \\&quot;SHOPPER_ID\\&quot;\\n  },\\n  \\&quot;returnUrl\\&quot;:\\&quot;https:\\\/\\\/your-company.com\\\/checkout?shopperOrder=12xy..\\&quot;,\\n  \\&quot;merchantAccount\\&quot;:\\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n  \\&quot;order\\&quot;: {\\n      \\&quot;pspReference\\&quot;: \\&quot;MLSPNCQ8HXSKGK82\\&quot;,\\n      \\&quot;orderData\\&quot;: \\&quot;823fh892f8f18f4...148f13f9f3f\\&quot;\\n   }\\n}'&quot;},{&quot;language&quot;:&quot;java&quot;,&quot;tabTitle&quot;:&quot;Java&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Java API Library v40.0.0\\nimport com.adyen.Client;\\nimport com.adyen.enums.Environment;\\nimport com.adyen.model.checkout.*;\\nimport java.time.OffsetDateTime;\\nimport java.util.*;\\nimport com.adyen.model.RequestOptions;\\nimport com.adyen.service.checkout.*;\\n\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\nClient client = new Client(\\&quot;ADYEN_API_KEY\\&quot;, Environment.TEST);\\n\\n\\\/\\\/ Create the request object(s)\\nAmount amount = new Amount()\\n  .currency(\\&quot;EUR\\&quot;)\\n  .value(3000L);\\n\\nAncvDetails ancvDetails = new AncvDetails()\\n  .type(AncvDetails.TypeEnum.ANCV)\\n  .beneficiaryId(\\&quot;SHOPPER_ID\\&quot;);\\n\\nEncryptedOrderData encryptedOrderData = new EncryptedOrderData()\\n  .orderData(\\&quot;823fh892f8f18f4...148f13f9f3f\\&quot;)\\n  .pspReference(\\&quot;MLSPNCQ8HXSKGK82\\&quot;);\\n\\nPaymentRequest paymentRequest = new PaymentRequest()\\n  .reference(\\&quot;YOUR_ORDER_NUMBER\\&quot;)\\n  .amount(amount)\\n  .merchantAccount(\\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;)\\n  .paymentMethod(new CheckoutPaymentMethod(ancvDetails))\\n  .returnUrl(\\&quot;https:\\\/\\\/your-company.com\\\/checkout?shopperOrder=12xy..\\&quot;)\\n  .order(encryptedOrderData);\\n\\n\\\/\\\/ Send the request\\nPaymentsApi service = new PaymentsApi(client);\\nPaymentResponse response = service.payments(paymentRequest, new RequestOptions().idempotencyKey(\\&quot;UUID\\&quot;));&quot;},{&quot;language&quot;:&quot;php&quot;,&quot;tabTitle&quot;:&quot;PHP&quot;,&quot;content&quot;:&quot;&lt;?php\\n\\\/\\\/ Adyen PHP API Library v28.3.0\\nuse Adyen\\\\Client;\\nuse Adyen\\\\Environment;\\nuse Adyen\\\\Model\\\\Checkout\\\\Amount;\\nuse Adyen\\\\Model\\\\Checkout\\\\CheckoutPaymentMethod;\\nuse Adyen\\\\Model\\\\Checkout\\\\EncryptedOrderData;\\nuse Adyen\\\\Model\\\\Checkout\\\\PaymentRequest;\\nuse Adyen\\\\Service\\\\Checkout\\\\PaymentsApi;\\n\\n$client = new Client();\\n$client-&gt;setXApiKey(\\&quot;ADYEN_API_KEY\\&quot;);\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\n$client-&gt;setEnvironment(Environment::TEST);\\n\\n\\n\\\/\\\/ Create the request object(s)\\n$amount = new Amount();\\n$amount\\n  -&gt;setCurrency(\\&quot;EUR\\&quot;)\\n  -&gt;setValue(3000);\\n\\n$checkoutPaymentMethod = new CheckoutPaymentMethod();\\n$checkoutPaymentMethod\\n  -&gt;setType(\\&quot;ancv\\&quot;)\\n  -&gt;setBeneficiaryId(\\&quot;SHOPPER_ID\\&quot;);\\n\\n$encryptedOrderData = new EncryptedOrderData();\\n$encryptedOrderData\\n  -&gt;setOrderData(\\&quot;823fh892f8f18f4...148f13f9f3f\\&quot;)\\n  -&gt;setPspReference(\\&quot;MLSPNCQ8HXSKGK82\\&quot;);\\n\\n$paymentRequest = new PaymentRequest();\\n$paymentRequest\\n  -&gt;setReference(\\&quot;YOUR_ORDER_NUMBER\\&quot;)\\n  -&gt;setAmount($amount)\\n  -&gt;setMerchantAccount(\\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;)\\n  -&gt;setPaymentMethod($checkoutPaymentMethod)\\n  -&gt;setReturnUrl(\\&quot;https:\\\/\\\/your-company.com\\\/checkout?shopperOrder=12xy..\\&quot;)\\n  -&gt;setOrder($encryptedOrderData);\\n\\n$requestOptions['idempotencyKey'] = 'UUID';\\n\\n\\\/\\\/ Send the request\\n$service = new PaymentsApi($client);\\n$response = $service-&gt;payments($paymentRequest, $requestOptions);&quot;},{&quot;language&quot;:&quot;cs&quot;,&quot;tabTitle&quot;:&quot;C#&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen .NET API Library v32.2.1\\nusing Adyen;\\nusing Environment = Adyen.Model.Environment;\\nusing Adyen.Model;\\nusing Adyen.Model.Checkout;\\nusing Adyen.Service.Checkout;\\n\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\nvar config = new Config()\\n{\\n    XApiKey = \\&quot;ADYEN_API_KEY\\&quot;,\\n    Environment = Environment.Test\\n};\\nvar client = new Client(config);\\n\\n\\\/\\\/ Create the request object(s)\\nAmount amount = new Amount\\n{\\n  Currency = \\&quot;EUR\\&quot;,\\n  Value = 3000\\n};\\n\\nAncvDetails ancvDetails = new AncvDetails\\n{\\n  Type = AncvDetails.TypeEnum.Ancv,\\n  BeneficiaryId = \\&quot;SHOPPER_ID\\&quot;\\n};\\n\\nEncryptedOrderData encryptedOrderData = new EncryptedOrderData\\n{\\n  OrderData = \\&quot;823fh892f8f18f4...148f13f9f3f\\&quot;,\\n  PspReference = \\&quot;MLSPNCQ8HXSKGK82\\&quot;\\n};\\n\\nPaymentRequest paymentRequest = new PaymentRequest\\n{\\n  Reference = \\&quot;YOUR_ORDER_NUMBER\\&quot;,\\n  Amount = amount,\\n  MerchantAccount = \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n  PaymentMethod = new CheckoutPaymentMethod(ancvDetails),\\n  ReturnUrl = \\&quot;https:\\\/\\\/your-company.com\\\/checkout?shopperOrder=12xy..\\&quot;,\\n  Order = encryptedOrderData\\n};\\n\\n\\\/\\\/ Send the request\\nvar service = new PaymentsService(client);\\nvar response = service.Payments(paymentRequest, requestOptions: new RequestOptions { IdempotencyKey = \\&quot;UUID\\&quot;});&quot;},{&quot;language&quot;:&quot;js&quot;,&quot;tabTitle&quot;:&quot;NodeJS (JavaScript)&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Node API Library v30.0.1\\nconst { Client, CheckoutAPI } = require('@adyen\\\/api-library');\\n\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\nconst config = new Config({\\n  apiKey: \\&quot;ADYEN_API_KEY\\&quot;,\\n  environment: EnvironmentEnum.TEST\\n});\\n\\nconst client = new Client(config);\\n\\n\\\/\\\/ Create the request object(s)\\nconst paymentRequest = {\\n  amount: {\\n    currency: \\&quot;EUR\\&quot;,\\n    value: 3000\\n  },\\n  reference: \\&quot;YOUR_ORDER_NUMBER\\&quot;,\\n  paymentMethod: {\\n    type: \\&quot;ancv\\&quot;,\\n    beneficiaryId: \\&quot;SHOPPER_ID\\&quot;\\n  },\\n  returnUrl: \\&quot;https:\\\/\\\/your-company.com\\\/checkout?shopperOrder=12xy..\\&quot;,\\n  merchantAccount: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n  order: {\\n    pspReference: \\&quot;MLSPNCQ8HXSKGK82\\&quot;,\\n    orderData: \\&quot;823fh892f8f18f4...148f13f9f3f\\&quot;\\n  }\\n}\\n\\n\\\/\\\/ Send the request\\nconst checkoutAPI = new CheckoutAPI(client);\\nconst response = checkoutAPI.PaymentsApi.payments(paymentRequest, { idempotencyKey: \\&quot;UUID\\&quot; });&quot;},{&quot;language&quot;:&quot;go&quot;,&quot;tabTitle&quot;:&quot;Go&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Go API Library v21.1.0\\nimport (\\n  \\&quot;context\\&quot;\\n  \\&quot;github.com\\\/adyen\\\/adyen-go-api-library\\\/v21\\\/src\\\/common\\&quot;\\n  \\&quot;github.com\\\/adyen\\\/adyen-go-api-library\\\/v21\\\/src\\\/adyen\\&quot;\\n  \\&quot;github.com\\\/adyen\\\/adyen-go-api-library\\\/v21\\\/src\\\/checkout\\&quot;\\n)\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\nclient := adyen.NewClient(&amp;common.Config{\\n  ApiKey:      \\&quot;ADYEN_API_KEY\\&quot;,\\n  Environment: common.TestEnv,\\n})\\n\\n\\\/\\\/ Create the request object(s)\\namount := checkout.Amount{\\n  Currency: \\&quot;EUR\\&quot;,\\n  Value: 3000,\\n}\\n\\nancvDetails := checkout.AncvDetails{\\n  Type: common.PtrString(\\&quot;ancv\\&quot;),\\n  BeneficiaryId: common.PtrString(\\&quot;SHOPPER_ID\\&quot;),\\n}\\n\\nencryptedOrderData := checkout.EncryptedOrderData{\\n  OrderData: \\&quot;823fh892f8f18f4...148f13f9f3f\\&quot;,\\n  PspReference: \\&quot;MLSPNCQ8HXSKGK82\\&quot;,\\n}\\n\\npaymentRequest := checkout.PaymentRequest{\\n  Reference: \\&quot;YOUR_ORDER_NUMBER\\&quot;,\\n  Amount: amount,\\n  MerchantAccount: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n  PaymentMethod: checkout.AncvDetailsAsCheckoutPaymentMethod(&amp;ancvDetails),\\n  ReturnUrl: \\&quot;https:\\\/\\\/your-company.com\\\/checkout?shopperOrder=12xy..\\&quot;,\\n  Order: &amp;encryptedOrderData,\\n}\\n\\n\\\/\\\/ Send the request\\nservice := client.Checkout()\\nreq := service.PaymentsApi.PaymentsInput().IdempotencyKey(\\&quot;UUID\\&quot;).PaymentRequest(paymentRequest)\\nres, httpRes, err := service.PaymentsApi.Payments(context.Background(), req)&quot;},{&quot;language&quot;:&quot;py&quot;,&quot;tabTitle&quot;:&quot;Python&quot;,&quot;content&quot;:&quot;# Adyen Python API Library v14.0.0\\nimport Adyen\\n\\nadyen = Adyen.Adyen()\\nadyen.client.xapikey = \\&quot;ADYEN_API_KEY\\&quot;\\n# For the LIVE environment, also include your liveEndpointUrlPrefix.\\nadyen.client.platform = \\&quot;test\\&quot; # The environment to use library in.\\n\\n# Create the request object(s)\\njson_request = {\\n  \\&quot;amount\\&quot;: {\\n    \\&quot;currency\\&quot;: \\&quot;EUR\\&quot;,\\n    \\&quot;value\\&quot;: 3000\\n  },\\n  \\&quot;reference\\&quot;: \\&quot;YOUR_ORDER_NUMBER\\&quot;,\\n  \\&quot;paymentMethod\\&quot;: {\\n    \\&quot;type\\&quot;: \\&quot;ancv\\&quot;,\\n    \\&quot;beneficiaryId\\&quot;: \\&quot;SHOPPER_ID\\&quot;\\n  },\\n  \\&quot;returnUrl\\&quot;: \\&quot;https:\\\/\\\/your-company.com\\\/checkout?shopperOrder=12xy..\\&quot;,\\n  \\&quot;merchantAccount\\&quot;: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n  \\&quot;order\\&quot;: {\\n    \\&quot;pspReference\\&quot;: \\&quot;MLSPNCQ8HXSKGK82\\&quot;,\\n    \\&quot;orderData\\&quot;: \\&quot;823fh892f8f18f4...148f13f9f3f\\&quot;\\n  }\\n}\\n\\n# Send the request\\nresult = adyen.checkout.payments_api.payments(request=json_request, idempotency_key=\\&quot;UUID\\&quot;)&quot;},{&quot;language&quot;:&quot;rb&quot;,&quot;tabTitle&quot;:&quot;Ruby&quot;,&quot;content&quot;:&quot;# Adyen Ruby API Library v11.1.0\\nrequire \\&quot;adyen-ruby-api-library\\&quot;\\n\\nadyen = Adyen::Client.new\\nadyen.api_key = 'ADYEN_API_KEY'\\n# For the LIVE environment, also include your liveEndpointUrlPrefix.\\nadyen.env = :test # Set to \\&quot;live\\&quot; for live environment\\n\\n# Create the request object(s)\\nrequest_body = {\\n  :amount =&gt; {\\n    :currency =&gt; 'EUR',\\n    :value =&gt; 3000\\n  },\\n  :reference =&gt; 'YOUR_ORDER_NUMBER',\\n  :paymentMethod =&gt; {\\n    :type =&gt; 'ancv',\\n    :beneficiaryId =&gt; 'SHOPPER_ID'\\n  },\\n  :returnUrl =&gt; 'https:\\\/\\\/your-company.com\\\/checkout?shopperOrder=12xy..',\\n  :merchantAccount =&gt; 'ADYEN_MERCHANT_ACCOUNT',\\n  :order =&gt; {\\n    :pspReference =&gt; 'MLSPNCQ8HXSKGK82',\\n    :orderData =&gt; '823fh892f8f18f4...148f13f9f3f'\\n  }\\n}\\n\\n# Send the request\\nresult = adyen.checkout.payments_api.payments(request_body, headers: { 'Idempotency-Key' =&gt; 'UUID' })&quot;},{&quot;language&quot;:&quot;ts&quot;,&quot;tabTitle&quot;:&quot;NodeJS (TypeScript)&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Node API Library v30.0.1\\nimport { Client, CheckoutAPI, Types } from \\&quot;@adyen\\\/api-library\\&quot;;\\n\\n\\\/\\\/ For the LIVE environment, also include your liveEndpointUrlPrefix.\\nconst config = new Config({\\n  apiKey: \\&quot;ADYEN_API_KEY\\&quot;,\\n  environment: EnvironmentEnum.TEST\\n});\\n\\nconst client = new Client(config);\\n\\n\\\/\\\/ Create the request object(s)\\nconst amount: Types.checkout.Amount = {\\n  currency: \\&quot;EUR\\&quot;,\\n  value: 3000\\n};\\n\\nconst ancvDetails: Types.checkout.AncvDetails = {\\n  type: Types.checkout.AncvDetails.TypeEnum.Ancv,\\n  beneficiaryId: \\&quot;SHOPPER_ID\\&quot;\\n};\\n\\nconst encryptedOrderData: Types.checkout.EncryptedOrderData = {\\n  orderData: \\&quot;823fh892f8f18f4...148f13f9f3f\\&quot;,\\n  pspReference: \\&quot;MLSPNCQ8HXSKGK82\\&quot;\\n};\\n\\nconst paymentRequest: Types.checkout.PaymentRequest = {\\n  reference: \\&quot;YOUR_ORDER_NUMBER\\&quot;,\\n  amount: amount,\\n  merchantAccount: \\&quot;ADYEN_MERCHANT_ACCOUNT\\&quot;,\\n  paymentMethod: ancvDetails,\\n  returnUrl: \\&quot;https:\\\/\\\/your-company.com\\\/checkout?shopperOrder=12xy..\\&quot;,\\n  order: encryptedOrderData\\n};\\n\\n\\\/\\\/ Send the request\\nconst checkoutAPI = new CheckoutAPI(client);\\nconst response = checkoutAPI.PaymentsApi.payments(paymentRequest, { idempotencyKey: \\&quot;UUID\\&quot; });&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<p>The response includes:<\/p>\n<ul>\n<li><code>action.type<\/code>: <span translate=\"no\"><strong>await<\/strong><\/span><\/li>\n<li><code>resultCode<\/code>: <strong>Pending<\/strong> - the shopper still needs to complete the payment in the ANCV app<\/li>\n<li><code>order.orderData<\/code> - ignore this value and take the order.orderData from the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\/details\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments\/details<\/a> response<\/li>\n<li><code>action.paymentData<\/code> - payload required as an input for  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\/details\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments\/details<\/a> request in order to learn about the payment status<\/li>\n<\/ul>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'Example response with an additional action'\" :id=\"'payments-response'\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n    \\\"pspReference\\\": \\\"JF89C8JSHVTFWR82\\\",\\n    \\\"resultCode\\\": \\\"Pending\\\",\\n    \\\"order\\\": {\\n        \\\"amount\\\": {\\n            \\\"currency\\\": \\\"EUR\\\",\\n            \\\"value\\\": 3000\\n        },\\n        \\\"expiresAt\\\": \\\"2023-09-15T13:35:33Z\\\",\\n        \\\"orderData\\\": \\\"111aa111a1a11a1...123a11a1a1a\\\",\\n        \\\"pspReference\\\": \\\"MLSPNCQ8HXSKGK82\\\"\\n    },\\n    \\\"action\\\": {\\n        \\\"paymentData\\\": \\\"Ab02b...\\\",\\n        \\\"paymentMethodType\\\": \\\"ancv\\\",\\n        \\\"type\\\": \\\"await\\\"\\n    }\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<h2 id=\"show-waiting-screen\">Show the waiting screen<\/h2>\n<ol>\n<li>Show a waiting screen to the shopper, telling them you are waiting for them to complete the payment.<\/li>\n<li>Once the shopper completes the payment, present the payment result.<\/li>\n<\/ol>\n<h2>Get outcome<\/h2>\n<p>To see the payment result, send a request to  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\/details\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments\/details<\/a> that includes the <code>paymentData<\/code> provided in the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments<\/a> response.<\/p>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'Example \/payments\/details request'\" :id=\"''\" :code-data=\"[{&quot;language&quot;:&quot;json&quot;,&quot;tabTitle&quot;:&quot;&quot;,&quot;content&quot;:&quot;curl https:\\\/\\\/checkout-test.adyen.com\\\/v72\\\/payments\\\/details \\\\\\n-H 'x-API-key: YOUR_X-API-KEY' \\\\\\n-H 'content-type: application\\\/json' \\\\\\n-d '{\\n    \\&quot;details\\&quot;: {\\n      \\&quot;paymentData\\&quot;: \\&quot;Ab02b...\\&quot;\\n     }\\n}&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<p>The response for when the amount authorised is less than the amount requested:<\/p>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'Example 1 of \/payments\/details response'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n  \\\"additionalData\\\": {\\n    \\\"authorisedAmountCurrency\\\": \\\"EUR\\\",\\n    \\\"authorisedAmountValue\\\": \\\"2400\\\"\\n  },\\n  \\\"pspReference\\\": \\\"Q7R7LVQPS8NKGK82\\\",\\n  \\\"resultCode\\\": \\\"PartiallyAuthorised\\\",\\n  \\\"order\\\": {\\n    \\\"amount\\\": {\\n      \\\"currency\\\": \\\"EUR\\\",\\n      \\\"value\\\": 2500\\n    },\\n    \\\"expiresAt\\\": \\\"2023-09-15T13:35:33Z\\\",\\n    \\\"orderData\\\": \\\"111aa111a1a11a1...123a11a1a1a\\\",\\n    \\\"pspReference\\\": \\\"MLSPNCQ8HXSKGK82\\\"\\n    \\\"reference\\\": \\\"YOUR_ORDER_REFERENCE\\\",\\n    \\\"remainingAmount\\\": {\\n      \\\"currency\\\": \\\"EUR\\\",\\n      \\\"value\\\": 100\\n    }\\n  },\\n  \\\"merchantReference\\\": \\\"merchantReference\\\"\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<p>The response for when the amount authorised is equal to amount requested:<\/p>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'Example 2 of \/payments\/details response'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n  \\\"pspReference\\\": \\\"RQWVG8TD4MBX8N82\\\",\\n  \\\"resultCode\\\": \\\"Authorised\\\",\\n  \\\"order\\\": {\\n    \\\"amount\\\": {\\n      \\\"currency\\\": \\\"EUR\\\",\\n      \\\"value\\\": 2500\\n    },\\n    \\\"expiresAt\\\": \\\"2023-09-15T13:35:33Z\\\",\\n    \\\"orderData\\\": \\\"111aa111a1a11a1...123a11a1a1a\\\",\\n    \\\"pspReference\\\": \\\"MLSPNCQ8HXSKGK82\\\",\\n    \\\"reference\\\": \\\"YOUR_PAYMENT_REFERENCE\\\",\\n    \\\"remainingAmount\\\": {\\n      \\\"currency\\\": \\\"EUR\\\",\\n      \\\"value\\\": 0\\n    }\\n  },\\n  \\\"merchantReference\\\": \\\"merchantReference\\\",\\n  \\\"paymentMethod\\\": {\\n    \\\"type\\\": \\\"ancv\\\"\\n  }\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<p><br\/><br \/>\nYou will receive an AUTHORISATION webhook after the shopper completes the payment in their ANCV app:<\/p>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'Example AUTHORIZATION webhook'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n  \\\"live\\\": \\\"false\\\",\\n  \\\"notificationItems\\\": [\\n    {\\n      \\\"NotificationRequestItem\\\": {\\n        \\\"amount\\\": {\\n          \\\"value\\\": 3000,\\n          \\\"currency\\\": \\\"EUR\\\"\\n        },\\n        \\\"reason\\\": \\\"null\\\",\\n        \\\"success\\\": \\\"true\\\",\\n        \\\"eventCode\\\": \\\"AUTHORISATION\\\",\\n        \\\"eventDate\\\": \\\"2023-09-14T15:35:58+02:00\\\",\\n        \\\"pspReference\\\": \\\"JF89C8JSHVTFWR82\\\",\\n        \\\"paymentMethod\\\": \\\"ancv\\\",\\n        \\\"additionalData\\\": {\\n          \\\"hmacSignature\\\": \\\"NugWLawWaf\\\/0FsVy17G\\\/IaEfOhaz4GShU+hnD6tfQs0=\\\",\\n          \\\"merchantOrderReference\\\": \\\"YOUR_ORDER_REFERENCE\\\"\\n        },\\n        \\\"merchantReference\\\": \\\"YOUR_MERCHANT_REFERENCE\\\",\\n        \\\"merchantAccountCode\\\": \\\"YOUR_MERCHANT_ACCOUNT\\\"\\n      }\\n    }\\n  ]\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<p><br\/><\/p>\n<p>With partial authorisation it is possible that if the amount authorized by the shopper is less than the amount requested by the merchant, the Customer Area only shows the requested amount. However, the correct authorized amount is shown in the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Checkout\/latest\/post\/payments\/details\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/payments\/details<\/a> response and in the AUTHORISATION webhook, in <code>additionalData.authorisedAmountValue<\/code>.<\/p>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'Example AUTHORIZATION webhook for partial authorization'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n  \\\"live\\\": \\\"false\\\",\\n  \\\"notificationItems\\\": [\\n    {\\n      \\\"NotificationRequestItem\\\": {\\n        \\\"amount\\\": {\\n          \\\"value\\\": 3000,\\n          \\\"currency\\\": \\\"EUR\\\"\\n        },\\n        \\\"reason\\\": \\\"null\\\",\\n        \\\"success\\\": \\\"true\\\",\\n        \\\"eventCode\\\": \\\"AUTHORISATION\\\",\\n        \\\"eventDate\\\": \\\"2023-09-14T15:35:58+02:00\\\",\\n        \\\"pspReference\\\": \\\"JF89C8JSHVTFWR82\\\",\\n        \\\"paymentMethod\\\": \\\"ancv\\\",\\n        \\\"additionalData\\\": {\\n          \\\"hmacSignature\\\": \\\"NugWLawWaf\\\/0FsVy17G\\\/IaEfOhaz4GShU+hnD6tfQs0=\\\",\\n          \\\"merchantOrderReference\\\": \\\"YOUR_ORDER_REFERENCE\\\"\\n          \\\"authorisedAmountValue\\\": \\\"2500\\\",\\n          \\\"authorisedAmountCurrency\\\": \\\"EUR\\\"\\n        },\\n        \\\"merchantReference\\\": \\\"YOUR_MERCHANT_REFERENCE\\\",\\n        \\\"merchantAccountCode\\\": \\\"YOUR_MERCHANT_ACCOUNT\\\"\\n      }\\n    }\\n  ]\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<h2>Test and go live<\/h2>\n<ol>\n<li>Test your integration end-to-end with the ANCV test app. Instructions on how to download, install and onboard ANCV users, as well as the required test credentials, are shared by ANCV directly with the merchant.<\/li>\n<li>Make sure to test ANCV payments with <a href=\"https:\/\/docs.adyen.com\/online-payments\/partial-payments\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">partial payments<\/a>.<\/li>\n<li>Add ANCV in your live Customer Area and provide the Merchant ID (shopID in ANCV vocabulary), as received from ANCV.<\/li>\n<\/ol>\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\/ancv\/api-only","articleFields":{"description":"Add ANCV 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":"ANCV","payment_method_type":"ancv","payment_method_type_capitalized":"Ancv","tx_variant":"ancv","tx_variant_capitalized":"Ancv","country_codes":"<span translate=\"no\"><strong>FR<\/strong><\/span>","currency_codes":"<span translate=\"no\"><strong>EUR<\/strong><\/span>","additional_api":"true","api_version":"none","action_type":"<span translate=\"no\"><strong>await<\/strong><\/span>","pm_directory":"ancv","contact":"false"}},"algolia":{"url":"https:\/\/docs.adyen.com\/pt\/payment-methods\/ancv\/api-only","title":"ANCV for API only","content":"You can add ANCV to your existing integration. The following instructions show only what you must add to your integration specifically for ANCV.\nIf an instruction on this page corresponds with a step in the main integration guide, it includes a link to 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.\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 ANCV in your Customer Area. \n\n\n\nHow it works\n\nThe shopper selects ANCV as the payment method.\nThe shopper enters their details in the payment form that you build.\nWhen you make the payment request, you include additional information about the items that the shopper intends to purchase.\nYour existing integration setup will handle the await action, while you display the waiting screen.\n\nBuild your payment form\nInclude ANCV as an available payment method in your payment form.\nUse the  \/paymentMethods request to show available payment methods to the shopper. Specify these parameters:\n\ncountryCode: FR\namount.currency: EUR\n\nThe response contains paymentMethod.type: ancv.\n\nYou can download the logo for ANCV to use in your form.\n\nGet ANCV as an available payment method\nWhen you make the  \/paymentMethods to get available payment methods, specify the following so that ANCV is included in the response.\n\n\n\nParameter\nValues\n\n\n\n\n countryCode\nFR\n\n\n amount.currency\nEUR\n\n\n\n\n    \n\n\n    \n\nAdd additional parameters to your \/payments request\nWhen you make a payment, add the following parameters:\n\n\n\nParameter\nRequired\nDescription\n\n\n\n\npaymentMethod.type\n\nancv\n\n\npaymentMethod.beneficiaryId\n\nThis is the ANCV ID of the shopper collected during the checkout (either email address or 11-digit value).\n\n\n\n\n    \n\nThe response includes:\n\naction.type: await\nresultCode: Pending - the shopper still needs to complete the payment in the ANCV app\norder.orderData - ignore this value and take the order.orderData from the  \/payments\/details response\naction.paymentData - payload required as an input for  \/payments\/details request in order to learn about the payment status\n\n\n    \n\nShow the waiting screen\n\nShow a waiting screen to the shopper, telling them you are waiting for them to complete the payment.\nOnce the shopper completes the payment, present the payment result.\n\nGet outcome\nTo see the payment result, send a request to  \/payments\/details that includes the paymentData provided in the  \/payments response.\n\n    \n\nThe response for when the amount authorised is less than the amount requested:\n\n    \n\nThe response for when the amount authorised is equal to amount requested:\n\n    \n\n\nYou will receive an AUTHORISATION webhook after the shopper completes the payment in their ANCV app:\n\n    \n\n\nWith partial authorisation it is possible that if the amount authorized by the shopper is less than the amount requested by the merchant, the Customer Area only shows the requested amount. However, the correct authorized amount is shown in the  \/payments\/details response and in the AUTHORISATION webhook, in additionalData.authorisedAmountValue.\n\n    \n\nTest and go live\n\nTest your integration end-to-end with the ANCV test app. Instructions on how to download, install and onboard ANCV users, as well as the required test credentials, are shared by ANCV directly with the merchant.\nMake sure to test ANCV payments with partial payments.\nAdd ANCV in your live Customer Area and provide the Merchant ID (shopID in ANCV vocabulary), as received from ANCV.\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":"ANCV","lvl3":"ANCV 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\/ancv","lvl3":"\/pt\/payment-methods\/ancv\/api-only"},"levels":4,"category":"Payment method","category_color":"green","tags":[]},"articleFiles":{"payment-methods-request.js":"<p alt=\"\">payment-methods-request.js<\/p>","payment-methods-response.json":"<p alt=\"\">payment-methods-response.json<\/p>","payments-request.js":"<p alt=\"\">payments-request.js<\/p>","payments-response.json":"<p alt=\"\">payments-response.json<\/p>"}}
