# 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.
