Native Payment and Web Payment use different endpoints for payment initiation and payment detail reference.
However, some operations such as refunds are common to both.
| Main API | Native Payment | Web Payment |
Payment Initiation | POST /v2/payments | POST /v2/codes |
Payment Detail Reference | GET /v2/payments/{merchantPaymentId} | GET /v2/codes/payments/{merchantPaymentId} |
Payment Cancellation / Code Deletion | DELETE /v2/payments/{merchantPaymentId} | DELETE /v2/codes/{codeId} |
Refund | POST /v2/refunds | POST /v2/refunds |
| Refund Detail Reference | GET /v2/refunds/{merchantRefundId}?paymentId={paymentId} | GET /v2/refunds/{merchantRefundId}?paymentId={paymentId} |
- Usage distinction during implementation
1. When adopting Native Payment
- Design the flow starting from `
payments`.- User authorization status and wallet inquiries can be handled by the same series of APIs.
2. When adopting Web Payment
- Design the code creation and transition flow starting from `
codes`.- Use `
codes/payments/{merchantPaymentId}` to retrieve payment details.- Common implementation mistakes
- Using `
GET /v2/payments/{merchantPaymentId}` to retrieve payment details in Web Payment, which results in an OUT_OF_SCOPE error.- Misunderstanding that `
DELETE /v2/codes/{codeId}` can be used on the Native side.