Refunds
A refund is a follow-on request that uses the request ID from the initiate sale response. The request ID links the refund to the initiate sale.
Refund Restrictions
Multiple partial refunds are allowed. Partial refunds are not allowed for mobile billing payments or escrow payments. Partial refunds are not allowed when a green tax was present in the initiate sale request using the orderInformation.amountDetails.taxDetails[].type field. Refunds using the API service are not allowed for escrow payments.
When using the orderInformation.amountDetails.taxDetails[].type field, the types of refunds you can request are determined by the field's value:
| Green Tax Value | Refund Types Allowed |
|---|---|
0 | Both partial and full refunds are allowed. |
Greater than 0 | Only full refunds are allowed. |
null | Both partial and full refunds are allowed. |
Endpoints
POST /pts/v2/payments/{id}/refunds
POST /pts/v2/payments/{id}/refunds
The {id} is the request ID contained in the original transaction request.
Example
{ "clientReferenceInformation": { "code": "refnum-1234" }, "paymentInformation": { "paymentType": { "name": "LOCALCARD", "method": { "name": "KCP" } } }, "processingInformation": { "actionList": "AP_REFUND" }, "orderInformation": { "amountDetails": { "totalAmount": "10", "currency": "KRW" } }}{ "_links": { "self": { "method": "GET", "href": "/pts/v2/refunds/7202083841056082403955" }, "status": { "method": "POST", "href": "/pts/v2/refresh-payment-status/7202083841056082403955" } }, "clientReferenceInformation": { "code": "refnum-1234" }, "id": "7202083841056082403955", "orderInformation": { "amountDetails": { "currency": "KRW" } }, "processorInformation": { "responseDetails": "0000", "transactionId": "20130530123456" }, "refundAmountDetails": { "refundAmount": "10" }, "submitTimeUtc": "2024-07-05T19:39:44Z"}| Field | Type | Description |
|---|---|---|
clientReferenceInformation.code | Merchant-generated order reference or tracking number. | |
orderInformation.amountDetails.currency | Set to KRW. | |
orderInformation.amountDetails.totalAmount | The refund amount. | |
paymentInformation.paymentType.method.name | Set to one of these possible values: KAKAOPAY (Kakaopay), KCP (credit card, mobile billing, or real-time bank transfer), 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_REFUND. |
Optional Fields
| Field | Type | Description |
|---|---|---|
processingInformation.refundOptions.reason | The reason for the refund. | |
orderInformation.billTo.email | Customer email. | |
orderInformation.billTo.firstName | Customer first name. | |
orderInformation.billTo.lastName | Customer last name. | |
orderInformation.billTo.phoneNumber | Customer telephone number. | |
installmentInformation.frequency | Installment payment frequency for credit card payments only. | |
orderInformation.amountDetails.taxDetails[].type | Set to GREEN. You cannot use this field for partial refunds if this field was present in the initiate sale request. For more information, see Refund Restrictions. | |
orderInformation.amountDetails.taxAmount | The green tax amount. |
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.
Refund 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.
| Trigger Value | Processor Response Code | Response |
|---|---|---|
| Any value excluding the values below. | 0000 | success |
110115230001 | 1000 | Missing mandatory value |
110115230002 | 2000 | Invalid value, format error |
110115230003 | 3000 | System Error |
110115230004 | C000 | Please contact the card issuer for further assistance. |
110115230005 | A000 | Please contact your bank for further assistance. |
110115230006 | M000 | Mobile billing is not available for your carrier plan. |
110115230007 | 4000 | New error |
110115230008, 110115230009, or 110115230010 | 0000 | success |
110115230011 | 2000 | The request exceeds refund amount. |
Thanks for your feedback!
Last published: September 29, 2026