---
description: Learn how to set up Paymentwall.
---

# Paymentwall

### Widget (payment window) payment

{% hint style="info" %}
**What is Paymentwall widget?**

Paymentwall is an overseas PG with a different payment environment than domestic PGs. Unlike the domestic environment where authenticated payments are common, non-authenticated payments are more common overseas. Non-authenticated payments are made in the Paymentwall payment window called a widget.
{% endhint %}

{% tabs %}
{% tab title="Test" %}
### **Test environment setup**

1. [i'mport Admin console](https://admin.iamport.kr)→ **Payment integration** → **Test settings** → Select PG (**Paymentwall**) → **Paymentwall** -> **Add**&#x20;
2. Check the auto-generated test MID value and click **Save**

![Payment integration → Test settings → Select PG (Paymentwall) → Paymentwall -> Add](https://2814812280-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTv8JEzyM5h4cYcL5StH%2Fuploads%2FAgbRtMCoZ8rTwzpDE8G4%2Fimage.png?alt=media\&token=8034238d-3c1c-4b76-bb51-7ef65f3e8fd9)

![Check the auto-generated test MID value and click Save](https://2814812280-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTv8JEzyM5h4cYcL5StH%2Fuploads%2FPX7cmXvpJG04I4Ydd7Bi%2Fimage.png?alt=media\&token=825ad02d-4c8f-4ffa-8b4c-2c59573cc165)

> * Test payments incur <mark style="color:red;">**real payment on the actual credit card number**</mark>, and you must <mark style="color:red;">**cancel  the transaction**</mark> afterwards.&#x20;
> * Depending on each country's payment method policy, there may be countries/payment methods that <mark style="color:red;">**cannot be cancelled (refunded)**</mark>.
{% endtab %}

{% tab title="Live" %}
### Live environment setup

1. **Payment integration -> Live settings**
2. Select PG (**Paymentwall**) → **Paymentwall** -> **Add**
3. Enter the **Project Key/Secret Key** issued by Paymentwall upon contract signing.

**After setting Test mode to OFF**, enter the information for the live account issued by Paymentwall after passing inspection.

![Payment integration -> Live settings](https://2814812280-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTv8JEzyM5h4cYcL5StH%2Fuploads%2Fy6vnrEhB8tykt4wDnQeJ%2Fimage.png?alt=media\&token=179c1645-7349-475f-a763-f69d6b280a7f)

![Select PG (Paymentwall) → Paymentwall -> Add](https://2814812280-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTv8JEzyM5h4cYcL5StH%2Fuploads%2FbDFlK8prLMdqMWMYJNfR%2Fimage.png?alt=media\&token=d5c30469-d81b-4e68-bc92-434c29f2f17f)

![Enter the Project Key/Secret Key issued by Paymentwall upon contract signing](https://2814812280-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTv8JEzyM5h4cYcL5StH%2Fuploads%2F6FfA6ylg2nMCpAVu0rmO%2Fimage.png?alt=media\&token=6001786f-10e9-4991-86ad-9fdfd0d431a4)

> You must apply via the following <mark style="color:red;">**sign up page for i'mport**</mark>:
>
> * [**https://api.paymentwall.com/pwaccount?source=import**](https://api.paymentwall.com/pwaccount?source=import)
>
> (Signing up via other routes will cause **payment integration issues.**)
{% endtab %}
{% endtabs %}

{% hint style="info" %}
**Note - Paymentwall payment integration flow**&#x20;

Result response for all payment requests through Paymentwall must be processed through i'mport <mark style="color:red;">**webhook**</mark> because **Paymentwall transaction flow is different from domestic PGs**. In the payment flow, the final result response for all transactions requested to Paymentwall is sent to i'mport via pingback (webhook), and i'mport sends it to the merchant via webhook.

The cancellation request **processing flow is also different from domestic PGs** due to Paymentwall's unique cancellation processing logic. The flow is identical to that of direct integration with Paymentwall without using i'mport. Unlike domestic PGs, Paymentwall does not immediately send the result of the cancellation request. It first creates a cancellation ticket for the request and processes each ticket one by one. Once processed, the result is sent to i'mport via pingback and i'mports sends it to the merchant via webhook.

Even if you integrate Paymentwall directly by registering a cancellation ticket in Paymentwall, you must process the final result received via pingback (webhook) from Paymentwall.

When using i'mport, you must update the "**Waiting for cancellation**" payment status in your database when you receive the final result via webhook notification.
{% endhint %}

### API Payment

{% tabs %}
{% tab title="Key-in" %}
**Preparing for service**
{% endtab %}

{% tab title="Subscription" %}
**Preparing for service**
{% endtab %}
{% endtabs %}
