Menu

Manage your APM

An overview on how to get the latest payment status and how to reverse (cancel or refund) and settle payments.

Get payment status

There are two ways to get the payment status. You can eitherquery the paymentorsetup webhooksto receive the latest event from us.

Query payment

Make a GET request on the link:self action link returned in your payment response.

GET https://try.access.worldpay.com/apmPayments/3Ihrz_xFV1nTRAHhJABserDF09eNdqnSHh2H8qlv7QIZ4iW8JjMy1wo4b2GozzFtfnOUMIZGm4eSqTixJe1tGDzD3 `

Note: No request body is needed for this request.

You receive:

  • an HTTP code 202
  • the lastEvent for your query request
  • links to available next actions for your payment

Example Query Response

Copied!
{
  "id": "3Ihrz_xFV1nTRAHhJABserDF09eNdqnSHh2H8qlv7QIZ4iW8JjMy1wo4b2GozzFtfnOUMIZGm4eSqTixJe1tGDzD3NTuoxp7Ud1N920NPyBiaK1MePsYPNh4StVn5GLv9dz9tm3t0o9KS2dze2cQ2iJdjRiX7-j4OEhFc5W4W6hK1prAjyQIHthwfovFL63f",
  "lastEvent": "authorized",
  "_links": {
    "self": {
      "href": "https://try.access.worldpay.com/apmPayments/3Ihrz_xFV1nTRAHhJABserDF09eNdqnSHh2H8qlv7QIZ4iW8JjMy1wo4b2GozzFtfnOUMIZGm4eSqTixJe1tGDzD3NTuoxp7Ud1N920NPyBiaK1MePsYPNh4StVn5GLv9dz9tm3t0o9KS2dze2cQ2iJdjRiX7-j4OEhFc5W4W6hK1prAjyQIHthwfovFL63f"
    },
    "reverse": {
      "href": "https://try.access.worldpay.com/apmPayments/3Ihrz_xFV1nTRAHhJABserDF09eNdqnSHh2H8qlv7QIZ4iW8JjMy1wo4b2GozzFtfnOUMIZGm4eSqTixJe1tGDzD3NTuoxp7Ud1N920NPyBiaK1MePsYPNh4StVn5GLv9dz9tm3t0o9KS2dze2cQ2iJdjRiX7-j4OEhFc5W4W6hK1prAjyQIHthwfovFL63f/reverse"
    },
    "partial_reverse": {
      "href": "https://try.access.worldpay.com/apmPayments/3Ihrz_xFV1nTRAHhJABserDF09eNdqnSHh2H8qlv7QIZ4iW8JjMy1wo4b2GozzFtfnOUMIZGm4eSqTixJe1tGDzD3NTuoxp7Ud1N920NPyBiaK1MePsYPNh4StVn5GLv9dz9tm3t0o9KS2dze2cQ2iJdjRiX7-j4OEhFc5W4W6hK1prAjyQIHthwfovFL63f/reverse"
    },
    "settle": {
      "href": "https://try.access.worldpay.com/apmPayments/{id}/settle"
    }
  }
}

Possible lastEvent values

  • authorized
  • cancelFailed
  • cancelled
  • cancelledByCustomer
  • cancelRequested
  • chargebackReversed
  • chargedBack
  • disputeExpired
  • disputeFundsHeld
  • disputeFundsReleased
  • disputeReserveReleased
  • disputeInformationRequested
  • disputInformationSupplied
  • error
  • expired
  • manuallyAmended
  • miscellaneous
  • pending
  • refunded
  • refundExpired
  • refundFailed
  • refundReversed
  • refused
  • refusedByIssuer
  • sentForRefund
  • sentForSettlement
  • settled
  • settlementReversed
  • settlementFailed
  • signedFormReceived
  • unknown

Events

To use our webhooks take a look at ourevents documentation.


Settle

Make a settle request to settle an authorized payment.

Note: Not all APMs support the settle request. Please refer to the individual APM documentation to understand if this action is supported for the APM.

POST https://try.access.worldpay.com/apmPayments/3Ihrz_xFV1nTRAHhJABserDF09eNdqnSHh2H8qlv7QIZ4iW8JjMy1wo4b2GozzFtfnOUMIZGm4eSqTixJe1tGDzD3/settle

Note: No request body is needed for this request.

Reverse

Your reverse request is processed as a cancel or refund request. This depends on the time passed after your payment request was completed.

  • an authorised payment status = cancel
  • a settled or sentForSettlement payment status = refund

Note: Not all APMs support the reverse request. Some may only support refund, requiring the payment to be in a settled state before a reverse request can be processed. Please refer to the individual APM documentation to understand if this action is supported for the APM.

POST to the links:reverse action link returned in your query response or append the payments “id” to the reverse url template.

POST https://access.worldpay.com/apmPayments/(id)/reverse/

Full Reverse

Send a reverse request to return the full amount of the payment to your customer.

Note: No request body is needed for this request.

Partial Reverse

Send a partial reverse request to return a portion of the payment amount to your customer.

Example partial request

Copied!
{
    "reference": "0-128characters",
    "value": {
    "amount": 25,
    "currency": "GBP"
    }
}