**Last updated**: 11 November 2025 | [**Change log**](/products/card-payments/changelog/) # Take a payment To take a payment, you must first create an [authorization request](#authorization-request). Your response contains links to your next available actions. ## Authorize a payment If you want to reserve funds in your customer's account, send us an authorization request. `POST` your authorization request to the `payments:authorize` action link received in your root resource response to authorize a payment. ### Authorization example request POST `https://try.access.worldpay.com/payments/authorizations` The requests below contain all the mandatory fields needed for a successful authorization request. Note Click the tabs below to see all the mandatory fields for all supported `paymentInstrument` parameters. Authorization request body: Card { "transactionReference": "unique-transactionReference", "merchant": { "entity": "default" }, "instruction": { "narrative": { "line1": "trading name" }, "value": { "currency": "GBP", "amount": 250 }, "paymentInstrument": { "type": "card/plain", "cardHolderName": "John Appleseed", "cardNumber": "4444333322221111", "cardExpiryDate": { "month": 5, "year": 2035 } } } } Token { "transactionReference": "unique-transactionReference", "merchant": { "entity": "default" }, "instruction": { "narrative": { "line1": "trading name" }, "value": { "currency": "GBP", "amount": 250 }, "paymentInstrument": { "type": "card/token", "href": "https://try.access.worldpay.com/tokens/{}" } } } 3DS1 Card { "transactionReference": "unique-transactionReference", "merchant": { "entity": "default" }, "instruction": { "narrative": { "line1": "trading name" }, "value": { "currency": "GBP", "amount": 250 }, "paymentInstrument": { "type": "card/plain", "cardHolderName": "John Appleseed", "cardNumber": "4444333322221111", "cardExpiryDate": { "month": 5, "year": 2035 } } }, "customer": { "authentication": { "version": "1.0.2", "type": "3DS", "eci": "05", "authenticationValue": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTA=", "transactionId": "z9UKb06xLziZMOXBEmWSVA1kwG0=" } } } 3DS2 Card { "transactionReference": "unique-transactionReference", "merchant": { "entity": "default" }, "instruction": { "narrative": { "line1": "trading name" }, "value": { "currency": "GBP", "amount": 250 }, "paymentInstrument": { "type": "card/plain", "cardHolderName": "John Appleseed", "cardNumber": "4444333322221111", "cardExpiryDate": { "month": 5, "year": 2035 } } }, "customer": { "authentication": { "version": "2.1.0", "type": "3DS", "eci": "05", "authenticationValue": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTA=", "transactionId": "683001f5-3805-423a-b580-638e4b2093b" } } } 3DS1 Token { "transactionReference": "unique-transactionReference", "merchant": { "entity": "default" }, "instruction": { "narrative": { "line1": "trading name" }, "value": { "currency": "GBP", "amount": 250 }, "paymentInstrument": { "type": "card/token", "href": "https://try.access.worldpay.com/tokens/{}" } }, "customer": { "authentication": { "version": "1.0.2", "type": "3DS", "eci": "05", "authenticationValue": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTA=", "transactionId": "z9UKb06xLziZMOXBEmWSVA1kwG0=" } } } 3DS2 Token { "transactionReference": "unique-transactionReference", "merchant": { "entity": "default" }, "instruction": { "narrative": { "line1": "trading name" }, "value": { "currency": "GBP", "amount": 250 }, "paymentInstrument": { "type": "card/token", "href": "https://try.access.worldpay.com/tokens/{}" } }, "customer": { "authentication": { "version": "2.1.0", "type": "3DS", "eci": "05", "authenticationValue": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTA=", "transactionId": "683001f5-3805-423a-b580-638e4b2093b" } } } Apple Pay { "transactionReference": "unique-transactionReference", "merchant": { "entity": "default" }, "instruction": { "narrative": { "line1": "trading name" }, "value": { "currency": "GBP", "amount": 250 }, "paymentInstrument": { "type": "card/wallet+applepay", "walletToken": "{ \"version\": \"EC_v1\", \"data\": \"kdHd..GQ==\", \"signature\": \"MIAGCSqGSIb3DQEH...AAA\", \"header\": { \"transactionId\": \"d3b28af..f8\", \"ephemeralPublicKey\": \"MFkwE..Q==\", \"publicKeyHash\": \"dxCK..6o=\" } }" } } } Google Pay { "transactionReference": "unique-transactionReference", "merchant": { "entity": "default" }, "instruction": { "narrative": { "line1": "trading name" }, "value": { "currency": "GBP", "amount": 250 }, "paymentInstrument": { "type": "card/wallet+googlepay", "walletToken": "{\"protocolVersion\":\"ECv1\",\"signature\":\"MEQCIH6Q4OwQ0jAceFEkGF0JID6sJNXxOEi4r+mA7biRxqBQAiAondqoUpU/bdsrAOpZIsrHQS9nwiiNwOrr24RyPeHA0Q\\u003d\\u003d\",\"signedMessage\":\"{\\\"tag\\\":\\\"jpGz1F1Bcoi/fCNxI9n7Qrsw7i7KHrGtTf3NrRclt+U\\\\u003d\\\",\\\"ephemeralPublicKey\\\":\\\"BJatyFvFPPD21l8/uLP46Ta1hsKHndf8Z+tAgk+DEPQgYTkhHy19cF3h/bXs0tWTmZtnNm+vlVrKbRU9K8+7cZs\\\\u003d\\\",\\\"encryptedMessage\\\":\\\"mKOoXwi8OavZ\\\"}\"}" } } } #### Descriptions of your authorization request parameters | Parameter | Required? | Description | | --- | --- | --- | | `transactionReference` | ✅ | A unique reference generated by you that is used to identify a payment throughout its lifecycle. See [transaction reference format](/products/reference/formatting#transaction-reference-format), for more details and the best practices. | | `merchant` | ✅ | An object that contains information about the merchant. | | `merchant.entity` | ✅ | Direct your payment to assist with billing, reporting and reconciliation. This is mandatory for authentication and queries.Contact your Implementation Manager for more details. | | `instruction` | ✅ | An object that contains all the information related to the payment. | | `instruction.narrative` | ✅ | The text that appears on your customer's statement. Used to identify the merchant.See [narrative format](/products/reference/formatting#narrative-format)for more details and best practices. | | `narrative.line1` | ✅ | The first line of the narrative which appears on your customer's statement (24 characters max. If character is not supported it is replaced with a space.).See [narrative `line1` format](/products/reference/formatting#narrative-line1) for more details. | | `value.currency` | ✅ | The three digit currency code.See list of [supported currencies](/products/reference/useful-tables-v5-v6#currency-codes). | | `value.amount` | ✅ | The payment amount. This is a whole number with an exponent e.g. if exponent is two, 250 is 2.50. You can find the relevant exponent in our [currency table](/products/reference/useful-tables-v5-v6#currency-codes). | | `instruction.paymentInstrument` | ✅ | An object that contains the payment type and details. To use "tokens" as a `paymentInstrument` you must first [create a token](`PUT` s/create-a-token). To use "checkout with CVC" (card on file only) as `paymentInstrument` you must first use our [checkout SDK](/products/checkout/web) and [create a token](/products/verified-tokens/create-verified-token). | ### 3DS details summary 3DS authorization request parameter descriptions To get the `customer` authentication object you must complete an [authentication request](/products/3ds/web/authentication) using our [3DS API](/products/3ds). 3DS1 Card { "transactionReference": "unique-transactionReference", "merchant": { "entity": "default" }, "instruction": { "narrative": { "line1": "trading name" }, "value": { "currency": "GBP", "amount": 250 }, "paymentInstrument": { "type": "card/plain", "cardHolderName": "John Appleseed", "cardNumber": "4444333322221111", "cardExpiryDate": { "month": 5, "year": 2035 } } }, "customer": { "authentication": { "version": "1.0.2", "type": "3DS", "eci": "05", "authenticationValue": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTA=", "transactionId": "z9UKb06xLziZMOXBEmWSVA1kwG0=" } } } 3DS2 Card { "transactionReference": "unique-transactionReference", "merchant": { "entity": "default" }, "instruction": { "narrative": { "line1": "trading name" }, "value": { "currency": "GBP", "amount": 250 }, "paymentInstrument": { "type": "card/plain", "cardHolderName": "John Appleseed", "cardNumber": "4444333322221111", "cardExpiryDate": { "month": 5, "year": 2035 } } }, "customer": { "authentication": { "version": "2.1.0", "type": "3DS", "eci": "05", "authenticationValue": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTA=", "transactionId": "683001f5-3805-423a-b580-638e4b2093b" } } } 3DS1 Token { "transactionReference": "unique-transactionReference", "merchant": { "entity": "default" }, "instruction": { "narrative": { "line1": "trading name" }, "value": { "currency": "GBP", "amount": 250 }, "paymentInstrument": { "type": "card/token", "href": "https://try.access.worldpay.com/tokens/{}" } }, "customer": { "authentication": { "version": "1.0.2", "type": "3DS", "eci": "05", "authenticationValue": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTA=", "transactionId": "z9UKb06xLziZMOXBEmWSVA1kwG0=" } } } 3DS2 Token { "transactionReference": "unique-transactionReference", "merchant": { "entity": "default" }, "instruction": { "narrative": { "line1": "trading name" }, "value": { "currency": "GBP", "amount": 250 }, "paymentInstrument": { "type": "card/token", "href": "https://try.access.worldpay.com/tokens/{}" } }, "customer": { "authentication": { "version": "2.1.0", "type": "3DS", "eci": "05", "authenticationValue": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTA=", "transactionId": "683001f5-3805-423a-b580-638e4b2093b" } } } #### The descriptions of parameters from your 3DS authorization request | Parameter | Required? | Description | | --- | --- | --- | | `customer` | ✅ | An object containing the result of your customer's verification. For more details see [3DS verification](/products/3ds/web/challenge-verification). | | `authentication.type` | ✅ | 3DS | | `authentication.version` | ✅ | The version of 3DS used to process the transaction.For 3DS1 - `1.0.2`For 3DS2 - `2.1.0` or `2.2.0` Required for Mastercard's Identity Check transactions in Authorization. | | `authentication.eci` | ✅ | Electronic Commerce Indicator (ECI).Indicates the outcome of the [3DS verification](/products/3ds/web/challenge-verification).02 or 05 - Fully Authenticated Transaction01 or 06 - Attempted Authentication Transaction00 or 07 - Non 3-D Secure TransactionMastercard - 02, 01, 00Visa - 05, 06, 07Amex - 05, 06, 07JCB - 05, 06, 07Diners - 05, 06, 07 | | `authentication.authenticationValue` | ✅ | A cryptographic value that provides evidence of the outcome of a 3DS verification.Visa - Cardholder Authentication Verification Value (CAVV)Mastercard - Universal Cardholder Authentication Field (UCAF)`authentication.authenticationValue` must be 28 digits max and must be base64-encoded. | | `authentication.transactionId` | ✅ | Required, if `authentication.eci` value is 01, 02, 05 or 06.A unique authentication transaction identifier, generated by the issuer.For version 3DS1: `transactionId` must be base64-encoded and 28 digits in length.For version 3DS2: `transactionId` must be a UUID and 36 characters in length. | ### Optional fields in an authorization request details summary Optional fields and descriptions The requests below contain all the mandatory and optional fields needed for a successful authorization request. #### Complete authorization request schema Full authorization request body: Card All { "transactionReference": "unique-transactionReference", "merchant": { "entity": "default", "mcc": "1234", "paymentFacilitator": { "pfId": "12345", "isoId": "12345", "subMerchant": { "name": "John", "merchantId": "12345", "postalCode": "SW1 1AA", "street": "Regent Street", "city": "London", "countryCode": "GB" } } }, "instruction": { "debtRepayment": true, "narrative": { "line1": "trading name", "line2": "order number" }, "value": { "currency": "GBP", "amount": 250 }, "paymentInstrument": { "cvc": "123", "billingAddress": { "address1": "Worldpay", "address2": "1 Milton Road", "address3": "The Science Park", "postalCode": "CB4 0WE", "city": "Cambridge", "state": "Cambridgeshire", "countryCode": "GB" }, "type": "card/plain", "cardHolderName": "John Appleseed", "cardNumber": "4444333322221111", "cardExpiryDate": { "month": 5, "year": 2035 } } } } Token All { "transactionReference": "unique-transactionReference", "merchant": { "entity": "default", "mcc": "1000", "paymentFacilitator": { "pfId": "12345", "isoId": "12345", "subMerchant": { "name": "John", "merchantId": "12345", "postalCode": "SW1 1AA", "street": "Regent Street", "city": "London", "countryCode": "GB" } } }, "instruction": { "debtRepayment": true, "narrative": { "line1": "trading name", "line2": "order number" }, "value": { "currency": "GBP", "amount": 250 }, "paymentInstrument": { "type": "card/token", "href": "https://try.access.worldpay.com/tokens/{}", "cvc": "898" } } } 3DS1 Card All { "transactionReference": "unique-transactionReference", "merchant": { "entity": "default", "mcc": "1234", "paymentFacilitator": { "pfId": "12345", "isoId": "12345", "subMerchant": { "name": "John", "merchantId": "12345", "postalCode": "SW1 1AA", "street": "Regent Street", "city": "London", "countryCode": "GB" } } }, "instruction": { "debtRepayment": true, "narrative": { "line1": "trading name", "line2": "order number" }, "value": { "currency": "GBP", "amount": 250 }, "paymentInstrument": { "cvc": "123", "billingAddress": { "address1": "Worldpay", "address2": "1 Milton Road", "address3": "The Science Park", "postalCode": "CB4 0WE", "city": "Cambridge", "state": "Cambridgeshire", "countryCode": "GB" }, "type": "card/plain", "cardHolderName": "John Appleseed", "cardNumber": "4444333322221111", "cardExpiryDate": { "month": 5, "year": 2035 } } }, "customer": { "authentication": { "version": "1.0.2", "type": "3DS", "eci": "05", "authenticationValue": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTA=", "transactionId": "z9UKb06xLziZMOXBEmWSVA1kwG0=" } } } 3DS2 Card All { "transactionReference": "unique-transactionReference", "merchant": { "entity": "default", "mcc": "1234", "paymentFacilitator": { "pfId": "12345", "isoId": "12345", "subMerchant": { "name": "John", "merchantId": "12345", "postalCode": "SW1 1AA", "street": "Regent Street", "city": "London", "countryCode": "GB" } } }, "instruction": { "debtRepayment": true, "narrative": { "line1": "trading name", "line2": "order number" }, "value": { "currency": "GBP", "amount": 250 }, "paymentInstrument": { "cvc": "123", "billingAddress": { "address1": "Worldpay", "address2": "1 Milton Road", "address3": "The Science Park", "postalCode": "CB4 0WE", "city": "Cambridge", "state": "Cambridgeshire", "countryCode": "GB" }, "type": "card/plain", "cardHolderName": "John Appleseed", "cardNumber": "4444333322221111", "cardExpiryDate": { "month": 5, "year": 2035 } } }, "customer": { "authentication": { "version": "2.1.0", "type": "3DS", "eci": "05", "authenticationValue": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTA=", "transactionId": "683001f5-3805-423a-b580-638e4b2093b" } } } 3DS1 Token All { "transactionReference": "unique-transactionReference", "merchant": { "entity": "default", "mcc": "1000", "paymentFacilitator": { "pfId": "12345", "isoId": "12345", "subMerchant": { "name": "John", "merchantId": "12345", "postalCode": "SW1 1AA", "street": "Regent Street", "city": "London", "countryCode": "GB" } } }, "instruction": { "debtRepayment": true, "narrative": { "line1": "trading name", "line2": "order number" }, "value": { "currency": "GBP", "amount": 250 }, "paymentInstrument": { "type": "card/token", "href": "https://try.access.worldpay.com/tokens/{}", "cvc": "898" } }, "customer": { "authentication": { "version": "1.0.2", "type": "3DS", "eci": "05", "authenticationValue": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTA=", "transactionId": "z9UKb06xLziZMOXBEmWSVA1kwG0=" } } } 3DS2 Token All { "transactionReference": "unique-transactionReference", "merchant": { "entity": "default", "mcc": "1000", "paymentFacilitator": { "pfId": "12345", "isoId": "12345", "subMerchant": { "name": "John", "merchantId": "12345", "postalCode": "SW1 1AA", "street": "Regent Street", "city": "London", "countryCode": "GB" } }, "instruction": { "debtRepayment": true, "narrative": { "line1": "trading name", "line2": "order number" }, "value": { "currency": "GBP", "amount": 250 }, "paymentInstrument": { "type": "card/token", "href": "https://try.access.worldpay.com/tokens/{}", "cvc": "898" } }, "customer": { "authentication": { "version": "2.1.0", "type": "3DS", "eci": "05", "authenticationValue": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTA=", "transactionId": "683001f5-3805-423a-b580-638e4b2093b" } } } } #### Additional parameter descriptions The descriptions of the additional parameters in your complete authorization request. | Parameter | Required | Description | | --- | --- | --- | | `narrative.line2` | ❌ | Additional details about the payment e.g. order number, telephone number. | | `paymentInstrument.billingAddress` | ❌ | An object containing the billing address information. **If included you must send** at least:`address1``city``countryCode``postalCode` This is used for Address Verification Service (AVS). Our API checks the submitted AVS to see if it matches the address registered with the issuing bank. If the address supplied does not match the registered address it means that the payment carries additional risk. | | `merchant.mcc` | ❌ | You can apply a merchant category code (`mcc`) to an individual request. You can only provide an `mcc` if we have enabled the dynamic mcc feature during [boarding](https://www.worldpay.com/en-GB/merchant-support#still-need-help). If enabled but not provided, `merchant.mcc` defaults to a configured value. For more information contact your [Relationship Manager](https://www.worldpay.com/en-GB/merchant-support#still-need-help). | | `paymentInstrument.cvc` | ❌ | CVC is a unique set of 3 or 4 numbers on the back of the card. Our API checks to see if the CVC supplied matches the CVC held by the issuing bank. | | `merchant.paymentFacilitator` | ❌ | An object containing Payment Facilitator information. **If required you must send**:`pfId``isoId``subMerchant.merchantId``subMerchant.postalcode``subMerchant.street``subMerchant.city``subMerchant.countryCode` This information is required for every authorization **only if you are a Payment Facilitator**. You can find more formatting information [here](/products/reference/formatting#payment-facilitator-format). | Note Check out our API reference for more information on the Authorization request and schema for each version of our Payments API. ### Authorization response ### Successful payment You receive: * an HTTP code `201` * an `"outcome": "authorized"` * risk factors (only returned if issuer identifies conflict) * an issuer authorization code * links to [cancel](/products/card-payments/v5/settle-or-cancel-an-authorization#cancel-an-authorization), [settle](/products/card-payments/v5/settle-or-cancel-an-authorization#settle-an-authorization) , [partially settle](/products/card-payments/v5/settle-or-cancel-an-authorization#partially-settle-an-authorization) or [query](/products/card-payments/v5/query-a-payment) your payment ### Refused payment You receive: * an HTTP code `201` * an `"outcome": "refused"` * a [refusal code](/products/reference/refusal-response) * a `description` which gives additional context on the refusal #### Example response Card/Token/3DS1/3DS2 { "outcome": "authorized", "riskFactors": [{ "risk": "not_matched", "type": "cvc" }, { "risk": "not_checked", "detail": "postcode", "type": "avs" }, { "risk": "not_matched", "detail": "address", "type": "avs" } ], "issuer": { "authorizationCode": "0" }, "_links": { "payments:cancel": { "href": "https://try.access.worldpay.com/payments/authorizations/cancellations/eyJrIjoiazNhYjYzMiJ9" }, "payments:settle": { "href": "https://try.access.worldpay.com/payments/settlements/full/eyJrIjoiazNhYjYzMiJ9" }, "payments:partialSettle": { "href": "https://try.access.worldpay.com/payments/settlements/partials/eyJrIjoiazNhYjYzMiJ9" }, "payments:events": { "href": "https://try.access.worldpay.com/payments/events/eyJrIjoiazNhYjYzMiJ9" }, "curies": [{ "name": "payments", "href": "https://try.access.worldpay.com/rels/payments/{rel}", "templated": true }] } } Apple Pay/Google Pay { "outcome": "authorized", "issuer": { "authorizationCode": "0" }, "_links": { "payments:cancel": { "href": "https://try.access.worldpay.com/payments/authorizations/cancellations/eyJrIjoiazNhYjYzMiJ9" }, "payments:settle": { "href": "https://try.access.worldpay.com/payments/settlements/full/eyJrIjoiazNhYjYzMiJ9" }, "payments:partialSettle": { "href": "https://try.access.worldpay.com/payments/settlements/partials/eyJrIjoiazNhYjYzMiJ9" }, "payments:events": { "href": "https://try.access.worldpay.com/payments/events/eyJrIjoiazNhYjYzMiJ9" }, "curies": [{ "name": "payments", "href": "https://try.access.worldpay.com/rels/payments/{rel}", "templated": true }] } } Refusal { "outcome": "refused", "description": "CARD EXPIRED", "code": "33", "riskFactors": [{ "risk": "not_supplied", "type": "cvc" }, { "risk": "not_checked", "detail": "address", "type": "avs" }, { "risk": "not_checked", "detail": "postcode", "type": "avs" } ] } You can use the `payments:settle` action link to [settle the payment](/products/card-payments/v5/settle-or-cancel-an-authorization#settle-an-authorization) straight away. Alternatively you can cache the response and use the link to settle the payment later. #### `riskFactors` details summary Address and Card Verification To reduce the probability of processing a fraudulent payment, supply your customer's billing address and cvc in your [authorization request](#complete-authorization-request-schema). We check this with your customer's issuing bank and include any conflicts in our response. The `riskFactors` array is returned **only if** there is a risk associated with the authorization request. The `riskFactors` array returns an object for `avs` and `cvc` **only if** this information was included in the authorization request **and** if any risk was identified. The table below describes the response parameters: | Parameter | Description | | --- | --- | | `riskFactors.type` | Returns `avs` or `cvc` | | `riskFactors.detail` | For `avs` only. Returns `postcode` or `address` | | `riskFactors.risk` | Returns `not_checked`, `not_matched` or `not_supplied` | #### `issuer` details summary Issuer Information returned by your customer's card issuer based on your authorization request. | Parameter | Description | | --- | --- | | `issuer.authorizationCode` | The authorization code returned by customer's card issuer. | ## migrateRecurring authorization If you need to make an existing recurring payment agreement compliant with the stored credentials mandate, use our `payments:migrateRecurringAuthorize` action link. `POST` your recurring authorization request to our `payments:migrateRecurringAuthorize` action link received in your root resource response. #### `migrateRecurring` authorization example request POST `https://try.access.worldpay.com/payments/authorizations/migrateRecurring` Note Click the tabs below to see all the mandatory fields for all supported `paymentInstrument` parameters. `migrateRecurring` authorization request body: Card { "transactionReference": "unique-transactionReference", "merchant": { "entity": "default" }, "instruction": { "narrative": { "line1": "trading name" }, "value": { "currency": "GBP", "amount": 250 }, "paymentInstrument": { "type": "card/plain", "cardHolderName": "John Appleseed", "cardNumber": "4444333322221111", "cardExpiryDate": { "month": 5, "year": 2035 } } } } Token { "transactionReference": "unique-transactionReference", "merchant": { "entity": "default" }, "instruction": { "narrative": { "line1": "trading name" }, "value": { "currency": "GBP", "amount": 250 }, "paymentInstrument": { "type": "card/token", "href": "https://try.access.worldpay.com/tokens/{}" } } } Descriptions of your `migrateRecurring` authorization request parameters can be found [here](#descriptions-of-your-authorization-request-parameters) details summary migrateRecurring authorization optional fields The requests below contain all the mandatory and optional fields needed for a successful `migrateRecurring` authorization request. #### Complete `migrateRecurring` authorization request schema Full migrateRecurring authorization request body: Card { "transactionReference": "unique-transactionReference", "merchant": { "entity": "default", "mcc": "1234", "paymentFacilitator": { "pfId": "12345", "isoId": "12345", "subMerchant": { "name": "John", "merchantId": "12345", "postalCode": "SW1 1AA", "street": "Regent Street", "city": "London", "countryCode": "GB" } } }, "instruction": { "narrative": { "line1": "trading name", "line2": "order number" }, "value": { "currency": "GBP", "amount": 250 }, "paymentInstrument": { "billingAddress": { "address1": "Worldpay", "address2": "1 Milton Road", "address3": "The Science Park", "postalCode": "CB4 0WE", "city": "Cambridge", "state": "Cambridgeshire", "countryCode": "GB" }, "type": "card/plain", "cardHolderName": "John Appleseed", "cardNumber": "4444333322221111", "cardExpiryDate": { "month": 12, "year": 2035 } } } } Token { "transactionReference": "unique-transactionReference", "merchant": { "entity": "default", "mcc": "1000", "paymentFacilitator": { "pfId": "12345", "isoId": "12345", "subMerchant": { "name": "John", "merchantId": "12345", "postalCode": "SW1 1AA", "street": "Regent Street", "city": "London", "countryCode": "GB" } } }, "instruction": { "narrative": { "line1": "test1", "line2": "test2" }, "value": { "currency": "GBP", "amount": 250 }, "paymentInstrument": { "type": "card/token", "href": "https://try.access.worldpay.com/tokens/{}" } } } Descriptions of your full `migrateRecurring` authorization request parameters can be found [here](#additional-parameter-descriptions). #### `migrateRecurring` response ### Successful payment You receive: * an HTTP code `201` * an `"outcome": "authorized"` * an issuer response code * links to [cancel](/products/card-payments/v5/settle-or-cancel-an-authorization#cancel-an-authorization), [settle](/products/card-payments/v5/settle-or-cancel-an-authorization#settle-an-authorization) , [partially settle](/products/card-payments/v5/settle-or-cancel-an-authorization#partially-settle-an-authorization) or [query](/products/card-payments/v5/query-a-payment) your payment * an authorization link for the next payment in your recurring agreement ### Refused payment You receive: * an HTTP code `201` * an `"outcome": "refused"` * an issuer response code * a `description` which gives additional context on the refusal #### Example response Card/Token { "outcome": "authorized", "issuer": { "authorizationCode": "0" }, "scheme": { "reference": "1260019172" }, "_links": { "payments:cancel": { "href": "https://try.access.worldpay.com/payments/authorizations/cancellations/eyJrIjoiazNhYjYzMiJ9" }, "payments:settle": { "href": "https://try.access.worldpay.com/payments/settlements/full/eyJrIjoiazNhYjYzMiJ9" }, "payments:partialSettle": { "href": "https://try.access.worldpay.com/payments/settlements/partials/eyJrIjoiazNhYjYzMiJ9" }, "payments:events": { "href": "https://try.access.worldpay.com/payments/events/eyJrIjoiazNhYjYzMiJ9" }, "curies": [{ "name": "payments", "href": "https://try.access.worldpay.com/rels/payments/{rel}", "templated": true }], "payments:CardOnFileAuthorize": { "href": "https://try.access.worldpay.com/payments/authorizations/CardOnFile/eyJrIjoiazNhYjYzMiJ9" } } } Card/Token All { "outcome": "authorized", "riskFactors": [{ "risk": "not_matched", "type": "cvc" }, { "risk": "not_checked", "detail": "postcode", "type": "avs" }, { "risk": "not_checked", "detail": "address", "type": "avs" } ], "issuer": { "authorizationCode": "0" }, "scheme ": { "reference": "1260019172" }, "_links": { "payments:cancel": { "href": "https://try.access.worldpay.com/payments/authorizations/cancellations/eyJrIjoiazNhYjYzMiJ9" }, "payments:settle": { "href": "https://try.access.worldpay.com/payments/settlements/full/eyJrIjoiazNhYjYzMiJ9" }, "payments:partialSettle": { "href": "https://try.access.worldpay.com/payments/settlements/partials/eyJrIjoiazNhYjYzMiJ9" }, "payments:events": { "href": "https://try.access.worldpay.com/payments/events/eyJrIjoiazNhYjYzMiJ9" }, "curies": [{ "name": "payments", "href": "https://try.access.worldpay.com/rels/payments/{rel}", "templated": true }], "payments:CardOnFileAuthorize": { "href": "https://try.access.worldpay.com/payments/authorizations/CardOnFile/eyJrIjoiazNhYjYzMiJ9" } } } Refusal { "outcome": "refused", "description": "CARD EXPIRED", "code": "33", "riskFactors": [{ "risk": "not_supplied", "type": "cvc" }, { "risk": "not_checked", "detail": "address", "type": "avs" }, { "risk": "not_checked", "detail": "postcode", "type": "avs" } ] } You can use the `payments:settle` action link to [settle the payment](/products/card-payments/v5/settle-or-cancel-an-authorization#settle-an-authorization) straight away. Alternatively you can cache the response and use the link to settle the payment later. You must always store and use the link returned in the `payments:recurringAuthorize` action link to authorize your next payment. ## migrateCardOnFile authorization Authorize new card on file payments whilst making them compliant. Migrate existing card on file agreements to a compliant environment whilst you send an authorization request. Note This resource can only accept [tokens](/products/tokens) as a payment instrument. `POST` your card on file authorizations to our `payments:migrateCardOnFileAuthorize` action link resource received in your root resource response. ### `migrateCardOnFile` authorization example request POST `https://try.access.worldpay.com/payments/authorizations/migrateCardOnFile` Note Click the tabs below to see all the mandatory fields for all supported `paymentInstrument` parameters. `migrateCardOnFile` authorization request body: Token { "transactionReference": "unique-transactionReference", "merchant": { "entity": "default" }, "instruction": { "narrative": { "line1": "trading name" }, "value": { "currency": "GBP", "amount": 250 }, "paymentInstrument": { "type": "card/token", "href": "https://try.access.worldpay.com/tokens/{}", "cvc": "898" } } } 3DS1 Token { "transactionReference": "unique-transactionReference", "merchant": { "entity": "default" }, "instruction": { "narrative": { "line1": "trading name" }, "value": { "currency": "GBP", "amount": 250 }, "paymentInstrument": { "type": "card/token", "href": "https://try.access.worldpay.com/tokens/{}", "cvc": "898" } }, "customer": { "authentication": { "version": "1.0.2", "type": "3DS", "eci": "05", "authenticationValue": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTA=", "transactionId": "z9UKb06xLziZMOXBEmWSVA1kwG0=" } } } 3DS2 Token { "transactionReference": "unique-transactionReference", "merchant": { "entity": "default" }, "instruction": { "narrative": { "line1": "trading name" }, "value": { "currency": "GBP", "amount": 250 }, "paymentInstrument": { "type": "card/token", "href": "https://try.access.worldpay.com/tokens/{}", "cvc": "898" } }, "customer": { "authentication": { "version": "2.1.0", "type": "3DS", "eci": "05", "authenticationValue": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTA=", "transactionId": "683001f5-3805-423a-b580-638e4b2093b" } } } Checkout with CVC { "transactionReference": "unique-transactionReference", "merchant": { "entity": "default" }, "instruction": { "narrative": { "line1": "trading name" }, "value": { "currency": "GBP", "amount": 250 }, "paymentInstrument": { "type": "card/checkout", "tokenHref": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiNjd5bnJnSTR3a3FITW00SHNjaE90YnAwcVlvZ1pSZ3RFOXJjcklzVzY1ND0ifQ", "cvcHref": "https://try.access.worldpay.com/sessions/eyJrIjoxLCJkIjoiNjQxbUswTlVFYW05NWY2R0IvUEtqWXY0QjVyY2V5VHBBU0Q1TDNuSFQrMGtEc3RIZm1NQnFtNDhKcVB1TkoySDkycWhpRHVwSHBZY3F6NEZiUGwxVHc9PSJ9" } } } Descriptions of your `migrateCardOnFile` authorization request parameters can be found [here](#descriptions-of-your-authorization-request-parameters) and here for your [3DS parameters](#3ds). details summary migrateCardOnFile authorization optional fields The requests below contain all the mandatory and optional fields needed for a successful `migrateCardOnFile` authorization request. #### Complete `migrateCardOnFile` authorization request schema Full `migrateCardOnFile` authorization request body: Token All { "transactionReference": "unique-transactionReference", "merchant": { "entity": "default", "mcc": "1000", "paymentFacilitator": { "pfId": "12345", "isoId": "12345", "subMerchant": { "name": "John", "merchantId": "12345", "postalCode": "SW1 1AA", "street": "Regent Street", "city": "London", "countryCode": "GB" } } }, "instruction": { "narrative": { "line1": "trading name", "line2": "order number" }, "value": { "currency": "GBP", "amount": 250 }, "paymentInstrument": { "type": "card/token", "href": "https://try.access.worldpay.com/tokens/{}", "cvc": "898" }, "intent": "instalment" } } 3DS1 Token All { "transactionReference": "unique-transactionReference", "merchant": { "entity": "default", "mcc": "1000", "paymentFacilitator": { "pfId": "12345", "isoId": "12345", "subMerchant": { "name": "John", "merchantId": "12345", "postalCode": "SW1 1AA", "street": "Regent Street", "city": "London", "countryCode": "GB" } } }, "instruction": { "narrative": { "line1": "trading name", "line2": "order number" }, "value": { "currency": "GBP", "amount": 250 }, "paymentInstrument": { "type": "card/token", "href": "https://try.access.worldpay.com/tokens/{}", "cvc": "898" }, "intent": "instalment" }, "customer": { "authentication": { "version": "1.0.2", "type": "3DS", "eci": "05", "authenticationValue": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTA=", "transactionId": "z9UKb06xLziZMOXBEmWSVA1kwG0=" } } } 3DS2 Token All { "transactionReference": "unique-transactionReference", "merchant": { "entity": "default", "mcc": "1000", "paymentFacilitator": { "pfId": "12345", "isoId": "12345", "subMerchant": { "name": "John", "merchantId": "12345", "postalCode": "SW1 1AA", "street": "Regent Street", "city": "London", "countryCode": "GB" } } }, "instruction": { "narrative": { "line1": "trading name", "line2": "order number" }, "value": { "currency": "GBP", "amount": 250 }, "paymentInstrument": { "type": "card/token", "href": "https://try.access.worldpay.com/tokens/{}", "cvc": "898" }, "intent": "instalment" }, "customer": { "authentication": { "version": "2.1.0", "type": "3DS", "eci": "05", "authenticationValue": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTA=", "transactionId": "683001f5-3805-423a-b580-638e4b2093b" } } } Checkout with CVC { "transactionReference": "unique-transactionReference", "mcc": "1000", "merchant": { "entity": "default", "paymentFacilitator": { "pfId": "1111", "isoId": "222", "subMerchant": { "city": "SubMCity", "name": "SMName", "state": "US", "postalCode": "SM8989", "merchantId": "62738", "countryCode": "GB", "street": "SMLondon", "taxId": "1234567" } } }, "instruction": { "narrative": { "line1": "trading name", "line2": "order number" }, "value": { "currency": "GBP", "amount": 250 }, "paymentInstrument": { "type": "card/checkout", "tokenHref": "https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiNjd5bnJnSTR3a3FITW00SHNjaE90YnAwcVlvZ1pSZ3RFOXJjcklzVzY1ND0ifQ", "cvcHref": "https://try.access.worldpay.com/sessions/eyJrIjoxLCJkIjoiNjQxbUswTlVFYW05NWY2R0IvUEtqWXY0QjVyY2V5VHBBU0Q1TDNuSFQrMGtEc3RIZm1NQnFtNDhKcVB1TkoySDkycWhpRHVwSHBZY3F6NEZiUGwxVHc9PSJ9" }, "intent": "instalment" } } Descriptions of your full `migrateCardOnFile` authorization request parameters can be found [here](#additional-parameter-descriptions) and here for your [3DS parameters](#3ds). ### `migrateCardOnFile` response ### Successful payment You receive: * an HTTP code `201` * an `"outcome": "authorized" * risk factors (only returned if issuer identifies conflict) * an issuer authorization code * scheme reference * links to [cancel](/products/card-payments/v5/settle-or-cancel-an-authorization#cancel-an-authorization), [settle](/products/card-payments/v5/settle-or-cancel-an-authorization#settle-an-authorization) , [partially settle](/products/card-payments/v5/settle-or-cancel-an-authorization#partially-settle-an-authorization) or [query](/products/card-payments/v5/query-a-payment) your payment * an authorization link for the next payment in your repeat payment agreement ### Refused payment You receive: * an HTTP code `201` * an `"outcome": "refused"` * a [refusal code](/products/reference/refusal-response) * a `description` which gives additional context on the refusal #### Example response Token/3DS1 Token/3DS2 Token { "outcome": "authorized", "issuer": { "authorizationCode": "0" }, "scheme": { "reference": "1260019172" }, "_links": { "payments:cancel": { "href": "https://try.access.worldpay.com/payments/authorizations/cancellations/eyJrIjoiazNhYjYzMiJ9" }, "payments:settle": { "href": "https://try.access.worldpay.com/payments/settlements/full/eyJrIjoiazNhYjYzMiJ9" }, "payments:partialSettle": { "href": "https://try.access.worldpay.com/payments/settlements/partials/eyJrIjoiazNhYjYzMiJ9" }, "payments:events": { "href": "https://try.access.worldpay.com/payments/events/eyJrIjoiazNhYjYzMiJ9" }, "curies": [{ "name": "payments", "href": "https://try.access.worldpay.com/rels/payments/{rel}", "templated": true }], "payments:CardOnFileAuthorize": { "href": "https://try.access.worldpay.com/payments/authorizations/CardOnFile/eyJrIjoiazNhYjYzMiJ9" } } } Token/3DS1 Token/3DS2 Token All { "outcome": "authorized", "riskFactors": [{ "risk": "not_matched", "type": "cvc" }, { "risk": "not_checked", "detail": "postcode", "type": "avs" }, { "risk": "not_checked", "detail": "address", "type": "avs" } ], "issuer": { "authorizationCode": "0" }, "scheme ": { "reference": "1260019172" }, "_links": { "payments:cancel": { "href": "https://try.access.worldpay.com/payments/authorizations/cancellations/eyJrIjoiazNhYjYzMiJ9" }, "payments:settle": { "href": "https://try.access.worldpay.com/payments/settlements/full/eyJrIjoiazNhYjYzMiJ9" }, "payments:partialSettle": { "href": "https://try.access.worldpay.com/payments/settlements/partials/eyJrIjoiazNhYjYzMiJ9" }, "payments:events": { "href": "https://try.access.worldpay.com/payments/events/eyJrIjoiazNhYjYzMiJ9" }, "curies": [{ "name": "payments", "href": "https://try.access.worldpay.com/rels/payments/{rel}", "templated": true }], "payments:CardOnFileAuthorize": { "href": "https://try.access.worldpay.com/payments/authorizations/CardOnFile/eyJrIjoiazNhYjYzMiJ9" } } } You can use the `payments:settle` action link to [settle the payment](/products/card-payments/v5/settle-or-cancel-an-authorization#settle-an-authorization) straight away. Alternatively you can cache the response and use the link to settle the payment later. You must store and use the link returned in the `payments:CardOnFileAuthorize` action link to authorize your next payment. br **Next steps** [Settle or cancel a payment](/products/card-payments/v5/settle-or-cancel-an-authorization)