openapi: 3.0.1
info:
  title: APM API
  description: |2-
     __Authentication__
        Set your headers
    ```
        Authorization: {your_credentials}
        Content-Type: application/json
        WP-Api-Version: 2024-07-01
    ```
        Replace `{your_credentials}` with your base64-encoded Basic Auth username and password given to you by your Implementation Manager.
        <br><br>
      You **must** use the `Authorization` header for any request you send to our Account APIs, unless you are using client certificate [authenticating with SSL/TLS](/products/access/reference/mtls.md). <br /><br />   __DNS Whitelisting__

        Whitelist the following URLs:
        * `https://try.access.worldpay.com/`
        * `https://access.worldpay.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.
     
  license:
    name: Worldpay
    url: developers.worldpay.com/license
  version: '2024-07-01'
  x-logo:
    url: worldpay-logo.svg
servers:
  - description: Try
    url: https://try.access.worldpay.com
  - description: Live
    url: https://access.worldpay.com
security:
  - BasicAuth: []
paths:
  /apmPayments:
    post:
      description: Perform a sale.
      operationId: payment
      parameters:
        - description: The content type of the request body.
          in: header
          name: Content-Type
          required: true
          schema:
            type: string
            enum:
              - application/json
        - description: The API version.
          in: header
          name: WP-Api-Version
          required: true
          schema:
            type: string
            enum:
              - '2024-07-01'
      requestBody:
        content:
          application/json:
            examples:
              PayPal:
                $ref: '#/components/examples/payment-paypal'
              SEPA Guest Checkout:
                $ref: '#/components/examples/payment-sepa-onetime'
              SEPA Recurring:
                $ref: '#/components/examples/payment-sepa-recurring'
              SEPA Token:
                $ref: '#/components/examples/payment-sepa-token'
            schema:
              $ref: '#/components/schemas/ApmPaymentRequestV2'
        required: true
      responses:
        '201':
          content:
            application/json:
              examples:
                PayPal redirect:
                  $ref: '#/components/examples/payment-201'
                PayPal SDK flow:
                  $ref: '#/components/examples/payment-paypal-sdk-201'
                SEPA successful:
                  $ref: '#/components/examples/payment-sepa'
              schema:
                $ref: '#/components/schemas/ApmPaymentResourceWithRedirectV2'
          description: Request successful
        '400':
          content:
            application/json:
              examples:
                Example:
                  $ref: '#/components/examples/response-400'
              schema:
                $ref: '#/components/schemas/AccessApiValidationErrorResponse'
          description: Bad request.
        '401':
          content:
            application/json:
              examples:
                Example:
                  $ref: '#/components/examples/response-401'
              schema:
                $ref: '#/components/schemas/AccessApiErrorResponse'
          description: >-
            Client is not authorized due to missing or invalid Authorization
            header.
        '500':
          content:
            application/json:
              examples:
                Example:
                  $ref: '#/components/examples/response-500'
              schema:
                $ref: '#/components/schemas/AccessApiErrorResponse'
          description: A problem occurred processing the request on our side.
      summary: Create an APM payment
  /apmPayments/status:
    get:
      operationId: status
      responses:
        '200':
          content:
            '*/*':
              example: OK - 2022-05-16T10:50:55.444486
              schema:
                type: string
          description: The status of the service is OK
      summary: Used to check whether the service is up
      tags:
        - Operational
  /apmPayments/{paymentId}:
    get:
      description: >-
        Lookup the state of a payment, including the available action that can
        be performed.
      operationId: query
      parameters:
        - description: The identifier of the payment resource.
          in: path
          name: paymentId
          required: true
          schema:
            type: string
        - description: The API version
          in: header
          name: WP-Api-Version
          required: true
          schema:
            type: string
            enum:
              - '2024-07-01'
      responses:
        '200':
          content:
            application/json:
              examples:
                authorized:
                  $ref: '#/components/examples/query-202-authorized'
                pending:
                  $ref: '#/components/examples/query-202-pending'
                sentForRefund:
                  $ref: '#/components/examples/query-202-sentForRefund'
                sentForSettlement:
                  $ref: '#/components/examples/query-202-sentForSettlement'
              schema:
                $ref: '#/components/schemas/ApmPaymentResourceQuery'
          description: Request successful
        '400':
          content:
            application/json:
              examples:
                Example:
                  $ref: '#/components/examples/response-400'
              schema:
                $ref: '#/components/schemas/AccessApiValidationErrorResponse'
          description: Bad request.
        '401':
          content:
            application/json:
              examples:
                Example:
                  $ref: '#/components/examples/response-401'
              schema:
                $ref: '#/components/schemas/AccessApiErrorResponse'
          description: >-
            Client is not authorized due to missing or invalid Authorization.
            header.
        '404':
          content:
            application/json:
              examples:
                Example:
                  $ref: '#/components/examples/response-404'
              schema:
                $ref: '#/components/schemas/AccessApiValidationErrorResponse'
          description: Payment resource not found.
        '500':
          content:
            application/json:
              examples:
                Example:
                  $ref: '#/components/examples/response-500'
              schema:
                $ref: '#/components/schemas/AccessApiErrorResponse'
          description: A problem occurred processing the request on our side.
      summary: Get the last event for an APM payment
      tags:
        - Payment Lifecycle
  /apmPayments/{paymentId}/confirmations:
    post:
      description: Create a confirm payment request for smart button functionality.
      operationId: confirmPaymentV2_1
      parameters:
        - description: The identifier of the payment resource.
          in: path
          name: paymentId
          required: true
          schema:
            type: string
        - description: The API version
          in: header
          name: WP-Api-Version
          required: true
          schema:
            type: string
            enum:
              - '2024-07-01'
      responses:
        '201':
          content:
            application/json:
              examples:
                Full example:
                  $ref: '#/components/examples/confirm-payment-201'
              schema:
                $ref: '#/components/schemas/ApmPaymentResourceNoActions'
          description: Request successful
        '400':
          content:
            application/json:
              examples:
                Example:
                  $ref: '#/components/examples/response-400'
              schema:
                $ref: '#/components/schemas/AccessApiValidationErrorResponse'
          description: Bad request.
        '401':
          content:
            application/json:
              examples:
                Example:
                  $ref: '#/components/examples/response-401'
              schema:
                $ref: '#/components/schemas/AccessApiErrorResponse'
          description: >-
            Client is not authorized due to missing or invalid Authorization
            header.
        '404':
          content:
            application/json:
              examples:
                Example:
                  $ref: '#/components/examples/response-404'
              schema:
                $ref: '#/components/schemas/AccessApiValidationErrorResponse'
          description: Payment resource not found.
        '500':
          content:
            application/json:
              examples:
                Example:
                  $ref: '#/components/examples/response-500'
              schema:
                $ref: '#/components/schemas/AccessApiErrorResponse'
          description: A problem occurred processing the request on our side.
      summary: Confirm Payment
      tags:
        - Payment Lifecycle
  /apmPayments/{paymentId}/reversals:
    post:
      description: Perform a reversal on the funds taken from a sale.
      operationId: reverse
      parameters:
        - description: The identifier of the payment resource.
          in: path
          name: paymentId
          required: true
          schema:
            type: string
        - description: The content type of the request body.
          in: header
          name: Content-Type
          required: true
          schema:
            type: string
            enum:
              - application/json
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PartialReversal'
        required: true
      responses:
        '202':
          content:
            application/json:
              examples:
                Example:
                  $ref: '#/components/examples/reverse-202'
              schema:
                $ref: '#/components/schemas/ApmPaymentResourceNoActions'
          description: OK
        '400':
          content:
            application/json:
              examples:
                Example:
                  $ref: '#/components/examples/response-400'
              schema:
                $ref: '#/components/schemas/AccessApiValidationErrorResponse'
          description: Bad request.
        '401':
          content:
            application/json:
              examples:
                Example:
                  $ref: '#/components/examples/response-401'
              schema:
                $ref: '#/components/schemas/AccessApiErrorResponse'
          description: >-
            Client is not authorized due to missing or invalid Authorization
            header.
        '404':
          content:
            application/json:
              examples:
                Example:
                  $ref: '#/components/examples/response-404'
              schema:
                $ref: '#/components/schemas/AccessApiValidationErrorResponse'
          description: Payment resource not found.
        '500':
          content:
            application/json:
              examples:
                Example:
                  $ref: '#/components/examples/response-500'
              schema:
                $ref: '#/components/schemas/AccessApiErrorResponse'
          description: A problem occurred processing the request on our side.
      summary: Reverse an APM payment
      tags:
        - Payment Lifecycle
  /apmPayments/{paymentId}/partialReversals:
    post:
      description: Perform a partial reversal on the funds taken from a sale.
      operationId: partialReverseV2
      parameters:
        - description: The identifier of the payment resource.
          in: path
          name: paymentId
          required: true
          schema:
            type: string
        - description: The content type of the request body.
          in: header
          name: Content-Type
          required: true
          schema:
            type: string
            enum:
              - application/json
        - description: The API version
          in: header
          name: WP-Api-Version
          required: true
          schema:
            type: string
            enum:
              - '2024-07-01'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PartialReversal'
        required: true
      responses:
        '202':
          content:
            application/json:
              examples:
                Full example:
                  $ref: '#/components/examples/reverse-202'
              schema:
                $ref: '#/components/schemas/ApmPaymentResourceNoActions'
          description: Request successful
        '400':
          content:
            application/json:
              examples:
                Example:
                  $ref: '#/components/examples/response-400'
              schema:
                $ref: '#/components/schemas/AccessApiValidationErrorResponse'
          description: Bad request.
        '401':
          content:
            application/json:
              examples:
                Example:
                  $ref: '#/components/examples/response-401'
              schema:
                $ref: '#/components/schemas/AccessApiErrorResponse'
          description: >-
            Client is not authorized due to missing or invalid Authorization
            header.
        '404':
          content:
            application/json:
              examples:
                Example:
                  $ref: '#/components/examples/response-404'
              schema:
                $ref: '#/components/schemas/AccessApiValidationErrorResponse'
          description: Payment resource not found.
        '500':
          content:
            application/json:
              examples:
                Example:
                  $ref: '#/components/examples/response-500'
              schema:
                $ref: '#/components/schemas/AccessApiErrorResponse'
          description: A problem occurred processing the request on our side.
      summary: Partial reverse an APM payment
      tags:
        - Payment Lifecycle
  /apmPayments/{paymentId}/settlements:
    post:
      operationId: settle
      parameters:
        - in: path
          name: paymentId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: string
        required: true
      responses:
        '202':
          content:
            application/json:
              examples:
                Example:
                  $ref: '#/components/examples/settlement-202'
              schema:
                $ref: '#/components/schemas/ApmPaymentResourceNoActions'
          description: OK
        '400':
          content:
            application/json:
              examples:
                Example:
                  $ref: '#/components/examples/response-400'
              schema:
                $ref: '#/components/schemas/AccessApiValidationErrorResponse'
          description: Bad request.
        '401':
          content:
            application/json:
              examples:
                Example:
                  $ref: '#/components/examples/response-401'
              schema:
                $ref: '#/components/schemas/AccessApiErrorResponse'
          description: >-
            Client is not authorized due to missing or invalid Authorization
            header.
        '404':
          content:
            application/json:
              examples:
                Example:
                  $ref: '#/components/examples/response-404'
              schema:
                $ref: '#/components/schemas/AccessApiValidationErrorResponse'
          description: Payment resource not found.
        '500':
          content:
            application/json:
              examples:
                Example:
                  $ref: '#/components/examples/response-500'
              schema:
                $ref: '#/components/schemas/AccessApiErrorResponse'
          description: A problem occurred processing the request on our side.
      summary: Settle an APM payment
      tags:
        - Payment Lifecycle
  /apmPayments/{paymentId}/partialSettlements:
    post:
      description: >-
        Perform a settlement on authorized funds. Not all APMs support this,
        please check the links returned from querying a payment.
      operationId: settleV2
      parameters:
        - description: The identifier of the payment resource.
          in: path
          name: paymentId
          required: true
          schema:
            type: string
        - description: The content type of the request body
          in: header
          name: Content-Type
          required: true
          schema:
            type: string
            enum:
              - application/json
        - description: The API version
          in: header
          name: WP-Api-Version
          required: true
          schema:
            type: string
            enum:
              - '2024-07-01'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PartialSettlement'
        required: true
      responses:
        '202':
          content:
            application/json:
              examples:
                Full example:
                  $ref: '#/components/examples/settlement-202'
              schema:
                $ref: '#/components/schemas/ApmPaymentResourceNoActions'
          description: Request successful
        '400':
          content:
            application/json:
              examples:
                Example:
                  $ref: '#/components/examples/response-400'
              schema:
                $ref: '#/components/schemas/AccessApiValidationErrorResponse'
          description: Bad request.
        '401':
          content:
            application/json:
              examples:
                Example:
                  $ref: '#/components/examples/response-401'
              schema:
                $ref: '#/components/schemas/AccessApiErrorResponse'
          description: >-
            Client is not authorized due to missing or invalid Authorization
            header.
        '404':
          content:
            application/json:
              examples:
                Example:
                  $ref: '#/components/examples/response-404'
              schema:
                $ref: '#/components/schemas/AccessApiValidationErrorResponse'
          description: Payment resource not found.
        '500':
          content:
            application/json:
              examples:
                Example:
                  $ref: '#/components/examples/response-500'
              schema:
                $ref: '#/components/schemas/AccessApiErrorResponse'
          description: A problem occurred processing the request on our side.
      summary: Partial settle an APM payment
      tags:
        - Payment Lifecycle
components:
  schemas:
    AccessApiErrorResponse:
      type: object
      properties:
        errorName:
          type: string
        message:
          type: string
    AccessApiValidationError:
      type: object
    AccessApiValidationErrorResponse:
      type: object
      properties:
        errorName:
          type: string
        message:
          type: string
        validationErrors:
          type: array
          items:
            $ref: '#/components/schemas/AccessApiValidationError'
    Actions:
      type: object
      properties:
        reverse:
          $ref: '#/components/schemas/ActionLinkV2'
        partialReverse:
          $ref: '#/components/schemas/ActionLinkV2'
        settle:
          $ref: '#/components/schemas/ActionLinkV2'
        partialSettle:
          $ref: '#/components/schemas/ActionLinkV2'
        confirmPayment:
          $ref: '#/components/schemas/ActionLinkV2'
    ActionsQuery:
      type: object
      properties:
        reverse:
          $ref: '#/components/schemas/ActionLinkV2'
        partialReverse:
          $ref: '#/components/schemas/ActionLinkV2'
        settle:
          $ref: '#/components/schemas/ActionLinkV2'
        partialSettle:
          $ref: '#/components/schemas/ActionLinkV2'
    ApmPaymentRequestV2:
      type: object
      properties:
        transactionReference:
          type: string
          maxLength: 64
          minLength: 1
          pattern: ^[a-zA-Z0-9\-_/!@#$%()*=.:;?\[\]{}~+]*$
        merchant:
          $ref: '#/components/schemas/MerchantV2'
        instruction:
          $ref: '#/components/schemas/InstructionV2'
      required:
        - instruction
        - merchant
        - transactionReference
    ApmPaymentResourceQuery:
      type: object
      description: A payment resource.
      properties:
        paymentId:
          type: string
          description: The identifier of the payment resource.
        lastEvent:
          type: string
          enum:
            - authorized
            - cancelFailed
            - cancelled
            - cancelRequested
            - sentForSettlement
            - sentForAuthorisation
            - settlementFailed
            - chargebackReversed
            - chargedBack
            - disputeExpired
            - disputeFundsHeld
            - disputeFundsReleased
            - disputeReserveReleased
            - error
            - expired
            - disputeInformationRequested
            - disputInformationSupplied
            - miscellaneous
            - pending
            - refunded
            - refundExpired
            - refundFailed
            - refundReversed
            - refused
            - refusedByIssuer
            - sentForRefund
            - settled
            - settlementReversed
            - cancelledByCustomer
            - signedFormReceived
            - unknown
            - manuallyAmended
        _links:
          $ref: '#/components/schemas/Links'
        _actions:
          $ref: '#/components/schemas/ActionsQuery'
    ApmPaymentResourceNoActions:
      type: object
      description: A payment resource.
      properties:
        paymentId:
          type: string
          description: The identifier of the payment resource.
        lastEvent:
          type: string
          enum:
            - authorized
            - cancelFailed
            - cancelled
            - cancelRequested
            - sentForSettlement
            - sentForAuthorisation
            - settlementFailed
            - chargebackReversed
            - chargedBack
            - disputeExpired
            - disputeFundsHeld
            - disputeFundsReleased
            - disputeReserveReleased
            - error
            - expired
            - disputeInformationRequested
            - disputInformationSupplied
            - miscellaneous
            - pending
            - refunded
            - refundExpired
            - refundFailed
            - refundReversed
            - refused
            - refusedByIssuer
            - sentForRefund
            - settled
            - settlementReversed
            - cancelledByCustomer
            - signedFormReceived
            - unknown
            - manuallyAmended
        _links:
          $ref: '#/components/schemas/Links'
        _actions:
          type: object
    ApmPaymentResourceWithRedirectV2:
      type: object
      description: >-
        A payment resource, with a URL for your customer to continue the
        payment.
      properties:
        paymentId:
          type: string
          description: The identifier of the payment resource.
        lastEvent:
          type: string
          enum:
            - authorized
            - cancelFailed
            - cancelled
            - cancelRequested
            - sentForSettlement
            - sentForAuthorisation
            - settlementFailed
            - chargebackReversed
            - chargedBack
            - disputeExpired
            - disputeFundsHeld
            - disputeFundsReleased
            - disputeReserveReleased
            - error
            - expired
            - disputeInformationRequested
            - disputInformationSupplied
            - miscellaneous
            - pending
            - refunded
            - refundExpired
            - refundFailed
            - refundReversed
            - refused
            - refusedByIssuer
            - sentForRefund
            - settled
            - settlementReversed
            - cancelledByCustomer
            - signedFormReceived
            - unknown
            - manuallyAmended
        _links:
          $ref: '#/components/schemas/Links'
        _actions:
          $ref: '#/components/schemas/Actions'
        redirect:
          type: string
          description: The URL to redirect your customer to.
        paymentInstrument:
          $ref: '#/components/schemas/PaymentInstrumentResponse'
    Customer:
      type: object
      properties:
        email:
          type: string
          description: Your customer's e-mail address.
          example: moriarty@example.com
    InstructionV2:
      type: object
      description: Object that contains the payment type and details.
      discriminator:
        mapping:
          paypal: '#/components/schemas/PayPalInstruction'
          sepa: '#/components/schemas/SepaInstruction'
        propertyName: method
      oneOf:
        - $ref: '#/components/schemas/PayPalInstruction'
        - $ref: '#/components/schemas/SepaInstruction'
      properties:
        method:
          type: string
          description: >-
            Identifies the type of payment. More payment types are available on
            version 2023-06-01.
      required:
        - method
    ActionLinkV2:
      type: object
      description: Link to resources to reverse operation.
      properties:
        href:
          type: string
        method:
          type: string
    Links:
      type: object
      description: Links to resources related to the request.
      properties:
        self:
          $ref: '#/components/schemas/SelfLink'
    Settlement:
      description: >-
        Indicates whether the transaction should be sent for settlement now =
        `true`, or later = `false` at a time of your choosing.
      type: object
      properties:
        auto:
          type: boolean
          default: false
    MerchantV2:
      type: object
      properties:
        entity:
          type: string
          description: >-
            Used to route the request in Access Worldpay, created as part of
            on-boarding.
          example: default
          maxLength: 32
          minLength: 0
          pattern: ^([a-zA-Z0-9]*)$
      required:
        - entity
    PayPalInstruction:
      type: object
      allOf:
        - $ref: '#/components/schemas/InstructionV2'
        - type: object
      properties:
        method:
          type: string
          description: The type of instrument.
          enum:
            - paypal
        value:
          $ref: '#/components/schemas/Value'
        narrative:
          $ref: '#/components/schemas/NarrativeBase'
        paymentInstrument:
          $ref: '#/components/schemas/PayPalInstrumentV2'
        settlement:
          $ref: '#/components/schemas/Settlement'
        resultUrls:
          $ref: '#/components/schemas/ResultUrls'
        shipping:
          $ref: '#/components/schemas/Shipping'
        customer:
          $ref: '#/components/schemas/Customer'
      required:
        - value
        - narrative
        - paymentInstrument
    SepaInstruction:
      type: object
      allOf:
        - $ref: '#/components/schemas/InstructionV2'
        - type: object
      properties:
        method:
          type: string
          description: The type of instrument.
          enum:
            - sepa
        value:
          $ref: '#/components/schemas/Value'
        narrative:
          $ref: '#/components/schemas/NarrativeBase'
        paymentInstrument:
          $ref: '#/components/schemas/SepaInstrumentV2'
        customer:
          $ref: '#/components/schemas/Customer'
        customerAgreement:
          $ref: '#/components/schemas/CustomerAgreement'
      required:
        - value
        - narrative
        - paymentInstrument
        - settlement
        - resultUrls
        - customer
        - customerAgreement
    PayPalBillingAddressV2:
      type: object
      properties:
        address1:
          type: string
          maxLength: 80
          minLength: 0
        address2:
          type: string
          maxLength: 80
          minLength: 0
        address3:
          type: string
          maxLength: 80
          minLength: 0
        city:
          type: string
          description: Only optional for country code `SG` (Singapore).
          maxLength: 50
          minLength: 0
        countryCode:
          type: string
          description: >-
            The supported [ISO 3166-1 alpha-2 country
            codes](/products/access/reference/useful-tables#iso-country-codes).
          enum:
            - AD
            - AE
            - AF
            - AG
            - AI
            - AL
            - AM
            - AN
            - AO
            - AQ
            - AR
            - AS
            - AT
            - AU
            - AW
            - AX
            - AZ
            - BA
            - BB
            - BD
            - BE
            - BF
            - BG
            - BH
            - BI
            - BJ
            - BL
            - BM
            - BN
            - BO
            - BQ
            - BR
            - BS
            - BT
            - BV
            - BW
            - BY
            - BZ
            - CA
            - CC
            - CD
            - CF
            - CG
            - CH
            - CI
            - CK
            - CL
            - CM
            - CN
            - CO
            - CR
            - CU
            - CV
            - CW
            - CX
            - CY
            - CZ
            - DE
            - DJ
            - DK
            - DM
            - DO
            - DZ
            - EC
            - EE
            - EG
            - EH
            - ER
            - ES
            - ET
            - FI
            - FJ
            - FK
            - FM
            - FO
            - FR
            - GA
            - GB
            - GD
            - GE
            - GF
            - GG
            - GH
            - GI
            - GL
            - GM
            - GN
            - GP
            - GQ
            - GR
            - GS
            - GT
            - GU
            - GW
            - GY
            - HK
            - HM
            - HN
            - HR
            - HT
            - HU
            - ID
            - IE
            - IL
            - IM
            - IN
            - IO
            - IQ
            - IR
            - IS
            - IT
            - JE
            - JM
            - JO
            - JP
            - KE
            - KG
            - KH
            - KI
            - KM
            - KN
            - KP
            - KR
            - KW
            - KY
            - KZ
            - LA
            - LB
            - LC
            - LI
            - LK
            - LR
            - LS
            - LT
            - LU
            - LV
            - LY
            - MA
            - MC
            - MD
            - ME
            - MF
            - MG
            - MH
            - MK
            - ML
            - MM
            - MN
            - MO
            - MP
            - MQ
            - MR
            - MS
            - MT
            - MU
            - MV
            - MW
            - MX
            - MY
            - MZ
            - NA
            - NC
            - NE
            - NF
            - NG
            - NI
            - NL
            - 'NO'
            - NP
            - NR
            - NU
            - NZ
            - OM
            - PA
            - PE
            - PF
            - PG
            - PH
            - PK
            - PL
            - PM
            - PN
            - PR
            - PS
            - PT
            - PW
            - PY
            - QA
            - RE
            - RO
            - RS
            - RU
            - RW
            - SA
            - SB
            - SC
            - SD
            - SE
            - SG
            - SH
            - SI
            - SJ
            - SK
            - SL
            - SM
            - SN
            - SO
            - SR
            - SS
            - ST
            - SV
            - SX
            - SY
            - SZ
            - TC
            - TD
            - TF
            - TG
            - TH
            - TJ
            - TK
            - TL
            - TM
            - TN
            - TO
            - TR
            - TT
            - TV
            - TW
            - TZ
            - UA
            - UG
            - UM
            - US
            - UY
            - UZ
            - VA
            - VC
            - VE
            - VG
            - VI
            - VN
            - VU
            - WF
            - WS
            - YE
            - YT
            - ZA
            - ZM
            - ZW
        postalCode:
          type: string
          description: Only optional for country code IE (Ireland).
          maxLength: 15
          minLength: 0
        state:
          type: string
          maxLength: 30
          minLength: 0
    NarrativeBase:
      type: object
      properties:
        line1:
          type: string
          description: >-
            The description shown on your customer's bank statement for the
            payment.
          example: Joe Plumbing Ltd
          maxLength: 24
          minLength: 1
          pattern: ^[a-zA-Z0-9\\-\\.\\,\\ ]*$
      required:
        - line1
    PartialReversal:
      type: object
      description: Partial reversal request
      properties:
        reference:
          type: string
          maxLength: 128
          minLength: 0
          pattern: ^[a-zA-Z0-9\\-]*$
        value:
          $ref: '#/components/schemas/Value'
      required:
        - value
    PartialSettlement:
      type: object
      description: Partial settlement request
      properties:
        reference:
          type: string
          maxLength: 128
          minLength: 0
          pattern: ^[a-zA-Z0-9\\-]*$
        value:
          $ref: '#/components/schemas/Value'
      required:
        - value
    PaymentInstrumentResponse:
      type: object
      properties:
        method:
          type: string
        type:
          type: string
        sdkReference:
          description: SDK token used for PayPal Smart Button flow
          type: string
    PayPalInstrumentV2:
      type: object
      properties:
        type:
          type: string
          description: The type of instruction.
          enum:
            - direct
        billingAddress:
          $ref: '#/components/schemas/PayPalBillingAddressV2'
      required:
        - type
    SepaInstrumentV2:
      type: object
      properties:
        type:
          type: string
          description: The type of instruction.
          enum:
            - direct
            - token
        iban:
          type: string
          description: IBAN (International Bank Account Number).
        accountHolderName:
          type: string
          description: Account holder name.
        language:
          type: string
          description: Your customer's language.
          enum:
            - de
            - en
            - es
            - fr
            - it
            - nl
        billingAddress:
          $ref: '#/components/schemas/AddressV2'
      required:
        - type
        - iban
        - accountHolderName,
        - billingAddress
    SepaTokenInstrumentV2:
      type: object
      properties:
        type:
          type: string
          description: The type of instruction.
          enum:
            - token
        tokenId:
          type: string
          description: Token id.
      required:
        - type
        - tokenId
    ResultUrls:
      type: object
      properties:
        cancel:
          type: string
          description: >-
            The URL where your customer is redirected after a cancelled payment
            outcome.
          example: https://worldpay.com/cancel
        failure:
          type: string
          description: >-
            The URL where your customer is redirected after a failed payment
            outcome.
          example: https://worldpay.com/failure
        pending:
          type: string
          description: >-
            The URL where your customer is redirected after a pending payment
            outcome.
          example: https://worldpay.com/pending
        success:
          type: string
          description: >-
            The URL where your customer is redirected after a successful payment
            outcome.
          example: https://worldpay.com/success
    SelfLink:
      type: object
      description: The URL you can invoke to fetch the last event for the payment.
      properties:
        href:
          type: string
    Shipping:
      type: object
      properties:
        firstName:
          type: string
          description: First name.
          maxLength: 30
          minLength: 1
        lastName:
          type: string
          description: Last name.
          maxLength: 50
          minLength: 1
        phone:
          type: string
          description: Phone.
          maxLength: 40
          minLength: 4
          pattern: ^\d*$
        email:
          type: string
          description: Email.
          maxLength: 120
          minLength: 1
          pattern: ^(.+@.+\..+)?$
        address:
          $ref: '#/components/schemas/AddressV2'
    AddressV2:
      type: object
      properties:
        address1:
          type: string
          description: Address.
          maxLength: 80
          minLength: 0
        address2:
          type: string
          description: Address.
          maxLength: 80
          minLength: 0
        address3:
          type: string
          description: Address.
          maxLength: 80
          minLength: 0
        postalCode:
          type: string
          description: Postal code.
          maxLength: 15
          minLength: 0
        city:
          type: string
          description: City.
          maxLength: 50
          minLength: 0
        state:
          type: string
          description: State.
          maxLength: 30
          minLength: 0
        countryCode:
          type: string
          enum:
            - AD
            - AE
            - AF
            - AG
            - AI
            - AL
            - AM
            - AN
            - AO
            - AQ
            - AR
            - AS
            - AT
            - AU
            - AW
            - AX
            - AZ
            - BA
            - BB
            - BD
            - BE
            - BF
            - BG
            - BH
            - BI
            - BJ
            - BL
            - BM
            - BN
            - BO
            - BQ
            - BR
            - BS
            - BT
            - BV
            - BW
            - BY
            - BZ
            - CA
            - CC
            - CD
            - CF
            - CG
            - CH
            - CI
            - CK
            - CL
            - CM
            - CN
            - CO
            - CR
            - CU
            - CV
            - CW
            - CX
            - CY
            - CZ
            - DE
            - DJ
            - DK
            - DM
            - DO
            - DZ
            - EC
            - EE
            - EG
            - EH
            - ER
            - ES
            - ET
            - FI
            - FJ
            - FK
            - FM
            - FO
            - FR
            - GA
            - GB
            - GD
            - GE
            - GF
            - GG
            - GH
            - GI
            - GL
            - GM
            - GN
            - GP
            - GQ
            - GR
            - GS
            - GT
            - GU
            - GW
            - GY
            - HK
            - HM
            - HN
            - HR
            - HT
            - HU
            - ID
            - IE
            - IL
            - IM
            - IN
            - IO
            - IQ
            - IR
            - IS
            - IT
            - JE
            - JM
            - JO
            - JP
            - KE
            - KG
            - KH
            - KI
            - KM
            - KN
            - KP
            - KR
            - KW
            - KY
            - KZ
            - LA
            - LB
            - LC
            - LI
            - LK
            - LR
            - LS
            - LT
            - LU
            - LV
            - LY
            - MA
            - MC
            - MD
            - ME
            - MF
            - MG
            - MH
            - MK
            - ML
            - MM
            - MN
            - MO
            - MP
            - MQ
            - MR
            - MS
            - MT
            - MU
            - MV
            - MW
            - MX
            - MY
            - MZ
            - NA
            - NC
            - NE
            - NF
            - NG
            - NI
            - NL
            - 'NO'
            - NP
            - NR
            - NU
            - NZ
            - OM
            - PA
            - PE
            - PF
            - PG
            - PH
            - PK
            - PL
            - PM
            - PN
            - PR
            - PS
            - PT
            - PW
            - PY
            - QA
            - RE
            - RO
            - RS
            - RU
            - RW
            - SA
            - SB
            - SC
            - SD
            - SE
            - SG
            - SH
            - SI
            - SJ
            - SK
            - SL
            - SM
            - SN
            - SO
            - SR
            - SS
            - ST
            - SV
            - SX
            - SY
            - SZ
            - TC
            - TD
            - TF
            - TG
            - TH
            - TJ
            - TK
            - TL
            - TM
            - TN
            - TO
            - TR
            - TT
            - TV
            - TW
            - TZ
            - UA
            - UG
            - UM
            - US
            - UY
            - UZ
            - VA
            - VC
            - VE
            - VG
            - VI
            - VN
            - VU
            - WF
            - WS
            - YE
            - YT
            - ZA
            - ZM
            - ZW
      required:
        - postalCode
        - city
    CustomerAgreement:
      type: object
      description: Object that contains agreement information.
      properties:
        mandate:
          $ref: '#/components/schemas/Mandate'
      required:
        - mandate
    Mandate:
      type: object
      description: Object that contains SEPA mandate information
      properties:
        type:
          description: >-
            Field that contains the type of SEPA mandate. For SEPA guest
            checkouts the value is `oneTime` and for a recurring payment the
            value is `recurring`.
          enum:
            - oneTime
            - recurring
        mandateId:
          description: >-
            Unique reference which identifies each e-Mandate signed by your
            customer.
          type: string
          minimum: 1
          maximum: 35
        mandateSignatureDate:
          description: ISO 8601 date-time (yyyy-mm-dd) when mandate has been signed.
          type: string
        description:
          description: Description why the reccuring payment is being created.
          type: string
          minimum: 1
          maximum: 35
      required:
        - type
        - mandateId
    Value:
      type: object
      description: The value of the payment.
      properties:
        amount:
          type: integer
          format: int64
          description: >-
            The amount in the lowest denomination of the currency e.g. pennies
            for GBP, cents for USD.
          example: 1234
          minimum: 1
          maximum: 2147483647
        currency:
          type: string
          description: >-
            The supported [ISO 4217 currency
            codes](/products/access/reference/useful-tables#currency-codes).
          enum:
            - AED
            - AFN
            - ANG
            - AOA
            - ARS
            - AUD
            - AWG
            - AZN
            - BAM
            - BBD
            - BDT
            - BGN
            - BHD
            - BIF
            - BMD
            - BND
            - BOB
            - BRL
            - BSD
            - BTN
            - BWP
            - BYN
            - BZD
            - CAD
            - CDF
            - CHF
            - CLP
            - CNH
            - CNY
            - COP
            - CRC
            - CVE
            - CZK
            - DJF
            - DKK
            - DOP
            - DZD
            - EGP
            - ERN
            - ETB
            - EUR
            - FJD
            - FKP
            - GBP
            - GEL
            - GHS
            - GIP
            - GMD
            - GNF
            - GTQ
            - GYD
            - HKD
            - HNL
            - HTG
            - HUF
            - IDR
            - ILS
            - INR
            - IQD
            - IRR
            - ISK
            - JMD
            - JOD
            - JPY
            - KES
            - KHR
            - KMF
            - KPW
            - KRW
            - KWD
            - KYD
            - KZT
            - LAK
            - LBP
            - LKR
            - LSL
            - LYD
            - MAD
            - MDL
            - MGA
            - MKD
            - MMK
            - MNT
            - MOP
            - MRU
            - MUR
            - MVR
            - MWK
            - MXN
            - MYR
            - MZN
            - NAD
            - NGN
            - NIO
            - NOK
            - NPR
            - NZD
            - OMR
            - PAB
            - PEN
            - PGK
            - PHP
            - PKR
            - PLN
            - PYG
            - QAR
            - RON
            - RSD
            - RWF
            - SAR
            - SBD
            - SCR
            - SEK
            - SGD
            - SHP
            - SLE
            - SLL
            - SOS
            - SRD
            - STN
            - SVC
            - SYP
            - SZL
            - THB
            - TJS
            - TMT
            - TND
            - TOP
            - TRY
            - TTD
            - TWD
            - TZS
            - UAH
            - UGX
            - USD
            - UYU
            - UZS
            - VES
            - VND
            - VUV
            - WST
            - XAF
            - XCD
            - XOF
            - XPF
            - YER
            - ZAR
            - ZMW
      required:
        - amount
        - currency
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic
  examples:
    payment-paypal:
      value:
        transactionReference: Memory265-13/08/1876
        merchant:
          entity: default
        instruction:
          method: paypal
          value:
            amount: 35
            currency: GBP
          narrative:
            line1: MindPalace
          paymentInstrument:
            type: direct
            billingAddress:
              address1: 221B Baker Street
              address2: Marylebone
              address3: Westminster
              postalCode: NW1 6XE
              city: London
              state: Greater London
              countryCode: GB
          settlement:
            auto: true
          resultUrls:
            cancel: https://example.com/cancel
            failure: https://example.com/failure
            pending: https://example.com/pending
            success: https://example.com/success
          shipping:
            firstName: Mike
            lastName: Smitt
            address:
              address1: 221B Baker Street
              postalCode: NW1 6XE
              city: London
              state: Greater London
              countryCode: GB
          customer:
            email: shopper@example.com
    payment-sepa-onetime:
      value:
        transactionReference: Memory265-13/08/1876
        merchant:
          entity: default
        instruction:
          method: sepa
          value:
            amount: 250
            currency: GBP
          narrative:
            line1: MindPalace
          paymentInstrument:
            type: direct
            iban: DE36200400000628808808
            accountHolderName: Mike Smitt
            language: en
            billingAddress:
              address1: 221B Baker Street
              postalCode: NW1 6XE
              city: London
              state: Greater London
              countryCode: GB
          customerAgreement:
            mandate:
              type: oneTime
              mandateId: M-100229092-1727782857791
          customer:
            email: shopper@example.com
    payment-sepa-recurring:
      value:
        transactionReference: Memory265-13/08/1876
        merchant:
          entity: default
        instruction:
          method: sepa
          value:
            amount: 100
            currency: EUR
          narrative:
            line1: MindPalace
          paymentInstrument:
            type: direct
            iban: DE29500105176647192975
            accountHolderName: Mike Smitt
            language: en
            billingAddress:
              address1: 221B Baker Street
              address2: Marylebone
              address3: Westminster
              postalCode: NW1 6XE
              city: London
              state: Greater London
              countryCode: GB
          customerAgreement:
            mandate:
              type: recurring
              mandateId: M-100229092-1727784201981
              mandateSignatureDate: '2024-09-10'
              description: abc
          customer:
            email: shopper@example.com
    payment-sepa-token:
      value:
        transactionReference: Memory265-13/08/1876
        merchant:
          entity: default
        instruction:
          method: sepa
          value:
            amount: 100
            currency: EUR
          narrative:
            line1: MindPalace
          paymentInstrument:
            type: token
            tokenId: '9918045249671583572'
          customer:
            email: shopper@example.com
    payment-201:
      value:
        paymentId: >-
          HZ75WBkfRwmD9YzLSZFnQ--xazN30hqhileEoUF53VKlDSUrxrcX5x_wn93uYUZB26bWaGtSc4n1mbKHCn5p1tAsrh_YcN6kEXom71Xl4C2K6uz6RKmSmP_m7-TgEHezOhzH5eLvBJHPh6ir8ugqJqGjb7dlrQPJ4byuGHVAMZ8
        lastEvent: pending
        _links:
          self:
            href: >-
              https://try.access.worldpay.com/apmPayments/HZ75WBkfRwmD9YzLSZFnQ--xazN30hqhileEoUF53VKlDSUrxrcX5x_wn93uYUZB26bWaGtSc4n1mbKHCn5p1tAsrh_YcN6kEXom71Xl4C2K6uz6RKmSmP_m7-TgEHezOhzH5eLvBJHPh6ir8ugqJqGjb7dlrQPJ4byuGHVAMZ8
        _actions: {}
        redirect: >-
          https://mock.hpp.worldpay.com/app/hpp/xyz/integration/wpg?Ticket=12345678&OrderKey=blah
        paymentInstrument:
          method: paypal
          type: redirect
    payment-paypal-sdk-201:
      value:
        paymentId: >-
          HZ75WBkfRwmD9YzLSZFnQ--xazN30hqhileEoUF53VKlDSUrxrcX5x_wn93uYUZB26bWaGtSc4n1mbKHCn5p1tAsrh_YcN6kEXom71Xl4C2K6uz6RKmSmP_m7-TgEHezOhzH5eLvBJHPh6ir8ugqJqGjb7dlrQPJ4byuGHVAMZ8
        lastEvent: pending
        _links:
          self:
            href: >-
              https://try.access.worldpay.com/apmPayments/HZ75WBkfRwmD9YzLSZFnQ--xazN30hqhileEoUF53VKlDSUrxrcX5x_wn93uYUZB26bWaGtSc4n1mbKHCn5p1tAsrh_YcN6kEXom71Xl4C2K6uz6RKmSmP_m7-TgEHezOhzH5eLvBJHPh6ir8ugqJqGjb7dlrQPJ4byuGHVAMZ8
        _actions:
          confirmPayment:
            href: >-
              https://try.access.worldpay.com/apmPayments/nFxASqw-LV9HE_rr1mMONEC8hbsm9WwXee0JwG85N-uJQkZvB6E5O342nMEm8h2vpHXEu-SbvqJyvSludyCd-6z8rePB0P3IzF6x2m8m1TgSfeZ3VDVI8AMNoXSLj3whyI2wtvIbbbYQNej57GpaPwp8hQ6k4_KTkZa_frsM4TQ/confirmations
            method: POST
        redirect: >-
          https://secure-test.worldpay.com/jsp/test/shopper/APMSTSimulator.jsp?customerRef=3409693527&paymentMethod=PAYPAL
        paymentInstrument:
          method: paypal
          type: sdk
          sdkReference: PpoFfs3STRWvYWfBiy77YNNiuqxfH08v
    payment-sepa:
      value:
        paymentId: HZ75WBkfRwmD9YzLSZFnQ0Z1kOwJFyO0
        lastEvent: sentForAuthorisation
        _links:
          self:
            href: >-
              https://try.access.worldpay.com/apmPayments/HZ75WBkfRwmD9YzLSZFnQ0Z1kOwJFyO01roZ8kyLK_GlDSUrxrcX5x_wn93uYUZBHGYpbIxXdN_a51exZVWqk-zSpi8BAMly9hvxk-39cYhQmbsooGheZgoj5hRRgye3X6qyt49SIqeQadJp6DeqL8MFPtMJ-EYbaLln7tGTQoE
    response-400:
      value:
        errorName: bodyDoesNotMatchSchema
        message: The json body provided does not match the expected schema
        validationErrors:
          - errorName: fieldHasInvalidValue
            message: Field is mandatory
            jsonPath: $.instruction.value.amount
    response-401:
      value:
        errorName: unauthorized
        message: Invalid authentication
    response-500:
      value:
        errorName: internalErrorOccurred
        message: An internal problem occurred with your request, please try again.
    query-202-authorized:
      value:
        paymentId: >-
          HZ75WBkfRwmD9YzLSZFnQ0aww_aMF9fAHidQrEC483OlDSUrxrcX5x_wn93uYUZB26bWaGtSc4n1mbKHCn5p1tAsrh_YcN6kEXom71Xl4C2pzlfJNMqKvq0mYDWxvR0iOhzH5eLvBJHPh6ir8ugqJmt5VJZ_vcfGLqPgLOBUAk4
        lastEvent: authorized
        _links:
          self:
            href: >-
              https://try.access.worldpay.com/apmPayments/HZ75WBkfRwmD9YzLSZFnQ0aww_aMF9fAHidQrEC483OlDSUrxrcX5x_wn93uYUZB26bWaGtSc4n1mbKHCn5p1tAsrh_YcN6kEXom71Xl4C2pzlfJNMqKvq0mYDWxvR0iOhzH5eLvBJHPh6ir8ugqJmt5VJZ_vcfGLqPgLOBUAk4
        _actions:
          reverse:
            href: >-
              https://try.access.worldpay.com/apmPayments/HZ75WBkfRwmD9YzLSZFnQ0aww_aMF9fAHidQrEC483OlDSUrxrcX5x_wn93uYUZB26bWaGtSc4n1mbKHCn5p1tAsrh_YcN6kEXom71Xl4C2pzlfJNMqKvq0mYDWxvR0iOhzH5eLvBJHPh6ir8ugqJmt5VJZ_vcfGLqPgLOBUAk4/reversals
            method: POST
          partialReverse:
            href: >-
              https://try.access.worldpay.com/apmPayments/HZ75WBkfRwmD9YzLSZFnQ0aww_aMF9fAHidQrEC483OlDSUrxrcX5x_wn93uYUZB26bWaGtSc4n1mbKHCn5p1tAsrh_YcN6kEXom71Xl4C2pzlfJNMqKvq0mYDWxvR0iOhzH5eLvBJHPh6ir8ugqJmt5VJZ_vcfGLqPgLOBUAk4/reversals
            method: POST
    query-202-pending:
      value:
        paymentId: >-
          3Ihrz_xFV1nTRAHhJABserDF09eNdqnSHh2H8qlv7QIZ4iW8JjMy1wo4b2GozzFtfnOUMIZGm4eSqTixJe1tGDzD3NTuoxp7Ud1N920NPyBiaK1MePsYPNh4StVn5GLv9dz9tm3t0o9KS2dze2cQ2iJdjRiX7-j4OEhFc5W4W6hK1prAjyQIHthwfovFL63f
        lastEvent: pending
        _links:
          self:
            href: >-
              https://try.access.worldpay.com/apmPayments/3Ihrz_xFV1nTRAHhJABserDF09eNdqnSHh2H8qlv7QIZ4iW8JjMy1wo4b2GozzFtfnOUMIZGm4eSqTixJe1tGDzD3NTuoxp7Ud1N920NPyBiaK1MePsYPNh4StVn5GLv9dz9tm3t0o9KS2dze2cQ2iJdjRiX7-j4OEhFc5W4W6hK1prAjyQIHthwfovFL63f
        _actions: {}
    query-202-sentForRefund:
      value:
        paymentId: >-
          3Ihrz_xFV1nTRAHhJABserDF09eNdqnSHh2H8qlv7QIZ4iW8JjMy1wo4b2GozzFtfnOUMIZGm4eSqTixJe1tGDzD3NTuoxp7Ud1N920NPyBiaK1MePsYPNh4StVn5GLv9dz9tm3t0o9KS2dze2cQ2iJdjRiX7-j4OEhFc5W4W6hK1prAjyQIHthwfovFL63f
        lastEvent: sentForRefund
        _links:
          self:
            href: >-
              https://try.access.worldpay.com/apmPayments/3Ihrz_xFV1nTRAHhJABserDF09eNdqnSHh2H8qlv7QIZ4iW8JjMy1wo4b2GozzFtfnOUMIZGm4eSqTixJe1tGDzD3NTuoxp7Ud1N920NPyBiaK1MePsYPNh4StVn5GLv9dz9tm3t0o9KS2dze2cQ2iJdjRiX7-j4OEhFc5W4W6hK1prAjyQIHthwfovFL63f
        _actions: {}
    query-202-sentForSettlement:
      value:
        paymentId: >-
          HZ75WBkfRwmD9YzLSZFnQ3ARjxkddPEGy1lc7iYKKMalDSUrxrcX5x_wn93uYUZB26bWaGtSc4n1mbKHCn5p1tAsrh_YcN6kEXom71Xl4C3hdIC81cD2YK2o8Arh-whkOhzH5eLvBJHPh6ir8ugqJiAywCh6RPZhv8QHDyzDZDE
        lastEvent: sentForSettlement
        _links:
          self:
            href: >-
              https://try.access.worldpay.com/apmPayments/HZ75WBkfRwmD9YzLSZFnQ3ARjxkddPEGy1lc7iYKKMalDSUrxrcX5x_wn93uYUZB26bWaGtSc4n1mbKHCn5p1tAsrh_YcN6kEXom71Xl4C3hdIC81cD2YK2o8Arh-whkOhzH5eLvBJHPh6ir8ugqJiAywCh6RPZhv8QHDyzDZDE
        _actions:
          reverse:
            href: >-
              https://try.access.worldpay.com/apmPayments/HZ75WBkfRwmD9YzLSZFnQ3ARjxkddPEGy1lc7iYKKMalDSUrxrcX5x_wn93uYUZB26bWaGtSc4n1mbKHCn5p1tAsrh_YcN6kEXom71Xl4C3hdIC81cD2YK2o8Arh-whkOhzH5eLvBJHPh6ir8ugqJiAywCh6RPZhv8QHDyzDZDE/reversals
            method: POST
          partialReverse:
            href: >-
              https://try.access.worldpay.com/apmPayments/HZ75WBkfRwmD9YzLSZFnQ3ARjxkddPEGy1lc7iYKKMalDSUrxrcX5x_wn93uYUZB26bWaGtSc4n1mbKHCn5p1tAsrh_YcN6kEXom71Xl4C3hdIC81cD2YK2o8Arh-whkOhzH5eLvBJHPh6ir8ugqJiAywCh6RPZhv8QHDyzDZDE/reversals
            method: POST
    response-404:
      value:
        errorName: paymentNotFound
        message: Payment resource not found.
    confirm-payment-201:
      value:
        paymentId: >-
          uK9Oh5zz4yKhGuFofhhnC_h2WwCXUTVwK1Lx7OP-WOiwgLd0DJ5uYK8NLsKG-rFtM4xXFxk15W-f-R1c3u_fq6rRIVQO_lZhwklop_5RcXz35RD_4TJfbjKQAyEFQXOTgUZHQIK3iu8VcHfOiFVHyN-y7ZDRr24t7o6s_bHlZxpba-zPVQ7PG1AztEwRCfVJ
        lastEvent: authorized
        _links:
          self:
            href: >-
              https://try.access.worldpay.com/apmPayments/uK9Oh5zz4yKhGuFofhhnC_h2WwCXUTVwK1Lx7OP-WOiwgLd0DJ5uYK8NLsKG-rFtM4xXFxk15W-f-R1c3u_fq6rRIVQO_lZhwklop_5RcXz35RD_4TJfbjKQAyEFQXOTgUZHQIK3iu8VcHfOiFVHyN-y7ZDRr24t7o6s_bHlZxpba-zPVQ7PG1AztEwRCfVJ
        _actions: {}
    reverse-202:
      value:
        paymentId: >-
          3Ihrz_xFV1nTRAHhJABserDF09eNdqnSHh2H8qlv7QIZ4iW8JjMy1wo4b2GozzFtfnOUMIZGm4eSqTixJe1tGDzD3NTuoxp7Ud1N920NPyBiaK1MePsYPNh4StVn5GLv9dz9tm3t0o9KS2dze2cQ2iJdjRiX7-j4OEhFc5W4W6hK1prAjyQIHthwfovFL63f
        lastEvent: sentForRefund
        _links:
          self:
            href: >-
              https://try.access.worldpay.com/apmPayments/3Ihrz_xFV1nTRAHhJABserDF09eNdqnSHh2H8qlv7QIZ4iW8JjMy1wo4b2GozzFtfnOUMIZGm4eSqTixJe1tGDzD3NTuoxp7Ud1N920NPyBiaK1MePsYPNh4StVn5GLv9dz9tm3t0o9KS2dze2cQ2iJdjRiX7-j4OEhFc5W4W6hK1prAjyQIHthwfovFL63f
        _actions: {}
    settlement-202:
      value:
        paymentId: >-
          3Ihrz_xFV1nTRAHhJABserDF09eNdqnSHh2H8qlv7QIZ4iW8JjMy1wo4b2GozzFtfnOUMIZGm4eSqTixJe1tGDzD3NTuoxp7Ud1N920NPyBiaK1MePsYPNh4StVn5GLv9dz9tm3t0o9KS2dze2cQ2iJdjRiX7-j4OEhFc5W4W6hK1prAjyQIHthwfovFL63f
        lastEvent: sentForSettlement
        _links:
          self:
            href: >-
              https://try.access.worldpay.com/apmPayments/3Ihrz_xFV1nTRAHhJABserDF09eNdqnSHh2H8qlv7QIZ4iW8JjMy1wo4b2GozzFtfnOUMIZGm4eSqTixJe1tGDzD3NTuoxp7Ud1N920NPyBiaK1MePsYPNh4StVn5GLv9dz9tm3t0o9KS2dze2cQ2iJdjRiX7-j4OEhFc5W4W6hK1prAjyQIHthwfovFL63f
        _actions: {}
