# Service launch checklist

💡 Before deploying your service to production, check the details that are easy to miss to prevent production failures.

## ✍️ All services

* **Configure i'mport console -> system settings with production settings**
  * [ ] Set PG Merchant ID / PG Secret.
  * [ ] Set test mode to OFF.
  * [ ] Set webhook (notification) URL.
  * [ ] Set IP security settings.
  * [ ] Check the credit card usage/merchant interest payment installment settings.
  * [ ] Set m\_redirect\_URL (for when using redirect mode (mobile/PayPal)).
  * [ ] Set confirm\_URL (for when using the service - must request to i'mport in advance)
* **Successful payment window call and result processing**
  * [ ] The payment window for the specified PG opened.
  * [ ] After payment, the result is successfully received via callback/via 302 redirect to m\_redirect\_url.&#x20;
  * [ ] When the payment is completed (paid/canceled), the processing result is successfully received via webhook.
  * [ ] The received webhook data (result) is successfully updated in the system.
  * [ ] Responded to webhook with HTTP 200.
  * [ ] There is logic to handle the case when the result cannot be verified due to a communication error during payment/cancellation.
  * [ ] There is a reprocessing logic for each payment/cancellation failure reason. (Example: A failed cancellation can be reattempted.)
  * [ ] Provides or can instruct about the function to check the transaction details for payment/cancellation.
  * [ ] Can check the data for key items. (Approval number/imp\_uid/merchant\_uid)
  * [ ] There is logic to process a duplicate result that is received.

<mark style="color:yellow;">⚠️</mark> Check the following checklists by payment method.

## 💳 Credit card

* [ ] Pass all credit card company reviews, and complete approval and full/partial cancellation tests.
* [ ] Verify that installment and interest-free settings are shown correctly in the payment window.
* [ ] Successfully process payment/cancellation with check/credit/foreign credit cards (foreign credit cards require a separate contract).
* [ ] Set tax free/taxable amount is displayed correctly in the PG's admin/sales slip.&#x20;
* [ ] For subscription payment, billing key is issued and the payment is completed successfully.
* [ ] If payment fails, the corresponding billing key can be deleted and reissued for a new payment info to make a payment.

## 💵 Virtual account

* [ ] Can obtain the bank name using the bank code of the issued virtual account.
* [ ] Can send the issued virtual account to the payer and then delete it.
* [ ] Can receive the deposit result and update it in the system.
* [ ] Can update a deposit cancellation in the system.
* [ ] Can request and process a refund when a refund is requested.

## 💸 Account transfer

* [ ] Can obtain the bank name using the bank code used for withdrawal and transfer.
* [ ] Can request and process a refund when a refund is requested.

## 📱Mobile phone

* [ ] Pass all phone carrier reviews and complete approval and full/partial cancellation tests.

  ```
  (Partial cancellation is not supported except for Inicis and KCP (separate agreement required))
  ```
* [ ] Approved transactions can only be cancelled during the month when the transaction occurred.

## 🙋 Identity verification

* [ ] Sign an agreement for foreigner status check, if needed.

## 🧾 Cash receipt

* [ ] Can search for and cancel an issued receipt.&#x20;
* [ ] Can process i'mport transactions and other transactions separately.

***

<mark style="color:yellow;background-color:yellow;">⚠️</mark> Test all test cases in the target payment environment.

| OS / Browser | IE / Edge | Chrome | Safari | FireFox | Whale | Portal WebView | SNS WebView |
| ------------ | --------- | ------ | ------ | ------- | ----- | -------------- | ----------- |
| Windows      |           |        |        |         |       |                |             |
| Mac OS       |           |        |        |         |       |                |             |
| Android      |           |        |        |         |       |                |             |
| iOS          |           |        |        |         |       |                |             |

* [ ] Create info.plist to link to external PG apps in iOS.&#x20;
* [ ] Pass app\_scheme to return to the merchant app after payment.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://portone.gitbook.io/docs-en/tips/chk.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
