--- title: "ANCV for API only" description: "Add ANCV to your API-only integration." url: "https://docs.adyen.com/payment-methods/ancv/api-only" source_url: "https://docs.adyen.com/payment-methods/ancv/api-only.md" canonical: "https://docs.adyen.com/payment-methods/ancv/api-only" last_modified: "2026-05-26T13:48:55+02:00" language: "en" --- # ANCV for API only Add ANCV to your API-only integration. [View source](/payment-methods/ancv/api-only.md) You can add ANCV to your existing integration. The following instructions show only what you must add to your integration specifically for ANCV. 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. ## Requirements | Requirement | Description | | | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | - | | **Integration type** | Make sure that you have an existing [API-only integration](/online-payments/build-your-integration/advanced-flow/?platform=Web\&integration=API%20only). | | | **Action handling** | Make sure that your existing integration is set up to [handle the additional action](/online-payments/build-your-integration/advanced-flow/?platform=Web\&integration=API%20only#additional-action). `action.type`: **await**. | | | **Setup steps** | Before you begin, [add ANCV in your Customer Area](/payment-methods/add-payment-methods). | | ## How it works 1. The shopper selects ANCV as the payment method. 2. The shopper enters their details in the [payment form that you build](#build-your-payment-form). 3. When you make the payment request, you [include additional information about the items that the shopper intends to purchase](#additional-parameters-payments). 4. Your existing integration setup will [handle the await action](/online-payments/build-your-integration/advanced-flow/?platform=Web\&integration=API%20only#additional-action), while you display the [waiting screen](#show-waiting-screen). ## Build your payment form Include ANCV as an available payment method in your payment form. Use the [/paymentMethods](https://docs.adyen.com/api-explorer/Checkout/latest/post/paymentMethods) request to show available payment methods to the shopper. Specify these parameters: * `countryCode`: **FR** * `amount.currency`: **EUR** The response contains `paymentMethod.type`: **ancv**. You can [download the logo for ANCV](/online-payments/build-your-integration/advanced-flow/?platform=Web\&integration=API%2Bonly\&version=71#downloading-logos) to use in your form. ## Get ANCV as an available payment method When you make the [/paymentMethods](https://docs.adyen.com/api-explorer/Checkout/latest/post/paymentMethods) to [get available payment methods](/online-payments/build-your-integration/advanced-flow/?platform=Web\&integration=API%20only#get-available-payment-methods), specify the following so that ANCV is included in the response. | Parameter | Values | | ------------------------------------------------------------------------------------------------------------------ | ------- | | [countryCode](https://docs.adyen.com/api-explorer/Checkout/latest/post/paymentMethods#request-countryCode) | **FR** | | [amount.currency](https://docs.adyen.com/api-explorer/Checkout/latest/post/paymentMethods#request-amount-currency) | **EUR** | **Example request for available payment methods** #### curl ```bash curl https://checkout-test.adyen.com/v72/paymentMethods \ -H 'x-api-key: ADYEN_API_KEY' \ -H 'idempotency-key: YOUR_IDEMPOTENCY_KEY' \ -H 'content-type: application/json' \ -X POST -d '{ "merchantAccount": "ADYEN_MERCHANT_ACCOUNT", "countryCode": "FR", "amount": { "currency": "EUR", "value": 1000 }, "shopperLocale": "fr-FR" }' ``` #### Java ```java // Adyen Java API Library v40.0.0 import com.adyen.Client; import com.adyen.enums.Environment; import com.adyen.model.checkout.*; import java.time.OffsetDateTime; import java.util.*; import com.adyen.model.RequestOptions; import com.adyen.service.checkout.*; // For the LIVE environment, also include your liveEndpointUrlPrefix. Client client = new Client("ADYEN_API_KEY", Environment.TEST); // Create the request object(s) Amount amount = new Amount() .currency("EUR") .value(1000L); PaymentMethodsRequest paymentMethodsRequest = new PaymentMethodsRequest() .amount(amount) .merchantAccount("ADYEN_MERCHANT_ACCOUNT") .countryCode("FR") .shopperLocale("fr-FR"); // Send the request PaymentsApi service = new PaymentsApi(client); PaymentMethodsResponse response = service.paymentMethods(paymentMethodsRequest, new RequestOptions().idempotencyKey("UUID")); ``` #### PHP ```php setXApiKey("ADYEN_API_KEY"); // For the LIVE environment, also include your liveEndpointUrlPrefix. $client->setEnvironment(Environment::TEST); // Create the request object(s) $amount = new Amount(); $amount ->setCurrency("EUR") ->setValue(1000); $paymentMethodsRequest = new PaymentMethodsRequest(); $paymentMethodsRequest ->setAmount($amount) ->setMerchantAccount("ADYEN_MERCHANT_ACCOUNT") ->setCountryCode("FR") ->setShopperLocale("fr-FR"); $requestOptions['idempotencyKey'] = 'UUID'; // Send the request $service = new PaymentsApi($client); $response = $service->paymentMethods($paymentMethodsRequest, $requestOptions); ``` #### C\# ```cs // Adyen .NET API Library v32.2.1 using Adyen; using Environment = Adyen.Model.Environment; using Adyen.Model; using Adyen.Model.Checkout; using Adyen.Service.Checkout; // For the LIVE environment, also include your liveEndpointUrlPrefix. var config = new Config() { XApiKey = "ADYEN_API_KEY", Environment = Environment.Test }; var client = new Client(config); // Create the request object(s) Amount amount = new Amount { Currency = "EUR", Value = 1000 }; PaymentMethodsRequest paymentMethodsRequest = new PaymentMethodsRequest { Amount = amount, MerchantAccount = "ADYEN_MERCHANT_ACCOUNT", CountryCode = "FR", ShopperLocale = "fr-FR" }; // Send the request var service = new PaymentsService(client); var response = service.PaymentMethods(paymentMethodsRequest, requestOptions: new RequestOptions { IdempotencyKey = "UUID"}); ``` #### NodeJS (JavaScript) ```js // Adyen Node API Library v30.0.1 const { Client, CheckoutAPI } = require('@adyen/api-library'); // For the LIVE environment, also include your liveEndpointUrlPrefix. const config = new Config({ apiKey: "ADYEN_API_KEY", environment: EnvironmentEnum.TEST }); const client = new Client(config); // Create the request object(s) const paymentMethodsRequest = { merchantAccount: "ADYEN_MERCHANT_ACCOUNT", countryCode: "FR", amount: { currency: "EUR", value: 1000 }, shopperLocale: "fr-FR" } // Send the request const checkoutAPI = new CheckoutAPI(client); const response = checkoutAPI.PaymentsApi.paymentMethods(paymentMethodsRequest, { idempotencyKey: "UUID" }); ``` #### Go ```go // Adyen Go API Library v21.1.0 import ( "context" "github.com/adyen/adyen-go-api-library/v21/src/common" "github.com/adyen/adyen-go-api-library/v21/src/adyen" "github.com/adyen/adyen-go-api-library/v21/src/checkout" ) // For the LIVE environment, also include your liveEndpointUrlPrefix. client := adyen.NewClient(&common.Config{ ApiKey: "ADYEN_API_KEY", Environment: common.TestEnv, }) // Create the request object(s) amount := checkout.Amount{ Currency: "EUR", Value: 1000, } paymentMethodsRequest := checkout.PaymentMethodsRequest{ Amount: &amount, MerchantAccount: "ADYEN_MERCHANT_ACCOUNT", CountryCode: common.PtrString("FR"), ShopperLocale: common.PtrString("fr-FR"), } // Send the request service := client.Checkout() req := service.PaymentsApi.PaymentMethodsInput().IdempotencyKey("UUID").PaymentMethodsRequest(paymentMethodsRequest) res, httpRes, err := service.PaymentsApi.PaymentMethods(context.Background(), req) ``` #### Python ```py # Adyen Python API Library v14.0.0 import Adyen adyen = Adyen.Adyen() adyen.client.xapikey = "ADYEN_API_KEY" # For the LIVE environment, also include your liveEndpointUrlPrefix. adyen.client.platform = "test" # The environment to use library in. # Create the request object(s) json_request = { "merchantAccount": "ADYEN_MERCHANT_ACCOUNT", "countryCode": "FR", "amount": { "currency": "EUR", "value": 1000 }, "shopperLocale": "fr-FR" } # Send the request result = adyen.checkout.payments_api.payment_methods(request=json_request, idempotency_key="UUID") ``` #### Ruby ```rb # Adyen Ruby API Library v11.1.0 require "adyen-ruby-api-library" adyen = Adyen::Client.new adyen.api_key = 'ADYEN_API_KEY' # For the LIVE environment, also include your liveEndpointUrlPrefix. adyen.env = :test # Set to "live" for live environment # Create the request object(s) request_body = { :merchantAccount => 'ADYEN_MERCHANT_ACCOUNT', :countryCode => 'FR', :amount => { :currency => 'EUR', :value => 1000 }, :shopperLocale => 'fr-FR' } # Send the request result = adyen.checkout.payments_api.payment_methods(request_body, headers: { 'Idempotency-Key' => 'UUID' }) ``` #### NodeJS (TypeScript) ```ts // Adyen Node API Library v30.0.1 import { Client, CheckoutAPI, Types } from "@adyen/api-library"; // For the LIVE environment, also include your liveEndpointUrlPrefix. const config = new Config({ apiKey: "ADYEN_API_KEY", environment: EnvironmentEnum.TEST }); const client = new Client(config); // Create the request object(s) const amount: Types.checkout.Amount = { currency: "EUR", value: 1000 }; const paymentMethodsRequest: Types.checkout.PaymentMethodsRequest = { amount: amount, merchantAccount: "ADYEN_MERCHANT_ACCOUNT", countryCode: "FR", shopperLocale: "fr-FR" }; // Send the request const checkoutAPI = new CheckoutAPI(client); const response = checkoutAPI.PaymentsApi.paymentMethods(paymentMethodsRequest, { idempotencyKey: "UUID" }); ``` **Example response with ANCV available** ```json { "paymentMethods": [ { "name": "ANCV", "type": "ancv" } ] } ``` ## Add additional parameters to your /payments request When you [make a payment](/online-payments/build-your-integration/advanced-flow/?platform=Web\&integration=API%20only#make-a-payment), add the following parameters: | Parameter | Required | Description | | ----------------------------- | ------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | | `paymentMethod.type` | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | **ancv** | | `paymentMethod.beneficiaryId` | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | This is the ANCV ID of the shopper collected during the checkout (either email address or 11-digit value). | **Example payment request for ANCV** #### curl ```bash curl https://checkout-test.adyen.com/v72/payments \ -H 'x-API-key: ADYEN_API_KEY' \ -H 'idempotency-key: YOUR_IDEMPOTENCY_KEY' \ -H 'content-type: application/json' \ -X POST -d '{ "amount":{ "currency":"EUR", "value":3000 }, "reference":"YOUR_ORDER_NUMBER", "paymentMethod": { "type": "ancv", "beneficiaryId": "SHOPPER_ID" }, "returnUrl":"https://your-company.com/checkout?shopperOrder=12xy..", "merchantAccount":"ADYEN_MERCHANT_ACCOUNT", "order": { "pspReference": "MLSPNCQ8HXSKGK82", "orderData": "823fh892f8f18f4...148f13f9f3f" } }' ``` #### Java ```java // Adyen Java API Library v40.0.0 import com.adyen.Client; import com.adyen.enums.Environment; import com.adyen.model.checkout.*; import java.time.OffsetDateTime; import java.util.*; import com.adyen.model.RequestOptions; import com.adyen.service.checkout.*; // For the LIVE environment, also include your liveEndpointUrlPrefix. Client client = new Client("ADYEN_API_KEY", Environment.TEST); // Create the request object(s) Amount amount = new Amount() .currency("EUR") .value(3000L); AncvDetails ancvDetails = new AncvDetails() .type(AncvDetails.TypeEnum.ANCV) .beneficiaryId("SHOPPER_ID"); EncryptedOrderData encryptedOrderData = new EncryptedOrderData() .orderData("823fh892f8f18f4...148f13f9f3f") .pspReference("MLSPNCQ8HXSKGK82"); PaymentRequest paymentRequest = new PaymentRequest() .reference("YOUR_ORDER_NUMBER") .amount(amount) .merchantAccount("ADYEN_MERCHANT_ACCOUNT") .paymentMethod(new CheckoutPaymentMethod(ancvDetails)) .returnUrl("https://your-company.com/checkout?shopperOrder=12xy..") .order(encryptedOrderData); // Send the request PaymentsApi service = new PaymentsApi(client); PaymentResponse response = service.payments(paymentRequest, new RequestOptions().idempotencyKey("UUID")); ``` #### PHP ```php setXApiKey("ADYEN_API_KEY"); // For the LIVE environment, also include your liveEndpointUrlPrefix. $client->setEnvironment(Environment::TEST); // Create the request object(s) $amount = new Amount(); $amount ->setCurrency("EUR") ->setValue(3000); $checkoutPaymentMethod = new CheckoutPaymentMethod(); $checkoutPaymentMethod ->setType("ancv") ->setBeneficiaryId("SHOPPER_ID"); $encryptedOrderData = new EncryptedOrderData(); $encryptedOrderData ->setOrderData("823fh892f8f18f4...148f13f9f3f") ->setPspReference("MLSPNCQ8HXSKGK82"); $paymentRequest = new PaymentRequest(); $paymentRequest ->setReference("YOUR_ORDER_NUMBER") ->setAmount($amount) ->setMerchantAccount("ADYEN_MERCHANT_ACCOUNT") ->setPaymentMethod($checkoutPaymentMethod) ->setReturnUrl("https://your-company.com/checkout?shopperOrder=12xy..") ->setOrder($encryptedOrderData); $requestOptions['idempotencyKey'] = 'UUID'; // Send the request $service = new PaymentsApi($client); $response = $service->payments($paymentRequest, $requestOptions); ``` #### C\# ```cs // Adyen .NET API Library v32.2.1 using Adyen; using Environment = Adyen.Model.Environment; using Adyen.Model; using Adyen.Model.Checkout; using Adyen.Service.Checkout; // For the LIVE environment, also include your liveEndpointUrlPrefix. var config = new Config() { XApiKey = "ADYEN_API_KEY", Environment = Environment.Test }; var client = new Client(config); // Create the request object(s) Amount amount = new Amount { Currency = "EUR", Value = 3000 }; AncvDetails ancvDetails = new AncvDetails { Type = AncvDetails.TypeEnum.Ancv, BeneficiaryId = "SHOPPER_ID" }; EncryptedOrderData encryptedOrderData = new EncryptedOrderData { OrderData = "823fh892f8f18f4...148f13f9f3f", PspReference = "MLSPNCQ8HXSKGK82" }; PaymentRequest paymentRequest = new PaymentRequest { Reference = "YOUR_ORDER_NUMBER", Amount = amount, MerchantAccount = "ADYEN_MERCHANT_ACCOUNT", PaymentMethod = new CheckoutPaymentMethod(ancvDetails), ReturnUrl = "https://your-company.com/checkout?shopperOrder=12xy..", Order = encryptedOrderData }; // Send the request var service = new PaymentsService(client); var response = service.Payments(paymentRequest, requestOptions: new RequestOptions { IdempotencyKey = "UUID"}); ``` #### NodeJS (JavaScript) ```js // Adyen Node API Library v30.0.1 const { Client, CheckoutAPI } = require('@adyen/api-library'); // For the LIVE environment, also include your liveEndpointUrlPrefix. const config = new Config({ apiKey: "ADYEN_API_KEY", environment: EnvironmentEnum.TEST }); const client = new Client(config); // Create the request object(s) const paymentRequest = { amount: { currency: "EUR", value: 3000 }, reference: "YOUR_ORDER_NUMBER", paymentMethod: { type: "ancv", beneficiaryId: "SHOPPER_ID" }, returnUrl: "https://your-company.com/checkout?shopperOrder=12xy..", merchantAccount: "ADYEN_MERCHANT_ACCOUNT", order: { pspReference: "MLSPNCQ8HXSKGK82", orderData: "823fh892f8f18f4...148f13f9f3f" } } // Send the request const checkoutAPI = new CheckoutAPI(client); const response = checkoutAPI.PaymentsApi.payments(paymentRequest, { idempotencyKey: "UUID" }); ``` #### Go ```go // Adyen Go API Library v21.1.0 import ( "context" "github.com/adyen/adyen-go-api-library/v21/src/common" "github.com/adyen/adyen-go-api-library/v21/src/adyen" "github.com/adyen/adyen-go-api-library/v21/src/checkout" ) // For the LIVE environment, also include your liveEndpointUrlPrefix. client := adyen.NewClient(&common.Config{ ApiKey: "ADYEN_API_KEY", Environment: common.TestEnv, }) // Create the request object(s) amount := checkout.Amount{ Currency: "EUR", Value: 3000, } ancvDetails := checkout.AncvDetails{ Type: common.PtrString("ancv"), BeneficiaryId: common.PtrString("SHOPPER_ID"), } encryptedOrderData := checkout.EncryptedOrderData{ OrderData: "823fh892f8f18f4...148f13f9f3f", PspReference: "MLSPNCQ8HXSKGK82", } paymentRequest := checkout.PaymentRequest{ Reference: "YOUR_ORDER_NUMBER", Amount: amount, MerchantAccount: "ADYEN_MERCHANT_ACCOUNT", PaymentMethod: checkout.AncvDetailsAsCheckoutPaymentMethod(&ancvDetails), ReturnUrl: "https://your-company.com/checkout?shopperOrder=12xy..", Order: &encryptedOrderData, } // Send the request service := client.Checkout() req := service.PaymentsApi.PaymentsInput().IdempotencyKey("UUID").PaymentRequest(paymentRequest) res, httpRes, err := service.PaymentsApi.Payments(context.Background(), req) ``` #### Python ```py # Adyen Python API Library v14.0.0 import Adyen adyen = Adyen.Adyen() adyen.client.xapikey = "ADYEN_API_KEY" # For the LIVE environment, also include your liveEndpointUrlPrefix. adyen.client.platform = "test" # The environment to use library in. # Create the request object(s) json_request = { "amount": { "currency": "EUR", "value": 3000 }, "reference": "YOUR_ORDER_NUMBER", "paymentMethod": { "type": "ancv", "beneficiaryId": "SHOPPER_ID" }, "returnUrl": "https://your-company.com/checkout?shopperOrder=12xy..", "merchantAccount": "ADYEN_MERCHANT_ACCOUNT", "order": { "pspReference": "MLSPNCQ8HXSKGK82", "orderData": "823fh892f8f18f4...148f13f9f3f" } } # Send the request result = adyen.checkout.payments_api.payments(request=json_request, idempotency_key="UUID") ``` #### Ruby ```rb # Adyen Ruby API Library v11.1.0 require "adyen-ruby-api-library" adyen = Adyen::Client.new adyen.api_key = 'ADYEN_API_KEY' # For the LIVE environment, also include your liveEndpointUrlPrefix. adyen.env = :test # Set to "live" for live environment # Create the request object(s) request_body = { :amount => { :currency => 'EUR', :value => 3000 }, :reference => 'YOUR_ORDER_NUMBER', :paymentMethod => { :type => 'ancv', :beneficiaryId => 'SHOPPER_ID' }, :returnUrl => 'https://your-company.com/checkout?shopperOrder=12xy..', :merchantAccount => 'ADYEN_MERCHANT_ACCOUNT', :order => { :pspReference => 'MLSPNCQ8HXSKGK82', :orderData => '823fh892f8f18f4...148f13f9f3f' } } # Send the request result = adyen.checkout.payments_api.payments(request_body, headers: { 'Idempotency-Key' => 'UUID' }) ``` #### NodeJS (TypeScript) ```ts // Adyen Node API Library v30.0.1 import { Client, CheckoutAPI, Types } from "@adyen/api-library"; // For the LIVE environment, also include your liveEndpointUrlPrefix. const config = new Config({ apiKey: "ADYEN_API_KEY", environment: EnvironmentEnum.TEST }); const client = new Client(config); // Create the request object(s) const amount: Types.checkout.Amount = { currency: "EUR", value: 3000 }; const ancvDetails: Types.checkout.AncvDetails = { type: Types.checkout.AncvDetails.TypeEnum.Ancv, beneficiaryId: "SHOPPER_ID" }; const encryptedOrderData: Types.checkout.EncryptedOrderData = { orderData: "823fh892f8f18f4...148f13f9f3f", pspReference: "MLSPNCQ8HXSKGK82" }; const paymentRequest: Types.checkout.PaymentRequest = { reference: "YOUR_ORDER_NUMBER", amount: amount, merchantAccount: "ADYEN_MERCHANT_ACCOUNT", paymentMethod: ancvDetails, returnUrl: "https://your-company.com/checkout?shopperOrder=12xy..", order: encryptedOrderData }; // Send the request const checkoutAPI = new CheckoutAPI(client); const response = checkoutAPI.PaymentsApi.payments(paymentRequest, { idempotencyKey: "UUID" }); ``` The response includes: * `action.type`: **await** * `resultCode`: **Pending** - the shopper still needs to complete the payment in the ANCV app * `order.orderData` - ignore this value and take the order.orderData from the [/payments/details](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments/details) response * `action.paymentData` - payload required as an input for [/payments/details](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments/details) request in order to learn about the payment status **Example response with an additional action** ```json { "pspReference": "JF89C8JSHVTFWR82", "resultCode": "Pending", "order": { "amount": { "currency": "EUR", "value": 3000 }, "expiresAt": "2023-09-15T13:35:33Z", "orderData": "111aa111a1a11a1...123a11a1a1a", "pspReference": "MLSPNCQ8HXSKGK82" }, "action": { "paymentData": "Ab02b...", "paymentMethodType": "ancv", "type": "await" } } ``` ## Show the waiting screen 1. Show a waiting screen to the shopper, telling them you are waiting for them to complete the payment. 2. Once the shopper completes the payment, present the payment result. ## Get outcome To see the payment result, send a request to [/payments/details](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments/details) that includes the `paymentData` provided in the [/payments](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments) response. **Example /payments/details request** ```json curl https://checkout-test.adyen.com/v72/payments/details \ -H 'x-API-key: YOUR_X-API-KEY' \ -H 'content-type: application/json' \ -d '{ "details": { "paymentData": "Ab02b..." } } ``` The response for when the amount authorised is less than the amount requested: **Example 1 of /payments/details response** ```json { "additionalData": { "authorisedAmountCurrency": "EUR", "authorisedAmountValue": "2400" }, "pspReference": "Q7R7LVQPS8NKGK82", "resultCode": "PartiallyAuthorised", "order": { "amount": { "currency": "EUR", "value": 2500 }, "expiresAt": "2023-09-15T13:35:33Z", "orderData": "111aa111a1a11a1...123a11a1a1a", "pspReference": "MLSPNCQ8HXSKGK82" "reference": "YOUR_ORDER_REFERENCE", "remainingAmount": { "currency": "EUR", "value": 100 } }, "merchantReference": "merchantReference" } ``` The response for when the amount authorised is equal to amount requested: **Example 2 of /payments/details response** ```json { "pspReference": "RQWVG8TD4MBX8N82", "resultCode": "Authorised", "order": { "amount": { "currency": "EUR", "value": 2500 }, "expiresAt": "2023-09-15T13:35:33Z", "orderData": "111aa111a1a11a1...123a11a1a1a", "pspReference": "MLSPNCQ8HXSKGK82", "reference": "YOUR_PAYMENT_REFERENCE", "remainingAmount": { "currency": "EUR", "value": 0 } }, "merchantReference": "merchantReference", "paymentMethod": { "type": "ancv" } } ``` You will receive an AUTHORISATION webhook after the shopper completes the payment in their ANCV app: **Example AUTHORIZATION webhook** ```json { "live": "false", "notificationItems": [ { "NotificationRequestItem": { "amount": { "value": 3000, "currency": "EUR" }, "reason": "null", "success": "true", "eventCode": "AUTHORISATION", "eventDate": "2023-09-14T15:35:58+02:00", "pspReference": "JF89C8JSHVTFWR82", "paymentMethod": "ancv", "additionalData": { "hmacSignature": "NugWLawWaf/0FsVy17G/IaEfOhaz4GShU+hnD6tfQs0=", "merchantOrderReference": "YOUR_ORDER_REFERENCE" }, "merchantReference": "YOUR_MERCHANT_REFERENCE", "merchantAccountCode": "YOUR_MERCHANT_ACCOUNT" } } ] } ``` 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 [/payments/details](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments/details) response and in the AUTHORISATION webhook, in `additionalData.authorisedAmountValue`. **Example AUTHORIZATION webhook for partial authorization** ```json { "live": "false", "notificationItems": [ { "NotificationRequestItem": { "amount": { "value": 3000, "currency": "EUR" }, "reason": "null", "success": "true", "eventCode": "AUTHORISATION", "eventDate": "2023-09-14T15:35:58+02:00", "pspReference": "JF89C8JSHVTFWR82", "paymentMethod": "ancv", "additionalData": { "hmacSignature": "NugWLawWaf/0FsVy17G/IaEfOhaz4GShU+hnD6tfQs0=", "merchantOrderReference": "YOUR_ORDER_REFERENCE" "authorisedAmountValue": "2500", "authorisedAmountCurrency": "EUR" }, "merchantReference": "YOUR_MERCHANT_REFERENCE", "merchantAccountCode": "YOUR_MERCHANT_ACCOUNT" } } ] } ``` ## Test and go live 1. 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. 2. Make sure to test ANCV payments with [partial payments](https://docs.adyen.com/online-payments/partial-payments/). 3. Add ANCV in your live Customer Area and provide the Merchant ID (shopID in ANCV vocabulary), as received from ANCV. ## See also * [API-only integration guide](/online-payments/build-your-integration/advanced-flow/?platform=Web\&integration=API%20only)