# Take a repeat card payment

Take online payments using our Card Payments API.

Endpoint: POST /cardPayments/merchantInitiatedTransactions
Version: 7
Security: BasicAuth

## Security:

  - `BasicAuth` (unknown)
    http basic

## Header parameters:

  - `Content-Type` (string, required)

  - `Accept` (string, required)

## Request fields (application/vnd.worldpay.payments-v7+json):

  - `transactionReference` (string, required)
    A unique reference generated by you that is used to identify a payment throughout its lifecycle.

  - `orderReference` (string)
    A reference, generated by you, that you can apply to one or more payments according to your business needs. You may reuse the same reference across multiple payments, for example where:
- the total amount for a single order is split across multiple payments
- you use a single reference for each payment in a recurring agreement or split shipment scenario
    Example: order-12345

  - `merchant` (object, required)
    An object that contains information about the merchant.

  - `merchant.entity` (string, required)
    An identifier we provide during onboarding. Some merchants may have more than one `entity`. Direct your payment accordingly to assist with billing, reporting and reconciliation. This is mandatory for authentication and queries.
    Example: default

  - `merchant.mcc` (string)
    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. If enabled but not provided, `merchant.mcc` defaults to a configured value.

  - `merchant.paymentFacilitator` (object)
    An object containing payment facilitator information. This information is required for every authorization **only if you are a payment facilitator**.**Note:** You can't send payment facilitator data together with ramp provider data.

  - `merchant.paymentFacilitator.schemeId` (string, required)
    Your payment facilitator ID received from Visa, Mastercard, or Amex.

  - `merchant.paymentFacilitator.independentSalesOrganizationId` (string)

  - `merchant.paymentFacilitator.subMerchant` (object, required)

  - `merchant.paymentFacilitator.subMerchant.name` (string, required)

  - `merchant.paymentFacilitator.subMerchant.reference` (string, required)

  - `merchant.paymentFacilitator.subMerchant.address` (object, required)

  - `merchant.paymentFacilitator.subMerchant.address.postalCode` (string, required)
    Example: SW1 1AA

  - `merchant.paymentFacilitator.subMerchant.address.street` (string, required)
    Example: 221B Baker Street

  - `merchant.paymentFacilitator.subMerchant.address.city` (string, required)
    Example: London

  - `merchant.paymentFacilitator.subMerchant.address.state` (string)
    The state code of the subMerchant in ISO-3166-2 format.

  - `merchant.paymentFacilitator.subMerchant.address.countryCode` (string, required)
    Country code of the subMerchant in [ISO 3166-1 Alpha-2 format](/products/reference/supported-countries-currencies#iso-country-codes).

  - `merchant.paymentFacilitator.subMerchant.phoneNumber` (string)

  - `merchant.paymentFacilitator.subMerchant.taxReference` (string)

  - `merchant.paymentFacilitator.subMerchant.email` (string)

  - `merchant.paymentFacilitator.subMerchant.url` (string)

  - `merchant.rampProvider` (object)
    Information about the ramp provider and associated conversion affiliate.**Note:** You can't send ramp provider data together with payment facilitator data.

  - `merchant.rampProvider.reference` (string, required)
    Registered ramp provider ID.
    Example: 12345677898

  - `merchant.rampProvider.conversionAffiliate` (object)

  - `merchant.rampProvider.conversionAffiliate.reference` (string, required)
    Registered conversion affiliate's ID.
    Example: 1234567890

  - `merchant.rampProvider.conversionAffiliate.name` (string, required)
    Conversion affiliate's name.
    Example: Name

  - `merchant.rampProvider.conversionAffiliate.address` (object, required)

  - `merchant.rampProvider.conversionAffiliate.address.countryCode` (string, required)
    ISO 3166-1 alpha-2 country code.
    Example: US

  - `merchant.rampProvider.conversionAffiliate.url` (string)
    Conversion affiliate's URL.
    Example: http://some-url-here.com

  - `merchant.rampProvider.conversionAffiliate.taxReference` (string)
    Conversion affiliate's tax reference.
    Example: 987-654-4321

  - `merchant.taxReference` (string)
    Merchant's tax reference.

  - `instruction` (object, required)
    An object that contains all information related to the payment.

  - `instruction.requestAutoSettlement` (object, required)
    Indicates whether the transaction should be sent for settlement now `true` or later `false`, at a time of your choosing.

  - `instruction.requestAutoSettlement.enabled` (boolean)

  - `instruction.value` (object, required)
    An object that contains information about the value of the payment.

  - `instruction.value.amount` (integer, required)
    The payment amount. This is a whole number with an exponent e.g. if exponent is two, 250 is 2.50.
    Example: 250

  - `instruction.value.currency` (string, required)
    The three character currency code. See list of [supported currencies](/products/reference/supported-countries-currencies#iso-currency-codes).
    Example: USD

  - `instruction.value.acceptPartialAmount` (boolean)
    Set to `true` to accept partial authorization amount. The remainder of the amount can be charged using a different payment credential via a new authorization request.
**Note:** `requestAutoSettlement` must be `false` for partial authorizations.

  - `instruction.value.surchargeAmount` (integer)
    The charging amount representing processing and service fees. Ensure that the `surchargeAmount` complies with local regulations and card network rules before applying.
**Note:** The `surchargeAmount` is included in the total transaction amount, e.g. if the `value.surchargeAmount` is $20 and the `value.amount` is $100, then the actual cost of goods/services is $80.

  - `instruction.value.convenienceAmount` (integer)
    The charging amount representing the offer of a convenient payment method or channel (such as online booking fee). Ensure that the `convenienceAmount` complies with local regulations and card network rules before applying.
**Note:** The convenience fee is included in the total transaction amount, e.g. if the `value.convenienceAmount` is $20 and the `value.amount` is $100, then the actual cost of goods/services is $80.

  - `instruction.narrative` (object, required)
    The text that appears on your customer's statement. Used to identify the merchant.

  - `instruction.narrative.line1` (string, required)
    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).

  - `instruction.narrative.line2` (string)
    Additional details about the payment e.g. order number, telephone number.

  - `instruction.paymentInstrument` (object, required)

  - `instruction.paymentInstrument.type` (string, required)
    An identifier for the `paymentInstrument` being used.
    Enum: "card/plain"

  - `instruction.paymentInstrument.cardNumber` (string, required)
    Your customer's card number. Sometimes referred to as Primary Account Number (PAN).

  - `instruction.paymentInstrument.cardHolderName` (string)
    The cardholder's name as it appears on their card.

  - `instruction.paymentInstrument.expiryDate` (object, required)
    Contains your customer's card expiry date.

  - `instruction.paymentInstrument.expiryDate.month` (integer, required)
    Example: 7

  - `instruction.paymentInstrument.expiryDate.year` (integer, required)
    Example: 2050

  - `instruction.paymentInstrument.billingAddress` (object)
    Contains the billing address information.

  - `instruction.paymentInstrument.billingAddress.address1` (string)
    First line of the address. Required if `city` is provided.

  - `instruction.paymentInstrument.billingAddress.address2` (string)
    Second line of the address.

  - `instruction.paymentInstrument.billingAddress.address3` (string)
    Third line of the address.

  - `instruction.paymentInstrument.billingAddress.city` (string)
    City. Required if `address1` is provided.

  - `instruction.paymentInstrument.billingAddress.postalCode` (string, required)
    Post code. Required, but an empty value can be provided for specific countries (e.g., `IE`).

  - `instruction.paymentInstrument.billingAddress.state` (string)
    State/province in max 3 characters.

  - `instruction.paymentInstrument.billingAddress.countryCode` (string, required)
    Must be provided in [ISO 3166-1 Alpha-2 format](/products/reference/supported-countries-currencies#iso-country-codes).

  - `instruction.paymentInstrument.billingAddress.phoneNumber` (string)
    Phone number.

  - `instruction.paymentInstrument.href` (string, required)
    An `http` address that contains your link to an Access Token.

  - `instruction.paymentInstrument.tokenNumber` (string, required)
    The network token number.

  - `instruction.paymentInstrument.expiryDate` (object, required)
    Contains your customer's token expiry date.

  - `instruction.paymentInstrument.fpanLastFour` (string)
    The last four digits of the actual card number, commonly referred to as the Funding Primary Account Number (FPAN). For [mobile wallet transactions](/products/wallets#card-metadata), the mobile wallet provider (e.g. Apple or Google) returns this to you, where supported by the issuer. For network tokens, retrieve this from your token provider.

  - `instruction.paymentInstrument.type` (string, required)
    Enum: "card/networkToken+applepay"

  - `instruction.customerAgreement` (object, required)
    Contains specific customer agreements for the transaction.

  - `instruction.customerAgreement.type` (string, required)
    The processing arrangement agreed with your customer. A subscription plan occurs at fixed time intervals.

  - `instruction.customerAgreement.schemeReference` (string)
    Used by the card scheme to link merchant initiated transactions (MITs) to the original customer initiated transaction (CIT). Supply the value returned by the card scheme in the original CIT.
    Example: 446238472410421

  - `instruction.customerAgreement.schemeSupplementaryReference` (string)
    Preview only. Not yet available in production.
Applies to Mastercard transactions only. A secondary reference used by the card scheme to link merchant initiated transactions (MITs) to the original customer initiated transaction (CIT). Supply the value returned by the card scheme in the original CIT.
Please see our [Mastercard TLID guide](/products/card-payments/features/mastercard-tlid) for more details.
    Example: MCCOLXT1C0104  

  - `instruction.customerAgreement.type` (string, required)
    The processing arrangement agreed with your customer.

  - `instruction.customerAgreement.installmentType` (string, required)
    Defines the type of installments service.
    Enum: "merchant"

  - `instruction.customerAgreement.storedCardUsage` (string)
    Set to `subsequent` if the transaction is using a stored card. If no agreement was made to store your customer's card, omit `storedCardUsage`.
    Enum: "subsequent"

  - `instruction.consumerBillPayment` (boolean)
    Consumer Bill Payment is a flag which identifies a bill payment paid by providers on behalf of consumers.

  - `instruction.requestAccountUpdater` (boolean)
    Allows you to request a real-time account update when using a previously stored card. You can only use this with `customerAgreement` transactions with a `storedCardUsage` value of `subsequent`. If the stored card details that you provided for the transaction are no longer valid and new credentials are available, the authorization will be processed with the new card and its details will be returned in the `updatedPaymentInstrument` object in the response.

  - `instruction.debtRepayment` (boolean)
    Debt Repayment Indicator is a flag which identifies a payment with the purpose of repaying a debt.

  - `instruction.fundsTransfer` (object)
    Contains details of the funds transfer request, which is a money movement for a reason other than the purchase of goods or services (also known as Account Funding Transaction (AFT)).

  - `instruction.fundsTransfer.type` (string, required)
    Specifies the type of the funds transfer.  You may only submit the `fundsTransfer.type` values that relate to the use cases that you have been approved for by the schemes.
    Enum: "accountToAccount", "cash", "disbursement", "personToPerson", "purchase", "topUp", "walletLoad"

  - `instruction.fundsTransfer.purpose` (string)
    Specifies the purpose of the funds transfer. Required for some regions and use cases (e.g. crypto).
    Enum: "businessToBusiness", "creditCardRepayment", "crypto", "crowdLending", "debitCard", "education", "emergency", "familySupport", "gift", "giftCard", "gaming", "highRiskSecurities", "liquidAssets", "medical", "payroll", "prepaidCard", "salary", "savings", "travel", "other", "stablecoin", "cbdc", "nft", "blockchainNativeToken"

  - `instruction.fundsTransfer.recipient` (object)
    An object containing details about the recipient of funds, including name and address information, as well as recipient account details. In many use cases, the recipient is the same person as the sender (for example if your customer uses their card to load funds into their own crypto exchange or investment account). **Although an optional object in the API schema, `recipient` is required for some regions and use cases.**

  - `instruction.fundsTransfer.recipient.account` (object)
    An object for the account details of the recipient.

  - `instruction.fundsTransfer.recipient.account.type` (string, required)
    Enum: "bankAccount"

  - `instruction.fundsTransfer.recipient.account.identifierType` (string, required)
    Enum: "iban", "swift", "routingNumber", "accountNumber"

  - `instruction.fundsTransfer.recipient.account.iban` (string)
    The International Bank Account Number (IBAN) of the recipient. Required if `identifierType` is `iban`.
    Example: IE12BOFI90000112345678

  - `instruction.fundsTransfer.recipient.account.accountNumber` (string)
    The account number of the recipient. Required if `identifierType` is `routingNumber`, `swift` or `accountNumber`. Visa requires the value to be a maximum of 34 characters.
    Example: 01234567

  - `instruction.fundsTransfer.recipient.account.swiftBic` (string)
    The SWIFT Bank Identification Code (BIC) of the recipient. Required if `identifierType` is `swift`. Must be either 8 or 11 alphanumeric characters.
    Example: BEASUS33xxx

  - `instruction.fundsTransfer.recipient.account.routingNumber` (string)
    The ABA (American Bankers Association) Routing Transit Number (RTN). Identifies the Financial Insititution of the recipient's account. Required if `identifierType` is `routingNumber`. Must be 9 numeric characters.
    Example: 111000025

  - `instruction.fundsTransfer.recipient.account.cardNumber` (string, required)
    Recipient's card number.

  - `instruction.fundsTransfer.recipient.account.walletReference` (string, required)
    A reference identifying the destination wallet. Visa requires the value to be a maximum of 34 characters.

  - `instruction.fundsTransfer.recipient.account.emailAddress` (string, required)
    Recipient's email address. Visa requires the value to be a maximum of 34 characters.

  - `instruction.fundsTransfer.recipient.account.phoneNumber` (string, required)
    Recipient's phone number.

  - `instruction.fundsTransfer.recipient.account.socialNetworkReference` (string, required)
    A reference identifying recipient's social network account. Visa requires the value to be a maximum of 34 characters.

  - `instruction.fundsTransfer.recipient.firstName` (string)
    Recipient's first name. Must be supplied if `lastName` or `middleName` are provided.

  - `instruction.fundsTransfer.recipient.middleName` (string)
    Recipient's middle name.

  - `instruction.fundsTransfer.recipient.lastName` (string)
    Recipient's last name. Must be supplied if `firstName` or `middleName` are provided.

  - `instruction.fundsTransfer.recipient.address` (object)
    The recipient's address.

  - `instruction.fundsTransfer.recipient.address.address1` (string)
    Must be supplied if `city` is provided.

  - `instruction.fundsTransfer.recipient.address.address2` (string)

  - `instruction.fundsTransfer.recipient.address.city` (string)
    Must be supplied if `address1` is provided.

  - `instruction.fundsTransfer.recipient.address.postalCode` (string)

  - `instruction.fundsTransfer.recipient.address.state` (string)
    1-3 alphanumeric characters and spaces.

  - `instruction.fundsTransfer.recipient.address.countryCode` (string, required)
    Country code in [ISO 3166-1 Alpha-2 format](/products/reference/supported-countries-currencies#iso-country-codes).

  - `instruction.fundsTransfer.recipient.dateOfBirth` (object)
    Recipient's date of birth.

  - `instruction.fundsTransfer.recipient.dateOfBirth.day` (integer, required)

  - `instruction.fundsTransfer.recipient.dateOfBirth.month` (integer, required)

  - `instruction.fundsTransfer.recipient.dateOfBirth.year` (integer, required)

  - `instruction.fundsTransfer.recipient.phoneNumber` (string)
    Recipient's phone number.

  - `instruction.fundsTransfer.recipient.documentReference` (string)
    Recipient's document reference (e.g. Tax ID).

  - `instruction.fundsTransfer.sender` (object)
    An object containing details about the sender of funds, including name and address information. The sender account is always the card account declared within `instruction.paymentInstrument`. **Although an optional object in the API schema, `sender` is required for some regions and use cases.**

  - `instruction.fundsTransfer.sender.firstName` (string)
    Sender's first name. Must be supplied if `lastName` or `middleName` are provided.

  - `instruction.fundsTransfer.sender.middleName` (string)
    Sender's middle name.

  - `instruction.fundsTransfer.sender.lastName` (string)
    Sender's last name. Must be supplied if `firstName` or `middleName` are provided.

  - `instruction.fundsTransfer.sender.address` (object)
    The sender's address.

  - `instruction.fundsTransfer.sender.address.address1` (string)
    Must be supplied if `city` is provided.

  - `instruction.fundsTransfer.sender.address.address2` (string)

  - `instruction.fundsTransfer.sender.address.city` (string)
    Must be supplied if `address1` is provided.

  - `instruction.fundsTransfer.sender.address.postalCode` (string)

  - `instruction.fundsTransfer.sender.address.state` (string)
    1-3 alphanumeric characters and spaces.

  - `instruction.fundsTransfer.sender.address.countryCode` (string, required)
    Country code in [ISO 3166-1 Alpha-2 format](/products/reference/supported-countries-currencies#iso-country-codes).

  - `instruction.fundsTransfer.sender.dateOfBirth` (object)
    Sender's date of birth.

  - `instruction.fundsTransfer.sender.dateOfBirth.day` (integer, required)

  - `instruction.fundsTransfer.sender.dateOfBirth.month` (integer, required)

  - `instruction.fundsTransfer.sender.dateOfBirth.year` (integer, required)

  - `instruction.fundsTransfer.sender.documentReference` (string)
    Sender's document reference (e.g. Tax ID).

  - `instruction.routing` (object)
    An object containing specific routing preferences.

  - `instruction.routing.fundingType` (string)
    Specifies the credit or debit functionality of a combo card.
    Enum: "credit", "debit"

  - `instruction.routing.preferredCardBrand` (string)
    Specifies your customer's preferred card brand to be used for the transaction using a co-badged card.
    Enum: "visa", "mastercard", "maestro", "amex", "cartesBancaires", "diners", "dankort", "jcb", "discover", "elo", "eftposAU", "unionPay", "bc", "hana", "hyundai", "kookmin", "lotte", "nonghyup", "samsung", "shinhan"

  - `recipient` (object)
    Additional transaction recipient data.

  - `recipient.accountReference` (string)
    Partial account reference of the primary recipient. Either partial card number (first 6 and last 4, no spaces), or a bank account number
    Example: 4444331111

  - `recipient.lastName` (string)
    The last name of the recipient. If for a business, then use the company name.
    Example: Smith

  - `recipient.address` (object)
    Address of the recipient.

  - `recipient.address.postalCode` (string, required)
    The postal code of the recipient (UK only)

  - `recipient.dateOfBirth` (object)
    Birth date of the recipient.

  - `recipient.dateOfBirth.day` (integer, required)

  - `recipient.dateOfBirth.month` (integer, required)

  - `recipient.dateOfBirth.year` (integer, required)

  - `shipping` (object)
    An object containing shipping details.

  - `shipping.sender` (object)

  - `shipping.sender.address` (object)
    An object containing sender's (shipped from) address.

  - `shipping.sender.address.postalCode` (string)

  - `shipping.recipient` (object)

  - `shipping.recipient.address` (object)
    An object containing recipient's shipping address.

  - `shipping.recipient.address.countryCode` (string)

  - `shipping.recipient.address.postalCode` (string)

  - `order` (object)
    An object containing details about the order.

  - `order.taxExempt` (boolean)
    A flag to indicate whether the purchase is exempt from tax. Must be set to `true` if `order.salesTax` is 0.

  - `order.orderDate` (object)
    Date of the order.

  - `order.orderDate.day` (integer, required)

  - `order.orderDate.month` (integer, required)

  - `order.orderDate.year` (integer, required)

  - `order.items` (array)
    Array of order items. You can send up to 99 individual order objects within this array.

  - `order.items.commodityCode` (string)
    Commodity code as defined by the National Institute of Governmental Purchasing.
    Example: ABC123@#

  - `order.items.totalTaxAmount` (integer)
    Total tax amount for the item(s).

  - `order.items.unitCost` (integer)
    The price of one unit of the item purchased.

  - `order.items.totalAmount` (integer)
    Total cost of the item(s) including tax.

  - `order.items.totalAmountNoTax` (integer)
    Total cost of the item(s) excluding tax.

  - `order.items.unitOfMeasure` (string)
    The unit of measure of the purchased item. Explains how to interpret `items.quantity` field, e.g. quantity = 15, unitOfMeasure = kg.

  - `order.items.name` (string, required)
    Name of the item(s).

  - `order.items.quantity` (integer)
    Number of items purchased.

  - `order.items.productCode` (string)
    Merchant defined product code.

  - `order.items.totalDiscountAmount` (integer)
    Total discount amount for the item(s).

  - `order.dutyAmount` (integer)
    Total amount of duty costs for the order.

  - `order.salesTax` (integer)
    Total amount of sales tax for the order. Must be provided if `merchant.taxReference` is supplied.

  - `order.shippingAmount` (integer)
    Total amount of shipping costs for the order.

  - `order.invoiceReference` (string)
    Invoice reference for the order.

  - `order.discountAmount` (integer)
    Total amount of discounts for the order.

  - `customer` (object)
    Additional customer data.

  - `customer.documentReference` (string)
    Required for domestic processing in some Latin American countries.

  - `customer.reference` (string)
    Merchant-generated customer reference.

  - `customer.emailAddress` (string)
    Customer's email address. If enabled by your configuration, your customer will receive the transaction outcome at this email address.

  - `industryData` (object)
    An object containing industry-specific order data.

  - `industryData.type` (string, required)
    Enum: "airline"

  - `industryData.airlineName` (string, required)
    The name of the airline (displayed as it would be on a bill).
    Example: Cobb Air

  - `industryData.ticket` (object, required)
    An object containing ticket details.

  - `industryData.ticket.number` (string, required)
    The ticket number.
    Example: 123

  - `industryData.ticket.issuerAddress` (object, required)
    An object containing the ticket issuer's address.

  - `industryData.ticket.issuerAddress.address1` (string, required)

  - `industryData.ticket.issuerAddress.city` (string, required)

  - `industryData.ticket.issuerAddress.countryCode` (string, required)

  - `industryData.ticket.issuerAddress.postalCode` (string, required)

  - `industryData.ticket.flightDetails` (array)
    An array with objects containing flight details. Each object represents one leg of a flight and you can submit up to four flight legs within this array.

  - `industryData.ticket.flightDetails.fareClassCode` (string, required)
    The code used by airlines to identify a fare type.

  - `industryData.ticket.flightDetails.departureAirport` (string, required)
    The three letter IATA Airport Code for the departure airport.
    Example: LHR

  - `industryData.ticket.flightDetails.arrivalAirport` (string, required)
    The three letter IATA Airport Code for the destination airport.
    Example: SYD

  - `industryData.ticket.flightDetails.carrierCode` (string, required)
    Same as `industryData.airlineCode`, the code represents the airline for the specific flight leg.
    Example: M1

  - `industryData.ticket.flightDetails.fareBasisCode` (string)
    An optional extension to the `fareClassCode` for custom codes.
    Example: TMYA

  - `industryData.ticket.flightDetails.flightCode` (string, required)
    The flight code.
    Example: 501

  - `industryData.ticket.flightDetails.departureDate` (object, required)
    An object containing the date of the departure.

  - `industryData.ticket.flightDetails.departureDate.day` (integer, required)

  - `industryData.ticket.flightDetails.departureDate.month` (integer, required)

  - `industryData.ticket.flightDetails.departureDate.year` (integer, required)

  - `industryData.ticket.flightDetails.stopOver` (boolean)
    Set to `true` if this flight leg is a stopover, connecting different destinations.

  - `industryData.ticket.flightDetails.taxAmount` (integer, required)
    The tax amount for this specific flight leg.
    Example: 3500

  - `industryData.ticket.restricted` (boolean, required)
    Typically, restricted airfares require approval and e-ticket processing within 24 hours of making the reservation, are not transferable if cancelled, and can have specific requirements on when or whether a cancelled ticket can be rebooked. You must define if the ticket is restricted, but this does not affect the payment flows.

  - `industryData.ticket.issueDate` (object)
    An object containing the ticket's issue date.

  - `industryData.ticket.issueDate.day` (integer, required)

  - `industryData.ticket.issueDate.month` (integer, required)

  - `industryData.ticket.issueDate.year` (integer, required)

  - `industryData.agentName` (string)
    The name of the travel agent.
    Example: J Small and Co

  - `industryData.agentCode` (string, required)
    The IATA travel agency code.
    Example: 12345678

  - `industryData.invoiceReference` (string)
    Billing Settlement Plan invoice reference.

  - `industryData.airlineCode` (string, required)
    The two character IATA airline code.
    Example: CA

  - `industryData.passenger` (object, required)
    An object containing passenger details.

  - `industryData.passenger.code` (string, required)

  - `industryData.passenger.firstName` (string, required)

  - `industryData.passenger.lastName` (string, required)

  - `industryData.folioNumber` (string, required)
    Customer folio number, invoice number or billing ID number.
    Example: INV-12345-A

  - `industryData.checkInDate` (object, required)
    An object containing the check in date.

  - `industryData.checkInDate.day` (integer, required)

  - `industryData.checkInDate.month` (integer, required)

  - `industryData.checkInDate.year` (integer, required)

  - `industryData.checkOutDate` (object, required)
    An object containing the check out date.

  - `industryData.checkOutDate.day` (integer, required)

  - `industryData.checkOutDate.month` (integer, required)

  - `industryData.checkOutDate.year` (integer, required)

  - `industryData.numberOfNights` (integer, required)
    Total number of nights the room is booked for.
    Example: 3

  - `industryData.roomRate` (integer, required)
    The rate for the room in minor currency units (e.g., pence for GBP).
    Example: 6000

  - `industryData.roomTax` (integer)
    Total room tax in minor currency units (e.g., pence for GBP).
    Example: 900

  - `industryData.adultGuests` (integer)
    Total number of adult guests.
    Example: 2

  - `industryData.programCode` (string)
    Charge type for the billing purpose.
    Enum: "lodging", "noShow", "advancedDeposit"

  - `industryData.customerServicePhone` (string)
    The toll-free phone number for the facility.
    Example: 08001233644669

  - `industryData.propertyLocalPhone` (string)
    The lodging property's phone number.
    Example: 08001233644669

  - `industryData.fireSafetyIndicator` (boolean)
    Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990.
    Example: true

  - `industryData.renterName` (string)
    Name of the person or business entity charged for the reservation.
    Example: John Smith

  - `industryData.additionalCharges` (array)
    Array for the additional charges associated with the booking.

  - `industryData.additionalCharges.type` (string, required)
    Type of lodging charge
    Enum: "barberBeautySalon", "businessCentre", "cancellationAdjustment", "chargesAfterCheckout", "convenience", "convention", "discount", "folioCashAdvances", "foodBeverages", "giftShop", "goodsServices", "healthClub", "insurancePurchased", "internetService", "laundry", "meetingConference", "miniBar", "movie", "noShow", "occupancyTax", "other", "parking", "pet", "prepaidExpenses", "proShop", "restaurant", "rewardProgramTransaction", "surcharge", "telephone", "tipGratuity", "tours", "valetParking"

  - `industryData.additionalCharges.amount` (integer, required)
    Amount for the charge type in minor currency units (e.g., pence for GBP).
    Example: 4500

  - `riskProfile` (string)
    Used to update the FraudSight data model to benefit future payments.
    Example: https://try.access.worldpay-bsh.securedataplatform.co.uk/riskProfile/{linkData}

## Request examples:

  - `Subscriptions - MIT payment authorization` (unknown)
    MIT authorization for subscriptions

  - `Installments - MIT payment authorization` (unknown)
    MIT authorization for installments

  - `Unscheduled - MIT payment authorization` (unknown)
    MIT authorization for unscheduled payments

  - `MIT payment authorization with Mastercard TLID` (unknown)
    MIT authorization for a subscription, including the Mastercard TLID

## Response 201:

  - `201` (unknown)
    The payment authorization has been successfully created

## Response 201 fields (application/vnd.worldpay.payments-v7+json):

  - `outcome` (string, required)
    Outcome of the request. `Sent for Settlement` returned only if `requestAutoSettlement` is enabled in the request.

  - `paymentId` (string)
    Unique identifier generated by us for a single payment. Generated at authorization, and maintained through successive payment actions.
    Example: payI-dUcet9fk4_X4qZU0hpU0

  - `commandId` (string)
    Unique identifier generated by us for a single instance of an interaction (command) with the Worldpay API.
    Example: cmdRvD-OxCyXgJLQ9_jbqXAC0

  - `issuer` (object)
    An object containing information returned by the issuer.

  - `issuer.authorizationCode` (string, required)
    A code returned by the card issuer for a successful authorization. Used in reconciliation and dispute management.
    Example: T31306

  - `paymentInstrument` (object)
    Details of the paymentInstrument used.

  - `paymentInstrument.type` (string)

  - `paymentInstrument.cardBin` (string)
    The card BIN (Bank Identification Number) is the first 6 or 8 digits of the card number, and can be used to identify the card issuer, the card brand(s) (eg Visa, Cartes Bancaires), and the country. Card BINs are used to route transactions, check card capabilities, and in fraud assessments.
    Example: 444433

  - `paymentInstrument.lastFour` (string)
    The last four digits of the card. Some characters may be obfuscated with a `*` if the PAN length is less than 16 characters.
    Example: 1111

  - `paymentInstrument.category` (string)
    Whether the card is classed as a consumer card or a card for commercial use.
    Enum: "commercial", "consumer"

  - `paymentInstrument.countryCode` (string)
    The [ISO 3166-1 Alpha-2 format](/products/reference/supported-countries-currencies#iso-country-codes) country code that the card was issued in. May return `N/A` where the country is unknown.
    Example: GB

  - `paymentInstrument.issuerName` (string)
    The name of the card issuer.
    Example: AN ISSUING BANK LTD

  - `paymentInstrument.fundingType` (string)
    How the card is funded.
    Enum: "credit", "debit", "prepaid", "chargeCard", "deferredDebit", "unknown"

  - `paymentInstrument.cardBrand` (string)
    The card brand that the transaction was processed with. Sometimes referred to as the network or scheme.
    Enum: "visa", "mastercard", "amex", "maestro", "visaElectron", "diners", "discover", "jcb", "argencard", "cabal", "carteBleue", "cartesBancaires", "carnet", "cencosud", "coopeplus", "credimas", "dankort", "elo", "eftposAU", "hipercard", "italcred", "naranja", "nativa", "nevada", "nexo", "tarjeta", "unionPay", "bc", "hana", "hyundai", "kookmin", "lotte", "nonghyup", "samsung", "shinhan"

  - `paymentInstrument.paymentAccountReference` (string)
    The payment account reference (PAR) is a non-financial reference that uniquely identifies the underlying cardholder account. This allows you to correlate payments made from the same account with differing instruments (e.g. `card/plain` and `card/wallet+applepay`), where the same account funds the transaction. A PAR cannot be used to initiate a payment.
    Example: Q1HJZ28RKA1EBL470G9XYG90R5D3E

  - `paymentInstrument.expiryDate` (object)
    The expiry date of the card or network token (where the supplied paymentInstrument was `card/wallet+applepay`, `card/wallet+googlepay`, `card/networkToken`, `card/networkToken+applepay` or `card/networkToken+googlepay`)

  - `paymentInstrument.expiryDate.month` (integer)

  - `paymentInstrument.expiryDate.year` (integer)

  - `paymentInstrument.debitNetwork` (string)
    The debit network that the transaction was routed through. Returned optionally for subscribing merchants.
    Enum: "accel", "affn", "alaskaOption", "ath", "culiancePrime", "culiance", "interlink", "jeanie", "maestro", "nyce", "pavd", "pulse", "shazam", "star", "starAccess"

  - `updatedPaymentInstrument` (object)
    Details of the updated payment instrument.

  - `updatedPaymentInstrument.appliedNetworkToken` (boolean)
    Returned if the payment instrument was swapped for a network token.

  - `updatedPaymentInstrument.accountUpdaterMessage` (string)
    Details on the type of payment instrument update.
    Enum: "The merchant is not registered in the update program", "The account number was changed", "The account was closed", "TThe expiration date was changed", "The issuing bank does not participate in the update program", "Contact the cardholder for updated information", "No match found", "No changes found"

  - `updatedPaymentInstrument.type` (string)
    Example: card/plain+masked

  - `updatedPaymentInstrument.cardBin` (string)
    The updated card BIN (Bank Identification Number).
    Example: 444433

  - `updatedPaymentInstrument.lastFour` (string)
    The four digits of the updated card. Some characters may be obfuscated with a `*` if the PAN length is less than 16 characters.
    Example: 1111

  - `updatedPaymentInstrument.cardNumber` (string)
    The full card number of the updated card. Returned only for merchants configured to receive card numbers that are not obfuscated.

  - `updatedPaymentInstrument.expiryDate` (object)

  - `updatedPaymentInstrument.expiryDate.month` (integer)

  - `updatedPaymentInstrument.expiryDate.year` (integer)

  - `updatedPaymentInstrument.cardBrand` (string)
    The brand of the updated card. In rare circumstances a card may be reissued under a different brand.

  - `updatedPaymentInstrument.countryCode` (string)
    Country code of the updated card in [ISO 3166-1 Alpha-2 format](/products/reference/supported-countries-currencies#iso-country-codes).
    Example: GB

  - `updatedPaymentInstrument.fundingType` (string)
    How the card is funded.

  - `amounts` (object)
    An object containing transaction amounts. Returned for partial authorizations.

  - `amounts.requested` (integer)
    The requested amount.
    Example: 1000

  - `amounts.totalAuthorized` (integer)
    The total amount authorized by the card issuer.
    Example: 700

  - `amounts.currency` (string)
    The three character currency code. See list of [supported currencies](/products/reference/supported-countries-currencies#iso-currency-codes).
    Example: GBP

  - `amounts.partialAuthorization` (boolean)
    Indicates that the authorized amount is less than what was requested.

  - `riskFactors` (array)
    Any risk factors which have been identified for the authorization. This section will not appear if no risks are identified.

  - `riskFactors.type` (string, required)
    Enum: "avs", "cvc", "riskProfile"

  - `riskFactors.risk` (string, required)
    Result of the verification.
    Enum: "notChecked", "notMatched", "notSupplied", "verificationFailed"

  - `riskFactors.detail` (string)
    Enum: "address", "postcode"

  - `scheme` (object)
    An object containing information returned by the card scheme.

  - `scheme.reference` (string, required)
    The reference returned by the scheme for this particular payment authorization. The scheme reference returned in a customer initiated transaction should be provided in all subsequent merchant initiated transactions.
    Example: 446238472410421

  - `scheme.supplementaryReference` (string)
    Preview only. Not yet available in production.
A secondary reference returned by the scheme for this particular payment authorization. Presently returned only for Mastercard transactions. You must supply any supplementary reference returned in a customer initiated transaction in all subsequent merchant initiated transactions.
Please see our [Mastercard TLID guide](/products/card-payments/features/mastercard-tlid) for more details.
    Example: MCCOLXT1C0104  

  - `_links` (object)

  - `_links.cardPayments:cancel` (object)
    An action link to cancel the full authorized amount.

  - `_links.cardPayments:cancel.href` (string)
    An action link to cancel the full authorized amount.
    Example: https://try.access.worldpay-bsh.securedataplatform.co.uk/payments/authorizations/cancellations/{linkData}

  - `_links.cardPayments:partialCancel` (object)
    An action link to cancel a portion of the authorized amount.

  - `_links.cardPayments:partialCancel.href` (string)
    An action link to cancel a portion of the authorized amount.
    Example: https://try.access.worldpay-bsh.securedataplatform.co.uk/payments/authorizations/cancellations/partials/{linkData}

  - `_links.cardPayments:settle` (object)
    An action link to send the full authorized amount for settlement.

  - `_links.cardPayments:settle.href` (string)
    An action link to send the full authorized amount for settlement.
    Example: https://try.access.worldpay-bsh.securedataplatform.co.uk/payments/settlements/full/{linkData}

  - `_links.cardPayments:partialSettle` (object)
    An action link to send a portion of the authorized amount for settlement.

  - `_links.cardPayments:partialSettle.href` (string)
    An action link to send a portion of the authorized amount for settlement.
    Example: https://try.access.worldpay-bsh.securedataplatform.co.uk/payments/settlements/partials/{linkData}

  - `_links.cardPayments:reverse` (object)
    An action link to cancel or refund the full amount.

  - `_links.cardPayments:reverse.href` (string)
    An action link to cancel or refund the full amount.
    Example: https://try.access.worldpay-bsh.securedataplatform.co.uk/payments/authorizations/reversals/{linkData}

  - `_links.cardPayments:events` (object)
    An action link to retrieve the last event of the payment.

  - `_links.cardPayments:events.href` (string)
    An action link to retrieve the last event of the payment.
    Example: https://try.access.worldpay-bsh.securedataplatform.co.uk/payments/events/{linkData}

  - `outcome` (string, required)
    Outcome of the request.

  - `refusalCode` (string)
    Response code for the payment authorization request.

  - `gatewayRefusalCode` (string)
    Extended refusal code generated by us, returned only for merchants configured to receive raw scheme response codes in the `refusalCode` field.

  - `refusalDescription` (string)
    Additional context on the refusal.

  - `advice` (object)
    Advice on the outcome of this request.

  - `advice.code` (string, required)
    An advice code returned by the card scheme (currently supported: `mastercard`, `maestro`)

## Response 400:

  - `400` (unknown)
    Bad request

## Response 400 fields (application/vnd.worldpay.payments-v7+json):

  - `errorName` (string)

  - `message` (string)

  - `validationErrors` (array)
    Further error details

  - `validationErrors.errorName` (string)

  - `validationErrors.message` (string)

  - `validationErrors.jsonPath` (string)

## Response 401:

  - `401` (unknown)
    Unauthorized

## Response 401 fields (application/vnd.worldpay.payments-v7+json):

  - `errorName` (string)

  - `message` (string)

## Response 404:

  - `404` (unknown)
    Not found

## Response 404 fields (application/vnd.worldpay.payments-v7+json):

  - `errorName` (string)

  - `message` (string)

## Response 415:

  - `415` (unknown)
    Unsupported media type

## Response 415 fields (application/vnd.worldpay.payments-v7+json):

  - `errorName` (string)

  - `message` (string)

## Response 500:

  - `500` (unknown)
    Internal server error

## Response 500 fields (application/vnd.worldpay.payments-v7+json):

  - `errorName` (string)

  - `message` (string)

## Response 201 examples:

  - `Successful payment authorization` (unknown)
    Payment authorization for GBP 2.50 with a successful outcome

  - `Refused payment authorization` (unknown)
    Payment authorization with a refused outcome

## Response 400 examples:

  - `Bad request` (unknown)
    Bad request

## Response 401 examples:

  - `unauthorized` (unknown)
    Unauthorized

## Response 404 examples:

  - `notFound` (unknown)
    Not found

## Response 415 examples:

  - `unsupported` (unknown)
    Unsupported media type

## Response 500 examples:

  - `Internal server error` (unknown)
    Internal server error

