{% partial file="/products/access/_partials/_apms-header.md" /%} # 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](/products/access/events/index.md) to 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` {% admonition type="info" name="Note" %} No request body is needed for this request. {% /admonition %} #### You receive: * an HTTP code 200 * the `lastEvent` for your query request * links to available next actions for your payment #### Example Query Response {% code-snippet file="./code/manage/query.json" language="json" /%} #### 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 our [events documentation](/products/access/events/index.md). --- ## Settle Make a settle request to settle an authorized payment. {% admonition type="info" name="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. {% /admonition %} `POST` `https://try.access.worldpay.com/apmPayments/3Ihrz_xFV1nTRAHhJABserDF09eNdqnSHh2H8qlv7QIZ4iW8JjMy1wo4b2GozzFtfnOUMIZGm4eSqTixJe1tGDzD3/settlements` {% admonition type="info" name="Note" %} No request body is needed for this request. {% /admonition %} ## 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` {% admonition type="info" name="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. {% /admonition %} 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/3Ihrz_xFV1nTRAHhJABserDF09eNdqnSHh2H8qlv7QIZ4iW8JjMy1wo4b2GozzFtfnOUMIZGm4eSqTixJe1tGDzD3/reversals` ## Full Reverse Send a reverse request to return the full amount of the payment to your customer. {% admonition type="info" name="Note" %} No request body is needed for this request. {% /admonition %} ## Partial Reverse Send a partial reverse request to return a portion of the payment amount to your customer. ### Example partial request {% code-snippet file="./code/manage/partial-reversal.json" language="json" /%}