Skip to main content
dLocal is a global payments platform that helps you accept local payment methods and cards across emerging markets. ShopeePay is a popular e-wallet in Southeast Asia, integrated with the Shopee e-commerce platform.

Setup

Please follow the common dLocal instructions to get set up with ShopeePay. Next, make sure to enable ShopeePay as a payment method on your configured account.

Features

  • Partial refunds - Refund a portion of the captured amount
  • Refunds - Full refund support
  • Settlement reporting - Access to settlement reports
  • Transaction sync - Automatic transaction status synchronization

Supported countries

dLocal supports transactions from buyers in TH.

Supported currencies

dLocal supports processing payments in THB.

Limitations

  • Tokenization - Payment method tokenization is not supported
  • Capture - Delayed capture is not supported
  • Void - Transaction void is not supported

Integration

For ShopeePay, the default integration is through a redirect to a hosted payments page. Start by creating a new transaction with the following required fields.
var transaction = await client.Transactions.CreateAsync(
    transactionCreate: new TransactionCreate()
    {
        Amount = 1299,
        Currency = "THB",
        Country = "TH",
        PaymentMethod =
            TransactionCreatePaymentMethod.CreateCheckoutSessionWithUrlPaymentMethodCreate(
                new RedirectPaymentMethodCreate()
                {
                    Method = "shopeepay",
                    RedirectUrl = "https://example.com/callback",
                }
            ),
    }
);
After the transaction is created, the API response includes payment_method.approval_url and the status is set to buyer_approval_pending. Redirect the buyer to the approval_url so they can complete the payment. After approval the buyer is redirected to the redirect_url you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example capture_succeeded or failure states).