openapi: 3.0.1
info:
  title: Payments
  description: >
    Use a single API that orchestrates the payment flow to include FraudSight,
    3DS and Token creation.


    __Authentication__


    Set your headers 


    ```   

    Authorization: {your_credentials}    

    Content-Type: application/json    

    WP-Api-Version: 2024-06-01

    ```    


    Replace `{your_credentials}` with your base64-encoded Basic Auth username
    and password.  


    __DNS whitelisting__


    Whitelist the following URLs:    

    * `https://try.access.worldpay-bsh.securedataplatform.com/`

    * `https://access.worldpay-bsh.securedataplatform.com/`


    Please ensure you use DNS whitelisting, not explicit IP whitelisting. When
    you make a request within Access Worldpay, you should always cache the
    response returned. 


    __API collection__


    A full set of API examples based on different scenarios. 

     * __[Download Postman collection](./collections/index.md)__
  version: '2024-06-01'
  x-metadata:
    generated: true
    tags:
      - Orchestration
    category:
      - 3DS
      - SCA Exemptions
      - Card Payments
      - Risk Assessments
      - Tokens
      - Wallets
    catalog-list: true
    business:
      - Enterprise
      - SMB (Worldpay eCommerce)
servers:
  - url: https://try.access.worldpay-bsh.securedataplatform.com
    description: Test (Try)
  - url: https://access.worldpay-bsh.securedataplatform.com
    description: Live
security:
  - BasicAuth: []
tags:
  - name: Payment
    description: Take a payment
  - name: 3DS actions
    description: If 3DS is enabled additional actions are required
  - name: Manage payments
    description: Additional payment actions following authorization
paths:
  /api/payments/{linkData}:
    get:
      tags:
        - Manage payments
      summary: Payment query request
      description: Query a payment
      operationId: queryEvents
      parameters:
        - name: linkData
          in: path
          required: true
          schema:
            type: string
        - name: WP-Api-Version
          in: header
          description: The API version
          required: true
          schema:
            type: string
            description: The API version
            enum:
              - '2024-06-01'
            example: '2024-06-01'
          example: '2024-06-01'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QueryEventsResponse'
              examples:
                Query Response Example:
                  $ref: '#/components/examples/query-202'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrorResponse'
              examples:
                Bad request:
                  $ref: '#/components/examples/400'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Not found:
                  $ref: '#/components/examples/404'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Internal server error:
                  $ref: '#/components/examples/500'
      x-orderingPosition: '04'
  /api/payments/{linkData}/settlements:
    post:
      tags:
        - Manage payments
      summary: Submit a payment settle request
      description: Settle a payment
      operationId: settle
      parameters:
        - name: linkData
          in: path
          required: true
          schema:
            type: string
        - name: WP-Api-Version
          in: header
          description: The API version
          required: true
          schema:
            type: string
            description: The API version
            enum:
              - '2024-06-01'
            example: '2024-06-01'
          example: '2024-06-01'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentsSettleRequest'
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SettleResponse'
              examples:
                sentForSettlement:
                  $ref: '#/components/examples/sent-for-settlement-202-2'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Unauthorized:
                  $ref: '#/components/examples/401'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Not found:
                  $ref: '#/components/examples/404'
        '406':
          description: Not acceptable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HeaderErrorResponse'
              examples:
                Not acceptable:
                  $ref: '#/components/examples/406'
        '415':
          description: Unsupported media type
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Unsupported media type:
                  $ref: '#/components/examples/415'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Internal server error:
                  $ref: '#/components/examples/500'
      x-orderingPosition: '05'
  /api/payments/{linkData}/partialSettlements:
    post:
      tags:
        - Manage payments
      summary: Submit a payment partial settle request
      description: Partially settle a payment
      operationId: partialSettle
      parameters:
        - name: linkData
          in: path
          required: true
          schema:
            type: string
        - name: WP-Api-Version
          in: header
          description: The API version
          required: true
          schema:
            type: string
            description: The API version
            enum:
              - '2024-06-01'
            example: '2024-06-01'
          example: '2024-06-01'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentsPartialSettleRequest'
            examples:
              sentForSettlement:
                $ref: '#/components/examples/partial-settle'
        required: true
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartialSettleResponse'
              examples:
                sentForSettlement:
                  $ref: '#/components/examples/sent-for-partial-settlement-202'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrorResponse'
              examples:
                Bad request:
                  $ref: '#/components/examples/400'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Unauthorized:
                  $ref: '#/components/examples/401'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Not found:
                  $ref: '#/components/examples/404'
        '406':
          description: Not acceptable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HeaderErrorResponse'
              examples:
                Not acceptable:
                  $ref: '#/components/examples/406'
        '415':
          description: Unsupported media type
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Unsupported media type:
                  $ref: '#/components/examples/415'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Internal server error:
                  $ref: '#/components/examples/500'
      x-orderingPosition: '06'
  /api/payments/{linkData}/refunds:
    post:
      tags:
        - Manage payments
      summary: Submit a payment refund request
      description: Refund a payment
      operationId: refund
      parameters:
        - name: linkData
          in: path
          required: true
          schema:
            type: string
        - name: WP-Api-Version
          in: header
          description: The API version
          required: true
          schema:
            type: string
            description: The API version
            enum:
              - '2024-06-01'
            example: '2024-06-01'
          example: '2024-06-01'
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RefundResponse'
              examples:
                sentForRefund:
                  $ref: '#/components/examples/sent-for-refund-202'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Unauthorized:
                  $ref: '#/components/examples/401'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Not found:
                  $ref: '#/components/examples/404'
        '406':
          description: Not acceptable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HeaderErrorResponse'
              examples:
                Not acceptable:
                  $ref: '#/components/examples/406'
        '415':
          description: Unsupported media type
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Unsupported media type:
                  $ref: '#/components/examples/415'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Internal server error:
                  $ref: '#/components/examples/500'
      x-orderingPosition: '07'
  /api/payments/{linkData}/partialRefunds:
    post:
      tags:
        - Manage payments
      summary: Submit a payment partial refund request
      description: Partially refund a payment
      operationId: partialRefund
      parameters:
        - name: linkData
          in: path
          required: true
          schema:
            type: string
        - name: WP-Api-Version
          in: header
          description: The API version
          required: true
          schema:
            type: string
            description: The API version
            enum:
              - '2024-06-01'
            example: '2024-06-01'
          example: '2024-06-01'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentsPartialRefundRequest'
            examples:
              sentForPartialRefund:
                $ref: '#/components/examples/partial-refund'
        required: true
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartialRefundResponse'
              examples:
                sentForPartialRefund:
                  $ref: '#/components/examples/sent-for-partial-refund-202'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrorResponse'
              examples:
                Bad request:
                  $ref: '#/components/examples/400'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Unauthorized:
                  $ref: '#/components/examples/401'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Not found:
                  $ref: '#/components/examples/404'
        '406':
          description: Not acceptable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HeaderErrorResponse'
              examples:
                Not acceptable:
                  $ref: '#/components/examples/406'
        '415':
          description: Unsupported media type
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Unsupported media type:
                  $ref: '#/components/examples/415'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Internal server error:
                  $ref: '#/components/examples/500'
      x-orderingPosition: '08'
  /api/payments/{linkData}/cancellations:
    post:
      tags:
        - Manage payments
      summary: Submit a payment cancel request
      description: Cancel a payment
      operationId: cancel
      parameters:
        - name: linkData
          in: path
          required: true
          schema:
            type: string
        - name: WP-Api-Version
          in: header
          description: The API version
          required: true
          schema:
            type: string
            description: The API version
            enum:
              - '2024-06-01'
            example: '2024-06-01'
          example: '2024-06-01'
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelResponse'
              examples:
                sentForCancellation:
                  $ref: '#/components/examples/sent-for-cancellation-202'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Unauthorized:
                  $ref: '#/components/examples/401'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Not found:
                  $ref: '#/components/examples/404'
        '406':
          description: Not acceptable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HeaderErrorResponse'
              examples:
                Not acceptable:
                  $ref: '#/components/examples/406'
        '415':
          description: Unsupported media type
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Unsupported media type:
                  $ref: '#/components/examples/415'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Internal server error:
                  $ref: '#/components/examples/500'
      x-orderingPosition: '09'
  /api/payments:
    post:
      tags:
        - Payment
      summary: Payment request
      description: Initiate payment
      operationId: payment
      parameters:
        - name: WP-Api-Version
          in: header
          description: The API version
          required: true
          schema:
            type: string
            description: The API version
            enum:
              - '2024-06-01'
            example: '2024-06-01'
          example: '2024-06-01'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentRequest'
            examples:
              Card - ecom:
                $ref: '#/components/examples/card-payment'
              Card - moto:
                $ref: '#/components/examples/card-payment_moto'
              Card - auto settlement:
                $ref: '#/components/examples/card-payment-auto-settlement'
              Card - 3DS authentication:
                $ref: '#/components/examples/card-payment-3ds'
              Card - SCA exemption:
                $ref: '#/components/examples/card-payment-exemption'
              Card - Fraud assessment:
                $ref: '#/components/examples/card-payment-fraud'
              Card - Payment facilitator:
                $ref: '#/components/examples/card-payment-payfac'
              Card - Account funding transaction (AFT):
                $ref: '#/components/examples/card-payment-fundsTransfer'
              Card - Preferred card brand:
                $ref: '#/components/examples/card-payment-cobranded'
              Card - Checkout SDK session:
                $ref: '#/components/examples/card-payment-checkout'
              Card - payment & store (Worldpay Token):
                $ref: '#/components/examples/store-card-token'
              Card - Store card (no payment):
                $ref: '#/components/examples/store-card-only-token'
              Stored - Worldpay Token:
                $ref: '#/components/examples/use-stored-card-token'
              Stored - Network Token:
                $ref: '#/components/examples/use-stored-card-network-token'
              Stored - Worldpay Token & Checkout CVC session:
                $ref: '#/components/examples/use-stored-card-checkout-cvc'
              Google Pay - encrypted:
                $ref: '#/components/examples/google-pay-encrypted'
              Apple Pay - encrypted:
                $ref: '#/components/examples/apple-pay-encrypted'
              Subscription - setup:
                $ref: '#/components/examples/setup-recurring-subscription'
              Subscription - setup - (no payment):
                $ref: '#/components/examples/setup-recurring-subscription-zero'
              Subscription - subsequent:
                $ref: '#/components/examples/subsequent-recurring-subscription'
              Installment - setup (merchant):
                $ref: '#/components/examples/setup-recurring-installment-merchant'
              Installment - subsequent (merchant):
                $ref: >-
                  #/components/examples/subsequent-recurring-installment-merchant
              Installment - setup (Latin America):
                $ref: '#/components/examples/setup-recurring-installment-latam'
              Unscheduled:
                $ref: '#/components/examples/recurring-unscheduled'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentsResponse201'
              examples:
                authorized (basic):
                  $ref: '#/components/examples/authorized-201-basic'
                authorized (full):
                  $ref: '#/components/examples/authorized-201-full'
                3dsDeviceDataRequired:
                  $ref: '#/components/examples/3ds-device-data-required-201'
                fraudHighRisk:
                  $ref: '#/components/examples/fs-highrisk'
                refused:
                  $ref: '#/components/examples/refused-201'
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentsResponse202'
              examples:
                sentForSettlement (basic):
                  $ref: '#/components/examples/sent-for-settlement-202-basic'
                sentForSettlement (full):
                  $ref: '#/components/examples/sent-for-settlement-202-full'
                sentForCancellation:
                  $ref: '#/components/examples/sent-for-cancellation-202'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrorResponse'
              examples:
                Bad request:
                  $ref: '#/components/examples/400'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Unauthorized:
                  $ref: '#/components/examples/401'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Not found:
                  $ref: '#/components/examples/404'
        '406':
          description: Not acceptable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HeaderErrorResponse'
              examples:
                Not acceptable:
                  $ref: '#/components/examples/406'
        '415':
          description: Unsupported media type
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Unsupported media type:
                  $ref: '#/components/examples/415'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Internal server error:
                  $ref: '#/components/examples/500'
      x-orderingPosition: '1'
  /api/payments/{linkData}/reversals:
    post:
      tags:
        - Manage payments
      summary: Submit a payment reverse request
      description: Reverse a payment
      operationId: reversal
      parameters:
        - name: linkData
          in: path
          required: true
          schema:
            type: string
        - name: WP-Api-Version
          in: header
          description: The API version
          required: true
          schema:
            type: string
            description: The API version
            enum:
              - '2024-06-01'
            example: '2024-06-01'
          example: '2024-06-01'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentsReversalRequest'
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReversalResponse'
              examples:
                sentForReversal:
                  $ref: '#/components/examples/sent-for-reversal-202'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrorResponse'
              examples:
                Bad request:
                  $ref: '#/components/examples/400'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Unauthorized:
                  $ref: '#/components/examples/401'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Not found:
                  $ref: '#/components/examples/404'
        '415':
          description: Unsupported media type
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Unsupported media type:
                  $ref: '#/components/examples/415'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Internal server error:
                  $ref: '#/components/examples/500'
      x-orderingPosition: '10'
  /api/payments/{linkData}/3dsDeviceData:
    post:
      tags:
        - 3DS actions
      summary: Supply 3DS device data
      description: Gather additional device data
      operationId: supply3dsDeviceData
      parameters:
        - name: linkData
          in: path
          required: true
          schema:
            type: string
        - name: WP-Api-Version
          in: header
          description: The API version
          required: true
          schema:
            type: string
            description: The API version
            enum:
              - '2024-06-01'
            example: '2024-06-01'
          example: '2024-06-01'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeviceDataRequest'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceDataResponse201'
              examples:
                3dsChallenged:
                  $ref: '#/components/examples/3ds-challenged-201'
                authorized:
                  $ref: '#/components/examples/authorized-3ds-frictionless-201'
                refused:
                  $ref: '#/components/examples/refused-201'
                3dsUnavailable:
                  $ref: '#/components/examples/3ds-unavailable-201'
                3dsAuthenticationFailed:
                  $ref: '#/components/examples/3ds-authentication-failed-201'
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceDataResponse202'
              examples:
                sentForSettlement:
                  $ref: >-
                    #/components/examples/sent-for-settlement-3ds-frictionless-202
                sentForCancellation:
                  $ref: '#/components/examples/sent-for-cancellation-202'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrorResponse'
              examples:
                Bad request:
                  $ref: '#/components/examples/400'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Unauthorized:
                  $ref: '#/components/examples/401'
        '406':
          description: Not acceptable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HeaderErrorResponse'
              examples:
                Not acceptable:
                  $ref: '#/components/examples/406'
        '415':
          description: Unsupported media type
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Unsupported media type:
                  $ref: '#/components/examples/415'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Internal server error:
                  $ref: '#/components/examples/500'
      x-orderingPosition: '2'
  /api/payments/{linkData}/3dsChallenges:
    post:
      tags:
        - 3DS actions
      summary: Continue with the payment after a 3DS challenge
      description: Verify authentication challenge
      operationId: complete3dsChallenge
      parameters:
        - name: linkData
          in: path
          required: true
          schema:
            type: string
        - name: WP-Api-Version
          in: header
          description: The API version
          required: true
          schema:
            type: string
            description: The API version
            enum:
              - '2024-06-01'
            example: '2024-06-01'
          example: '2024-06-01'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChallengeResponse201'
              examples:
                authorized:
                  $ref: '#/components/examples/authorized-3ds-challenged-201'
                refused:
                  $ref: '#/components/examples/refused-201'
                3dsUnavailable:
                  $ref: '#/components/examples/3ds-unavailable-201'
                3dsAuthenticationFailed:
                  $ref: '#/components/examples/3ds-authentication-failed-201'
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChallengeResponse202'
              examples:
                sentForSettlement:
                  $ref: '#/components/examples/sent-for-settlement-3ds-challenged-202'
                sentForCancellation:
                  $ref: '#/components/examples/sent-for-cancellation-202'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrorResponse'
              examples:
                Bad request:
                  $ref: '#/components/examples/400'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Unauthorized:
                  $ref: '#/components/examples/401'
        '406':
          description: Not acceptable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HeaderErrorResponse'
              examples:
                Not acceptable:
                  $ref: '#/components/examples/406'
        '415':
          description: Unsupported media type
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Unsupported media type:
                  $ref: '#/components/examples/415'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Internal server error:
                  $ref: '#/components/examples/500'
      x-orderingPosition: '3'
