Payments

AI Tools

Users can configure payment methods using Manual Bank Transfer or Payment Gateway.

Manual Bank Transfer

Businesses have the flexibility to add new bank accounts from a variety of options like BCA, BRI, BNI, Mandiri, and more. With the Manual Bank Transfer payment method, when customers make a transfer, all they need to do is send a payment confirmation along with their transfer receipt. The business will then verify the transaction with the help of a unique code, ensuring a smooth and secure process.

Payment Gateway

We support 2 popular payment gateways in Indonesia, namely Midtrans and Xendit, providing businesses with the option to choose a secure and convenient online payment platform according to their preferences. Qiscus Shop offers seamless integration with these Payment Gateways, so businesses need to either register for a new account or use their existing accounts on the chosen Payment Gateway platform.

By using the Midtrans payment gateway, businesses don't need to manually change the status from unpaid to paid because it will be done automatically. This includes setting the order status to Canceled if the payment has expired. Additionally, customers are not required to send payment proof.

Midtrans Integration

Here's how to integrate with Midtrans Payment Gateway:

  1. Open the Qiscus Shop Dashboard.
  2. Click on 'Payment Gateway' under the Payment menu group.
  3. Click 'Add Payment Gateway'.
  4. Enter the following details:
    1. Account Name.
    2. Account Descriptions
    3. Choose the Service Charge Type: (1) percentage or (2) fixed. If you don't want to charge a service fee to the customer, you can leave this section empty.
  1. Select 'Payment Gateway Service: Midtrans' The detailed information required can be obtained from the Midtrans Dashboard under the 'Settings' > 'Access Key,' which includes:

    1. Environment: (1) Production, (2) Staging
    2. Merchant ID, Client Key & Server Key, to
    3. Payment Channels, including
      1. Virtual account (e.g., UOB ezpay, Mandiri Bill Payment, Permata Virtual Account, BCA Virtual Account, BNI Virtual Account, BRI Virtual Account, CIMB Virtual Account, Danamon Online).
      2. Merchants (e.g., Alfamart, Indomaret).
      3. E-Wallets (e.g., Gopay, Shopeepay).
      4. PayLaters (e.g., Akulaku, Kredivo).
      5. Credit Cards.
  2. Then, click Save.

Xendit Integration

Xendit is a payment gateway that allows you to accept payments from customers through various payment methods. Qiscus Shop supports Xendit via Payment Session, the recommended integration method.

The previous Xendit Payment Link integration is now considered Legacy. We recommend migrating to Payment Session for better payment method coverage and reliability.

Prerequisites & Setup

Before you begin, make sure you have an active Xendit account.

Step 1: Generate Your Xendit API Key

  1. Log in to your Xendit Dashboard.
  2. Navigate to Settings → API Keys.
  3. Click Generate API Key.
  1. Enter a name for your API key (e.g. Qiscus Shop).
  2. Set the permissions as follows — leave everything not listed as None:
PermissionSetting
Money-in productsWrite
TransactionRead
All other permissionsNone
  • Money-in products → Write: Required to create Payment Sessions and accept payments via all supported channels (cards, virtual accounts, e-wallets, etc.)
  • Transaction → Read: Required for Qiscus Shop to verify payment status and automatically update order status.
  1. Click Generate key.
  2. Copy and save both the Public Key and Secret Key immediately — the Secret Key will only be shown once.

Step 2: Add Xendit as a Payment Gateway

  1. Go to Qiscus Shop Dashboard → Payment Gateway from the left sidebar.
  2. Click Add Payment Gateway.
  1. Fill in the following fields:
FieldDescription
Account NameA name to identify this payment gateway (e.g. Xendit)
Account DescriptionA short description (e.g. Xendit)
Service Charge Type (optional)Select whether to apply a service charge — choose Fixed or Percentage
Charge Value (optional)Enter the charge amount based on the selected charge type
Payment Gateway ServiceSelect Xendit from the dropdown

Step 3: Configure Xendit Account Settings

Under the Xendit Account Settings section, fill in:

FieldDescription
Public KeyYour Xendit Public Key
Secret KeyYour Xendit Secret Key

Test Mode

  • Check Enable Test Mode if you want to run the integration in a sandbox environment before going live.
  • When Test Mode is enabled, make sure to use your Xendit test API keys.

Step 4: Configure Payment Channels

Under the Payment Channels section:

  1. Select a Country from the dropdown.

    • The system will use your store's currency combined with the selected country to determine which payment methods are available.
    • Only payment methods supported for that country and currency combination will be shown.
  2. Select the payment methods you want to enable for your customers.

Tip: Make sure your store currency matches the currency used in your Xendit account to avoid payment method loading issues.

Step 5: Test Your Configuration

Under the Test Payment Channels section:

  1. Click Run Test to verify your Xendit configuration.
  2. You can test individual channels or run a full test across all configured channels.
  3. Confirm all channels return a successful result before going live.

Step 6: Save the Configuration

Click the Create button at the top right of the page to save your Xendit Payment Gateway configuration.

Step 7: Set Up Order Status Update Automation

To automatically update your order status when a payment is completed, you need to configure the callback URL in your Xendit dashboard.

  1. After saving, you will be redirected to the Payment Gateway list page. Find the Xendit gateway you just created and click Settings.
  1. Scroll to the bottom of the page and copy the Payment Session Callback URL by clicking Copy.
  1. Log in to your Xendit Dashboard.
  2. Navigate to Settings → Webhooks.
  3. Go to the Payment Session section.
  4. Add the copied URL to the following webhook events:
    • Payment Session Completed
    • Payment Session Expired
  1. Save your webhook settings.

The callback URL is only available after the payment gateway has been saved. Complete Steps 2–6 first, then return to copy the URL.

Troubleshooting

IssueSolution
No payment methods appearCheck that your store currency matches the selected country's supported currency in Xendit
Test failsVerify your Public Key and Secret Key are correct and match the selected mode (Test/Live)
Orders not updatingConfirm the callback URL is correctly added to the Payment Session section (not Invoices) in Xendit Webhooks
Type to search, ESC to discard
Type to search, ESC to discard
Type to search, ESC to discard