Check a Transaction Status {#thunes-oney-status-intro}
======================================================

You can retrieve the current status of a pending authorization, reversal, capture, or refund by sending a check status request. The check status request requires the request ID from the corresponding transaction.  
When a pending status updates, the check status request responds with the transaction's new status. Thunes sometimes needs to review a service request, which causes a transaction to initially respond with a pending status. The check status request requires you to include the request ID from the pending transaction response you are checking the status of. The request ID is located in the requestID response field. `Cybersource` recommends that you send a check status request hourly until the status updates from pending.

Endpoints
---------

Set the apCheckStatusService_run field to `true`, and send the request to one of these endpoints:  
**Production:** `https://ics2ws.ic3.com/commerce/1.x/transactionProcessor`  
**Test:** `https://ics2wstest.ic3.com/commerce/1.x/transactionProcessor`

Response Statuses
-----------------

`Cybersource` responds to your check status request with one of these statuses in the apCheckStatusReply_status field:

Check Status Responses for a Session
:
* `ABANDONED`: The customer did not complete the payment using the redirect URL.
* `COMPLETED`: The customer completed the checkout process.
* `PENDING`: The service request is accepted but is not completed. Request the check status service to retrieve status updates.

Check Status Responses for an Authorization
:
* `AUTHORIZED`: The customer's payment is authorized.
* `FAILED`: The service request failed. A failed request can be due to either Oney rejecting the transaction or a technical error.
* `PENDING`: The service request is accepted but is not completed. Request the check status service to retrieve status updates.

Check Status Responses for a Capture
:
* `FAILED`: The service request failed. A failed request can be due to either Oney rejecting the transaction or a technical error.
* `FUNDED`: The settled amount is funded to the merchant bank account.
* `PENDING`: The service request is accepted but is not completed. Request the check status service to retrieve status updates.
* `SETTLED`: The capture request is settled for the requested amount.

Check Status Responses for an Authorization-Reversals
:
* `AUTH-REVERSED`: The authorization is successfully reversed.
* `FAILED`: The service request failed. A failed request can be due to either Oney rejecting the transaction or a technical error.
* `PENDING`: The service request is accepted but is not completed. Request the check status service to retrieve status updates.

The check status service also responds with a reason code in the apCheckStatusReply_reasonCode field.  
For more information about reason codes, see [Reason Codes and Response Codes](/docs/cybs/en-us/thunes/developer/all/so/thunes/thunes-ref-info/thunes-refinfo-codes.md "").

Required Fields for Checking a Transaction Status {#thunes-oney-status-req-fields}
==================================================================================

[apCheckStatusService_checkStatusRequestID](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/so/api-fields/ap-check-status-service-check-status-req-id.md "")
:
Set to the request ID included in the service response.

[apCheckStatusService_run](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/so/api-fields/ap-check-status-service-run.md "")
:
Set to `true`.

[apPaymentType](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/so/api-fields/ap-payment-type.md "")
:
Set to `ONY`.

[merchantID](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/so/api-fields/merchant-id.md "")
:

[merchantReferenceCode](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/so/api-fields/merchant-reference-code.md "")
:

Example: Checking a Transaction Status {#thunes-status-ex-so}
=============================================================

Request

```
&lt;requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.215"&gt;
	&lt;merchantID&gt;test_merchant&lt;/merchantID&gt;
	&lt;merchantReferenceCode&gt;refnum-1234&lt;/merchantReferenceCode&gt;
	&lt;apPaymentType&gt;ONY&lt;/apPaymentType&gt;
	&lt;apCheckStatusService run="true"&gt;
		&lt;checkStatusRequestID&gt;6953229325326859903007&lt;/checkStatusRequestID&gt;
	&lt;/apCheckStatusService&gt;
&lt;/requestMessage&gt;
```

Response to a Successful Request

```
&lt;replyMessage xmlns:c="urn:schemas-cybersource-com:transaction-data-1.215"&gt;
	&lt;merchantReferenceCode&gt;refnum-1234&lt;/merchantReferenceCode&gt;
	&lt;requestID&gt;6953229718266112403011&lt;/requestID&gt;
	&lt;decision&gt;ACCEPT&lt;/decision&gt;
	&lt;reasonCode&gt;100&lt;/reasonCode&gt;
	&lt;requestToken&gt;AxjnrwSTeO9yVPkdEGZDANgZYjWmjCbQhSaEywojmiG9X70h9XwMwIZNJMvRiy0P/Sbx3uHfMaEAQD4A/A8Y&lt;/requestToken&gt;
	&lt;apCheckStatusReply&gt;
		&lt;reasonCode&gt;100&lt;/reasonCode&gt;
		&lt;reconciliationID&gt;XFZ40MPBIPLX&lt;/reconciliationID&gt;
		&lt;paymentStatus&gt;authorized&lt;/paymentStatus&gt;
	&lt;/apCheckStatusReply&gt;
&lt;/replyMessage&gt;
```