components:
  schemas:
    PaymentsSettleRequest: {}
    PaymentsActionPartialRefund:
      type: object
      description: Partially refund the payment.
      properties:
        href:
          type: string
        method:
          type: string
          default: POST
    PaymentsActionRefund:
      type: object
      description: Fully refund the payment. See [details](../manage-payments/refund)
      properties:
        href:
          type: string
        method:
          type: string
          default: POST
    PaymentsActionReverse:
      type: object
      description: Reverse the payment. See [details](../manage-payments/reversal)
      properties:
        href:
          type: string
        method:
          type: string
          default: POST
    SettleActionList:
      type: object
      properties:
        refundPayment:
          $ref: '#/components/schemas/PaymentsActionRefund'
        partiallyRefundPayment:
          $ref: '#/components/schemas/PaymentsActionPartialRefund'
        reversePayment:
          $ref: '#/components/schemas/PaymentsActionReverse'
    SettleResponse:
      properties:
        outcome:
          type: string
          enum:
            - sentForSettlement
        paymentId:
          type: string
        _links:
          $ref: '#/components/schemas/PaymentsLink'
        _actions:
          $ref: '#/components/schemas/SettleActionList'
    ErrorResponse:
      type: object
      properties:
        errorName:
          type: string
        message:
          type: string
    HeaderErrorResponse:
      type: object
      properties:
        errorName:
          type: string
        message:
          type: string
        headerName:
          type: string
    PaymentsReversalRequest: {}
    ReversalResponse:
      properties:
        outcome:
          type: string
          enum:
            - sentForReversal
        _links:
          $ref: '#/components/schemas/PaymentsLink'
    ValidationErrorResponse:
      type: object
      properties:
        errorName:
          type: string
        message:
          type: string
        jsonPath:
          type: string
        validationErrors:
          type: array
          items:
            $ref: '#/components/schemas/ValidationErrorResponse'
    RefundResponse:
      properties:
        outcome:
          type: string
          enum:
            - sentForRefund
        paymentId:
          type: string
        _links:
          $ref: '#/components/schemas/PaymentsLink'
    PaymentsPartialSettleRequest:
      type: object
      properties:
        reference:
          type: string
          minLength: 1
        sequence:
          $ref: '#/components/schemas/PaymentsSequence'
        value:
          $ref: '#/components/schemas/Value'
      required:
        - reference
        - value
    PaymentsSequence:
      type: object
      description: >-
        The sequence number and total number of expected partial settlement
        requests for the payment.
      properties:
        number:
          type: integer
          format: int32
        total:
          type: integer
          format: int32
      required:
        - number
        - total
    Value:
      type: object
      description: The value and currency.
      properties:
        currency:
          type: string
          description: ' The three character currency code. See list of <a href="/products/reference/supported-countries-currencies#iso-currency-codes">supported currencies</a> '
          example: USD
          minLength: 1
        amount:
          type: integer
          format: int32
          description: >-
            The payment amount. Implied decimal. For example, 250 GBP = £2.50

            When set to `0` will perform a card verification instead of a
            payment as part of a new `customerAgreement`.
          example: 250
        acceptPartialAmount:
          type: boolean
          description: >-
            Set to `true` to accept a partial authorization amount. You can
            charge the remainder of the amount using a different payment
            credential with a new authorization request.
      required:
        - amount
        - currency
    PartialSettleActionList:
      type: object
      properties:
        refundPayment:
          $ref: '#/components/schemas/PaymentsActionRefund'
        partiallyRefundPayment:
          $ref: '#/components/schemas/PaymentsActionPartialRefund'
        partiallySettlePayment:
          $ref: '#/components/schemas/PaymentsActionPartialSettle'
        cancelPayment:
          $ref: '#/components/schemas/PaymentsActionCancel'
        reversePayment:
          $ref: '#/components/schemas/PaymentsActionReverse'
    PartialSettleResponse:
      properties:
        outcome:
          type: string
          enum:
            - sentForSettlement
        paymentId:
          type: string
        _links:
          $ref: '#/components/schemas/PaymentsLink'
        _actions:
          $ref: '#/components/schemas/PartialSettleActionList'
    PaymentsActionCancel:
      type: object
      description: Cancel the payment. See [details](../manage-payments/cancel)
      properties:
        href:
          type: string
        method:
          type: string
          default: POST
    PaymentsActionPartialSettle:
      type: object
      description: >-
        Partially settle the payment. See
        [details](../manage-payments/partialsettle) including what to add in the
        request body.
      properties:
        href:
          type: string
        method:
          type: string
          default: POST
    PaymentsPartialRefundRequest:
      type: object
      properties:
        reference:
          type: string
          minLength: 1
        value:
          $ref: '#/components/schemas/Value'
      required:
        - reference
        - value
    PartialRefundActionList:
      type: object
      properties:
        partiallyRefundPayment:
          $ref: '#/components/schemas/PaymentsActionPartialRefund'
    PartialRefundResponse:
      properties:
        outcome:
          type: string
          enum:
            - sentForPartialRefund
        paymentId:
          type: string
        _links:
          $ref: '#/components/schemas/PaymentsLink'
        _actions:
          $ref: '#/components/schemas/PartialRefundActionList'
    CancelResponse:
      properties:
        outcome:
          type: string
          enum:
            - sentForCancellation
        _links:
          $ref: '#/components/schemas/PaymentsLink'
    DeviceDataRequest:
      type: object
      properties:
        collectionReference:
          type: string
          description: >-
            Add the `sessionId` provided in the [postMessage for the device data
            collection form
            (web)](/products/payments/enable-features/3ds-authentication/web) or
            for native (iOS/Android), returned as `consumerSessionId` as part of
            [SDK
            initialization](/products/payments/enable-features/3ds-authentication/android-ios).
            <br><br>__Note:__ If device data collection fails you can attempt
            the payment without this value, but you will see an increased number
            of `challenged` and even `authenticationFailed` outcomes, if this
            happens for a lot of requests.
    Advice:
      type: object
      properties:
        code:
          type: string
    Amounts:
      type: object
      description: >-
        An object containing transaction amounts. Returned for partial
        authorizations.
      properties:
        requested:
          type: integer
          format: int32
          description: The requested amount.
          example: 1000
        totalAuthorized:
          type: integer
          format: int32
          description: The total amount authorized by the card issuer.
          example: 700
        currency:
          type: string
          description: >-
            The three character currency code. See list of <a
            href="/products/reference/supported-countries-currencies#iso-currency-codes">supported
            currencies</a>.
          example: GBP
        partialAuthorization:
          type: boolean
          description: >-
            Indicates that the authorized amount is less than what you have
            requested.
    Authentication:
      type: object
      properties:
        version:
          type: string
          description: The version of 3DS used to process the transaction.
          example: 2.2.0
          maxLength: 10
          minLength: 1
        type:
          type: string
        authenticationValue:
          type: string
        eci:
          type: string
          description: >-
            Electronic Commerce Indicator (ECI). Indicates the outcome of the
            3DS authentication.
          maxLength: 2
          minLength: 1
        transactionId:
          type: string
          description: A transaction identifier.
          maxLength: 64
          minLength: 1
        cryptogramAlgorithm:
          type: integer
          format: int32
        challengePreference:
          type: string
        authenticationFlow:
          type: string
        networkScore:
          type: string
        brand:
          type: string
    AuthenticationUnavailable:
      type: object
      properties:
        version:
          type: string
          description: The version of 3DS used to process the transaction.
          example: 2.2.0
          maxLength: 10
          minLength: 1
        eci:
          type: string
          description: >-
            Electronic Commerce Indicator (ECI). Indicates the outcome of the
            3DS authentication.
          maxLength: 2
          minLength: 1
    AuthorizationActionList:
      type: object
      properties:
        cancelPayment:
          $ref: '#/components/schemas/PaymentsActionCancel'
        settlePayment:
          $ref: '#/components/schemas/PaymentsActionSettle'
        partiallySettlePayment:
          $ref: '#/components/schemas/PaymentsActionPartialSettle'
        reversePayment:
          $ref: '#/components/schemas/PaymentsActionReverse'
    BillingAddress:
      type: object
      description: Contains the billing address information.
      properties:
        address1:
          type: string
          description: Address line 1
          maxLength: 80
          minLength: 1
        address2:
          type: string
          description: Address line 2
          maxLength: 80
          minLength: 1
        address3:
          type: string
          description: Address line 3
          maxLength: 80
          minLength: 1
        postalCode:
          type: string
          description: |2-

             Required for all countries except the following:            * IE
          maxLength: 15
          minLength: 1
        city:
          type: string
          description: Address City
          maxLength: 50
          minLength: 1
        state:
          type: string
          description: Address State
          maxLength: 30
          minLength: 1
        countryCode:
          type: string
          format: ISO 3166-1 alpha-2
          description: >-
            Must be provided in [ISO 3166-1 alpha-2
            format](/products/reference/supported-countries-currencies#iso-country-codes).
          minLength: 1
      required:
        - address1
        - city
        - countryCode
    CardAuthorizedPaymentResponse:
      properties:
        outcome:
          type: string
        paymentId:
          type: string
          description: >-
            Unique identifier generated by us for a single payment. Generated at
            authorization, and maintained through successive payment actions.
          pattern: ^[A-Za-z0-9_-]+$
        transactionReference:
          type: string
          description: ' A unique reference generated by you that is used to identify a payment throughout its lifecycle. '
          maxLength: 64
          minLength: 1
          pattern: ^[-A-Za-z0-9_!@#$%()*=.:;?\[\]{}~`/+]*$
        paymentInstrument:
          $ref: '#/components/schemas/PaymentsResponsePaymentInstrument'
        updatedPaymentInstrument:
          $ref: '#/components/schemas/PaymentsUpdatedPaymentInstrument'
        issuer:
          $ref: '#/components/schemas/Issuer'
        riskFactors:
          type: array
          description: ' Any risk factors which have been identified for the authorization. This section will not appear if no risks are identified. '
          items:
            $ref: '#/components/schemas/RiskFactor'
        fraud:
          $ref: '#/components/schemas/Fraud'
        threeDS:
          $ref: '#/components/schemas/Verification'
        exemption:
          $ref: '#/components/schemas/PaymentsExemption'
        schemeReference:
          type: string
          description: An object containing information returned by the scheme.
        token:
          $ref: '#/components/schemas/Token'
        amounts:
          $ref: '#/components/schemas/Amounts'
        _links:
          $ref: '#/components/schemas/PaymentsLink'
        _actions:
          $ref: '#/components/schemas/AuthorizationActionList'
    ChallengeInfo:
      type: object
      properties:
        reference:
          type: string
          example: uswuxaOZm7onSjO664M1
        url:
          type: string
          example: https://centinelapistag.cardinalcommerce.com/V2/Cruise/StepUp
        jwt:
          type: string
          example: >-





            eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJPcmdVbml0SWQiOiI2NjAzMDA3YWJlMjMxZTM1ZTNmNTRjODkiLCJPYmplY3RpZnlQYXlsb2FkIjpmYWxzZSwiaXNzIjoiNjYwMzAwN2ExNmRkOWE3ZTZhMDMzNDA3IiwiUmV0dXJuVXJsIjoiaHR0cDovL3BheW1lbnQuZXhhbXBsZS5jb20iLCJQYXlsb2FkIjoie1wiUGF5bG9hZFwiOlwiZXlKdFpYTnpZV2RsVkhsd1pTSTZJa05TWlhFaUxDSnRaWE56WVdkbFZtVnljMmx2YmlJNklqSXVNUzR3SWl3aWRHaHlaV1ZFVTFObGNuWmxjbFJ5WVc1elNVUWlPaUl4WlRNMllqUmxOeTFoTnpNMExUUXhabU10T0RrMFppMDJaVFU0TWpNMll6WXhaRFlpTENKaFkzTlVjbUZ1YzBsRUlqb2lOR1ZrT1dReU1HUXRZekEwTUMwMFlqbGhMVGd5TUdFdE9ERTFNelUwTlRoaVpqZGxJaXdpWTJoaGJHeGxibWRsVjJsdVpHOTNVMmw2WlNJNklqQTBJbjBcIixcIkFDU1VybFwiOlwiaHR0cHM6XFwvXFwvMW1lcmNoYW50YWNzc3RhZy5jYXJkaW5hbGNvbW1lcmNlLmNvbVxcL01lcmNoYW50QUNTV2ViXFwvY3JlcS5qc3BcIixcIlRyYW5zYWN0aW9uSWRcIjpcInVzd3V4YU9abTdvblNqTzY2NE0xXCJ9IiwiZXhwIjoxNzEyMzE4MjI1LCJpYXQiOjE3MTIzMTc2MjUsImp0aSI6IjJhZmQzYzBjLWYzNzEtNDNkMC1iNTkyLTJhYzY5MjkxODdmOSJ9.cL8rPZkdHmatwrmV990NzmAmPe9nxrp65A8gm6ifprQ
        payload:
          type: string
          example: >-


            eyJtZXNzYWdlVHlwZSI6IkNSZXEiLCJtZXNzYWdlVmVyc2lvbiI6IjIuMS4wIiwidGhyZWVEU1NlcnZlclRyYW5zSUQiOiIxZTM2YjRlNy1hNzM0LTQxZmMtODk0Zi02ZTU4MjM2YzYxZDYiLCJhY3NUcmFuc0lEIjoiNGVkOWQyMGQtYzA0MC00YjlhLTgyMGEtODE1MzU0NThiZjdlIiwiY2hhbGxlbmdlV2luZG93U2l6ZSI6IjA0In0
    ChallengedActionList:
      type: object
      properties:
        complete3dsChallenge:
          $ref: '#/components/schemas/PaymentsActionComplete3dsChallenge'
    ChallengedResponse:
      type: object
      properties:
        outcome:
          type: string
        transactionReference:
          type: string
          description: ' A unique reference generated by you that is used to identify a payment throughout its lifecycle. '
          maxLength: 64
          minLength: 1
          pattern: ^[-A-Za-z0-9_!@#$%()*=.:;?\[\]{}~`/+]*$
        authentication:
          $ref: '#/components/schemas/Authentication'
          description: Object that contains authentication related information.
        challenge:
          $ref: '#/components/schemas/ChallengeInfo'
        _actions:
          $ref: '#/components/schemas/ChallengedActionList'
    ConflictPaymentInstrument:
      type: object
      properties:
        type:
          type: string
        cardNumber:
          type: string
        cardHolderName:
          type: string
        cardExpiryDate:
          $ref: '#/components/schemas/ExpiryDate'
        billingAddress:
          $ref: '#/components/schemas/BillingAddress'
    DeviceDataResponse201:
      type: object
      discriminator:
        propertyName: outcome
        mapping:
          authorized: '#/components/schemas/CardAuthorizedPaymentResponse'
          refused: '#/components/schemas/PaymentRefusedResponse'
          3dsChallenged: '#/components/schemas/ChallengedResponse'
          3dsAuthenticationFailed: '#/components/schemas/UnsuccessfulAuthenticationResponse'
          3dsUnavailable: '#/components/schemas/UnavailableAuthenticationResponse'
      properties:
        outcome:
          type: string
        transactionReference:
          type: string
          description: ' A unique reference generated by you that is used to identify a payment throughout its lifecycle. '
          maxLength: 64
          minLength: 1
          pattern: ^[-A-Za-z0-9_!@#$%()*=.:;?\[\]{}~`/+]*$
    ExpiryDate:
      type: object
      description: Contains your customer's card or token expiry date.
      properties:
        year:
          type: integer
          format: int32
          example: 2028
        month:
          type: integer
          format: int32
          example: 6
      required:
        - month
        - year
    Fraud:
      type: object
      description: Details of the outcome of the Fraud assessment
      properties:
        outcome:
          type: string
          description: ' outcome of the fraud assessment. `highRisk` outcomes stop the transaction before payment. '
          enum:
            - lowRisk
            - highRisk
            - review
            - lowRisk(silentMode)
            - highRisk(silentMode)
            - review(silentMode)
        score:
          type: number
          format: double
          description: >-
            The score calculated by the fraud assessment. Set score thresholds
            to define lowRisk, highRisk and review outcomes
          example: 44
    Issuer:
      type: object
      properties:
        authorizationCode:
          type: string
    Outcome: {}
    PaymentRefusedResponse:
      properties:
        outcome:
          type: string
        paymentId:
          type: string
          description: >-
            Unique identifier generated by us for a single payment. Generated at
            authorization, and maintained through successive payment actions.
          pattern: ^[A-Za-z0-9_-]+$
        transactionReference:
          type: string
          description: ' A unique reference generated by you that is used to identify a payment throughout its lifecycle. '
          maxLength: 64
          minLength: 1
          pattern: ^[-A-Za-z0-9_!@#$%()*=.:;?\[\]{}~`/+]*$
        refusalDescription:
          type: string
          description: Additional context on the refusal.
        refusalCode:
          type: string
          description: Response code for the request.
        advice:
          $ref: '#/components/schemas/Advice'
        paymentInstrument:
          $ref: '#/components/schemas/PaymentsResponsePaymentInstrument'
        updatedPaymentInstrument:
          $ref: '#/components/schemas/PaymentsUpdatedPaymentInstrument'
        riskFactors:
          type: array
          description: ' Any risk factors which have been identified for the authorization. This section will not appear if no risks are identified. '
          items:
            $ref: '#/components/schemas/RiskFactor'
        fraud:
          $ref: '#/components/schemas/Fraud'
        threeDS:
          $ref: '#/components/schemas/Verification'
        exemption:
          $ref: '#/components/schemas/PaymentsExemption'
        token:
          $ref: '#/components/schemas/Token'
    PaymentsActionComplete3dsChallenge:
      type: object
      description: >-
        Resume the payment following the 3DS challenge being completed by the
        customer. See [details](../3ds-actions/complete3dschallenge)
      properties:
        href:
          type: string
        method:
          type: string
          default: POST
    PaymentsActionSettle:
      type: object
      description: Fully settle the payment. See [details](../manage-payments/settle)
      properties:
        href:
          type: string
        method:
          type: string
          default: POST
    PaymentsExemption:
      type: object
      description: An object containing information about the exemption.
      properties:
        granted:
          type: boolean
          description: Was an exemption returned by Worldpay's TRA assessment.
        placement:
          type: string
          description: >-
            Indicates whether the exemption has been placed in a payment
            authorization request or 3DS authentication request.
          enum:
            - authorization
          x-enumDescriptions:
            authorization: Exemption applied in the payment authorization.
            authentication: Exemption applied in the payment authentication.
        type:
          type: string
          description: The type of applied exemption.
          enum:
            - lowRisk
            - lowValue
          x-enumDescriptions:
            lowValue: Applied a `lowValue` exemption
            lowRisk: Applied a `lowRisk` exemption
        result:
          type: string
          description: The result of the exemption placement request.
          enum:
            - honored
            - outOfScope
            - rejected
            - unknown
          x-enumDescriptions:
            rejected: >-
              Possible __reason__: `issuerRejected`, `highRisk`, `invalid`,
              `unsupportedScheme`, `notSubscribed`, `unsupportedAcquirer` or
              `unknown`
            honored: 'Possible __reason__: `issuerHonored` or `unknown`'
            outOfScope: >-
              Possible __reason__: `merchantInitiatedTransaction`, `oneLegOut`,
              `moto`, `contactless` or `unknown`
            unknown: 'Possible __reason__: `unknown`'
        reason:
          type: string
          description: The reason returned by the card issuer.
          enum:
            - issuerHonored
            - merchantInitiatedTransaction
            - oneLegOut
            - issuerHonored
            - moto
            - contactless
            - issuerRejected
            - highRisk
            - invalid
            - unsupportedScheme
            - unsupportedAcquirer
            - unknown
    PaymentsPlainMaskedUpdatedPaymentInstrument:
      allOf:
        - $ref: '#/components/schemas/PaymentsUpdatedPaymentInstrument'
        - type: object
          properties:
            appliedNetworkToken:
              type: boolean
            type:
              type: string
              enum:
                - card/plain+masked
            cardBin:
              type: string
              description: The updated card BIN (Bank Identification Number).
              example: '444433'
            lastFour:
              type: string
              description: >-
                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'
            accountUpdaterMessage:
              type: string
              description: 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
                - The expiry was changed
                - The issuing bank does not participate in the update program
                - Contact the cardholder for updated information
                - No match found
                - No changes found
              example: The account number was changed
              x-enumDescriptions:
                The issuing bank does not participate in the update program: >-
                  Returned for Real Time Account Updater only. It is not known
                  whether an account update is available.
                Contact the cardholder for updated information: >-
                  A match was found but you may need to contact the cardholder
                  for updated card details. This could be due to cardholder
                  opt-out or other reasons.
                The account number was changed: A new card has been issued with a change in the card number.
                No changes found: No changes to the card account were found.
                The account was closed: >-
                  The account is closed and the card is no longer valid. Ask
                  your customer for an alternative payment method.
                The merchant is not registered in the update program: >-
                  Returned for Real Time Account Updater only. Contact Worldpay
                  to enroll in the service.
                The expiry was changed: >-
                  A new card has been issued with an updated expiry date. In
                  most cases the card number remains unchanged.
                No match found: >-
                  The BIN range is enrolled for account updates, but no match
                  was found for the card account. One reason for this may be
                  that the card issuer has recently changed.
            expiryDate:
              $ref: '#/components/schemas/ExpiryDate'
            cardBrand:
              type: string
              description: >-
                The brand of the updated card. In rare circumstances a card may
                be reissued under a different brand.
            fundingType:
              type: string
              description: How the card is funded.
            countryCode:
              type: string
      discriminator:
        propertyName: type
      required:
        - type
    PaymentsPlainUpdatedPaymentInstrument:
      allOf:
        - $ref: '#/components/schemas/PaymentsUpdatedPaymentInstrument'
        - type: object
          properties:
            appliedNetworkToken:
              type: boolean
            type:
              type: string
              enum:
                - card/plain
            cardNumber:
              type: string
            accountUpdaterMessage:
              type: string
              description: 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
                - The expiry was changed
                - The issuing bank does not participate in the update program
                - Contact the cardholder for updated information
                - No match found
                - No changes found
              example: The account number was changed
              x-enumDescriptions:
                The issuing bank does not participate in the update program: >-
                  Returned for Real Time Account Updater only. It is not known
                  whether an account update is available.
                Contact the cardholder for updated information: >-
                  A match was found but you may need to contact the cardholder
                  for updated card details. This could be due to cardholder
                  opt-out or other reasons.
                The account number was changed: A new card has been issued with a change in the card number.
                No changes found: No changes to the card account were found.
                The account was closed: >-
                  The account is closed and the card is no longer valid. Ask
                  your customer for an alternative payment method.
                The merchant is not registered in the update program: >-
                  Returned for Real Time Account Updater only. Contact Worldpay
                  to enroll in the service.
                The expiry was changed: >-
                  A new card has been issued with an updated expiry date. In
                  most cases the card number remains unchanged.
                No match found: >-
                  The BIN range is enrolled for account updates, but no match
                  was found for the card account. One reason for this may be
                  that the card issuer has recently changed.
            expiryDate:
              $ref: '#/components/schemas/ExpiryDate'
            cardBrand:
              type: string
              description: >-
                The brand of the updated card. In rare circumstances a card may
                be reissued under a different brand.
            fundingType:
              type: string
              description: How the card is funded.
            countryCode:
              type: string
      discriminator:
        propertyName: type
      required:
        - type
    PaymentsResponsePaymentInstrument:
      type: object
      properties:
        type:
          type: string
        cardBin:
          type: string
          description: >-
            The card BIN (Bank Identification Number) is the first six or eight
            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'
        lastFour:
          type: string
          description: >-
            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'
        countryCode:
          type: string
          description: >-
            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
        expiryDate:
          $ref: '#/components/schemas/ExpiryDate'
        cardBrand:
          type: string
          description: >-
            The card brand that the transaction was processed with. Sometimes
            referred to as the network or scheme.
        fundingType:
          type: string
          description: How the card is funded.
        category:
          type: string
          description: >-
            Whether the card is classed as a consumer card or a card for
            commercial use.
        issuerName:
          type: string
          description: The name of the card issuer.
        paymentAccountReference:
          type: string
          description: >-
            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. You cannot use a PAR
            to initiate a payment.
    PaymentsUpdatedPaymentInstrument:
      type: object
      discriminator:
        propertyName: type
        mapping:
          card/plain: '#/components/schemas/PaymentsPlainUpdatedPaymentInstrument'
          card/plain+masked: '#/components/schemas/PaymentsPlainMaskedUpdatedPaymentInstrument'
      properties:
        type:
          type: string
          description: The type of updated instrument.
      required:
        - type
    RiskFactor:
      type: object
      properties:
        risk:
          type: string
          enum:
            - notChecked
            - notMatched
            - notSupplied
            - verificationFailed
        detail:
          type: string
          enum:
            - address
            - postcode
        type:
          type: string
          enum:
            - avs
            - cvc
            - riskProfile
    Token:
      type: object
      properties:
        href:
          type: string
          example: >-
            https://try.access.worldpay-bsh.securedataplatform.com/tokens/eyJrIjoxLCJkIjoiUW5rZHBXZDZ1MzBBY0I0MTVJQUdPeGE3ZkFobE1lTjJyYk05eDZxQUJ2RT0ifQ
        tokenId:
          type: string
          example: '9997095516055002467'
        tokenExpiryDateTime:
          type: string
          example: '2024-04-12T11:49:56Z'
        cardNumber:
          type: string
          example: 4000********1091
        cardHolderName:
          type: string
          example: Sherlock Holmes
        cardExpiry:
          $ref: '#/components/schemas/ExpiryDate'
        bin:
          type: string
          example: '400000'
        fundingType:
          type: string
          example: debit
        countryCode:
          type: string
        schemeReference:
          type: string
          example: '060720116005060'
        conflicts:
          $ref: '#/components/schemas/TokenResponseConflicts'
    TokenResponseConflicts:
      type: object
      properties:
        conflictsExpiryDateTime:
          type: string
        schemeReference:
          type: string
        paymentInstrument:
          $ref: '#/components/schemas/ConflictPaymentInstrument'
    UnavailableAuthenticationResponse:
      type: object
      properties:
        outcome:
          type: string
        transactionReference:
          type: string
          description: ' A unique reference generated by you that is used to identify a payment throughout its lifecycle. '
          maxLength: 64
          minLength: 1
          pattern: ^[-A-Za-z0-9_!@#$%()*=.:;?\[\]{}~`/+]*$
        authentication:
          $ref: '#/components/schemas/AuthenticationUnavailable'
          description: Object that contains authentication related information.
    UnsuccessfulAuthenticationResponse:
      type: object
      properties:
        outcome:
          type: string
        transactionReference:
          type: string
          description: ' A unique reference generated by you that is used to identify a payment throughout its lifecycle. '
          maxLength: 64
          minLength: 1
          pattern: ^[-A-Za-z0-9_!@#$%()*=.:;?\[\]{}~`/+]*$
        authentication:
          $ref: '#/components/schemas/Authentication'
          description: Object that contains authentication related information.
    Verification:
      type: object
      discriminator:
        propertyName: outcome
        mapping:
          authenticated: '#/components/schemas/VerificationAuthenticated'
          authenticationOutage: '#/components/schemas/VerificationAuthenticationOutage'
      properties:
        outcome:
          type: string
          description: >-
            If the request was authenticated successfully or an authentication
            outage exemption was applied in authorization. {% admonition
            type="warning" name="Note" %} The `authenticationOutage` outcome is
            not enabled by default. Please contact your Implementation Manager
            if you would like to be set up to receive `authenticationOutage`
            responses.This increases the likelihood of receiving a successful
            authorization, but is not be eligible for liability shift. {%
            /admonition %}
      required:
        - outcome
    VerificationAuthenticated:
      allOf:
        - $ref: '#/components/schemas/Verification'
        - type: object
          properties:
            outcome:
              $ref: '#/components/schemas/Outcome'
              enum:
                - authenticated
            issuerResponse:
              type: string
              description: >-
                If the issuer decides to challenge the customer or proceed
                (frictionless)
              enum:
                - frictionless
                - challenged
            version:
              type: string
              description: The version of 3DS used to process the transaction.
              maxLength: 10
              minLength: 1
            eci:
              type: string
              description: >-
                Electronic Commerce Indicator (ECI). Indicates the outcome of
                the 3DS authentication.


                | ECI | Meaning |

                | --- | --- |

                | 02 or 05 | Fully Authenticated Transaction

                | 01 or 06 | Attempted Authentication Transaction

                | 00 or 07 | Non 3-D Secure Transaction


                | Scheme | Value |

                | --- | --- |

                | Mastercard | 02, 01, 00 |

                | Visa | 05, 06, 07 |

                | Amex | 05, 06, 07 |

                | JCB | 05, 06, 07 |

                | Diners | 05, 06, 07 |
              maxLength: 2
              minLength: 1
            acsTransactionId:
              type: string
              description: >-
                An identifier assigned by the Access Control Server (ACS) to
                identify a single transaction. Used primarily for Mastercard 3RI
                subsequent transactions to link the subsequent transaction back
                to a previous cardholder authentication. Can be disregarded
                unless otherwise needed.
              maxLength: 36
              minLength: 1
            dsTransactionId:
              type: string
              description: >-
                Directory server transaction Id, if provided should be used in
                the payment authorization authentication object.
              maxLength: 64
              minLength: 1
            status:
              type: string
              description: >
                Indicates the outcome of the authentication or verification
                request.

                - `Y` - Successful authentication

                - `N` - Failed authentication

                - `U` - Unable to complete authentication

                - `A` - Successful attempts authentication

                - `C` - Challenged authentication

                - `R` - Authentication rejected (merchant _must not_ submit for
                authorization)

                - `I` - Exemption acknowledged
              maxLength: 2
              minLength: 1
            challengePreference:
              type: string
              description: >-
                Indicates the preferred challenge behavior. __Returned for
                Cartes Bancaires authentications only__ and must be applied in
                the following authorization request.

                - `noPreference`

                - `noChallengeRequested`

                - `challengeRequested`

                - `challengeMandated`

                - `noChallengeRequestedTRAPerformed`
              maxLength: 64
              minLength: 1
      required:
        - outcome
    VerificationAuthenticationOutage:
      allOf:
        - $ref: '#/components/schemas/Verification'
        - type: object
          properties:
            outcome:
              $ref: '#/components/schemas/Outcome'
              enum:
                - authenticationOutage
      required:
        - outcome
    DeviceDataResponse202:
      type: object
      discriminator:
        propertyName: outcome
        mapping:
          sentForSettlement: '#/components/schemas/SentForSettlementResponse'
          sentForCancellation: '#/components/schemas/SentForCancellationResponse'
      properties:
        outcome:
          type: string
        transactionReference:
          type: string
          description: ' A unique reference generated by you that is used to identify a payment throughout its lifecycle. '
          maxLength: 64
          minLength: 1
          pattern: ^[-A-Za-z0-9_!@#$%()*=.:;?\[\]{}~`/+]*$
    SentForCancellationResponse:
      properties:
        outcome:
          type: string
        paymentId:
          type: string
          description: >-
            Unique identifier generated by us for a single payment. Generated at
            authorization, and maintained through successive payment actions.
          pattern: ^[A-Za-z0-9_-]+$
        transactionReference:
          type: string
          description: ' A unique reference generated by you that is used to identify a payment throughout its lifecycle. '
          maxLength: 64
          minLength: 1
          pattern: ^[-A-Za-z0-9_!@#$%()*=.:;?\[\]{}~`/+]*$
        paymentInstrument:
          $ref: '#/components/schemas/PaymentsResponsePaymentInstrument'
        updatedPaymentInstrument:
          $ref: '#/components/schemas/PaymentsUpdatedPaymentInstrument'
        issuer:
          $ref: '#/components/schemas/Issuer'
        riskFactors:
          type: array
          description: ' Any risk factors which have been identified for the authorization. This section will not appear if no risks are identified. '
          items:
            $ref: '#/components/schemas/RiskFactor'
        fraud:
          $ref: '#/components/schemas/Fraud'
        threeDS:
          $ref: '#/components/schemas/Verification'
        exemption:
          $ref: '#/components/schemas/PaymentsExemption'
        schemeReference:
          type: string
          description: An object containing information returned by the scheme.
        token:
          $ref: '#/components/schemas/Token'
        amounts:
          $ref: '#/components/schemas/Amounts'
        _links:
          $ref: '#/components/schemas/PaymentsLink'
    SentForSettlementActionList:
      type: object
      properties:
        refundPayment:
          $ref: '#/components/schemas/PaymentsActionRefund'
        partiallyRefundPayment:
          $ref: '#/components/schemas/PaymentsActionPartialRefund'
        reversePayment:
          $ref: '#/components/schemas/PaymentsActionReverse'
    SentForSettlementResponse:
      properties:
        outcome:
          type: string
        paymentId:
          type: string
          description: >-
            Unique identifier generated by us for a single payment. Generated at
            authorization, and maintained through successive payment actions.
          pattern: ^[A-Za-z0-9_-]+$
        transactionReference:
          type: string
          description: ' A unique reference generated by you that is used to identify a payment throughout its lifecycle. '
          maxLength: 64
          minLength: 1
          pattern: ^[-A-Za-z0-9_!@#$%()*=.:;?\[\]{}~`/+]*$
        paymentInstrument:
          $ref: '#/components/schemas/PaymentsResponsePaymentInstrument'
        updatedPaymentInstrument:
          $ref: '#/components/schemas/PaymentsUpdatedPaymentInstrument'
        issuer:
          $ref: '#/components/schemas/Issuer'
        riskFactors:
          type: array
          description: ' Any risk factors which have been identified for the authorization. This section will not appear if no risks are identified. '
          items:
            $ref: '#/components/schemas/RiskFactor'
        fraud:
          $ref: '#/components/schemas/Fraud'
        threeDS:
          $ref: '#/components/schemas/Verification'
        exemption:
          $ref: '#/components/schemas/PaymentsExemption'
        schemeReference:
          type: string
          description: An object containing information returned by the scheme.
        token:
          $ref: '#/components/schemas/Token'
        amounts:
          $ref: '#/components/schemas/Amounts'
        _links:
          $ref: '#/components/schemas/PaymentsLink'
        _actions:
          $ref: '#/components/schemas/SentForSettlementActionList'
    ChallengeResponse201:
      type: object
      discriminator:
        propertyName: outcome
        mapping:
          authorized: '#/components/schemas/CardAuthorizedPaymentResponse'
          refused: '#/components/schemas/PaymentRefusedResponse'
          3dsAuthenticationFailed: '#/components/schemas/UnsuccessfulAuthenticationResponse'
          3dsUnavailable: '#/components/schemas/PaymentsResponse'
      properties:
        outcome:
          type: string
        transactionReference:
          type: string
          description: ' A unique reference generated by you that is used to identify a payment throughout its lifecycle. '
          maxLength: 64
          minLength: 1
          pattern: ^[-A-Za-z0-9_!@#$%()*=.:;?\[\]{}~`/+]*$
    PaymentsResponse:
      type: object
      properties:
        outcome:
          type: string
        transactionReference:
          type: string
          description: ' A unique reference generated by you that is used to identify a payment throughout its lifecycle. '
          maxLength: 64
          minLength: 1
          pattern: ^[-A-Za-z0-9_!@#$%()*=.:;?\[\]{}~`/+]*$
    ChallengeResponse202:
      discriminator:
        propertyName: outcome
        mapping:
          sentForSettlement: '#/components/schemas/SentForSettlementResponse'
          sentForCancellation: '#/components/schemas/SentForCancellationResponse'
    AccountHistory:
      type: object
      properties:
        createdAt:
          type: string
          description: Date the customer account was created.
        modifiedAt:
          type: string
          description: Date the customer account was last modified.
        passwordModifiedAt:
          type: string
          description: Date the password for the customer account was last modified.
        paymentAccountEnrolledAt:
          type: string
          description: Date the payment account was added to the cardholder account.
    ApplepayPaymentsInstruction:
      properties:
        method:
          type: string
          description: The method of instruction.
          enum:
            - applepay
        paymentInstrument:
          properties:
            type:
              type: string
              description: The type of instrument.
              enum:
                - encrypted
            walletToken:
              type: string
              minLength: 1
            billingAddress:
              $ref: '#/components/schemas/BillingAddress'
          required:
            - type
            - walletToken
        narrative:
          $ref: '#/components/schemas/Narrative'
        value:
          $ref: '#/components/schemas/Value'
        debtRepayment:
          type: boolean
          description: >-
            A flag which identifies a payment as being for the purpose of
            repaying a debt.
        settlement:
          $ref: '#/components/schemas/Settlement'
        customer:
          $ref: '#/components/schemas/Customer'
        shipping:
          $ref: '#/components/schemas/Shipping'
        recipient:
          $ref: '#/components/schemas/PaymentsRecipient'
        consumerBillPayment:
          type: boolean
          description: >-
            An attribute that identifies a bill payment paid by providers on
            behalf of consumers. If you are registered with Visa as a Consumer
            of the Bill Payment Service (CBPS), you must set this to `true` for
            any payments associated with the CBPS.
        requestAccountUpdater:
          type: boolean
          description: >-
            Allows you to request a real-time account update (Visa cards only)
            when using a previously stored card. You can only use this on
            subsequent card requests.
      required:
        - method
        - narrative
        - paymentInstrument
        - value
    Cancellation:
      type: object
      properties:
        cvcNotMatched:
          type: string
          description: >-
            By default a payment will be `sentForCancellation` if the CVC is
            `notMatched`, set `disabled` to continue with `sentForSettlement`.
          enum:
            - enabled
            - disabled
        avsNotMatched:
          type: string
          description: >-
            By default a payment will be `sentForCancellation` if the `address`
            or `postcode` AVS is `notMatched`, set `disabled` to continue with
            `sentForSettlement`.
          enum:
            - enabled
            - disabled
    CardPaymentsInstruction:
      properties:
        method:
          type: string
          description: The method of instruction.
          enum:
            - card
        paymentInstrument:
          discriminator:
            propertyName: type
            mapping:
              plain: '#/components/schemas/PaymentsCardPlainPaymentInstrument'
              token: '#/components/schemas/TokenPaymentInstrument'
              checkout: '#/components/schemas/SessionPaymentInstrument'
              networkToken: '#/components/schemas/PaymentsNetworkTokenPaymentInstrument'
          properties:
            type:
              type: string
              description: The type of instrument.
          required:
            - type
        narrative:
          $ref: '#/components/schemas/Narrative'
        tokenCreation:
          $ref: '#/components/schemas/TokenCreation'
        value:
          $ref: '#/components/schemas/Value'
        debtRepayment:
          type: boolean
          description: >-
            A flag which identifies a payment as being for the purpose of
            repaying a debt.
        fraud:
          $ref: '#/components/schemas/PaymentsFraud'
        threeDS:
          $ref: '#/components/schemas/PaymentsThreeDS'
        exemption:
          $ref: '#/components/schemas/Exemption'
        settlement:
          $ref: '#/components/schemas/Settlement'
        customer:
          $ref: '#/components/schemas/Customer'
        shipping:
          $ref: '#/components/schemas/Shipping'
        customerAgreement:
          $ref: '#/components/schemas/PaymentsCustomerAgreement'
        recipient:
          $ref: '#/components/schemas/PaymentsRecipient'
        consumerBillPayment:
          type: boolean
          description: >-
            An attribute that identifies a bill payment paid by providers on
            behalf of consumers. If you are registered with Visa as a Consumer
            of the Bill Payment Service (CBPS), you must set this to `true` for
            any payments associated with the CBPS.
        requestAccountUpdater:
          type: boolean
          description: >-
            Allows you to request a real-time account update (Visa cards only)
            when using a previously stored card. You can only use this on
            subsequent card requests.
        fundsTransfer:
          $ref: '#/components/schemas/PaymentsFundsTransfer'
      required:
        - method
        - narrative
        - paymentInstrument
        - value
    Challenge:
      type: object
      properties:
        returnUrl:
          type: string
          description: ' Once the customer completes the challenge page the issuer redirects/posts to the returnUrl in order for you to resume the session. It must be the full URL path.  '
          minLength: 1
        windowSize:
          type: string
          default: 390x400
          description: ' Specify the challenge window size (width x height) that the issuer should use. This is to better tailor the experience to the customers device. Default is 390x400. '
          enum:
            - 250x400
            - 390x400
            - 600x400
            - 500x600
            - fullPage
        preference:
          type: string
          description: ' Set a preference for how the Issuer decides on a 3DS challenge.'
          enum:
            - noPreference
            - noChallengeRequested
            - challengeRequested
            - challengeMandated
            - noChallengeRequestedTRAPerformed
      required:
        - returnUrl
    Custom:
      type: object
      properties:
        number1:
          type: integer
          format: int32
        number2:
          type: integer
          format: int32
        number3:
          type: integer
          format: int32
        number4:
          type: integer
          format: int32
        number5:
          type: integer
          format: int32
        number6:
          type: integer
          format: int32
        number7:
          type: integer
          format: int32
        number8:
          type: integer
          format: int32
        number9:
          type: integer
          format: int32
        string1:
          type: string
          maxLength: 100
          minLength: 1
        string2:
          type: string
          maxLength: 100
          minLength: 1
        string3:
          type: string
          maxLength: 100
          minLength: 1
        string4:
          type: string
          maxLength: 100
          minLength: 1
        string5:
          type: string
          maxLength: 100
          minLength: 1
        string6:
          type: string
          maxLength: 100
          minLength: 1
        string7:
          type: string
          maxLength: 100
          minLength: 1
        string8:
          type: string
          maxLength: 100
          minLength: 1
        string9:
          type: string
          maxLength: 100
          minLength: 1
    Customer:
      type: object
      properties:
        customerId:
          type: string
          description: Unique identifier used by the ecommerce system for the customer.
          maxLength: 128
          minLength: 1
        firstName:
          type: string
          description: Customer's first name.
          maxLength: 22
          minLength: 1
        lastName:
          type: string
          description: Customer's last name.
          maxLength: 22
          minLength: 1
        phone:
          type: string
          description: Customer's phone number.
          maxLength: 20
          minLength: 4
          pattern: ^[0-9]*$
        dateOfBirth:
          type: string
          format: date
          description: Customer's date of birth.
        email:
          type: string
          description: Customers's email address used for the ecommerce account.
          maxLength: 128
          minLength: 1
          pattern: ^.+@.+$
        ipAddress:
          type: string
          description: |2-
             A unique identifier for your customer's physical location that
                        can be used by the issuer in risk analysis. Must be in IPv4 or IPv6 format.
            E.g. 192.0.0.0. 
        documentReference:
          type: string
          description: Required for domestic processing in some Latin American countries.
          maxLength: 50
          minLength: 1
          pattern: ^[-A-Za-z0-9_\-/\\*~+.,&()]*$
    DeviceData:
      type: object
      properties:
        acceptHeader:
          type: string
          description: ' Used by the issuer to check if the customer''s browser is compatible with the issuer 3DS challenge display. '
          maxLength: 2048
          minLength: 1
        userAgentHeader:
          type: string
          description: ' Used by issuers as part of risk analysis and correctly displaying the challenge. Must conform to RFC 7321. '
          maxLength: 2048
          minLength: 1
        browserLanguage:
          type: string
          description: ' Your customer''s browser language that can be used by the issuer in risk analysis. Must conform to the language tags defined by IETF. E.g. en-GB, fr-FR. '
          maxLength: 8
          minLength: 1
        browserJavaEnabled:
          type: boolean
          description: Defines whether Java is enabled on your customers browser.
        browserColorDepth:
          type: string
          description: The color depth of your customers browser
          enum:
            - '1'
            - '4'
            - '8'
            - '15'
            - '16'
            - '24'
            - '32'
            - '48'
        browserScreenHeight:
          type: integer
          format: int32
          description: Defines the pixel height of the customers browser.
        browserScreenWidth:
          type: integer
          format: int32
          description: Defines the pixel width of the customers browser.
        timeZone:
          type: string
          description: |2-
             Time zone offset in minutes between UTC and your customer's browser local time.  
            Example time zone offset values in minutes:  
            If UTC -5 hours:  
            `300`  
            `+300`  
            If UTC +5 hours:  
            `-300`  
             
          pattern: ^[+-]?\d{1,4}$
        browserJavascriptEnabled:
          type: boolean
          description: Defines whether Javascript is enabled on your customers browser.
        channel:
          type: string
          description: >-
            Determines the channel that the transaction came through. `native`
            should only be set if using the Cardinal 3DS SDK (iOS/Android)
          enum:
            - browser
            - native
      required:
        - acceptHeader
        - userAgentHeader
    EncryptedPaymentInstrument:
      allOf:
        - $ref: '#/components/schemas/PaymentsPaymentInstrument'
        - type: object
          properties:
            type:
              type: string
              description: The type of instrument.
              enum:
                - encrypted
            walletToken:
              type: string
              minLength: 1
            billingAddress:
              $ref: '#/components/schemas/BillingAddress'
      required:
        - type
        - walletToken
    Exemption:
      type: object
      description: >-
        An object used to request or specify an SCA Exemption. 


        Read more on how to set it up under our [__SCA
        Exemptions__](/products/payments/enable-features/sca-exemptions) guide.
      properties:
        type:
          type: string
          description: >-
            Ask for an SCA exemption recommendation directly from Worldpay
            (integrated) or use a 3rd party TRA solution.<br>__Note:__ Only type
            `integrated` is supported for now.
          enum:
            - integrated
        mode:
          type: string
          description: Specify which transactions to request SCA Exemptions for.
          enum:
            - always
        capability:
          type: string
          description: >-
            Indicates whether the exemption requested from Worldpay can return a
            placement of authorization (payment) and/or authentication (3DS).
          enum:
            - authorizationAndAuthentication
            - authorizationOnly
            - authenticationOnly
          example: authenticationOnly
          x-enumDescriptions:
            authenticationOnly: >-
              The SCA Exemptions service can only return a `placement` of
              `authentication`.
            authorizationOnly: >-
              The SCA Exemptions service can only return a `placement` of
              `authorization`.
            authorizationAndAuthentication: >-
              The SCA Exemptions service can return either a `placement` of
              `authorization` or `authentication`.
        request:
          $ref: '#/components/schemas/PaymentsExemptionRequest'
      required:
        - capability
        - mode
        - type
    GooglepayPaymentsInstruction:
      properties:
        method:
          type: string
          description: The method of instruction.
          enum:
            - googlepay
        paymentInstrument:
          properties:
            type:
              type: string
              description: The type of instrument.
              enum:
                - encrypted
            walletToken:
              type: string
              minLength: 1
            billingAddress:
              $ref: '#/components/schemas/BillingAddress'
          required:
            - type
            - walletToken
        narrative:
          $ref: '#/components/schemas/Narrative'
        value:
          $ref: '#/components/schemas/Value'
        debtRepayment:
          type: boolean
          description: >-
            A flag which identifies a payment as being for the purpose of
            repaying a debt.
        threeDS:
          $ref: '#/components/schemas/PaymentsThreeDS'
        settlement:
          $ref: '#/components/schemas/Settlement'
        customer:
          $ref: '#/components/schemas/Customer'
        shipping:
          $ref: '#/components/schemas/Shipping'
        recipient:
          $ref: '#/components/schemas/PaymentsRecipient'
        consumerBillPayment:
          type: boolean
          description: >-
            An attribute that identifies a bill payment paid by providers on
            behalf of consumers. If you are registered with Visa as a Consumer
            of the Bill Payment Service (CBPS), you must set this to `true` for
            any payments associated with the CBPS.
        requestAccountUpdater:
          type: boolean
          description: >-
            Allows you to request a real-time account update (Visa cards only)
            when using a previously stored card. You can only use this on
            subsequent card requests.
      required:
        - method
        - narrative
        - paymentInstrument
        - value
    InstallmentPlan:
      type: object
      properties:
        numberOfInstallments:
          type: integer
          format: int32
          description: >-
            Number of installments that the requested amount should be broken
            into.
      required:
        - numberOfInstallments
    Merchant:
      type: object
      description: An object that contains information about the merchant.
      properties:
        entity:
          type: string
          description: ' Used to route the request in Access Worldpay, created as part of on-boarding. '
          example: default
          maxLength: 32
          minLength: 1
          pattern: ^([A-Za-z0-9]+[A-Za-z0-9 ]*)?$
        mcc:
          type: string
          description: ' 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. '
          pattern: ^\d{4}$
        paymentFacilitator:
          $ref: '#/components/schemas/PaymentsPaymentFacilitator'
          description: >-
            An object containing Payment Facilitator information. This
            information is required for every authorization [__only if you are a
            Payment
            Facilitator__](/products/payments/enable-features/payment-facilitator)
      required:
        - entity
    Narrative:
      type: object
      description: >-
        The text that appears on your customer's statement. Used to identify the
        merchant.
      properties:
        line1:
          type: string
          description: line1 is used to provide basic details about the merchant.
          maxLength: 24
          minLength: 1
          pattern: ^[a-zA-Z0-9 ,./-]*$
        line2:
          type: string
          description: ' line2 is used for additional context about the payment or merchant. E.g. Order number or Merchant phone number. '
          maxLength: 24
          minLength: 1
          pattern: ^[a-zA-Z0-9 ,./-]*$
      required:
        - line1
    PaymentRequest:
      properties:
        transactionReference:
          type: string
          description: ' A unique reference generated by you that is used to identify a payment throughout its lifecycle. '
          maxLength: 64
          minLength: 1
          pattern: ^[-A-Za-z0-9_!@#$%()*=.:;?\[\]{}~`/+]*$
        merchant:
          $ref: '#/components/schemas/Merchant'
        instruction:
          $ref: '#/components/schemas/PaymentsInstruction'
        channel:
          type: string
          description: >-
            Interaction between the cardholder and you. Supply a value of `ecom`
            to process an eCommerce authorization. Supply a value of `moto` to
            process an authorization as a [__Mail Order or Telephone
            Order__](/products/payments/enable-features/moto) transaction.


            __Note: 3DS authentication cannot be supplied for MOTO payments__.
          enum:
            - ecom
            - moto
      required:
        - instruction
        - merchant
        - transactionReference
    PaymentsBankAccount:
      allOf:
        - $ref: '#/components/schemas/PaymentsRecipientAccount'
        - type: object
          properties:
            type:
              type: string
              enum:
                - bankAccount
            identifierType:
              type: string
              enum:
                - iban
                - swift
                - routingNumber
            iban:
              type: string
              description: >-
                The International Bank Account Number (IBAN) of the recipient.
                Required if `identifierType` is `iban`
              example: IE12BOFI90000112345678
              maxLength: 34
              minLength: 1
              pattern: ^[A-Za-z0-9]*$
            accountNumber:
              type: string
              description: >-
                The account number of the recipient. Required if
                `identifierType` is `routingNumber` or `swift`
              example: '01234567'
              maxLength: 39
              minLength: 1
              pattern: ^(?!\s*$)[a-zA-Z0-9\s@!£*#$)(\-_=.,/;:'"]*$
            swiftBic:
              type: string
              description: >-
                The SWIFT Bank Identification Code (BIC) of the recipient.
                Required if `identifierType` is `swift`. Must be either 8 or 11
                alphanumeric characters.
              example: BEASUS33xxx
              maxLength: 11
              minLength: 8
              pattern: ^[A-Za-z0-9]*$
            routingNumber:
              type: string
              description: >-
                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'
              maxLength: 9
              minLength: 9
              pattern: '[0-9]*$'
      required:
        - identifierType
        - type
    PaymentsCardAccount:
      allOf:
        - $ref: '#/components/schemas/PaymentsRecipientAccount'
        - type: object
          properties:
            type:
              type: string
              enum:
                - card
            cardNumber:
              type: string
              description: Recipient's card number.
              maxLength: 19
              minLength: 12
              pattern: ^[0-9]+$
      required:
        - cardNumber
        - type
    PaymentsCardOnFileCustomerAgreement:
      allOf:
        - $ref: '#/components/schemas/PaymentsCustomerAgreement'
        - type: object
          properties:
            type:
              type: string
              enum:
                - cardOnFile
            storedCardUsage:
              type: string
              description: ' Set to `first` to store a card or `subsequent` to use a previously stored card. '
              enum:
                - first
                - subsequent
      required:
        - storedCardUsage
        - type
    PaymentsCardPlainPaymentInstrument:
      allOf:
        - $ref: '#/components/schemas/PaymentsPaymentInstrument'
        - type: object
          properties:
            type:
              type: string
              enum:
                - plain
            cardNumber:
              type: string
              description: Customer's card number.
              example: '4000000000001091'
              maxLength: 19
              minLength: 12
              pattern: ^[0-9]+$
            cardHolderName:
              type: string
              description: >-


                The name on your customer's card. Required if 
                instruction.tokenCreation is present. However we recommend that
                you supply this to improve authentication rates.
              example: Sherlock Holmes
              maxLength: 255
              minLength: 1
            expiryDate:
              $ref: '#/components/schemas/ExpiryDate'
            cvc:
              type: string
              description: >-


                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.
              example: '123'
              maxLength: 4
              minLength: 3
              pattern: '[0-9]*$'
            billingAddress:
              $ref: '#/components/schemas/BillingAddress'
            routing:
              $ref: '#/components/schemas/Routing'
      required:
        - cardNumber
        - expiryDate
        - type
    PaymentsCustomerAgreement:
      type: object
      description: ' Contains specific customer agreements for the transaction. '
      discriminator:
        propertyName: type
        mapping:
          cardOnFile: '#/components/schemas/PaymentsCardOnFileCustomerAgreement'
          subscription: '#/components/schemas/PaymentsSubscriptionCustomerAgreement'
          installment: '#/components/schemas/PaymentsInstallmentCustomerAgreement'
          unscheduled: '#/components/schemas/PaymentsUnscheduledCustomerAgreement'
      properties:
        type:
          type: string
          description: The processing arrangement agreed with your customer.
      required:
        - type
    PaymentsEmailAccount:
      allOf:
        - $ref: '#/components/schemas/PaymentsRecipientAccount'
        - type: object
          properties:
            type:
              type: string
              enum:
                - email
            emailAddress:
              type: string
              description: Recipient's email address.
              maxLength: 128
              minLength: 1
              pattern: ^.+@.+$
      required:
        - emailAddress
        - type
    PaymentsExemptionRequest:
      type: object
      properties:
        placement:
          type: string
          default: optimized
          description: Defines where the exemption is being requested.
          enum:
            - optimized
            - authorization
            - authentication
          x-enumDescriptions:
            authorization: A request for an exemption placed within the authorization.
            optimized: We select the best performing placement based on its data.
            authentication: A request for an exemption placed within the authentication (3DS).
        type:
          type: string
          default: optimized
          description: Defines which type of exemption is being requested.
          enum:
            - optimized
            - lowValue
            - lowRisk
          x-enumDescriptions:
            lowValue: An exemption for an authorization that is under €30.
            optimized: We select the best performing type based on its data.
            lowRisk: >-
              An exemption for an authorization that has been through
              Transaction Risk Analysis (TRA).
    PaymentsFraud:
      type: object
      description: >-
        Fraud assessment to detect potential fraud and prevent the transaction
        from proceeding.


        Read more on how to set it up under our [__Fraud
        Assessment__](/products/payments/enable-features/fraud-assessment)
        guide.
      properties:
        type:
          type: string
          default: fraudSight
          description: Enable a FraudSight risk assessment
          enum:
            - fraudSight
        silentMode:
          type: boolean
          default: false
          description: |-
            Perform the Fraud assessment but do not act on the outcome.
                        Normally used for the initial launch while the data model is maturing.
        tmxSessionId:
          type: string
          description: Device fingerprint provided by Threatmetrix.
          maxLength: 128
          minLength: 30
          pattern: ^[A-Za-z0-9_-]*$
        custom:
          $ref: '#/components/schemas/Custom'
          description: >-
            Additional values specific to your order that can be used to create
            manual fraud rules.
      required:
        - type
    PaymentsFundsRecipient:
      description: >-
        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.__
      properties:
        account:
          $ref: '#/components/schemas/PaymentsRecipientAccount'
        firstName:
          type: string
          description: Recipient's first name.
          maxLength: 22
          minLength: 1
          pattern: ^(?!\s*$).*$
        middleName:
          type: string
          description: Recipient's middle name.
          maxLength: 22
          minLength: 1
          pattern: ^(?!\s*$).*$
        lastName:
          type: string
          description: Recipient's last name.
          maxLength: 22
          minLength: 1
          pattern: ^(?!\s*$).*$
        address:
          $ref: '#/components/schemas/PaymentsTransferAddress'
        dateOfBirth:
          type: string
          format: date
          description: Recipient's date of birth
        phoneNumber:
          type: string
          description: Recipient's phone number
          maxLength: 20
          minLength: 4
          pattern: ^(?!\s*$)[0-9\s()+\-/.x]*$
        documentReference:
          type: string
          description: Required for domestic processing in some Latin American countries.
          maxLength: 25
          minLength: 1
          pattern: ^[-A-Za-z0-9_\-/\\*~+.,&()]*$
    PaymentsFundsSender:
      type: object
      description: >-
        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.__
      properties:
        firstName:
          type: string
          description: >-
            Sender's first name. Must be supplied if `lastName` or `middleName`
            are provided.
          maxLength: 22
          minLength: 1
          pattern: ^(?!\s*$).*$
        middleName:
          type: string
          description: Sender's middle name.
          maxLength: 22
          minLength: 1
          pattern: ^(?!\s*$).*$
        lastName:
          type: string
          description: >-
            Sender's last name. Must be supplied if `firstName` or `middleName`
            are provided.
          maxLength: 22
          minLength: 1
          pattern: ^(?!\s*$).*$
        address:
          $ref: '#/components/schemas/PaymentsTransferAddress'
          description: Sender's address.
        dateOfBirth:
          type: string
          format: date
          description: Sender's date of birth
        documentReference:
          type: string
          description: >-
            Sender's document reference (e.g. Tax ID). Required for domestic
            processing in some Latin American countries.
          maxLength: 25
          minLength: 1
          pattern: ^[-A-Za-z0-9_\-/\\*~+.,&()]*$
    PaymentsFundsTransfer:
      type: object
      description: >-
        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)).


        Read more on how to set it up under our [__Account Funding
        Transactions__](/products/payments/enable-features/account-funding-transactions)
        guide.
      properties:
        type:
          type: string
          description: >-
            Specifies the type of the funds transfer. {% admonition
            type="warning" name="Note" %} You may only submit the
            `fundsTransfer.type` values that relate to the use cases that you
            have been approved for by the schemes.{% /admonition %}
          enum:
            - accountToAccount
            - cash
            - disbursement
            - personToPerson
            - purchase
            - topUp
            - walletLoad
          x-enumDescriptions:
            disbursement: A card is used as the source of funds for a disbursement
            personToPerson: Move funds to an account owned by another person (eg gifts)
            accountToAccount: >-
              Move funds to another financial institution account owned by the
              same person
            topUp: Top up a pre-paid or debit card
            purchase: >-
              For the initial purchase of a reloadable account (such as prepaid
              or gift card), or direct crypto & liquid asset purchases without
              an intermediary wallet load
            cash: >-
              A card is used to fund a transfer where funds are given to the
              recipient in cash
            walletLoad: Move funds to a digital wallet owned by the same person
        purpose:
          type: string
          description: >-
            Specifies the purpose of the funds transfer. Required for some
            regions and use cases (eg crypto).
          enum:
            - businessToBusiness
            - creditCardRepayment
            - crypto
            - crowdLending
            - debitCard
            - education
            - emergency
            - familySupport
            - gift
            - giftCard
            - gaming
            - highRiskSecurities
            - liquidAssets
            - medical
            - payroll
            - prepaidCard
            - salary
            - savings
            - travel
            - other
        recipient:
          $ref: '#/components/schemas/PaymentsFundsRecipient'
        sender:
          $ref: '#/components/schemas/PaymentsFundsSender'
      required:
        - type
    PaymentsGiftCardsPurchase:
      type: object
      properties:
        totalValue:
          $ref: '#/components/schemas/Value'
          description: The value and currency.
        quantity:
          type: integer
          format: int32
          description: The number of gift cards being purchased.
    PaymentsInstallmentCustomerAgreement:
      allOf:
        - $ref: '#/components/schemas/PaymentsCustomerAgreement'
        - type: object
          properties:
            type:
              type: string
              enum:
                - installment
            storedCardUsage:
              type: string
              description: ' Set to `first` to store a card or `subsequent` to use a previously stored card. Mandatory for `merchant` installment type. '
              enum:
                - first
                - subsequent
            installmentType:
              type: string
              description: >2-
                 Defines the type of installments service. 

                Read more on how to set up [__Latin America
                Installments__](/products/payments/enable-features/latam-installments)
                under our guide.
              enum:
                - merchant
                - latinAmerica
            installmentPlan:
              $ref: '#/components/schemas/InstallmentPlan'
              description: >-
                Required only for `latinAmerica` installment type. Not allowed
                for `merchant` installment type.
            schemeReference:
              type: string
              description: >-
                Optional field available only for `subsequent` storedCardUsage.
                Unique reference provided by card schemes used to link the
                `first` and `subsequent` payments. If a Worldpay token was
                created as part of the first payment, this value is bundled with
                the token and does not need to be provided again. If you manage
                multiple agreements for a single cardholder using a token,please
                use the `schemeReference` returned to you. This allows you to
                distinguish and manage each separate agreement appropriately.
              example: MCCOLXT1C0104
              maxLength: 56
              minLength: 1
              pattern: ^[A-Za-z0-9]*$
      required:
        - installmentType
        - type
    PaymentsInstruction:
      type: object
      description: >-
        An object that contains all information related to the payment and API
        configurations.
      discriminator:
        propertyName: method
        mapping:
          card: '#/components/schemas/CardPaymentsInstruction'
          applepay: '#/components/schemas/ApplepayPaymentsInstruction'
          googlepay: '#/components/schemas/GooglepayPaymentsInstruction'
      properties:
        method:
          type: string
        paymentInstrument:
          oneOf:
            - $ref: '#/components/schemas/EncryptedPaymentInstrument'
            - $ref: '#/components/schemas/PaymentsCardPlainPaymentInstrument'
            - $ref: '#/components/schemas/PaymentsNetworkTokenPaymentInstrument'
            - $ref: '#/components/schemas/SessionPaymentInstrument'
            - $ref: '#/components/schemas/TokenPaymentInstrument'
        narrative:
          $ref: '#/components/schemas/Narrative'
        tokenCreation:
          $ref: '#/components/schemas/TokenCreation'
        value:
          $ref: '#/components/schemas/Value'
        debtRepayment:
          type: boolean
          description: >-
            A flag which identifies a payment as being for the purpose of
            repaying a debt.
        fraud:
          $ref: '#/components/schemas/PaymentsFraud'
        threeDS:
          $ref: '#/components/schemas/PaymentsThreeDS'
        exemption:
          $ref: '#/components/schemas/Exemption'
        settlement:
          $ref: '#/components/schemas/Settlement'
        customer:
          $ref: '#/components/schemas/Customer'
        shipping:
          $ref: '#/components/schemas/Shipping'
        customerAgreement:
          oneOf:
            - $ref: '#/components/schemas/PaymentsCardOnFileCustomerAgreement'
            - $ref: '#/components/schemas/PaymentsInstallmentCustomerAgreement'
            - $ref: '#/components/schemas/PaymentsSubscriptionCustomerAgreement'
            - $ref: '#/components/schemas/PaymentsUnscheduledCustomerAgreement'
        recipient:
          $ref: '#/components/schemas/PaymentsRecipient'
        consumerBillPayment:
          type: boolean
          description: >-
            An attribute that identifies a bill payment paid by providers on
            behalf of consumers. If you are registered with Visa as a Consumer
            of the Bill Payment Service (CBPS), you must set this to `true` for
            any payments associated with the CBPS.
        requestAccountUpdater:
          type: boolean
          description: >-
            Allows you to request a real-time account update (Visa cards only)
            when using a previously stored card. You can only use this on
            subsequent card requests.
      required:
        - method
        - narrative
        - paymentInstrument
        - value
    PaymentsNetworkTokenPaymentInstrument:
      allOf:
        - $ref: '#/components/schemas/PaymentsPaymentInstrument'
        - type: object
          properties:
            type:
              type: string
              enum:
                - networkToken
            tokenNumber:
              type: string
              description: The network token number.
              maxLength: 19
              minLength: 12
              pattern: '[0-9]*$'
            cardHolderName:
              type: string
              description: The name as shown on the card.
              maxLength: 255
              minLength: 1
            cryptogram:
              type: string
              description: >-
                The single-use cryptogram provisioned for this payment. Required
                for all Customer Initiated Transactions (CITs). <br><br>
                __Note:__ If the `cryptogram` and `eci` are not provided, the
                Payments API will __automatically__ attempt to provision them.
                This will only be successful for Network Tokens created via
                Worldpay. For Network Tokens created via other gateways you must
                provide these.
              maxLength: 40
              minLength: 1
            eci:
              type: string
              description: Electronic Commerce Indicator.
              pattern: ^\d{2}$
            expiryDate:
              $ref: '#/components/schemas/ExpiryDate'
            billingAddress:
              $ref: '#/components/schemas/BillingAddress'
      required:
        - expiryDate
        - tokenNumber
        - type
    PaymentsPaymentFacilitator:
      type: object
      properties:
        schemeId:
          type: string
          description: Your payment facilitator ID received from Mastercard, Visa and Amex.
          example: '12345678901'
          maxLength: 11
          minLength: 1
          pattern: '[0-9]*$'
        independentSalesOrganizationId:
          type: string
          description: Independent Sales Organization (ISO) ID provided by Mastercard.
          example: '12345678901'
          maxLength: 11
          minLength: 1
          pattern: '[0-9]*$'
        subMerchant:
          $ref: '#/components/schemas/PaymentsSubMerchant'
          description: Your sub-merchant's details.
      required:
        - schemeId
        - subMerchant
    PaymentsPaymentInstrument:
      type: object
      discriminator:
        propertyName: type
      properties:
        type:
          type: string
          description: The type of instrument.
      required:
        - type
    PaymentsPhoneAccount:
      allOf:
        - $ref: '#/components/schemas/PaymentsRecipientAccount'
        - type: object
          properties:
            type:
              type: string
              enum:
                - phone
            phoneNumber:
              type: string
              description: Recipient's phone number.
              maxLength: 20
              minLength: 4
              pattern: ^(?!\s*$)[0-9\s()+\-/.x]*$
      required:
        - phoneNumber
        - type
    PaymentsRecipient:
      type: object
      description: >-
        An object containing information about the recipient of financial
        services. Required for MCC 6012 transactions in the Visa Europe region.
        The recipient may or may not be the cardholder.


        Read more on how to set it up under our [__Financial
        Services__](/products/payments/enable-features/financial-services-mcc6012-mcc6051)
        guide.
      properties:
        accountReference:
          type: string
          description: >-
            The account number of the recipient. Either a bank account number or
            a partial card number.
          maxLength: 10
          minLength: 1
          pattern: ^[A-Za-z0-9]*$
        lastName:
          type: string
          description: The last name of the recipient.
          maxLength: 22
          minLength: 1
          pattern: ^[A-Za-z@!£*#$)(+\-_=.,/;:'"]*$
        address:
          $ref: '#/components/schemas/PaymentsRecipientAddress'
        dateOfBirth:
          type: string
          format: date
          description: Recipient's date of birth.
    PaymentsRecipientAccount:
      type: object
      discriminator:
        propertyName: type
        mapping:
          bankAccount: '#/components/schemas/PaymentsBankAccount'
          card: '#/components/schemas/PaymentsCardAccount'
          wallet: '#/components/schemas/PaymentsWalletAccount'
          storedValueWallet: '#/components/schemas/PaymentsWalletAccount'
          stagedDigitalWallet: '#/components/schemas/PaymentsWalletAccount'
          merchantWallet: '#/components/schemas/PaymentsWalletAccount'
          email: '#/components/schemas/PaymentsEmailAccount'
          phone: '#/components/schemas/PaymentsPhoneAccount'
          socialNetwork: '#/components/schemas/PaymentsSocialNetworkAccount'
      properties:
        type:
          type: string
          description: The type of account.
      required:
        - type
    PaymentsRecipientAddress:
      type: object
      properties:
        postalCode:
          type: string
          description: The postal code of the recipient. Relevant only in the UK.
          maxLength: 10
          minLength: 1
          pattern: ^[A-Za-z0-9 ]*$
    PaymentsShippingAddress:
      type: object
      properties:
        address1:
          type: string
          description: Address line 1
          maxLength: 80
          minLength: 1
        address2:
          type: string
          description: Address line 2
          maxLength: 80
          minLength: 1
        address3:
          type: string
          description: Address line 3
          maxLength: 80
          minLength: 1
        postalCode:
          type: string
          description: Address PostalCode
          maxLength: 15
          minLength: 1
        city:
          type: string
          description: Address City
          maxLength: 50
          minLength: 1
        state:
          type: string
          description: Address State
          maxLength: 30
          minLength: 1
        countryCode:
          type: string
          format: ISO 3166-1 alpha-2
          description: The supported ISO 3166-1 alpha-2 country code
          minLength: 1
      required:
        - address1
        - city
        - countryCode
        - postalCode
    PaymentsSocialNetworkAccount:
      allOf:
        - $ref: '#/components/schemas/PaymentsRecipientAccount'
        - type: object
          properties:
            type:
              type: string
              enum:
                - socialNetwork
            socialNetworkReference:
              type: string
              description: A reference identifying recipient's social network account.
              maxLength: 50
              minLength: 1
              pattern: ^(?!\s*$)[a-zA-Z0-9\s@!£*#$)(+\-_=.,/;:'"]*$
      required:
        - socialNetworkReference
        - type
    PaymentsSubMerchant:
      type: object
      properties:
        name:
          type: string
          description: The name of your subMerchant's company.
          example: Merchant Plc
          maxLength: 25
          minLength: 1
          pattern: ^(?!\s*$)[A-Za-z0-9 ]*$
        reference:
          type: string
          description: Unique merchant reference.
          example: '123456789012345'
          maxLength: 15
          minLength: 1
          pattern: '[a-zA-Z0-9]*$'
        address:
          $ref: '#/components/schemas/PaymentsSubMerchantAddress'
          description: Contains the subMerchant address information.
        phoneNumber:
          type: string
          description: Phone number of your subMerchant's company.
          example: 987-65-4321
          maxLength: 20
          minLength: 4
          pattern: ^(?!\s*$)[0-9\s()+\-/.x]*$
        taxReference:
          type: string
          description: Tax Reference of your subMerchant's company.
          example: 987-65-4321
          maxLength: 20
          minLength: 1
          pattern: ^(?!\s*$)[a-zA-Z0-9\s-]*$
        email:
          type: string
          description: Email address of your subMerchant's company.
          example: email@example.com
          maxLength: 40
          minLength: 1
          pattern: ^.+@.+$
        url:
          type: string
          example: url.example.com
          maxLength: 255
          minLength: 1
          pattern: ^[a-zA-Z0-9@!£*#$)(+\-_=.,/;:]*$
      required:
        - address
        - name
        - reference
    PaymentsSubMerchantAddress:
      type: object
      properties:
        postalCode:
          type: string
          description: Post code/Zip code of your subMerchant's company.
          example: SW1 1AA
          maxLength: 10
          minLength: 1
          pattern: ^(?!\s*$)[a-zA-Z0-9\s]*$
        street:
          type: string
          description: Street name of your subMerchant's company.
          example: 221B Baker Street
          maxLength: 50
          minLength: 1
          pattern: ^(?!\s*$)[A-Za-z0-9\s]*$
        city:
          type: string
          description: City of your subMerchant's company.
          example: London
          maxLength: 13
          minLength: 1
          pattern: ^(?!\s*$)[A-Za-z\s-]*$
        state:
          type: string
          description: State of your subMerchant's company.
          example: GB
          maxLength: 3
          minLength: 1
          pattern: ^(?!\s*$)[a-zA-Z0-9\s]*$
        countryCode:
          type: string
          description: >-
            Country code of your subMerchant's company in [ISO 3166-1 Alpha-2
            format](/products/reference/supported-countries-currencies#iso-country-codes).
          example: GB
          maxLength: 2
          minLength: 2
      required:
        - city
        - countryCode
        - postalCode
        - street
    PaymentsSubscriptionCustomerAgreement:
      allOf:
        - $ref: '#/components/schemas/PaymentsCustomerAgreement'
        - type: object
          properties:
            type:
              type: string
              enum:
                - subscription
            storedCardUsage:
              type: string
              description: ' Set to `first` to store a card or `subsequent` to use a previously stored card. '
              enum:
                - first
                - subsequent
            schemeReference:
              type: string
              description: >-
                Optional field available only for `subsequent` storedCardUsage.
                Unique reference provided by card schemes used to link the
                `first` and `subsequent` payments. If a Worldpay token was
                created as part of the first payment, this value is bundled with
                the token and does not need to be provided again. If you manage
                multiple agreements for a single cardholder using a token,
                please use the `schemeReference` returned to you. This allows
                you to distinguish and manage each separate agreement
                appropriately.
              example: MCCOLXT1C0104
              maxLength: 56
              minLength: 1
              pattern: ^[A-Za-z0-9]*$
      required:
        - storedCardUsage
        - type
    PaymentsThreeDS:
      type: object
      description: >-
        An object containing 3DS authentication preferences.


        Read more on how to set it up under our [__3DS
        Authentication__](/products/payments/enable-features/3ds-authentication)
        guide.
      properties:
        type:
          type: string
          enum:
            - integrated
        mode:
          type: string
          enum:
            - always
        challenge:
          $ref: '#/components/schemas/Challenge'
          description: An object containing 3DS challenge preferences and configuration.
        deviceData:
          $ref: '#/components/schemas/DeviceData'
          description: An object containing device data for 3DS & Fraud assessment.
        previousSuspiciousActivity:
          type: boolean
          description: Has the account been flagged for suspicious activity.
        userType:
          type: string
          enum:
            - guestUser
            - registeredUser
            - federatedAccount
            - issuerCredentials
            - thirdPartyAuthentication
            - fidoAuthenticator
        accountHistory:
          $ref: '#/components/schemas/AccountHistory'
          description: Customer account history.
        reorder:
          type: boolean
          description: Repeat of a previous order.
        preOrderDate:
          type: string
          description: Expected date that a pre-ordered purchase will be available.
        transactionHistory:
          $ref: '#/components/schemas/TransactionHistory'
          description: Object containing details of the last transaction.
        giftCardsPurchase:
          $ref: '#/components/schemas/PaymentsGiftCardsPurchase'
          description: If the order is being used to purchase a gift card.
        exemptionOnOutage:
          type: boolean
          description: >-
            "Attempt authorization (without liability shift) using an
            authentication outage exemption in the event of a 3DS network
            failure. Even with this boolean set they are not currently part of
            default merchant setup. See [how to enable authentication outage
            exemptions](/products/payments/enable-features/3ds-authentication#how-to-enable-authentication-outage-exemptions)" 
      required:
        - challenge
        - deviceData
        - mode
        - type
    PaymentsTransferAddress:
      type: object
      properties:
        address1:
          type: string
          description: Must be supplied if `city` is provided.
          maxLength: 80
          minLength: 1
          pattern: ^(?!\s*$)[a-zA-Z0-9\s]*$
        address2:
          type: string
          maxLength: 80
          minLength: 1
          pattern: ^(?!\s*$)[a-zA-Z0-9\s]*$
        city:
          type: string
          description: Must be supplied if `address1` is provided.
          maxLength: 50
          minLength: 1
          pattern: ^(?!\s*$)[a-zA-Z0-9\s]*$
        postalCode:
          type: string
          maxLength: 10
          minLength: 1
          pattern: ^(?!\s*$)[a-zA-Z0-9\s]*$
        state:
          type: string
          description: 1-3 alphanumeric characters and spaces.
          maxLength: 3
          minLength: 1
          pattern: ^(?!\s*$)[a-zA-Z0-9\s]*$
        countryCode:
          type: string
          format: ISO 3166-1 alpha-2
          description: >-
            Country code in [ISO 3166-1 Alpha-2
            format](/products/reference/supported-countries-currencies#iso-country-codes).
          minLength: 1
      required:
        - countryCode
    PaymentsUnscheduledCustomerAgreement:
      allOf:
        - $ref: '#/components/schemas/PaymentsCustomerAgreement'
        - type: object
          properties:
            type:
              type: string
              enum:
                - unscheduled
            schemeReference:
              type: string
              description: >-
                Unique reference provided by card schemes used to link the
                `first` and `subsequent` payments. This value is bundled with
                the Worldpay token if created as part of the `first` payment and
                therefore not required here as well. If you manage multiple
                agreements for a single cardholder using a token, please use the
                `schemeReference` returned to you. This allows you to
                distinguish and manage each separate agreement appropriately.
              example: MCCOLXT1C0104
              maxLength: 56
              minLength: 1
              pattern: ^[A-Za-z0-9]*$
      required:
        - type
    PaymentsWalletAccount:
      allOf:
        - $ref: '#/components/schemas/PaymentsRecipientAccount'
        - type: object
          properties:
            type:
              type: string
              enum:
                - wallet
                - storedValueWallet
                - stagedDigitalWallet
                - merchantWallet
            walletReference:
              type: string
              description: A reference identifying the destination wallet.
              maxLength: 50
              minLength: 1
              pattern: ^(?!\s*$)[a-zA-Z0-9\s@!£*#$)(+\-_=.,/;:'"]*$
      required:
        - type
        - walletReference
    Routing:
      type: object
      description: An object containing specific routing preferences.
      properties:
        preferredCardBrand:
          type: string
          description: >-
            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
    SessionPaymentInstrument:
      allOf:
        - $ref: '#/components/schemas/PaymentsPaymentInstrument'
        - type: object
          properties:
            type:
              type: string
              enum:
                - checkout
            sessionHref:
              type: string
              description: >-

                An http address that contains your Checkout session providing
                the card details.
            cardHolderName:
              type: string
              description: >-


                The name on your customer's card. Required if 
                instruction.tokenCreation is present. However we recommend that
                you supply this to improve authentication rates.
              example: Sherlock Holmes
              maxLength: 255
              minLength: 1
            billingAddress:
              $ref: '#/components/schemas/BillingAddress'
            routing:
              $ref: '#/components/schemas/Routing'
      required:
        - sessionHref
        - type
    Settlement:
      type: object
      description: >-
        Automatically settle a payment following authorization. If any of the
        AVS/CVC response riskFactors are marked as `notMatched` the payment will
        be `sentForCancellation` automatically.


        Read more on how to set it up under our [__Auto
        Settlement__](/products/payments/enable-features/auto-settlement) guide.
      properties:
        auto:
          type: boolean
        cancelOn:
          $ref: '#/components/schemas/Cancellation'
          description: >-
            Configuration for when a payment is `sentForCancellation`
            automatically.
      required:
        - auto
    Shipping:
      type: object
      description: Object containing all data related to how the order will be shipped.
      properties:
        method:
          type: string
          description: The shipping method used.
          enum:
            - billingAddress
            - verifiedAddress
            - otherAddress
            - store
            - digital
            - unshippedTickets
            - other
        timeFrame:
          type: string
          enum:
            - electronic
            - sameDay
            - nextDay
            - twoDaysPlus
        email:
          type: string
          description: The email address used for an electronic delivery.
          maxLength: 128
          minLength: 1
          pattern: ^.+@.+$
        phone:
          type: string
          description: The phone number used for delivery.
          maxLength: 20
          minLength: 4
          pattern: ^[0-9]*$
        firstName:
          type: string
          description: First name used on the shipping address.
          maxLength: 22
          minLength: 1
        lastName:
          type: string
          description: Last name used on the shipping address.
          maxLength: 22
          minLength: 1
        address:
          $ref: '#/components/schemas/PaymentsShippingAddress'
    TokenCreation:
      type: object
      description: >-
        Use this object if you want to create a token after the payment. Can
        only be used with paymentInstrument.type: card/plain & checkout.
      properties:
        type:
          type: string
          enum:
            - worldpay
        namespace:
          type: string
          description: ' A namespace is used to group up to 16 cards, e.g. for one customer. A card can exist in more than one namespace. '
          maxLength: 64
          minLength: 1
          pattern: ^[^_][^ &<]*$
        description:
          type: string
          description: ' A description of your token. If not supplied, a default description is created for you. '
          maxLength: 255
          minLength: 1
          pattern: ^[^&<]*$
      required:
        - type
    TokenPaymentInstrument:
      allOf:
        - $ref: '#/components/schemas/PaymentsPaymentInstrument'
        - type: object
          properties:
            type:
              type: string
              enum:
                - token
            href:
              type: string
              description: An http address that contains your link to an Access Token.
              minLength: 1
            cvc:
              type: string
              description: >-


                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.
              example: '123'
              maxLength: 4
              minLength: 3
              pattern: '[0-9]*$'
            cvcSessionHref:
              type: string
              description: >-


                Href to the Checkout session providing the Card Verification
                Code (CVC).__Note:__ Provide a value in `cvcSessionHref` or
                `cvc`, never both.
              example: >-
                https://try.access.worldpay-bsh.securedataplatform.com/sessions/eyJrIjoxLCJkIjoiNjQxbUsw...
            routing:
              $ref: '#/components/schemas/Routing'
      required:
        - href
        - type
    TransactionHistory:
      type: object
      properties:
        attemptsLastDay:
          type: integer
          format: int32
          description: ' Number of transactions (successful or abandoned) for this cardholder account within the last 24 hours. '
        attemptsLastYear:
          type: integer
          format: int32
          description: ' Number of transactions (successful or abandoned) for this cardholder account within the last year. '
        completedLastSixMonths:
          type: integer
          format: int32
          description: ' Number of purchases with this customer account during the previous six months. '
        addCardsLastDay:
          type: integer
          format: int32
          description: Number of attempts to add a card in the last 24hrs.
        shippingAddressFirstUsedAt:
          type: string
          description: ' When the shipping address used for the transaction was first used. '
    DeviceDataCollection:
      type: object
      properties:
        jwt:
          type: string
          description: ' A digitally signed token that contains additional details required for DDC. '
          example: >-


            eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJPcmdVbml0SWQiOiI2NjAzMDA3YWJlMjMxZTM1ZTNmNTRjODkiLCJpc3MiOiI2NjAzMDA3YTE2ZGQ5YTdlNmEwMzM0MDciLCJleHAiOjE3MTIyNDg3MTIsImlhdCI6MTcxMjI0ODExMiwianRpIjoiZjdjZGVhZWUtMTY4MS00NjlhLTgxZmEtMzBkY2MyOTYzODA3In0.T1a6hOCPVVsQmcCKU3eczwmxlHoWK83tUqIJ_VG4fwc
          maxLength: 2048
          minLength: 1
        url:
          type: string
          description: ' A `POST` action on the DDC form. Used to redirect to the issuers DDC page. This URL can could change so should not be hardcoded. '
          example: https://centinelapistag.cardinalcommerce.com/V1/Cruise/Collect
          maxLength: 2048
          minLength: 1
        bin:
          type: string
          description: ' First six digits of the card number (Bank Identification Number), used as part of DDC. '
          example: '400000'
          maxLength: 6
          minLength: 6
      required:
        - bin
        - jwt
        - url
    DeviceDataRequiredActionList:
      type: object
      properties:
        supply3dsDeviceData:
          $ref: '#/components/schemas/PaymentsActionSupply3dsDeviceData'
    DeviceDataRequiredResponse:
      type: object
      properties:
        outcome:
          type: string
        transactionReference:
          type: string
          description: ' A unique reference generated by you that is used to identify a payment throughout its lifecycle. '
          maxLength: 64
          minLength: 1
          pattern: ^[-A-Za-z0-9_!@#$%()*=.:;?\[\]{}~`/+]*$
        deviceDataCollection:
          $ref: '#/components/schemas/DeviceDataCollection'
        _actions:
          $ref: '#/components/schemas/DeviceDataRequiredActionList'
    FraudHighRiskResponse:
      type: object
      properties:
        outcome:
          type: string
        transactionReference:
          type: string
          description: ' A unique reference generated by you that is used to identify a payment throughout its lifecycle. '
          maxLength: 64
          minLength: 1
          pattern: ^[-A-Za-z0-9_!@#$%()*=.:;?\[\]{}~`/+]*$
        score:
          type: number
          format: double
          description: ' Percentage assessment score for the transaction. Higher the value the greater the assessed risk. The outcome value is based on the thresholds configured using this score. '
          maximum: 100
          minimum: 0
        reason:
          type: array
          description: ' Short description of the reason for the outcome. A reason can be returned for any ''outcome'', even lowRisk. '
          items:
            type: string
    PaymentsActionSupply3dsDeviceData:
      type: object
      description: >-
        Supply the 3DS device data collectionReference (SessionId) to continue
        the payment. See [details](../3ds-actions/supply3dsdevicedata) including
        what to add in the request body.
      properties:
        href:
          type: string
        method:
          type: string
          default: POST
    PaymentsResponse201:
      type: object
      discriminator:
        propertyName: outcome
        mapping:
          authorized: '#/components/schemas/CardAuthorizedPaymentResponse'
          refused: '#/components/schemas/PaymentRefusedResponse'
          fraudHighRisk: '#/components/schemas/FraudHighRiskResponse'
          3dsDeviceDataRequired: '#/components/schemas/DeviceDataRequiredResponse'
      properties:
        outcome:
          type: string
        transactionReference:
          type: string
          description: ' A unique reference generated by you that is used to identify a payment throughout its lifecycle. '
          maxLength: 64
          minLength: 1
          pattern: ^[-A-Za-z0-9_!@#$%()*=.:;?\[\]{}~`/+]*$
    PaymentsResponse202:
      type: object
      discriminator:
        propertyName: outcome
        mapping:
          sentForSettlement: '#/components/schemas/SentForSettlementResponse'
          sentForCancellation: '#/components/schemas/SentForCancellationResponse'
      properties:
        outcome:
          type: string
        transactionReference:
          type: string
          description: ' A unique reference generated by you that is used to identify a payment throughout its lifecycle. '
          maxLength: 64
          minLength: 1
          pattern: ^[-A-Za-z0-9_!@#$%()*=.:;?\[\]{}~`/+]*$
    QueryActionList:
      type: object
      properties:
        cancelPayment:
          $ref: '#/components/schemas/PaymentsActionCancel'
        partiallySettlePayment:
          $ref: '#/components/schemas/PaymentsActionPartialSettle'
        settlePayment:
          $ref: '#/components/schemas/PaymentsActionSettle'
        refundPayment:
          $ref: '#/components/schemas/PaymentsActionRefund'
        partiallyRefundPayment:
          $ref: '#/components/schemas/PaymentsActionPartialRefund'
        reversePayment:
          $ref: '#/components/schemas/PaymentsActionReverse'
    QueryEventsResponse:
      type: object
      properties:
        lastEvent:
          type: string
          description: The last event received for the payment
          enum:
            - authorizationRequested
            - authorizationSucceeded
            - authorizationRefused
            - authorizationFailed
            - authorizationTimedOut
            - settlementRequested
            - settlementRequestSubmitted
            - settlementFailed
            - settlementTimedOut
            - refundRequested
            - refundRequestSubmitted
            - refundFailed
            - refundTimedOut
            - cancellationRequested
            - cancellationRequestSubmitted
            - cancellationFailed
            - cancellationTimedOut
            - reversalRequested
            - reversalRequestSubmitted
            - reversalFailed
            - reversalTimedOut
          example: authorizationSucceeded
          x-enumDescriptions:
            authorizationTimedOut: Your authorization request timed out.
            authorizationRequested: We have received your authorization request.
            authorizationRefused: Your authorization request was refused by the card issuer.
            refundRequested: We have received your refund request.
            reversalTimedOut: Your reversal request timed out.
            reversalRequestSubmitted: Your reversal request was successfully sent for processing.
            cancellationRequestSubmitted: Your cancellation request was successfully sent for processing.
            reversalRequested: We have received your reversal request.
            cancellationTimedOut: Your cancellation request timed out.
            cancellationRequested: We have received your cancellation request.
            settlementRequested: We have received your settlement request.
            settlementFailed: Your settlement request failed.
            authorizationSucceeded: >-
              Your authorization request was successfully approved by the card
              issuer.
            settlementTimedOut: Your settlement request timed out.
            refundTimedOut: Your refund request timed out.
            cancellationFailed: Your cancellation request failed.
            refundRequestSubmitted: Your refund request was successfully sent for processing.
            authorizationFailed: Your authorization request failed.
            reversalFailed: Your reversal request failed.
            settlementRequestSubmitted: Your settlement request was successfully sent for processing.
            refundFailed: We failed to process your refund request.
        _actions:
          $ref: '#/components/schemas/QueryActionList'
    Self:
      properties:
        href:
          type: string
    PaymentsLink:
      description: Return details about the status of the payment.
      properties:
        self:
          $ref: '#/components/schemas/Self'
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic
  examples:
    '400':
      value:
        errorName: bodyDoesNotMatchSchema
        message: A JSON body matching the expected schema must be provided.
        validationErrors:
          - errorName: fieldIsNotAllowed
            message: Field at path is not allowed.
            jsonPath: $.instruction.paymentInstrument.narrative
    '401':
      value:
        errorName: accessDenied
        message: Access to the requested resource has been denied.
    '404':
      value:
        errorName: endpointNotFound
        message: Requested endpoint was not found.
    '406':
      value:
        errorName: headerIsMissing
        message: A valid header must be provided.
        headerName: Content-Type
    '415':
      value:
        errorName: headerHasInvalidValue
        message: A valid header must be provided.
        headerName: Content-Type
    '500':
      value:
        errorName: internalErrorOccurred
        message: We cannot currently process your request. Please contact support.
    query-202:
      value:
        lastEvent: authorizationSucceeded
        _actions:
          cancelPayment:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmYlUBT%2BOr7P8TngA%3ARIDbhErtAINgae8%3Al%2Bp%3A9IMRtnTDLLTmIV7UYK%3Ak9rhdyhosW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ7HtOLQhO1odRTC6UgXfG5MadLi6%3AwYpXojOybmc%3AWO461azZ4FL3HolsmUtf6UuHbZ%3AVhRHFzbbwymcuTiRbNw%3D/cancellations
            method: POST
          settlePayment:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmYlUBT%2BOr7P8TngA%3ARIDbhErtAINgae8%3Al%2Bp%3A9IMRtnTDLLTmIV7UYK%3Ak9rhdyhosW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ7HtOLQhO1odRTC6UgXfG5MadLi6%3AwYpXojOybmc%3AWO461azZ4FL3HolsmUtf6UuHbZ%3AVhRHFzbbwymcuTiRbNw%3D/settlements
            method: POST
          partiallySettlePayment:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmYlUBT%2BOr7P8TngA%3ARIDbhErtAINgae8%3Al%2Bp%3A9IMRtnTDLLTmIV7UYK%3Ak9rhdyhosW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ7HtOLQhO1odRTC6UgXfG5MadLi6%3AwYpXojOybmc%3AWO461azZ4FL3HolsmUtf6UuHbZ%3AVhRHFzbbwymcuTiRbNw%3D/partialSettlements
            method: POST
          reversePayment:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmZ%2BxHZ9nDpadu%2BBh7pRyJwnWeiSFTlqKvbrBxNm3HV0xann55pFjZ7qi4DNGZtx9zW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ%3AAwSoo6RsrBugbhEp0K8HxZkfVrqy4oVlW8FdQ7kIuZOH78i6pPLzArc%2BOtMdnU%3ArZ%3AVhRHFzbbwymcuTiRbNw%3D/reversals
            method: POST
    sent-for-settlement-202-2:
      value:
        outcome: sentForSettlement
        _links:
          self:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3Amrpc69OgkOdsQcFu1REHDtf%3ADmgAoXvDPFmn0QZPIS4H4gS5sW2Mrlt4M7c6S1k5UW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ9hxVM07vmgQjdqz1DxFQ6AqNuDe44KOEtBqjjis8%3APhltX3idEtP6TkjNfQHRCHVbZ%3AVhRHFzbbwymcuTiRbNw%3D
        _actions:
          refundPayment:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3Amrpc69OgkOdsQcFu1REHDtf%3ADmgAoXvDPFmn0QZPIS4H4gS5sW2Mrlt4M7c6S1k5UW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ9hxVM07vmgQjdqz1DxFQ6AqNuDe44KOEtBqjjis8%3APhltX3idEtP6TkjNfQHRCHVbZ%3AVhRHFzbbwymcuTiRbNw%3D/refunds
            method: POST
          partiallyRefundPayment:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3Amrpc69OgkOdsQcFu1REHDtf%3ADmgAoXvDPFmn0QZPIS4H4gS5sW2Mrlt4M7c6S1k5UW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ9hxVM07vmgQjdqz1DxFQ6AqNuDe44KOEtBqjjis8%3APhltX3idEtP6TkjNfQHRCHVbZ%3AVhRHFzbbwymcuTiRbNw%3D/partialRefunds
            method: POST
          reversePayment:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmZ%2BxHZ9nDpadu%2BBh7pRyJwnWeiSFTlqKvbrBxNm3HV0xann55pFjZ7qi4DNGZtx9zW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ%3AAwSoo6RsrBugbhEp0K8HxZkfVrqy4oVlW8FdQ7kIuZOH78i6pPLzArc%2BOtMdnU%3ArZ%3AVhRHFzbbwymcuTiRbNw%3D/reversals
            method: POST
    partial-settle:
      value:
        sequence:
          number: 1
          total: 2
        value:
          amount: 500
          currency: GBP
        reference: partial-settle-reference
    sent-for-partial-settlement-202:
      value:
        outcome: sentForSettlement
        _links:
          self:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3Amrpc69OgkOdsQcFu1REHDtf%3ADmgAoXvDPFmn0QZPIS4H4gS5sW2Mrlt4M7c6S1k5UW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ9hxVM07vmgQjdqz1DxFQ6AqNuDe44KOEtBqjjis8%3APhltX3idEtP6TkjNfQHRCHVbZ%3AVhRHFzbbwymcuTiRbNw%3D
        _actions:
          refundPayment:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3Amrpc69OgkOdsQcFu1REHDtf%3ADmgAoXvDPFmn0QZPIS4H4gS5sW2Mrlt4M7c6S1k5U4KCq84ktTU7AB2kOFpTY0bs7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ9hxVM07vmgQjdqz1DxFQ6AqNuDe44KOEtBqjjis8%3APhltX3idEtP6TkjNfQHRCHVbZ%3AVhRHFzbbwymcuTiRbNw%3D/refunds
            method: POST
          partiallyRefundPayment:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3Amrpc69OgkOdsQcFu1REHDtf%3ADmgAoXvDPFmn0QZPIS4H4gS5sW2Mrlt4M7c6S1k5U4KCq84ktTU7AB2kOFpTY0bs7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ9hxVM07vmgQjdqz1DxFQ6AqNuDe44KOEtBqjjis8%3APhltX3idEtP6TkjNfQHRCHVbZ%3AVhRHFzbbwymcuTiRbNw%3D/partialRefunds
            method: POST
          partiallySettlePayment:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3Amrpc69OgkOdsQcFu1REHDtf%3ADmgAoXvDPFmn0QZPIS4H4gS5sW2Mrlt4M7c6S1k5U4KCq84ktTU7AB2kOFpTY0bs7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ9hxVM07vmgQjdqz1DxFQ6AqNuDe44KOEtBqjjis8%3APhltX3idEtP6TkjNfQHRCHVbZ%3AVhRHFzbbwymcuTiRbNw%3D/partialSettlements
            method: POST
          cancelPayment:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3Amrpc69OgkOdsQcFu1REHDtf%3ADmgAoXvDPFmn0QZPIS4H4gS5sW2Mrlt4M7c6S1k5U4KCq84ktTU7AB2kOFpTY0bs7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ9hxVM07vmgQjdqz1DxFQ6AqNuDe44KOEtBqjjis8%3APhltX3idEtP6TkjNfQHRCHVbZ%3AVhRHFzbbwymcuTiRbNw%3D/cancellations
            method: POST
    sent-for-refund-202:
      value:
        outcome: sentForRefund
        _links:
          self:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3Amp3aEvr3BYtH3ZBei61fRGtglovAih6FUXj2880UCtZGZ21djyVQzY36sEFMZMvXsW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ6i4R8ak4j6oWbsrX5AP4ErD6p2VzRF0yzljcK%2BKWD8%2BEEBcQpn0%3ADcXCJRXfVD0ibZ%3AVhRHFzbbwymcuTiRbNw%3D
    partial-refund:
      value:
        value:
          amount: 10
          currency: GBP
        reference: partial-refund-reference
    sent-for-partial-refund-202:
      value:
        outcome: sentForPartialRefund
        _links:
          self:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3Amrpc69OgkOdsQcFu1REHDtf%3ADmgAoXvDPFmn0QZPIS4H4gS5sW2Mrlt4M7c6S1k5U4KCq84ktTU7AB2kOFpTY0bs7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ9hxVM07vmgQjdqz1DxFQ6AqNuDe44KOEtBqjjis8%3APhltX3idEtP6TkjNfQHRCHVbZ%3AVhRHFzbbwymcuTiRbNw%3D
        _actions:
          partiallyRefundPayment:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3Amrpc69OgkOdsQcFu1REHDtf%3ADmgAoXvDPFmn0QZPIS4H4gS5sW2Mrlt4M7c6S1k5U4KCq84ktTU7AB2kOFpTY0bs7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ9hxVM07vmgQjdqz1DxFQ6AqNuDe44KOEtBqjjis8%3APhltX3idEtP6TkjNfQHRCHVbZ%3AVhRHFzbbwymcuTiRbNw%3D/partialRefunds
            method: POST
    sent-for-cancellation-202:
      value:
        outcome: sentForCancellation
        paymentId: payI-dUcet9fk4_X4qZU0hpU0
        transactionReference: f4806b75-89d1-498a-8634-bfa79afca54f
        schemeReference: '060720116005060'
        issuer:
          authorizationCode: '675725'
        riskFactors:
          - risk: notMatched
            type: cvc
          - risk: notChecked
            detail: address
            type: avs
          - risk: notChecked
            detail: postcode
            type: avs
        fraud:
          outcome: lowRisk
          score: 44
        threeDS:
          outcome: authenticated
          issuerResponse: frictionless
        paymentInstrument:
          type: card/plain+masked
          cardBin: '400000'
          lastFour: '1000'
          countryCode: GB
          expiryDate:
            year: 2035
            month: 5
          cardBrand: mastercard
          fundingType: debit
          category: consumer
          issuerName: BANK LIMITED
          paymentAccountReference: 3001DBT34Q41D6J7PFC5W0UACOT4C
        _links:
          self:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3Am1abCnrwHIBOLZ%3A8ZpsSaLoyDtB%3A8H%2BxSOOOGjEbko3O%3A%3A7gTMASwaw7KY3SuOCoh4KCq84ktTU7AB2kOFpTY0bs7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ3ZOMOj3ix5oo3ctSHv2uo5m6InByzI1XuTONS3N8O%2B1%2BuC8Xk67Ze0uAJk%2BrJN9o7Z%3AVhRHFzbbwymcuTiRbNw%3D
    card-payment:
      description: A one-off card payment using a plain card number
      value:
        transactionReference: Memory265-13/08/1876
        merchant:
          entity: default
        instruction:
          method: card
          paymentInstrument:
            type: plain
            cardHolderName: Sherlock Holmes
            cardNumber: '4000000000001091'
            expiryDate:
              month: 5
              year: 2035
            billingAddress:
              address1: 221B Baker Street
              address2: Marylebone
              address3: Westminster
              postalCode: SW1 1AA
              city: London
              state: Greater London
              countryCode: GB
            cvc: '123'
          narrative:
            line1: trading name
          value:
            currency: GBP
            amount: 42
    card-payment_moto:
      description: A one-off MOTO card payment using a plain card number
      value:
        transactionReference: Memory265-13/08/1876
        merchant:
          entity: default
        channel: moto
        instruction:
          method: card
          paymentInstrument:
            type: plain
            cardHolderName: Sherlock Holmes
            cardNumber: '4000000000001091'
            expiryDate:
              month: 5
              year: 2035
            billingAddress:
              address1: 221B Baker Street
              address2: Marylebone
              address3: Westminster
              postalCode: SW1 1AA
              city: London
              state: Greater London
              countryCode: GB
            cvc: '123'
          narrative:
            line1: trading name
          value:
            currency: GBP
            amount: 42
    card-payment-auto-settlement:
      description: >-
        A guest card payment using a plain card number. The payment will move to
        `authorize` and `send for settlement` if basic CVC/AVS checks pass.
        <br><br> __We recommend disabling cancel on avsNotMatched/cvcNotMatched
        as shown in the example.__
      value:
        transactionReference: Memory265-13/08/1876
        merchant:
          entity: default
        instruction:
          settlement:
            auto: true
            cancelOn:
              avsNotMatched: disabled
              cvcNotMatched: disabled
          method: card
          paymentInstrument:
            type: plain
            cardHolderName: Sherlock Holmes
            cardNumber: '4000000000001091'
            expiryDate:
              month: 5
              year: 2035
            billingAddress:
              address1: 221B Baker Street
              address2: Marylebone
              address3: Westminster
              postalCode: SW1 1AA
              city: London
              state: Greater London
              countryCode: GB
            cvc: '123'
          narrative:
            line1: trading name
          value:
            currency: GBP
            amount: 42
    card-payment-3ds:
      description: >
        A one-off card payment using a plain card number that also performs 3DS
        authentication.  

        * Values that are [required by the
        schemes](/products/payments/enable-features/3ds-authentication/#emvco-required-values)
        are included in this example. 

        * See [how to enable 3DS
        authentication](/products/payments/enable-features/3ds-authentication/)
        for integration details
      value:
        transactionReference: Memory265-13/08/1876
        merchant:
          entity: default
        instruction:
          method: card
          paymentInstrument:
            type: plain
            cardHolderName: Sherlock Holmes
            cardNumber: '4000000000001091'
            expiryDate:
              month: 5
              year: 2035
            billingAddress:
              address1: 221B Baker Street
              address2: Marylebone
              address3: Westminster
              postalCode: SW1 1AA
              city: London
              state: Greater London
              countryCode: GB
            cvc: '123'
          threeDS:
            type: integrated
            mode: always
            exemptionOnOutage: true
            deviceData:
              acceptHeader: text/html
              userAgentHeader: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0)
              browserLanguage: en-GB
              browserScreenWidth: 900
              browserScreenHeight: 1200
              browserJavaEnabled: true
              browserColorDepth: '32'
              timeZone: '300'
              browserJavascriptEnabled: true
              channel: browser
            challenge:
              returnUrl: http://payment.example.com
          customer:
            email: john.appleseed@example.com
            phone: '00000000000'
            ipAddress: 192.168.0.1
          narrative:
            line1: trading name
          value:
            currency: GBP
            amount: 42
    card-payment-exemption:
      description: >
        A guest card payment using a plain card number that also performs 3DS
        authentication.  

        * Values [required by the
        schemes](/products/payments/enable-features/3ds-authentication/#emvco-required-values)
        are included in this example

        * See [how to enable an SCA
        exemption](/products/payments/enable-features/sca-exemptions/) for
        integration details
      value:
        transactionReference: Memory265-13/08/1876
        merchant:
          entity: default
        instruction:
          method: card
          paymentInstrument:
            type: plain
            cardHolderName: Sherlock Holmes
            cardNumber: '4000000000001091'
            expiryDate:
              month: 5
              year: 2035
            billingAddress:
              address1: 221B Baker Street
              address2: Marylebone
              address3: Westminster
              postalCode: SW1 1AA
              city: London
              state: Greater London
              countryCode: GB
            cvc: '123'
          threeDS:
            type: integrated
            mode: always
            deviceData:
              acceptHeader: text/html
              userAgentHeader: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0)
              browserLanguage: en-GB
              browserScreenWidth: 900
              browserScreenHeight: 1200
              browserJavaEnabled: true
              browserColorDepth: '32'
              timeZone: '300'
              browserJavascriptEnabled: true
              channel: browser
            challenge:
              returnUrl: http://payment.example.com
          exemption:
            type: integrated
            mode: always
            capability: authorizationAndAuthentication
            request:
              placement: optimized
              type: optimized
          customer:
            email: john.appleseed@example.com
            phone: '00000000000'
            ipAddress: 192.168.0.1
          narrative:
            line1: trading name
          value:
            currency: GBP
            amount: 42
    card-payment-fraud:
      description: >
        A one-off card payment using a plain card number that also performs a
        fraud assessment

        * See [how to enable fraud
        assessment](/products/payments/enable-features/fraud-assessment) for
        details
      value:
        transactionReference: Memory265-13/08/1876
        merchant:
          entity: default
        instruction:
          method: card
          paymentInstrument:
            type: plain
            cardHolderName: Sherlock Holmes
            cardNumber: '4000000000001091'
            expiryDate:
              month: 5
              year: 2035
            billingAddress:
              address1: 221B Baker Street
              address2: Marylebone
              address3: Westminster
              postalCode: SW1 1AA
              city: London
              state: Greater London
              countryCode: GB
            cvc: '123'
          fraud:
            type: fraudSight
          customer:
            firstName: John
            lastName: Appleseed
            email: john.appleseed@example.com
            phone: '00000000000'
            ipAddress: 192.168.0.1
            dateOfBirth: '1985-11-23'
            customerId: id123
          narrative:
            line1: trading name
          value:
            currency: GBP
            amount: 42
    card-payment-payfac:
      description: A one-off payment facilitator card payment using a plain card number
      value:
        transactionReference: Memory265-13/08/1876
        merchant:
          entity: default
          paymentFacilitator:
            schemeId: '12345'
            independentSalesOrganizationId: '12345'
            subMerchant:
              name: Sub Merchant Plc
              reference: '12345'
              address:
                postalCode: SW1 1AA
                street: Regent Street
                city: London
                countryCode: GB
                state: CA
              taxReference: '12345'
              phoneNumber: '0123456789'
              email: test@email.com
              url: url.example.com
        instruction:
          method: card
          paymentInstrument:
            type: plain
            cardHolderName: Sherlock Holmes
            cardNumber: '4000000000001091'
            expiryDate:
              month: 5
              year: 2035
            billingAddress:
              address1: 221B Baker Street
              address2: Marylebone
              address3: Westminster
              postalCode: SW1 1AA
              city: London
              state: Greater London
              countryCode: GB
            cvc: '123'
          narrative:
            line1: trading name
          value:
            currency: GBP
            amount: 42
    card-payment-fundsTransfer:
      description: >-
        A one-off cryptocurrency wallet load card payment using a plain card
        number
      value:
        transactionReference: Memory265-13/08/1876
        merchant:
          entity: default
        instruction:
          method: card
          paymentInstrument:
            type: plain
            cardHolderName: Sherlock Holmes
            cardNumber: '4000000000001091'
            expiryDate:
              month: 5
              year: 2035
            billingAddress:
              address1: 221B Baker Street
              address2: Marylebone
              address3: Westminster
              postalCode: SW1 1AA
              city: London
              state: Greater London
              countryCode: GB
            cvc: '123'
          fundsTransfer:
            type: walletLoad
            purpose: crypto
            recipient:
              account:
                type: storedValueWallet
                walletReference: ABCDE12345
              firstName: John
              middleName: Roger
              lastName: Smith
              address:
                address1: 221B Baker Street
                address2: Marylebone
                postalCode: NW1 6XE
                city: London
                state: LDN
                countryCode: GB
              dateOfBirth:
                day: 12
                month: 4
                year: 2001
              phoneNumber: +447987 654321
            sender:
              firstName: John
              middleName: Roger
              lastName: Smith
              address:
                address1: 221B Baker Street
                address2: Marylebone
                postalCode: NW1 6XE
                city: London
                state: LDN
                countryCode: GB
          narrative:
            line1: trading name
          value:
            currency: GBP
            amount: 42
    card-payment-cobranded:
      description: >
        A one-off card payment using a plain card number that specifies your
        customer's preferred card brand
      value:
        transactionReference: Memory265-13/08/1876
        merchant:
          entity: default
        instruction:
          method: card
          paymentInstrument:
            type: plain
            cardHolderName: Sherlock Holmes
            cardNumber: '4000000000004970'
            expiryDate:
              month: 5
              year: 2035
            billingAddress:
              address1: 221B Baker Street
              address2: Marylebone
              address3: Westminster
              postalCode: SW1 1AA
              city: London
              state: Greater London
              countryCode: GB
            routing:
              preferredCardBrand: cartesBancaires
            cvc: '123'
          narrative:
            line1: trading name
          value:
            currency: GBP
            amount: 42
    card-payment-checkout:
      description: >
        A one-off card payment using the Checkout SDK to capture card details in
        a short lived session.  
      value:
        transactionReference: Memory265-13/08/1876
        merchant:
          entity: default
        instruction:
          method: card
          paymentInstrument:
            type: checkout
            cardHolderName: Sherlock Holmes
            sessionHref: >-
              https://try.access.worldpay-bsh.securedataplatform.com/sessions/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0NzI0NE1rdUtjMUFJdjYxVnlibWZuUT0ifQ
            billingAddress:
              address1: 221B Baker Street
              address2: Marylebone
              address3: Westminster
              postalCode: SW1 1AA
              city: London
              state: Greater London
              countryCode: GB
          narrative:
            line1: trading name
          value:
            currency: GBP
            amount: 42
    store-card-token:
      description: >
        Card payment using a plain card number that will also create a Worldpay
        Token for use with future customer initiated transactions (CIT)
      value:
        transactionReference: Memory265-13/08/1876
        merchant:
          entity: default
        instruction:
          method: card
          paymentInstrument:
            type: plain
            cardHolderName: Sherlock Holmes
            cardNumber: '4000000000001091'
            expiryDate:
              month: 5
              year: 2035
            cvc: '123'
          tokenCreation:
            type: worldpay
          customerAgreement:
            type: cardOnFile
            storedCardUsage: first
          narrative:
            line1: trading name
          value:
            currency: GBP
            amount: 42
    store-card-only-token:
      description: >
        Create a Worldpay Token for use with future customer initiated
        transactions (CIT)

        * `value.amount` is set to `0` to indicate this is not a payment and a
        card verification will be performed instead
      value:
        transactionReference: Memory265-13/08/1876
        merchant:
          entity: default
        instruction:
          method: card
          paymentInstrument:
            type: plain
            cardHolderName: Sherlock Holmes
            cardNumber: '4000000000001091'
            expiryDate:
              month: 5
              year: 2035
            cvc: '123'
          tokenCreation:
            type: worldpay
          customerAgreement:
            type: cardOnFile
            storedCardUsage: first
          narrative:
            line1: trading name
          value:
            currency: GBP
            amount: 0
    use-stored-card-token:
      description: >-
        Use a previously stored Worldpay token for a customer initiated payment
        (CIT)
      value:
        transactionReference: Memory265-13/08/1876
        merchant:
          entity: default
        instruction:
          method: card
          paymentInstrument:
            type: token
            cvc: '333'
            href: >-
              https://try.access.developer.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0NzI0NE1rdUtjMUFJdjYxVnlibWZuUT0ifQ
          customerAgreement:
            type: cardOnFile
            storedCardUsage: subsequent
          narrative:
            line1: trading name
          value:
            currency: GBP
            amount: 42
    use-stored-card-network-token:
      description: >-
        Use a previously stored network token for a customer initiated payment
        (CIT).
      value:
        transactionReference: Memory265-13/08/1876
        merchant:
          entity: default
        instruction:
          method: card
          paymentInstrument:
            type: networkToken
            tokenNumber: '4444333322221111'
            cryptogram: MAAAAAAAAAAAAAAAAAAAAAAAAAB=
            eci: '07'
            expiryDate:
              month: 2
              year: 2035
          customerAgreement:
            type: cardOnFile
            storedCardUsage: subsequent
          narrative:
            line1: trading name
          value:
            currency: GBP
            amount: 42
    use-stored-card-checkout-cvc:
      description: >-
        Use a previously stored Worldpay token for a customer initiated
        transaction (CIT) and use the Checkout SDK (cvcSessionHref) to capture
        the CVC value
      value:
        transactionReference: Memory265-13/08/1876
        merchant:
          entity: default
        instruction:
          method: card
          paymentInstrument:
            type: token
            href: >-
              https://try.access.developer.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0NzI0NE1rdUtjMUFJdjYxVnlibWZuUT0ifQ
            cvcSessionHref: >-
              https://try.access.worldpay-bsh.securedataplatform.com/sessions/eyJrIjoxLCJkIjoialRBL0FFelB....
          customerAgreement:
            type: cardOnFile
            storedCardUsage: subsequent
          narrative:
            line1: trading name
          value:
            currency: GBP
            amount: 42
    google-pay-encrypted:
      description: Provide the encrypted Google Pay payload
      value:
        transactionReference: Memory265-13/08/1876
        merchant:
          entity: default
        instruction:
          method: googlepay
          paymentInstrument:
            type: encrypted
            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\"}"}
          threeDS:
            type: integrated
            mode: always
            exemptionOnOutage: true
            deviceData:
              acceptHeader: text/html
              userAgentHeader: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0)
              browserLanguage: en-GB
              browserScreenWidth: 900
              browserScreenHeight: 1200
              browserJavaEnabled: true
              browserColorDepth: '32'
              timeZone: '300'
              browserJavascriptEnabled: true
              channel: browser
            challenge:
              returnUrl: http://payment.example.com
          narrative:
            line1: trading name
          value:
            currency: GBP
            amount: 42
    apple-pay-encrypted:
      description: Provide the encrypted Apple Pay payload
      value:
        transactionReference: Memory265-13/08/1876
        merchant:
          entity: default
        instruction:
          method: applepay
          paymentInstrument:
            type: encrypted
            walletToken: >-
              {"version": "EC_v1","data": "kdHd..GQ==","signature":
              "MIAGCSqGSIb3DQEH...AAA","header": {"transactionId":
              "d3b28af..f8","ephemeralPublicKey": "MFkwE..Q==","publicKeyHash":
              "dxCK..6o="}}
          narrative:
            line1: trading name
          value:
            currency: GBP
            amount: 42
    setup-recurring-subscription:
      description: >-
        Set up a recurring subscription payment (first). This is a customer
        initiated transaction (CIT)
      value:
        transactionReference: Memory265-13/08/1876
        merchant:
          entity: default
        instruction:
          method: card
          paymentInstrument:
            type: plain
            cardHolderName: Sherlock Holmes
            cardNumber: '4000000000001091'
            expiryDate:
              month: 5
              year: 2035
            cvc: '123'
          tokenCreation:
            type: worldpay
          customerAgreement:
            type: subscription
            storedCardUsage: first
          narrative:
            line1: trading name
          value:
            currency: GBP
            amount: 42
    setup-recurring-subscription-zero:
      description: >-
        Set up a recurring subscription payment (first). This is a customer
        initiated transaction (CIT)
      value:
        transactionReference: Memory265-13/08/1876
        merchant:
          entity: default
        instruction:
          method: card
          paymentInstrument:
            type: plain
            cardHolderName: Sherlock Holmes
            cardNumber: '4000000000001091'
            expiryDate:
              month: 5
              year: 2035
            cvc: '123'
          tokenCreation:
            type: worldpay
          customerAgreement:
            type: subscription
            storedCardUsage: first
          narrative:
            line1: trading name
          value:
            currency: GBP
            amount: 0
    subsequent-recurring-subscription:
      description: Subsequent payment as part of a recurring subscription series
      value:
        transactionReference: Memory265-13/08/1876
        merchant:
          entity: default
        instruction:
          method: card
          paymentInstrument:
            type: token
            href: >-
              https://try.access.developer.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0NzI0NE1rdUtjMUFJdjYxVnlibWZuUT0ifQ
          customerAgreement:
            type: subscription
            storedCardUsage: subsequent
            schemeReference: MCCOLXT1C0104
          narrative:
            line1: trading name
          value:
            currency: GBP
            amount: 42
    setup-recurring-installment-merchant:
      description: >-
        Set up a recurring installment payment (first). This is a customer
        initiated transaction (CIT)
      value:
        transactionReference: Memory265-13/08/1876
        merchant:
          entity: default
        instruction:
          method: card
          paymentInstrument:
            type: plain
            cardHolderName: Sherlock Holmes
            cardNumber: '4000000000001091'
            expiryDate:
              month: 5
              year: 2035
            cvc: '123'
          tokenCreation:
            type: worldpay
          customerAgreement:
            type: installment
            installmentType: merchant
            storedCardUsage: first
          narrative:
            line1: trading name
          value:
            currency: GBP
            amount: 42
    subsequent-recurring-installment-merchant:
      description: >-
        Set up a recurring subscription payment (first). This is a customer
        initiated transaction (CIT)
      value:
        transactionReference: Memory265-13/08/1876
        merchant:
          entity: default
        instruction:
          method: card
          paymentInstrument:
            type: token
            href: >-
              https://try.access.developer.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0NzI0NE1rdUtjMUFJdjYxVnlibWZuUT0ifQ
          customerAgreement:
            type: installment
            installmentType: merchant
            storedCardUsage: subsequent
            schemeReference: MCCOLXT1C0104
          narrative:
            line1: trading name
          value:
            currency: GBP
            amount: 42
    setup-recurring-installment-latam:
      description: >-
        Set up a Latin America installment payment. This is a customer initiated
        transaction (CIT)
      value:
        transactionReference: Memory265-13/08/1876
        merchant:
          entity: default
        instruction:
          method: card
          paymentInstrument:
            type: plain
            cardHolderName: Sherlock Holmes
            cardNumber: '4000000000001091'
            expiryDate:
              month: 5
              year: 2035
            cvc: '123'
          customerAgreement:
            type: installment
            installmentType: latinAmerica
            installmentPlan:
              numberOfInstallments: 4
          narrative:
            line1: trading name
          value:
            currency: GBP
            amount: 42
    recurring-unscheduled:
      description: >-
        Subsequent unscheduled payment as part of a customer agreement. This is
        a merchant initiated transaction (MIT).
      value:
        transactionReference: Memory265-13/08/1876
        merchant:
          entity: default
        instruction:
          method: card
          paymentInstrument:
            type: token
            href: >-
              https://try.access.developer.com/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0NzI0NE1rdUtjMUFJdjYxVnlibWZuUT0ifQ
          customerAgreement:
            type: unscheduled
            schemeReference: MCCOLXT1C0104
          narrative:
            line1: trading name
          value:
            currency: GBP
            amount: 42
    authorized-201-basic:
      description: >
        Example of an authorized response. Use the action `settlePayment` to
        complete the transaction
      value:
        outcome: authorized
        paymentId: payI-dUcet9fk4_X4qZU0hpU0
        transactionReference: Memory265-13/08/1876
        schemeReference: '060720116005060'
        issuer:
          authorizationCode: '675725'
        riskFactors:
          - risk: notChecked
            type: cvc
          - risk: notChecked
            detail: address
            type: avs
          - risk: notChecked
            detail: postcode
            type: avs
        paymentInstrument:
          type: card/plain+masked
          cardBin: '400000'
          lastFour: '1000'
          countryCode: GB
          expiryDate:
            year: 2035
            month: 5
          cardBrand: mastercard
          fundingType: debit
          category: consumer
          issuerName: BANK LIMITED
          paymentAccountReference: 3001DBT34Q41D6J7PFC5W0UACOT4C
        _links:
          self:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmZ%2BxHZ9nDpadu%2BBh7pRyJwnWeiSFTlqKvbrBxNm3HV0xann55pFjZ7qi4DNGZtx9zW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ%3AAwSoo6RsrBugbhEp0K8HxZkfVrqy4oVlW8FdQ7kIuZOH78i6pPLzArc%2BOtMdnU%3ArZ%3AVhRHFzbbwymcuTiRbNw%3D
        _actions:
          cancelPayment:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmZ%2BxHZ9nDpadu%2BBh7pRyJwnWeiSFTlqKvbrBxNm3HV0xann55pFjZ7qi4DNGZtx9zW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ%3AAwSoo6RsrBugbhEp0K8HxZkfVrqy4oVlW8FdQ7kIuZOH78i6pPLzArc%2BOtMdnU%3ArZ%3AVhRHFzbbwymcuTiRbNw%3D/cancellations
            method: POST
          settlePayment:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmZ%2BxHZ9nDpadu%2BBh7pRyJwnWeiSFTlqKvbrBxNm3HV0xann55pFjZ7qi4DNGZtx9zW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ%3AAwSoo6RsrBugbhEp0K8HxZkfVrqy4oVlW8FdQ7kIuZOH78i6pPLzArc%2BOtMdnU%3ArZ%3AVhRHFzbbwymcuTiRbNw%3D/settlements
            method: POST
          partiallySettlePayment:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmZ%2BxHZ9nDpadu%2BBh7pRyJwnWeiSFTlqKvbrBxNm3HV0xann55pFjZ7qi4DNGZtx9zW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ%3AAwSoo6RsrBugbhEp0K8HxZkfVrqy4oVlW8FdQ7kIuZOH78i6pPLzArc%2BOtMdnU%3ArZ%3AVhRHFzbbwymcuTiRbNw%3D/partialSettlements
            method: POST
          reversePayment:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmZ%2BxHZ9nDpadu%2BBh7pRyJwnWeiSFTlqKvbrBxNm3HV0xann55pFjZ7qi4DNGZtx9zW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ%3AAwSoo6RsrBugbhEp0K8HxZkfVrqy4oVlW8FdQ7kIuZOH78i6pPLzArc%2BOtMdnU%3ArZ%3AVhRHFzbbwymcuTiRbNw%3D/reversals
            method: POST
    authorized-201-full:
      description: >
        Example of an authorized response. Use the action `settlePayment` to
        complete the transaction. 


        Includes response information for: 
          - [Fraud assessment](/products/payments/enable-features/fraud-assessment) 
          - [Worldpay token creation](/products/payments/store-a-card)
          - [SCA Exemption](/products/payments/enable-features/sca-exemptions)
          - [Revenue Boost](/products/payments/openapi/payment/payment#payment/payment/t=response&c=201&path=&d=0/updatedpaymentinstrument)
          - [Account Updater](/products/payments/enable-features/account-updater)
          - [Partial Authorization](/products/payments/openapi/payment/payment#payment/payment/t=request&path=instruction&d=0/value/acceptpartialamount)
      value:
        outcome: authorized
        paymentId: payI-dUcet9fk4_X4qZU0hpU0
        transactionReference: Memory265-13/08/1876
        schemeReference: '060720116005060'
        issuer:
          authorizationCode: '675725'
        riskFactors:
          - risk: notChecked
            type: cvc
          - risk: notChecked
            detail: address
            type: avs
          - risk: notChecked
            detail: postcode
            type: avs
        fraud:
          outcome: lowRisk
          score: 44.6
        exemption:
          granted: true
          placement: authorization
          type: lowRisk
          result: honored
          reason: issuerHonored
        token:
          href: >-
            https://try.access.worldpay-bsh.securedataplatform.com/tokens/eyJrIjoxLCJkIjoiRVl3SDBtNnpEVmVTR3UzRUV3VEJEVDExTkxuVDVydXNiREdLR01hUXUwVT0ifQ
          tokenId: '9968110159504301628'
          tokenExpiryDateTime: '2024-04-11T15:59:23Z'
          cardNumber: 4000********1000
          cardHolderName: test
          cardExpiry:
            year: 2035
            month: 5
          bin: '400000'
          fundingType: debit
          countryCode: GB
          schemeReference: '060720116005060'
          conflicts:
            conflictsExpiryDateTime: '2024-07-04T06:40:32.310316518Z'
            paymentInstrument:
              cardHolderName: John Snow
        paymentInstrument:
          type: card/plain+masked
          cardBin: '400000'
          lastFour: '1000'
          countryCode: GB
          expiryDate:
            year: 2035
            month: 5
          cardBrand: mastercard
          fundingType: debit
          category: consumer
          issuerName: BANK LIMITED
          paymentAccountReference: 3001DBT34Q41D6J7PFC5W0UACOT4C
        updatedPaymentInstrument:
          appliedNetworkToken: true
          accountUpdaterMessage: The account number was changed
          type: card/plain+masked
          cardBin: '888877'
          lastFour: '5555'
          expiryDate:
            month: 9
            year: 2031
          cardBrand: visa
          fundingType: credit
        amounts:
          requested: 1000
          totalAuthorized: 700
          currency: GBP
          partialAuthorization: true
        _links:
          self:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmZ%2BxHZ9nDpadu%2BBh7pRyJwnWeiSFTlqKvbrBxNm3HV0xann55pFjZ7qi4DNGZtx9zW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ%3AAwSoo6RsrBugbhEp0K8HxZkfVrqy4oVlW8FdQ7kIuZOH78i6pPLzArc%2BOtMdnU%3ArZ%3AVhRHFzbbwymcuTiRbNw%3D
        _actions:
          cancelPayment:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmZ%2BxHZ9nDpadu%2BBh7pRyJwnWeiSFTlqKvbrBxNm3HV0xann55pFjZ7qi4DNGZtx9zW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ%3AAwSoo6RsrBugbhEp0K8HxZkfVrqy4oVlW8FdQ7kIuZOH78i6pPLzArc%2BOtMdnU%3ArZ%3AVhRHFzbbwymcuTiRbNw%3D/cancellations
            method: POST
          settlePayment:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmZ%2BxHZ9nDpadu%2BBh7pRyJwnWeiSFTlqKvbrBxNm3HV0xann55pFjZ7qi4DNGZtx9zW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ%3AAwSoo6RsrBugbhEp0K8HxZkfVrqy4oVlW8FdQ7kIuZOH78i6pPLzArc%2BOtMdnU%3ArZ%3AVhRHFzbbwymcuTiRbNw%3D/settlements
            method: POST
          partiallySettlePayment:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmZ%2BxHZ9nDpadu%2BBh7pRyJwnWeiSFTlqKvbrBxNm3HV0xann55pFjZ7qi4DNGZtx9zW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ%3AAwSoo6RsrBugbhEp0K8HxZkfVrqy4oVlW8FdQ7kIuZOH78i6pPLzArc%2BOtMdnU%3ArZ%3AVhRHFzbbwymcuTiRbNw%3D/partialSettlements
            method: POST
          reversePayment:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmZ%2BxHZ9nDpadu%2BBh7pRyJwnWeiSFTlqKvbrBxNm3HV0xann55pFjZ7qi4DNGZtx9zW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ%3AAwSoo6RsrBugbhEp0K8HxZkfVrqy4oVlW8FdQ7kIuZOH78i6pPLzArc%2BOtMdnU%3ArZ%3AVhRHFzbbwymcuTiRbNw%3D/reversals
            method: POST
    3ds-device-data-required-201:
      description: >-
        If 3DS is enabled the issuers [device data
        collection](/products/payments/enable-features/3ds-authentication) must
        be run on the customer's browser
      value:
        transactionReference: Memory265-13/08/1876
        outcome: 3dsDeviceDataRequired
        deviceDataCollection:
          jwt: >-
            eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJPcmdVbml0SWQiOiI2NjAzMDA3YWJlMjMxZTM1ZTNmNTRjODkiLCJpc3MiOiI2NjAzMDA3YTE2ZGQ5YTdlNmEwMzM0MDciLCJleHAiOjE3MTIyNDg3MTIsImlhdCI6MTcxMjI0ODExMiwianRpIjoiZjdjZGVhZWUtMTY4MS00NjlhLTgxZmEtMzBkY2MyOTYzODA3In0.T1a6hOCPVVsQmcCKU3eczwmxlHoWK83tUqIJ_VG4fwc
          url: https://centinelapistag.cardinalcommerce.com/V1/Cruise/Collect
          bin: '400000'
        _actions:
          supply3dsDeviceData:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoxLCJkIjoiR0ZSM3R2Z1d4OTI5SEdSVlVaWlk0cllQV3p4TU5raU85Y0ZwSkd2b09FWGo0SnVHYXI0MzJqZlM4RHp5UnRaaiJ9/3dsDeviceData
            method: POST
    fs-highrisk:
      description: >-
        If [FraudSight is
        enabled](/products/payments/enable-features/fraud-assessment) the
        payment could be flagged as `fraudHighRisk`, stopping the request from
        proceeding any further
      value:
        outcome: fraudHighRisk
        transactionReference: 2847f678-fd97-4558-b913-8945c8b11dc9
        score: 97
        reason:
          - Recent unexpected card activity
    refused-201:
      description: |
        Example of a refused response.
      value:
        outcome: refused
        paymentId: payI-dUcet9fk4_X4qZU0hpU0
        transactionReference: Memory265-13/08/1876
        refusalDescription: REFUSED
        refusalCode: '5'
        advice:
          code: '01'
        riskFactors:
          - risk: notChecked
            type: cvc
          - risk: notChecked
            detail: address
            type: avs
          - risk: notChecked
            detail: postcode
            type: avs
    sent-for-settlement-202-basic:
      description: >
        Example of a sentForSettlement response. [Auto
        settlement](/products/payments/enable-features/auto-settlement) was
        enabled in the payment request.
      value:
        outcome: sentForSettlement
        paymentId: payI-dUcet9fk4_X4qZU0hpU0
        transactionReference: Memory265-13/08/1876
        schemeReference: '060720116005060'
        issuer:
          authorizationCode: '675725'
        riskFactors:
          - risk: notChecked
            type: cvc
          - risk: notChecked
            detail: address
            type: avs
          - risk: notChecked
            detail: postcode
            type: avs
        paymentInstrument:
          type: card/plain+masked
          cardBin: '400000'
          lastFour: '1000'
          countryCode: GB
          expiryDate:
            year: 2035
            month: 5
          cardBrand: mastercard
          fundingType: debit
          category: consumer
          issuerName: BANK LIMITED
          paymentAccountReference: 3001DBT34Q41D6J7PFC5W0UACOT4C
        _links:
          self:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmUCGmlXGGNqJmZcIdZa%3Aufi8N9Y8uwrkGtx1suHsSFnXn2PMsm%3AcRBXHzZt3giUlFW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ2hKYh1GAhFAwfPvBamw%3AisDwI2AuXQ9KT%3AMt9SY%3AfYERqcZ58SBNT3Gkwn1j%2Bkd7LZ%3AVhRHFzbbwymcuTiRbNw%3D
        _actions:
          refundPayment:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmUCGmlXGGNqJmZcIdZa%3Aufi8N9Y8uwrkGtx1suHsSFnXn2PMsm%3AcRBXHzZt3giUlFW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ2hKYh1GAhFAwfPvBamw%3AisDwI2AuXQ9KT%3AMt9SY%3AfYERqcZ58SBNT3Gkwn1j%2Bkd7LZ%3AVhRHFzbbwymcuTiRbNw%3D/refunds
            method: POST
          partiallyRefundPayment:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmUCGmlXGGNqJmZcIdZa%3Aufi8N9Y8uwrkGtx1suHsSFnXn2PMsm%3AcRBXHzZt3giUlFW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ2hKYh1GAhFAwfPvBamw%3AisDwI2AuXQ9KT%3AMt9SY%3AfYERqcZ58SBNT3Gkwn1j%2Bkd7LZ%3AVhRHFzbbwymcuTiRbNw%3D/partialRefunds
            method: POST
          reversePayment:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmZ%2BxHZ9nDpadu%2BBh7pRyJwnWeiSFTlqKvbrBxNm3HV0xann55pFjZ7qi4DNGZtx9zW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ%3AAwSoo6RsrBugbhEp0K8HxZkfVrqy4oVlW8FdQ7kIuZOH78i6pPLzArc%2BOtMdnU%3ArZ%3AVhRHFzbbwymcuTiRbNw%3D/partialSettlements
            method: POST
    sent-for-settlement-202-full:
      description: >
        Example of a sentForSettlement response. [Auto
        settlement](/products/payments/enable-features/auto-settlement) was
        enabled in the payment request. 


        Includes response information for: 
          - [fraud assessment](/products/payments/enable-features/fraud-assessment) 
          - [Worldpay Token creation](/products/payments/store-a-card)
          - [SCA Exemption](/products/payments/enable-features/sca-exemptions)
          - [Revenue Boost](/products/payments/openapi/payment/payment#payment/payment/t=response&c=202&path=&d=0/updatedpaymentinstrument)
          - [Partial Authorization](/products/payments/openapi/payment/payment#payment/payment/t=request&path=instruction&d=0/value/acceptpartialamount)
      value:
        outcome: sentForSettlement
        paymentId: payI-dUcet9fk4_X4qZU0hpU0
        transactionReference: Memory265-13/08/1876
        schemeReference: '060720116005060'
        issuer:
          authorizationCode: '675725'
        riskFactors:
          - risk: notChecked
            type: cvc
          - risk: notChecked
            detail: address
            type: avs
          - risk: notChecked
            detail: postcode
            type: avs
        fraud:
          outcome: lowRisk
          score: 44.6
        token:
          href: >-
            https://try.access.worldpay-bsh.securedataplatform.com/tokens/eyJrIjoxLCJkIjoiRVl3SDBtNnpEVmVTR3UzRUV3VEJEVDExTkxuVDVydXNiREdLR01hUXUwVT0ifQ
          tokenId: '9968110159504301628'
          tokenExpiryDateTime: '2024-04-11T15:59:23Z'
          cardNumber: 4000********1000
          cardHolderName: test
          cardExpiry:
            year: 2035
            month: 5
          bin: '400000'
          fundingType: debit
          schemeReference: '060720116005060'
          conflicts:
            conflictsExpiryDateTime: '2024-07-04T06:40:32.310316518Z'
            paymentInstrument:
              cardHolderName: John Snow
        paymentInstrument:
          type: card/plain+masked
          cardBin: '400000'
          lastFour: '1000'
          countryCode: GB
          expiryDate:
            year: 2035
            month: 5
          cardBrand: mastercard
          fundingType: debit
          category: consumer
          issuerName: BANK LIMITED
          paymentAccountReference: 3001DBT34Q41D6J7PFC5W0UACOT4C
        updatedPaymentInstrument:
          appliedNetworkToken: true
        amounts:
          requested: 1000
          totalAuthorized: 700
          currency: GBP
          partialAuthorization: true
        _links:
          self:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmUCGmlXGGNqJmZcIdZa%3Aufi8N9Y8uwrkGtx1suHsSFnXn2PMsm%3AcRBXHzZt3giUlFW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ2hKYh1GAhFAwfPvBamw%3AisDwI2AuXQ9KT%3AMt9SY%3AfYERqcZ58SBNT3Gkwn1j%2Bkd7LZ%3AVhRHFzbbwymcuTiRbNw%3D
        _actions:
          refundPayment:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmUCGmlXGGNqJmZcIdZa%3Aufi8N9Y8uwrkGtx1suHsSFnXn2PMsm%3AcRBXHzZt3giUlFW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ2hKYh1GAhFAwfPvBamw%3AisDwI2AuXQ9KT%3AMt9SY%3AfYERqcZ58SBNT3Gkwn1j%2Bkd7LZ%3AVhRHFzbbwymcuTiRbNw%3D/refunds
            method: POST
          partiallyRefundPayment:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmUCGmlXGGNqJmZcIdZa%3Aufi8N9Y8uwrkGtx1suHsSFnXn2PMsm%3AcRBXHzZt3giUlFW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ2hKYh1GAhFAwfPvBamw%3AisDwI2AuXQ9KT%3AMt9SY%3AfYERqcZ58SBNT3Gkwn1j%2Bkd7LZ%3AVhRHFzbbwymcuTiRbNw%3D/partialRefunds
            method: POST
          reversePayment:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmZ%2BxHZ9nDpadu%2BBh7pRyJwnWeiSFTlqKvbrBxNm3HV0xann55pFjZ7qi4DNGZtx9zW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ%3AAwSoo6RsrBugbhEp0K8HxZkfVrqy4oVlW8FdQ7kIuZOH78i6pPLzArc%2BOtMdnU%3ArZ%3AVhRHFzbbwymcuTiRbNw%3D/partialSettlements
            method: POST
    sent-for-reversal-202:
      value:
        outcome: sentForReversal
        _links:
          self:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3Amp3aEvr3BYtH3ZBei61fRGtglovAih6FUXj2880UCtZGZ21djyVQzY36sEFMZMvXsW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ6i4R8ak4j6oWbsrX5AP4ErD6p2VzRF0yzljcK%2BKWD8%2BEEBcQpn0%3ADcXCJRXfVD0ibZ%3AVhRHFzbbwymcuTiRbNw%3D
    3ds-challenged-201:
      description: >-
        As an additional fraud measure the issuer requests a [3DS
        challenge](../enable-3ds-authentication/web/#challenge--verification) to
        be performed
      value:
        outcome: 3dsChallenged
        transactionReference: Memory265-13/08/1876
        authentication:
          version: 2.1.0
        challenge:
          reference: 706hovL8DK1tIGGzQUV1
          url: https://centinelapistag.cardinalcommerce.com/V2/Cruise/StepUp
          jwt: >-
            eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJPcmdVbml0SWQiOiI2NjAzMDA3YWJlMjMxZTM1ZTNmNTRjODkiLCJPYmplY3RpZnlQYXlsb2FkIjpmYWxzZSwiaXNzIjoiNjYwMzAwN2ExNmRkOWE3ZTZhMDMzNDA3IiwiUmV0dXJuVXJsIjoiaHR0cDovL3BheW1lbnQuZXhhbXBsZS5jb20iLCJQYXlsb2FkIjoie1wiUGF5bG9hZFwiOlwiZXlKdFpYTnpZV2RsVkhsd1pTSTZJa05TWlhFaUxDSnRaWE56WVdkbFZtVnljMmx2YmlJNklqSXVNUzR3SWl3aWRHaHlaV1ZFVTFObGNuWmxjbFJ5WVc1elNVUWlPaUppTkRKbE5UWmpaaTAyWkRrMkxUUXpNek10T0dJMk5DMWlNbVU0TldZMFpURTFaVGtpTENKaFkzTlVjbUZ1YzBsRUlqb2laV1ZqWldZeE1ETXRNRE13TVMwMFpUbGtMVGsxTmpFdE56ZGlNbVkzTlRFMk5HUmhJaXdpWTJoaGJHeGxibWRsVjJsdVpHOTNVMmw2WlNJNklqQTBJbjBcIixcIkFDU1VybFwiOlwiaHR0cHM6XFwvXFwvMW1lcmNoYW50YWNzc3RhZy5jYXJkaW5hbGNvbW1lcmNlLmNvbVxcL01lcmNoYW50QUNTV2ViXFwvY3JlcS5qc3BcIixcIlRyYW5zYWN0aW9uSWRcIjpcIjcwNmhvdkw4REsxdElHR3pRVVYxXCJ9IiwiZXhwIjoxNzEyMzA2MDk0LCJpYXQiOjE3MTIzMDU0OTQsImp0aSI6IjE4YTIwYzNkLTZhZmMtNDA5My04NGEwLTQ2OGEyYTY5MTE0OCJ9.YEpOuTxnqrXRiHan-givWBd6FfTDJOfNg-h2dF2yA6A
          payload: >-
            eyJtZXNzYWdlVHlwZSI6IkNSZXEiLCJtZXNzYWdlVmVyc2lvbiI6IjIuMS4wIiwidGhyZWVEU1NlcnZlclRyYW5zSUQiOiJiNDJlNTZjZi02ZDk2LTQzMzMtOGI2NC1iMmU4NWY0ZTE1ZTkiLCJhY3NUcmFuc0lEIjoiZWVjZWYxMDMtMDMwMS00ZTlkLTk1NjEtNzdiMmY3NTE2NGRhIiwiY2hhbGxlbmdlV2luZG93U2l6ZSI6IjA0In0
        _actions:
          complete3dsChallenge:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoxLCJkIjoiZXlOaXNtU0lzQnVLTm5BQkt1WjEyMVFxeXg2bUZtb2hEcEpFeDdyYXZ3SDE3NFBpUTBsWUpwekptbW9hR3VVSyJ9/3dsChallenges
            method: POST
    authorized-3ds-frictionless-201:
      description: >
        Example of an authorized response following a 3DS authentication without
        a challenge (frictionless). Use the action `settlePayment` to complete
        the transaction

        * includes fraud, token and threeDS objects 
      value:
        outcome: authorized
        paymentId: payI-dUcet9fk4_X4qZU0hpU0
        transactionReference: Memory265-13/08/1876
        riskFactors:
          - risk: notChecked
            type: cvc
          - risk: notChecked
            detail: address
            type: avs
          - risk: notChecked
            detail: postcode
            type: avs
        fraud:
          outcome: lowRisk
          score: 44.6
        threeDS:
          outcome: authenticated
          issuerResponse: frictionless
          version: 2.2.0
          eci: '02'
          acsTransactionId: 559c8bd8-edfb-417a-9f98-99018596242d
          dsTransactionId: 220403a5-62f8-4df0-9418-abfa092775c9
          status: 'Y'
          challengePreference: noChallengeRequested
        token:
          href: >-
            https://try.access.worldpay-bsh.securedataplatform.com/tokens/eyJrIjoxLCJkIjoiRVl3SDBtNnpEVmVTR3UzRUV3VEJEVDExTkxuVDVydXNiREdLR01hUXUwVT0ifQ
          tokenId: '9968110159504301628'
          tokenExpiryDateTime: '2024-04-11T15:59:23Z'
          cardNumber: 4000********1000
          cardHolderName: test
          cardExpiry:
            year: 2035
            month: 5
          bin: '400000'
          fundingType: debit
          schemeReference: '060720116005060'
          conflicts:
            conflictsExpiryDateTime: '2024-07-04T06:40:32.310316518Z'
            paymentInstrument:
              cardHolderName: John Snow
        paymentInstrument:
          type: card/plain+masked
          cardBin: '400000'
          lastFour: '1000'
          countryCode: GB
          expiryDate:
            year: 2035
            month: 5
          cardBrand: mastercard
          fundingType: debit
          category: consumer
          issuerName: BANK LIMITED
          paymentAccountReference: 3001DBT34Q41D6J7PFC5W0UACOT4C
        _links:
          self:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmZ%2BxHZ9nDpadu%2BBh7pRyJwnWeiSFTlqKvbrBxNm3HV0xann55pFjZ7qi4DNGZtx9zW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ%3AAwSoo6RsrBugbhEp0K8HxZkfVrqy4oVlW8FdQ7kIuZOH78i6pPLzArc%2BOtMdnU%3ArZ%3AVhRHFzbbwymcuTiRbNw%3D
        _actions:
          cancelPayment:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmZ%2BxHZ9nDpadu%2BBh7pRyJwnWeiSFTlqKvbrBxNm3HV0xann55pFjZ7qi4DNGZtx9zW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ%3AAwSoo6RsrBugbhEp0K8HxZkfVrqy4oVlW8FdQ7kIuZOH78i6pPLzArc%2BOtMdnU%3ArZ%3AVhRHFzbbwymcuTiRbNw%3D/cancellations
            method: POST
          settlePayment:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmZ%2BxHZ9nDpadu%2BBh7pRyJwnWeiSFTlqKvbrBxNm3HV0xann55pFjZ7qi4DNGZtx9zW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ%3AAwSoo6RsrBugbhEp0K8HxZkfVrqy4oVlW8FdQ7kIuZOH78i6pPLzArc%2BOtMdnU%3ArZ%3AVhRHFzbbwymcuTiRbNw%3D/settlements
            method: POST
          partiallySettlePayment:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmZ%2BxHZ9nDpadu%2BBh7pRyJwnWeiSFTlqKvbrBxNm3HV0xann55pFjZ7qi4DNGZtx9zW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ%3AAwSoo6RsrBugbhEp0K8HxZkfVrqy4oVlW8FdQ7kIuZOH78i6pPLzArc%2BOtMdnU%3ArZ%3AVhRHFzbbwymcuTiRbNw%3D/partialSettlements
            method: POST
          reversePayment:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmZ%2BxHZ9nDpadu%2BBh7pRyJwnWeiSFTlqKvbrBxNm3HV0xann55pFjZ7qi4DNGZtx9zW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ%3AAwSoo6RsrBugbhEp0K8HxZkfVrqy4oVlW8FdQ7kIuZOH78i6pPLzArc%2BOtMdnU%3ArZ%3AVhRHFzbbwymcuTiRbNw%3D/reversals
            method: POST
    3ds-unavailable-201:
      description: >-
        3DS is unavailable when attempting authentication. If `/3dsChallenges`
        is called without completing the challenge this response may also be
        returned.
      value:
        transactionReference: 2d287869-0f31-4662-8c98-1abcea5f9247
        outcome: 3dsUnavailable
        authentication:
          eci: '07'
          version: 2.2.0
    3ds-authentication-failed-201:
      description: >-
        Authentication failed by the issuer as part of a frictionless flow or
        the challenge (identity check) was attempted but failed by the customer
      value:
        transactionReference: f71d7212-584f-421b-b977-a05e41ab5d0d
        outcome: 3dsAuthenticationFailed
        authentication:
          version: 2.1.0
          eci: '07'
          transactionId: 8ccd2246-ac18-4d25-8394-aec2b8eed92e
    sent-for-settlement-3ds-frictionless-202:
      description: >
        Example of a sentForSettlement response following a 3DS authentication
        without a challenge (frictionless)

        * auto settlement was enabled in the payments request

        * includes fraud, token and threeDS objects 
      value:
        outcome: sentForSettlement
        paymentId: payI-dUcet9fk4_X4qZU0hpU0
        transactionReference: Memory265-13/08/1876
        schemeReference: '060720116005060'
        issuer:
          authorizationCode: '675725'
        riskFactors:
          - risk: notChecked
            type: cvc
          - risk: notChecked
            detail: address
            type: avs
          - risk: notChecked
            detail: postcode
            type: avs
        fraud:
          outcome: lowRisk
          score: 44.6
        threeDS:
          outcome: authenticated
          issuerResponse: frictionless
          version: 2.2.0
          eci: '02'
          acsTransactionId: 559c8bd8-edfb-417a-9f98-99018596242d
          dsTransactionId: 220403a5-62f8-4df0-9418-abfa092775c9
          status: 'Y'
          challengePreference: noChallengeRequested
        token:
          href: >-
            https://try.access.worldpay-bsh.securedataplatform.com/tokens/eyJrIjoxLCJkIjoiRVl3SDBtNnpEVmVTR3UzRUV3VEJEVDExTkxuVDVydXNiREdLR01hUXUwVT0ifQ
          tokenId: '9968110159504301628'
          tokenExpiryDateTime: '2024-04-11T15:59:23Z'
          cardNumber: 4000********1000
          cardHolderName: test
          cardExpiry:
            year: 2035
            month: 5
          bin: '400000'
          fundingType: debit
          schemeReference: '060720116005060'
          conflicts:
            conflictsExpiryDateTime: '2024-07-04T06:40:32.310316518Z'
            paymentInstrument:
              cardHolderName: John Snow
        paymentInstrument:
          type: card/plain+masked
          cardBin: '400000'
          lastFour: '1000'
          countryCode: GB
          expiryDate:
            year: 2035
            month: 5
          cardBrand: mastercard
          fundingType: debit
          category: consumer
          issuerName: BANK LIMITED
          paymentAccountReference: 3001DBT34Q41D6J7PFC5W0UACOT4C
        _links:
          self:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmUCGmlXGGNqJmZcIdZa%3Aufi8N9Y8uwrkGtx1suHsSFnXn2PMsm%3AcRBXHzZt3giUlFW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ2hKYh1GAhFAwfPvBamw%3AisDwI2AuXQ9KT%3AMt9SY%3AfYERqcZ58SBNT3Gkwn1j%2Bkd7LZ%3AVhRHFzbbwymcuTiRbNw%3D
        _actions:
          refundPayment:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmUCGmlXGGNqJmZcIdZa%3Aufi8N9Y8uwrkGtx1suHsSFnXn2PMsm%3AcRBXHzZt3giUlFW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ2hKYh1GAhFAwfPvBamw%3AisDwI2AuXQ9KT%3AMt9SY%3AfYERqcZ58SBNT3Gkwn1j%2Bkd7LZ%3AVhRHFzbbwymcuTiRbNw%3D/refunds
            method: POST
          partiallyRefundPayment:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmUCGmlXGGNqJmZcIdZa%3Aufi8N9Y8uwrkGtx1suHsSFnXn2PMsm%3AcRBXHzZt3giUlFW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ2hKYh1GAhFAwfPvBamw%3AisDwI2AuXQ9KT%3AMt9SY%3AfYERqcZ58SBNT3Gkwn1j%2Bkd7LZ%3AVhRHFzbbwymcuTiRbNw%3D/partialRefunds
            method: POST
          reversePayment:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmZ%2BxHZ9nDpadu%2BBh7pRyJwnWeiSFTlqKvbrBxNm3HV0xann55pFjZ7qi4DNGZtx9zW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ%3AAwSoo6RsrBugbhEp0K8HxZkfVrqy4oVlW8FdQ7kIuZOH78i6pPLzArc%2BOtMdnU%3ArZ%3AVhRHFzbbwymcuTiRbNw%3D/partialSettlements
            method: POST
    authorized-3ds-challenged-201:
      description: >
        Example of a authorized response following a successful 3DS challenge,
        use the action `settlePayment` to complete the transaction

        * includes fraud, token and threeDS objects 
      value:
        outcome: authorized
        paymentId: payI-dUcet9fk4_X4qZU0hpU0
        transactionReference: Memory265-13/08/1876
        riskFactors:
          - risk: notChecked
            type: cvc
          - risk: notChecked
            detail: address
            type: avs
          - risk: notChecked
            detail: postcode
            type: avs
        fraud:
          outcome: lowRisk
          score: 44.6
        threeDS:
          outcome: authenticated
          issuerResponse: challenged
          version: 2.2.0
          eci: '05'
          acsTransactionId: 559c8bd8-edfb-417a-9f98-99018596242d
          dsTransactionId: 220403a5-62f8-4df0-9418-abfa092775c9
          status: 'Y'
          challengePreference: noPreference
        token:
          href: >-
            https://try.access.worldpay-bsh.securedataplatform.com/tokens/eyJrIjoxLCJkIjoiRVl3SDBtNnpEVmVTR3UzRUV3VEJEVDExTkxuVDVydXNiREdLR01hUXUwVT0ifQ
          tokenId: '9968110159504301628'
          tokenExpiryDateTime: '2024-04-11T15:59:23Z'
          cardNumber: 4000********1000
          cardHolderName: test
          cardExpiry:
            year: 2035
            month: 5
          bin: '400000'
          fundingType: debit
          schemeReference: '060720116005060'
          conflicts:
            conflictsExpiryDateTime: '2024-07-04T06:40:32.310316518Z'
            paymentInstrument:
              cardHolderName: John Snow
        paymentInstrument:
          type: card/plain+masked
          cardBin: '400000'
          lastFour: '1000'
          countryCode: GB
          expiryDate:
            year: 2035
            month: 5
          cardBrand: mastercard
          fundingType: debit
          category: consumer
          issuerName: BANK LIMITED
          paymentAccountReference: 3001DBT34Q41D6J7PFC5W0UACOT4C
        _links:
          self:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmZ%2BxHZ9nDpadu%2BBh7pRyJwnWeiSFTlqKvbrBxNm3HV0xann55pFjZ7qi4DNGZtx9zW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ%3AAwSoo6RsrBugbhEp0K8HxZkfVrqy4oVlW8FdQ7kIuZOH78i6pPLzArc%2BOtMdnU%3ArZ%3AVhRHFzbbwymcuTiRbNw%3D
        _actions:
          cancelPayment:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmZ%2BxHZ9nDpadu%2BBh7pRyJwnWeiSFTlqKvbrBxNm3HV0xann55pFjZ7qi4DNGZtx9zW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ%3AAwSoo6RsrBugbhEp0K8HxZkfVrqy4oVlW8FdQ7kIuZOH78i6pPLzArc%2BOtMdnU%3ArZ%3AVhRHFzbbwymcuTiRbNw%3D/cancellations
            method: POST
          settlePayment:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmZ%2BxHZ9nDpadu%2BBh7pRyJwnWeiSFTlqKvbrBxNm3HV0xann55pFjZ7qi4DNGZtx9zW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ%3AAwSoo6RsrBugbhEp0K8HxZkfVrqy4oVlW8FdQ7kIuZOH78i6pPLzArc%2BOtMdnU%3ArZ%3AVhRHFzbbwymcuTiRbNw%3D/settlements
            method: POST
          partiallySettlePayment:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmZ%2BxHZ9nDpadu%2BBh7pRyJwnWeiSFTlqKvbrBxNm3HV0xann55pFjZ7qi4DNGZtx9zW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ%3AAwSoo6RsrBugbhEp0K8HxZkfVrqy4oVlW8FdQ7kIuZOH78i6pPLzArc%2BOtMdnU%3ArZ%3AVhRHFzbbwymcuTiRbNw%3D/partialSettlements
            method: POST
          reversePayment:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmZ%2BxHZ9nDpadu%2BBh7pRyJwnWeiSFTlqKvbrBxNm3HV0xann55pFjZ7qi4DNGZtx9zW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ%3AAwSoo6RsrBugbhEp0K8HxZkfVrqy4oVlW8FdQ7kIuZOH78i6pPLzArc%2BOtMdnU%3ArZ%3AVhRHFzbbwymcuTiRbNw%3D/reversals
            method: POST
    sent-for-settlement-3ds-challenged-202:
      description: >
        Example of a sentForSettlement response following a successful 3DS
        challenge

        * auto settlement was enabled in the payments request

        * includes fraud, token and threeDS objects 
      value:
        outcome: sentForSettlement
        paymentId: payI-dUcet9fk4_X4qZU0hpU0
        transactionReference: Memory265-13/08/1876
        schemeReference: '060720116005060'
        issuer:
          authorizationCode: '675725'
        riskFactors:
          - risk: notChecked
            type: cvc
          - risk: notChecked
            detail: address
            type: avs
          - risk: notChecked
            detail: postcode
            type: avs
        fraud:
          outcome: lowRisk
          score: 44.6
        threeDS:
          outcome: authenticated
          issuerResponse: challenged
          version: 2.2.0
          eci: '05'
          acsTransactionId: 559c8bd8-edfb-417a-9f98-99018596242d
          dsTransactionId: 220403a5-62f8-4df0-9418-abfa092775c9
          status: 'Y'
          challengePreference: noPreference
        token:
          href: >-
            https://try.access.worldpay-bsh.securedataplatform.com/tokens/eyJrIjoxLCJkIjoiRVl3SDBtNnpEVmVTR3UzRUV3VEJEVDExTkxuVDVydXNiREdLR01hUXUwVT0ifQ
          tokenId: '9968110159504301628'
          tokenExpiryDateTime: '2024-04-11T15:59:23Z'
          cardNumber: 4000********1000
          cardHolderName: test
          cardExpiry:
            year: 2035
            month: 5
          bin: '400000'
          fundingType: debit
          schemeReference: '060720116005060'
          conflicts:
            conflictsExpiryDateTime: '2024-07-04T06:40:32.310316518Z'
            paymentInstrument:
              cardHolderName: John Snow
        paymentInstrument:
          type: card/plain+masked
          cardBin: '400000'
          lastFour: '1000'
          countryCode: GB
          expiryDate:
            year: 2035
            month: 5
          cardBrand: mastercard
          fundingType: debit
          category: consumer
          issuerName: BANK LIMITED
          paymentAccountReference: 3001DBT34Q41D6J7PFC5W0UACOT4C
        _links:
          self:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmUCGmlXGGNqJmZcIdZa%3Aufi8N9Y8uwrkGtx1suHsSFnXn2PMsm%3AcRBXHzZt3giUlFW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ2hKYh1GAhFAwfPvBamw%3AisDwI2AuXQ9KT%3AMt9SY%3AfYERqcZ58SBNT3Gkwn1j%2Bkd7LZ%3AVhRHFzbbwymcuTiRbNw%3D
        _actions:
          refundPayment:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmUCGmlXGGNqJmZcIdZa%3Aufi8N9Y8uwrkGtx1suHsSFnXn2PMsm%3AcRBXHzZt3giUlFW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ2hKYh1GAhFAwfPvBamw%3AisDwI2AuXQ9KT%3AMt9SY%3AfYERqcZ58SBNT3Gkwn1j%2Bkd7LZ%3AVhRHFzbbwymcuTiRbNw%3D/refunds
            method: POST
          partiallyRefundPayment:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmUCGmlXGGNqJmZcIdZa%3Aufi8N9Y8uwrkGtx1suHsSFnXn2PMsm%3AcRBXHzZt3giUlFW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ2hKYh1GAhFAwfPvBamw%3AisDwI2AuXQ9KT%3AMt9SY%3AfYERqcZ58SBNT3Gkwn1j%2Bkd7LZ%3AVhRHFzbbwymcuTiRbNw%3D/partialRefunds
            method: POST
          reversePayment:
            href: >-
              https://try.access.worldpay-bsh.securedataplatform.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmZ%2BxHZ9nDpadu%2BBh7pRyJwnWeiSFTlqKvbrBxNm3HV0xann55pFjZ7qi4DNGZtx9zW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ%3AAwSoo6RsrBugbhEp0K8HxZkfVrqy4oVlW8FdQ7kIuZOH78i6pPLzArc%2BOtMdnU%3ArZ%3AVhRHFzbbwymcuTiRbNw%3D/partialSettlements
            method: POST
