**Last updated**: 13 March 2026 | [**Change log**](/access/products/apms/changelog/)

# Manage your APM

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

- [Query](#query)
- [Events](#events)
- [Settle](#settle)
- [Reverse](#reverse)


## Get payment status

There are two ways to get the payment status. You can either [query the payment](#query-payment) or [setup webhooks](/access/products/events) to receive the latest event from us.

### Query payment

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

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

Note
No request body is needed for this request.

#### You receive:

* an HTTP code 200
* the `lastEvent` for your query request
* links to available next actions for your payment depending on payment method and pay


 A reversal means that a payment either gets cancelled or refunded depending on the state of the payment. Where an APM supports cancel or refund, this would be via a [reversal request](/access/products/apms/openapi/payment-lifecycle/reverse).

| Payment method | Partial cancel | Cancel | Partial settlement | Settlement | Partial refund | Refund |
|  --- | --- | --- | --- | --- | --- | --- |
| **ACH/eCheck** | N/A | ✅ | N/A | N/A | N/A | ✅ |
| **Alipay CN** | N/A | N/A | N/A | N/A | ✅ | ✅ |
| **Alipay HK** | N/A | N/A | N/A | N/A | ✅ | ✅ |
| **Alipay+** | N/A | N/A | N/A | N/A | ✅ | ✅ |
| **BANCOMAT Pay** | N/A | N/A | N/A | N/A | ✅ | ✅ |
| **Bancontact** | N/A | N/A | N/A | N/A | ✅ | ✅ |
| **Bizum** | N/A | N/A | N/A | N/A | ✅ | ✅ |
| **BLIK** | N/A | N/A | N/A | N/A | ✅ | ✅ |
| **EFT** | N/A | ✅ | N/A | N/A | N/A | ✅ |
| **Euteller** | N/A | N/A | N/A | N/A | N/A | N/A |
| **iDEAL** | N/A | N/A | N/A | N/A | ✅ | ✅ |
| **Klarna** | N/A | ✅ | ✅ | ✅ | ✅ | ✅ |
| **Konbini** | N/A | N/A | N/A | N/A | N/A | N/A |
| **Multibanco** | N/A | N/A | N/A | N/A | N/A | N/A |
| **MyBank** | N/A | N/A | N/A | N/A | ✅ | ✅ |
| **OpenBanking** | N/A | N/A | N/A | N/A | ✅ | ✅ |
| **PayPal** | N/A | ✅ | ✅ 1 | ✅ 1 | ✅ | ✅ |
| **PaysafeCard** | N/A | N/A | N/A | N/A | N/A | N/A |
| **Pix** | N/A | N/A | N/A | N/A | ✅ | ✅ |
| **Przelewy24** | N/A | N/A | N/A | N/A | ✅ | ✅ |
| **SafetyPay** | N/A | N/A | N/A | N/A | N/A | N/A |
| **SEPA Direct Debit** | N/A | N/A | N/A | N/A | ✅ | ✅ |
| **Swish** | N/A | N/A | N/A | N/A | ✅ | ✅ |
| **Trustly** | N/A | N/A | N/A | N/A | ✅ | ✅ |
| **UnionPay** | N/A | N/A | N/A | N/A | ✅ | ✅ |
| **WeChat Pay** | N/A | N/A | N/A | N/A | ✅ | ✅ |


1 For payments where `settlement.auto` is set to "false".

#### Example query response

#### 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`
* `requestExpired`
* `sentForRefund`
* `sentForSettlement`
* `sentForAuthorization`
* `settled`
* `settlementReversed`
* `settlementFailed`
* `signedFormReceived`
* `unknown`


### Events

To use our webhooks take a look at our [events documentation](/access/products/events).

## 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-bsh.securedataplatform.com/apmPayments/3Ihrz_xFV1nTRAHhJABserDF09eNdqnSHh2H8qlv7QIZ4iW8JjMy1wo4b2GozzFtfnOUMIZGm4eSqTixJe1tGDzD3/settlements`

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 `authorized` payment status = `cancel`
* a `settled` or `sentForSettlement` payment status = `refund`


 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-bsh.securedataplatform.com/apmPayments/3Ihrz_xFV1nTRAHhJABserDF09eNdqnSHh2H8qlv7QIZ4iW8JjMy1wo4b2GozzFtfnOUMIZGm4eSqTixJe1tGDzD3/reversals`

## 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


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