Skip to main content

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"            }        }    }}
FieldTypeDescription
clientReferenceInformation.codeMerchant-generated order reference or tracking number.
paymentInformation.paymentType.method.nameSet to one of these possible values: KAKAOPAY (Kakaopay), KCP (ACC, MBP, and RBT), NAVERPAY (Naverpay), or PAYCO (Payco).
paymentInformation.paymentType.nameSet to one of these possible values: BANKTRANSFER (bank transfer), CARRIERBILLING (carrier billing), EWALLET (Kakaopay, Naverpay, and Payco), or LOCALCARD (card charge).
processingInformation.actionListSet to AP_INITIATE_STATUS.
Optional Fields
FieldTypeDescription
installmentInformation.frequencyInstallment payment frequency for credit card payments only.
merchantInformation.merchantDescriptor.address1Merchant descriptor street address, line 1.
merchantInformation.merchantDescriptor.administrativeAreaMerchant descriptor state or province.
merchantInformation.merchantDescriptor.contactMerchant descriptor contact information.
merchantInformation.merchantDescriptor.countryMerchant descriptor country.
merchantInformation.merchantDescriptor.localityMerchant descriptor city.
merchantInformation.merchantDescriptor.nameMerchant descriptor name.
merchantInformation.merchantDescriptor.postalCodeMerchant descriptor postal code.
orderInformation.billTo.emailCustomer email.
orderInformation.billTo.firstNameCustomer first name.
orderInformation.billTo.lastNameCustomer last name.
orderInformation.billTo.phoneNumberCustomer telephone number.

Response Fields

responds with these fields and values to determine the issuer and payment method information.

FieldTypeDescription
errorInformation.details[].reasonThe reason for an error response. Possible values: INVALID_DATA, INVALID_MERCHANT_CONFIGURATION, or MISSING_FIELD.
errorInformation.messageA description of the status and reason.
errorInformation.reasonThe reason for the status.
issuerInformation.codeThe indicator code for the issuer of the card.
issuerInformation.nameThe issuer name of the card.
orderInformation.amountDetails.refundBalanceThe refund limit amount for the card account.
paymentInformation.eWallet.fundingSourceThe payment method used for the transaction. Possible values: DELAYED_TRANSFER, ECHECK, INSTANT_TRANSFER, or MANUAL_BANK_TRANSFER.
paymentInformation.eWallet.nameThe 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.typeThe 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.rawResponseLocalThe reason information for why a request failed in the requester's local language.
processorInformation.rawResponseThe reason information for why a request failed.
processorInformation.responseDetailsThe 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 CodeReason DescriptionError Code Description
100Successful request.—
104Unsuccessful request due to multiple requests for the same payment. Send a new initiate sale request.DUPLICATE_REQUEST
202Unsuccessful request due to either an expired card or an incorrect expiration date.EXPIRED_CARD
203Unsuccessful request due to an invalid card or business information that the processor does not accept. Contact KCP for assistance.PROCESSOR_DECLINED
204Unsuccessful request due to insufficient funds in the card account.DCARDREFUSED
205Unsuccessful request due to lost card or invalid card.DCARDREFUSED
207Unsuccessful request due to the issuer's system timeout. Send the request again.DCARDREFUSED
208Unsuccessful request due to card being suspended.DCARDREFUSED
210Unsuccessful request due to the card's credit limit.DCARDREFUSED
223Unsuccessful request due to an error verifying the card.DPAYMENTREFUSED
231Unsuccessful request due to an invalid card number.DINVALIDCARD
232Unsuccessful request due to the merchant not accepting credit cards issued outside of South Korea.DINVALIDCARD
233Unsuccessful request due to order number already existing for a previous transaction.DINVALIDCARD
242Unsuccessful request due to the transaction request not existing.MISSING_AUTH
250Unsuccessful request due to a KCP system timeout. Send the request again.PROCESSOR_TIMEOUT
251Unsuccessful request due to repeated attempts of entering an incorrect PIN.DEBIT_CARD_USAGE_LIMIT_EXCEEDD
255Unsuccessful request due to an invalid currency code.INCORRECT_LOCATION
264Unsuccessful request due to a missing required field value.MISSING_FIELD
265Unsuccessful 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 ValueProcessor Response Code Response MessageProcessor Payment Status Code
Last digit of the transaction reference number is 0.0000PENDINGSTAU
Last digit of the transaction reference number is 1.0000DECLINEDSTAF
Last digit of the transaction reference number is 2.0000COMPLETEDSTSC
Last digit of the transaction reference number is 3.0000COMPLETEDSTPC
Last digit of the transaction reference number is 4.0000TRADE_NOT_EXISTSTXX
Last digit of the transaction reference number is 5.0000CANCELLEDSTSR
Last digit of the transaction reference number is 6, 7, 8, or 9.0000COMPLETEDSTSR

Last published: September 29, 2026