> For the complete documentation index, see [llms.txt](https://docs.doku.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.doku.com/accept-payments/integration-tools/e-commerce-and-plugins/shopify.md).

# 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](/get-started/create-account.md#create-your-first-business-account)
3. Create a [DOKU Sandbox Account](/get-started/create-account.md#create-a-sandbox-account-optional) for testing payment

***

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

1. [Indonesia Integration guide](/accept-payments/integration-tools/e-commerce-and-plugins/shopify/shopify-integration.md)
2. [Malaysia Integration guide](/accept-payments/integration-tools/e-commerce-and-plugins/shopify/shopify-integration-1.md)

***

## 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) to 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](/accept-payments/integration-tools/doku-checkout/customize-checkout-page.md) for more detailed information.

***

## Order Configuration

Order Configuration setting allows you to define how order are handled in your Shopify store. You can choose whether a pending payment order listed in the orders or all status will be shown in the orders. 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&amp;token=2348ada8-12e6-4f37-8d37-064bbd6a5029" alt="" width="563"><figcaption></figcaption></figure>

5. Under **Order Configuration Type**, select your preferred option:

   * **Paid order** **:** Only paid orders appear in the Shopify Orders tab, while unpaid orders appear in the Abandoned Checkouts tab; stock is reduced only after payment is completed.
   * **Stock Reserve Order :** Both paid and unpaid orders appear in the Shopify Orders tab, and stock is reduced immediately when an order is placed to prevent overselling.

   <figure><img src="https://1457116080-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWIsxU2UGMS7iidoMSuyz%2Fuploads%2FfWEZdBPZOlqLeDKXL6fX%2F2.png?alt=media&amp;token=3b01b07f-da24-4a3d-aa50-74bc100c9768" alt="" width="563"><figcaption></figcaption></figure>

***

## Incompatible Plugins

The following plugins are currently incompatible with our Shopify plugin. Using these listed plugins together may cause unexpected behavior or errors.

* [Shopify Flow](https://apps.shopify.com/flow)
  * Issue: When using automation workflows to create transaction, this plugin can trigger automate create payment session, resulting in double invoices being generated.
  * Recommendation: Ensure that Shopify Flow workflows is deactivate when using DOKU payments plugin[​](https://dashboard.doku.com/docs/docs/integrations/platform/shopify-integration#faqs)

***

## FAQ <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 [Set Up Integration](/get-started/manage-business/set-up-integration.md#api-keys) 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
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.doku.com/accept-payments/integration-tools/e-commerce-and-plugins/shopify.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
