Status Checks
When the customer is redirected to your website after making a payment, you can request the status of the processing payment. Verifying a payment status requires the request ID from the initiate payment response. The initiate payment request ID links the check status request to the initiate sale request.
Endpoints
POST /pts/v2/refresh-payment-status/{id}
POST /pts/v2/refresh-payment-status/{id}
Set the {id} to the request ID of the API service you are retrieving.
Example
{ "clientReferenceInformation": { "code": "refnum-12345" }, "paymentInformation": { "paymentType": { "name": "LOCALCARD", "method": { "name": "KCP" } } }, "processingInformation": { "actionList": "AP_INITIATE_STATUS" }}{ "clientReferenceInformation": { "code": "refnum-12345" }, "id": "7202083368386006203955", "processorInformation": { "rawResponse": "0000", "transactionId": "20135263412456" }, "reconciliationId": "410000006012", "status": "COMPLETED", "paymentInformation": { "paymentType": { "method": { "type": "CreditCard" } } }}| Field | Type | Description |
|---|---|---|
clientReferenceInformation.code | Merchant-generated order reference or tracking number. | |
paymentInformation.paymentType.method.name | Set to one of these possible values: KAKAOPAY (Kakaopay), KCP (ACC, MBP, and RBT), NAVERPAY (Naverpay), or PAYCO (Payco). | |
paymentInformation.paymentType.name | Set to one of these possible values: BANKTRANSFER (bank transfer), CARRIERBILLING (carrier billing), EWALLET (Kakaopay, Naverpay, and Payco), or LOCALCARD (card charge). | |
processingInformation.actionList | Set to AP_INITIATE_STATUS. |
Optional Fields
| Field | Type | Description |
|---|---|---|
installmentInformation.frequency | Installment payment frequency for credit card payments only. | |
merchantInformation.merchantDescriptor.address1 | Merchant descriptor street address, line 1. | |
merchantInformation.merchantDescriptor.administrativeArea | Merchant descriptor state or province. | |
merchantInformation.merchantDescriptor.contact | Merchant descriptor contact information. | |
merchantInformation.merchantDescriptor.country | Merchant descriptor country. | |
merchantInformation.merchantDescriptor.locality | Merchant descriptor city. | |
merchantInformation.merchantDescriptor.name | Merchant descriptor name. | |
merchantInformation.merchantDescriptor.postalCode | Merchant descriptor postal code. | |
orderInformation.billTo.email | Customer email. | |
orderInformation.billTo.firstName | Customer first name. | |
orderInformation.billTo.lastName | Customer last name. | |
orderInformation.billTo.phoneNumber | Customer telephone number. |
Response Fields
responds with these fields and values to determine the issuer and payment method information.
| Field | Type | Description |
|---|---|---|
errorInformation.details[].reason | The reason for an error response. Possible values: INVALID_DATA, INVALID_MERCHANT_CONFIGURATION, or MISSING_FIELD. | |
errorInformation.message | A description of the status and reason. | |
errorInformation.reason | The reason for the status. | |
issuerInformation.code | The indicator code for the issuer of the card. | |
issuerInformation.name | The issuer name of the card. | |
orderInformation.amountDetails.refundBalance | The refund limit amount for the card account. | |
paymentInformation.eWallet.fundingSource | The payment method used for the transaction. Possible values: DELAYED_TRANSFER, ECHECK, INSTANT_TRANSFER, or MANUAL_BANK_TRANSFER. | |
paymentInformation.eWallet.name | The indicator code for the e-wallet payment method used to make the payment. Possible values: ApplePay (Apple Pay), Kakaopay (Kakaopay), LPay (L. Pay), NaverPay (NaverPay), PAYCO (PAYCO), SamsungPay (SamsungPay), SSGPay (SSG Pay), or TOSSPay (TOSS Pay). | |
paymentInformation.paymentType.method.type | The payment method the customer used to pay for the purchase. Possible values: BankTransfer (bank transfer), CreditCard (credit card), KakaoMoney (KaKao Money), MobileTransfer (mobile e-wallet), or NaverPayPoint (NaverPay). | |
processorInformation.rawResponseLocal | The reason information for why a request failed in the requester's local language. | |
processorInformation.rawResponse | The reason information for why a request failed. | |
processorInformation.responseDetails | The information for the declined initiate sale request. |
Reason Codes
This section describes the possible reason codes that you can receive from a check status request. Reason codes include a description that indicates why a transaction was either successful or unsuccessful. When a reason code indicates that a transaction is unsuccessful, the reason code can be referred to as an error code.
The reason code is included in the HTTP response header. All possible error codes are listed in the Reason Code column:
| Reason Code | Reason Description | Error Code Description |
|---|---|---|
100 | Successful request. | — |
104 | Unsuccessful request due to multiple requests for the same payment. Send a new initiate sale request. | DUPLICATE_REQUEST |
202 | Unsuccessful request due to either an expired card or an incorrect expiration date. | EXPIRED_CARD |
203 | Unsuccessful request due to an invalid card or business information that the processor does not accept. Contact KCP for assistance. | PROCESSOR_DECLINED |
204 | Unsuccessful request due to insufficient funds in the card account. | DCARDREFUSED |
205 | Unsuccessful request due to lost card or invalid card. | DCARDREFUSED |
207 | Unsuccessful request due to the issuer's system timeout. Send the request again. | DCARDREFUSED |
208 | Unsuccessful request due to card being suspended. | DCARDREFUSED |
210 | Unsuccessful request due to the card's credit limit. | DCARDREFUSED |
223 | Unsuccessful request due to an error verifying the card. | DPAYMENTREFUSED |
231 | Unsuccessful request due to an invalid card number. | DINVALIDCARD |
232 | Unsuccessful request due to the merchant not accepting credit cards issued outside of South Korea. | DINVALIDCARD |
233 | Unsuccessful request due to order number already existing for a previous transaction. | DINVALIDCARD |
242 | Unsuccessful request due to the transaction request not existing. | MISSING_AUTH |
250 | Unsuccessful request due to a KCP system timeout. Send the request again. | PROCESSOR_TIMEOUT |
251 | Unsuccessful request due to repeated attempts of entering an incorrect PIN. | DEBIT_CARD_USAGE_LIMIT_EXCEEDD |
255 | Unsuccessful request due to an invalid currency code. | INCORRECT_LOCATION |
264 | Unsuccessful request due to a missing required field value. | MISSING_FIELD |
265 | Unsuccessful request due to a field value formatting error. | PROCESSOR_SYSTEM_ERROR |
Response Codes and Statuses
After sending an API request, sends you a response message that includes a reason code in the HTTP response. Reason codes can be added at any time.
Status Check Test Information
In the test environment, you can simulate the specific error messages that you receive from transaction requests by using test triggers. Test triggers are request field values that can generate specific responses in the response messages. The simulated environment enables you to become familiar with the response messages and develop methods for error handling.
To simulate a test, set the clientReferenceInformation.reconciliationId field to a value listed in the Trigger Value column. The response is returned in the status field.
| Trigger Value | Processor Response Code | Response Message | Processor Payment Status Code |
|---|---|---|---|
Last digit of the transaction reference number is 0. | 0000 | PENDING | STAU |
Last digit of the transaction reference number is 1. | 0000 | DECLINED | STAF |
Last digit of the transaction reference number is 2. | 0000 | COMPLETED | STSC |
Last digit of the transaction reference number is 3. | 0000 | COMPLETED | STPC |
Last digit of the transaction reference number is 4. | 0000 | TRADE_NOT_EXIST | STXX |
Last digit of the transaction reference number is 5. | 0000 | CANCELLED | STSR |
Last digit of the transaction reference number is 6, 7, 8, or 9. | 0000 | COMPLETED | STSR |
Thanks for your feedback!
Last published: September 29, 2026