# Shopify

[Shopify](https://www.shopify.com/) is an e-Commerce platform that helps merchants to create and manage online stores without the need of extensive technical knowledge. Shopify is suitable for a wide range of businesses, from small startups to large enterprises. It caters to various industries and allows users to sell physical products, digital goods, and services.

***

## Requirements[​](https://dashboard.doku.com/docs/docs/integrations/platform/shopify-integration#requirements) <a href="#requirements" id="requirements"></a>

Before you integrate your Shopify Store with DOKU, make sure that you have completed the following requirements:

1. Create an online store with [Shopify](https://shopify.com/)
2. Create a [DOKU Business Account](https://docs.doku.com/get-started/create-account#create-your-first-business-account)
3. Create a [DOKU Sandbox Account](https://docs.doku.com/get-started/create-account#create-a-sandbox-account-optional). You can use Shopify Trial Program and test your integration with a DOKU Sandbox Account

***

## Integration Guide <a href="#integration-steps" id="integration-steps"></a>

This integration guide consists of 3 **mandatory** steps:

1. Install DOKU Payment App on Shopify App Store
2. Configure DOKU Payment App
3. Set Up Payment Notification on DOKU Dashboard[​](https://dashboard.doku.com/docs/docs/integrations/platform/shopify-integration#install-doku-payment-for-shopify)

{% embed url="<https://www.youtube.com/watch?v=pNgRDh_dWZ4>" %}

#### Step 1: lnstall DOKU Payment App on Shopify App Store

1. Log in to your [DOKU Dashboard](https://dashboard.doku.com/bo/login?utm_source=docs)
2. Log in to your [Shopify Store](https://www.shopify.com/login)

<figure><img src="https://1457116080-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWIsxU2UGMS7iidoMSuyz%2Fuploads%2FTkYr4hRNihH7kKuQ6iyO%2Fimage.png?alt=media&#x26;token=1e950394-08ba-4b31-bb0b-e6ed323ef53c" alt=""><figcaption></figcaption></figure>

3. lnstall [DOKU Payment App ](https://apps.shopify.com/doku-payment-gateway)on Shopify App Store

<figure><img src="https://1457116080-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWIsxU2UGMS7iidoMSuyz%2Fuploads%2FNSd5HJVHUSiuiBa9AzvO%2Fimage%20(1).png?alt=media&#x26;token=974da7d1-a2ff-4f81-b0e2-1d90beb933d0" alt=""><figcaption></figcaption></figure>

#### Step 2: Configure DOKU Payment App

1. On **DOKU Payment** Configuration page, select **DOKU**
2. Configure the following required fields:
   * **Sandbox Client ID**: Client ID retrieved from [DOKU Sandbox](https://sandbox.doku.com/bo/developer/api-keys?utm_source=docs)
   * **Sandbox Secret Key**: Secret Key retrieved from [DOKU Sandbox](https://sandbox.doku.com/bo/developer/api-keys?utm_source=docs)
   * **Production Client ID**: Client ID retrieved from [DOKU Dashboard](https://dashboard.doku.com/bo/developer/api-keys?utm_source=docs)
   * **Production Secret Key**: Secret Key retrieved from [DOKU Dashboard](https://dashboard.doku.com/bo/developer/api-keys?utm_source=docs)

{% hint style="info" %}
Visit [#api-keys](https://docs.doku.com/get-started/manage-business/set-up-integration#api-keys "mention") for instructions on how to retrieve integration credentials (Client ID and Secret Key)
{% endhint %}

<figure><img src="https://1457116080-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWIsxU2UGMS7iidoMSuyz%2Fuploads%2FwZQmODXg5FJXyeAamex4%2Fimage.png?alt=media&#x26;token=f4290550-e29c-4a91-9bdc-9558315fe9df" alt=""><figcaption></figcaption></figure>

3. Click **Continue Integration With Shopify**
4. You will be redirected to the **Payment Settings** page in Shopify Admin Dashboard, where you can switch on the toggles for the payment icons you wish to display on your Shopify checkout page. (**Important Note:** The payment icons on the Shopify checkout page are only for display and do not indicate the actual payment methods that are available for payment).

<figure><img src="https://1457116080-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWIsxU2UGMS7iidoMSuyz%2Fuploads%2FP7pNHxirK04WgoBo8gTV%2Fimage.png?alt=media&#x26;token=0bfe1b36-4e31-4a15-9f24-0a5196177000" alt=""><figcaption><p>Payment Settings on Shopify Admin Dashboard</p></figcaption></figure>

<figure><img src="https://1457116080-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWIsxU2UGMS7iidoMSuyz%2Fuploads%2FUI7MPQapSohmgUFnCOxz%2Fimage.png?alt=media&#x26;token=d689cf0b-1ec0-4dba-ae7e-4584e2d14a3e" alt=""><figcaption><p>Shopify Checkout Page</p></figcaption></figure>

5. Scroll down and click **Activate**

<figure><img src="https://1457116080-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWIsxU2UGMS7iidoMSuyz%2Fuploads%2FDzoeIrn8WfNcdJZ3dcZY%2Fimage.png?alt=media&#x26;token=dfca990b-493e-453d-a988-b7a1e66439f6" alt=""><figcaption></figcaption></figure>

#### Step 3: Set Up Payment Notification on DOKU Dashboard

{% hint style="warning" %}
If you skip this step, your payment status on Shopify Dashboard will not be synced with DOKU Dashboard
{% endhint %}

1. Copy the below **Notification URL** dedicated for DOKU Payments on Shopify

```
https://api.doku.com/middle/v2/shopify/notify
```

2. Log in to your **DOKU Dashboard**
   * For testing transactions, visit [DOKU Sandbox](https://sandbox.doku.com/bo/login?utm_source=docs)
   * For processing real transactions, visit [DOKU Dashboard](https://dashboard.doku.com/bo/dashboard?utm_source=docs)
3. Navigate to **Settings** > **Payments Settings**, then go to each payment method settings page

<figure><img src="https://1457116080-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWIsxU2UGMS7iidoMSuyz%2Fuploads%2FMOvZ9MyD4iTsFVJQVlcm%2FDashboard%20Payment%20Settings.jpeg?alt=media&#x26;token=d131b0f4-bc12-40d9-b019-7350f33bf861" alt="" width="563"><figcaption></figcaption></figure>

4. Set up the payment notification URL for **each payment method** that you have activated using the notification URL that you have copied earlier. Visit [#set-up-payment-notification](https://docs.doku.com/get-started/manage-business/set-up-integration/webhook-payment-notification#set-up-payment-notification "mention") for detailed instructions

Once payment notification has been configured, you can start accepting payments with DOKU.

***

## Activate Payment Methods

You can activate more payment methods for your Shopify store by following the steps below:

1. Log in to [DOKU Dashboard](https://dashboard.doku.com/bo/login?utm_source=docs), and then access the side navigation bar
2. Select **Settings** from the menu
3. **Settings** page will appear. Under **Account** section, select **Service**
4. On **Service** page, click **ADD SERVICE**
5. Select the payment method you would like to activate
6. Click **ACTIVATE**.

Notes:

* Some payment methods can be activated instantly.
* Others may require approval from our **Risk Screening Team** before they become active.
* Certain payment methods may also require **credential registration** before activation is complete.
* Certain payment methods may be seen as disabled, because it can only be activated with the assistance of our Sales team. You may contact our Sales team by filling the following [form](https://www.doku.com/en-US/contact-sales?utm_source=docs).

***

## Checkout Page Configuration

By configuring your checkout page, you will be able to:

1. **Show or hide, and sort payment methods for your customers**\
   Choose which payment methods (e.g., cards, e-wallets, and virtual accounts) tp appear on your checkout page. You can also reorder them based on your preference or customer behavior to optimize conversions.
2. **Customize the interface**\
   Adjust the look and feel of your checkout page to align with your brand. This includes modifying button colors, fonts, logos, and layout to ensure a seamless and branded customer experience.
3. **Set a default expiry time**\
   Define how long a payment session remains valid before it expires. This is useful for limiting pending transactions and encouraging quicker payments, especially for methods like virtual accounts or retail outlets.

Visit [customize-checkout-page](https://docs.doku.com/accept-payments/integration-tools/doku-checkout/customize-checkout-page "mention") for more detailed information.

***

## Order Configuration

Order Configuration setting allows you to define how unpaid transactions are handled in your Shopify store. You can choose whether an incomplete payment is treated as an **Abandoned Checkout** or remains in the **Orders** section as **Payment Pending**. This helps you manage your store’s workflow and track customer activity more effectively. You can set the Order Configuration for your Shopify store by following the steps below:

1. Log in to your [Shopify Store](https://www.shopify.com/login)
2. Go to **Settings** > **Payments**
3. On the Shopify Payment Settings page, select **DOKU Payment**
4. Click **More Actions**, then select **Manage**

<figure><img src="https://1457116080-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWIsxU2UGMS7iidoMSuyz%2Fuploads%2FeW8TdDyIV9GUJCZvdLV9%2Fimage.png?alt=media&#x26;token=2348ada8-12e6-4f37-8d37-064bbd6a5029" alt=""><figcaption></figcaption></figure>

5. On DOKU Shopify Configuration page, select **Order Configuration** from the dropdown menu

   <figure><img src="https://1457116080-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWIsxU2UGMS7iidoMSuyz%2Fuploads%2F8wavI9xpvv3945Xz3huu%2Fimage.png?alt=media&#x26;token=1c9a2a53-e120-4813-a1f5-fe54485e52dd" alt=""><figcaption></figcaption></figure>
6. Under **Order Configuration Type**, select your preferred option:
   * **Abandoned Checkout:** If the customer does not complete the payment, the order will be moved to the **Abandoned Checkouts** section.
   * **Payment Pending:** If the customer does not complete the payment, the order will remain in the **Orders** section.

<figure><img src="https://1457116080-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWIsxU2UGMS7iidoMSuyz%2Fuploads%2FP47Ak3dSLzIBcs18nk0T%2Fimage.png?alt=media&#x26;token=8ead01c0-4b41-4e32-b1bc-743cdcf9d438" alt=""><figcaption></figcaption></figure>

***

## Testing Payments[​](https://dashboard.doku.com/docs/docs/integrations/platform/shopify-integration#testing-the-payment-in-sandbox-mode) <a href="#testing-the-payment-in-sandbox-mode" id="testing-the-payment-in-sandbox-mode"></a>

{% hint style="info" %}
Please ensure your sandbox credentials have been set up during your integration in[#step-2-configure-doku-payment-with-shopify](#step-2-configure-doku-payment-with-shopify "mention").
{% endhint %}

You can simulate transactions in your Shopify store using [DOKU Sandbox](https://sandbox.doku.com/bo/login?utm_source=docs) by following the steps below:

1. Log in to your [Shopify Store](https://www.shopify.com/login)
2. Go to **Settings > Payment**
3. Under **Supported Payment Methods** section, select **DOKU Payment**
4. Scroll down to **Test Mode** section and ensure that the toggle is switched on
5. Click **Save**&#x20;
6. Visit your Shopify storefront and check out a product
7. At checkout, select **DOKU Payment** as your payment method
8. You will be redirected to DOKU Checkout page, where you can select your preferred payment method
9. Complete the payment using DOKU Sandbox Simulator. Visit [#simulate-transactions](https://docs.doku.com/get-started/manage-business/set-up-integration/webhook-payment-notification#simulate-transactions "mention") to learn how to use the payment simulator
10. Upon completion of the payment, you will be redirected back to your store. The transaction will be marked as completed, and the order will be confirmed.

***

## FAQ[​](https://dashboard.doku.com/docs/docs/integrations/platform/shopify-integration#faqs) <a href="#faqs" id="faqs"></a>

<details>

<summary>Why is my payment status not updated on Shopify?</summary>

Payment notification URL must be set up on DOKU Dashboard for the transaction status to be updated on Shopify Dashboard. Please be sure to not skip step number 3 in the Integration Guide section.

</details>

<details>

<summary>How to retrieve my integration credentials (Client ID and Secret Key)?</summary>

Please refer to the guide on [#api-keys](https://docs.doku.com/get-started/manage-business/set-up-integration#api-keys "mention") to obtain your integration credentials.

</details>

<details>

<summary>Can I customize the expiry time of my Shopify order?</summary>

No, it is currently not possible to customize the expiry time of your Shopify order.

</details>

<details>

<summary>Is it possible to change the payment provider name instead of using DOKU Payment? </summary>

Currently, it is not possible to change the name of the payment provider.

</details>

<details>

<summary>Is integrating my Shopify store with DOKU free of charge?</summary>

Yes, integration with DOKU is free. However, an additional **0.2% fee** is applied on top of the standard transaction fee for each payment method.  For example, a successful transaction with **Bank Transfer** payment method will incur a fee of **IDR 4,000 + 0.2%** (excluding VAT) per transaction via Shopify.

</details>

<details>

<summary>How to enable PayLater payment methods in Shopify?</summary>

There are two requirements to enable PayLater payment methods on Shopify:

1. PayLater payment methods must be activated in your [DOKU Dashboard](https://dashboard.doku.com/bo/dashboard?utm_source=docs)
2. In your Shopify Dashboard, go to **Settings > Checkout**, and enable **Shipping address phone number**

Once the two requirements are met, PayLater payment methods will be available during checkout.

</details>

<details>

<summary>How do I switch payment provider on Shopify to DOKU?</summary>

You can only switch the payment provider once you have uninstalled the existing payment service provider app. Once uninstallation is completed, you can follow our [#integration-steps](#integration-steps "mention") for Shopify.

</details>

<details>

<summary>Is it possible to switch Shopify store but use my existing business account?</summary>

Yes, you can use your existing business account with a different store. However, you must uninstall the app from the current store and complete the integration process again by following our [#integration-steps](#integration-steps "mention") for Shopify.

Please note that the new store must use the same brand name. Using a different brand name may result in account suspension.

</details>

<details>

<summary>My transaction failed to be processed on Shopify. What should I do?</summary>

A common reason for a failed transaction is the use of non-alphabetic characters by your customer. Our system only supports alphabetic characters, so please ensure that all input consists solely of alphabetic characters.

If the transaction still fails to process after confirming the input is alphabetic, please submit a support ticket or send an email to [care@doku.com](mailto:care@doku,cin), and our team will assist you in troubleshooting the issue.

</details>

<details>

<summary>Why is my customer’s phone number on the DOKU checkout page different from what they entered on the Shopify checkout page?</summary>

This behavior is expected due to how Shopify and DOKU handle customer contact details. Shopify only provides a single field labeled **“Email/phone number”**, and depending on what the customer enters (email or phone), the other field may be left blank or auto-filled with a placeholder on the **DOKU Checkout Page**, which **requires both email and phone number**.\
If a customer enters only a phone number in Shopify, a dummy email or phone may appear on the DOKU page, and vice versa. This is a current limitation and cannot be prevented at this time.

</details>


---

# 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://docs.doku.com/accept-payments/integration-tools/e-commerce-and-plugins/shopify.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.
