Skip to content

Winpay — E-Wallet

Winpay supports various e-wallet applications in Indonesia. The checkout flow for e-wallets usually involves redirecting the customer (Redirect) to the wallet's application/website, or through an automatic push notification (Push to Pay) directly to the customer's phone number.

Supported Wallets

  • OVO (Push to Pay)
  • DANA (Redirect)
  • SHOPEEPAY (Redirect)
  • ASTRAPAY (Redirect)
  • SPEEDCASH (Redirect)

How to Create

Set method_type to e_wallet, and in method_detail enter the wallet_type.

http
POST /v1/payments/create
json
{
  "amount": 5000000, 
  "currency": "IDR",
  "method_type": "e_wallet",
  "method_detail": {
    "type": "e_wallet",
    "wallet_type": "OVO"
  },
  "customer_phone": "081234567890",
  "customer_name": "Budi Santoso"
}

Important Request Notes

WARNING

Phone Number (customer_phone) is mandatory for OVO. Because OVO uses a Push to Pay mechanism, Winpay must know the phone number connected to the customer's OVO account. If it is empty, the transaction will fail.

Response & Payment Flow

The response returned depends heavily on whether the e-wallet uses a Redirect or Push to Pay mechanism.

1. Push to Pay Mechanism (e.g., OVO)

For OVO, there is no URL to click. The customer must proactively open their OVO application to see the payment notification.

Response:

json
{
  "success": true,
  "data": {
    "status": "pending",
    "method_data": {
      "type": "e_wallet",
      "wallet_type": "OVO",
      "message": "Payment notification has been sent to the OVO application of number 081234567890."
    }
  }
}

Action: Simply show a screen instructing the customer to check their OVO application within the next 30-60 seconds.

2. Redirect Mechanism (e.g., DANA, ShopeePay)

For DANA and ShopeePay, you will receive a URL where the customer must be directed to complete the transaction.

Response:

json
{
  "success": true,
  "data": {
    "status": "pending",
    "method_data": {
      "type": "e_wallet",
      "wallet_type": "DANA",
      "redirect_url": "https://pay.dana.id/v1/checkout/xxxxx",
      "deeplink": "dana://pay?checkout_id=xxxxx"
    }
  }
}

Action:

  • On Website/Desktop: Perform a window.location.href = redirect_url or display a "Click here to pay" button.
  • On Mobile App (Android/iOS): It is highly recommended to use the deeplink if the application is installed on the customer's phone, so it instantly jumps into the wallet app without going through the browser first. If it fails, fallback to the redirect_url (WebView/Browser).

Gerbang Pay API Documentation