Doku.com Payment Integration
This integration shows you how connect store to global payment systems. We built this integration for Oceaninside.com, a Bali-based jewelry store selling handmade silver pieces.
International Payment Integration
Connecting your store to international payment systems lets you accept payments in multiple currencies without restrictions. We built this integration for Oceaninside.com, a Bali-based jewelry store selling handmade silver pieces.
This setup works for any business that needs to process payments in different currencies.
What We Built
The integration connects InSales directly to Doku.com's payment gateway. When customers check out, they're sent to a secure Doku payment page. After payment, the order status updates automatically in InSales.
No manual processing required. The system handles everything from payment collection to order confirmation.
Key Features
Automatic Payment Pages
Each order gets its own payment page on Doku. This reduces errors and makes checkout simpler for customers. The page includes order details, amount, and available payment methods.
Complete InSales Setup
We installed and configured the app so InSales talks to Doku.com properly. Orders sync automatically. Payment confirmations update order status in real time.
Payment Security
We validate all responses from Doku to prevent fake transactions. The system uses signature verification to ensure payment data hasn't been tampered with.
Flexible Hosting
You can use our hosting or install the app on your own server. This matters if you have specific infrastructure requirements or security policies.
How It Works
Customer Places Order
Customer completes checkout in your InSales store and clicks the payment button.
Order Sent to Doku
InSales sends order details to Doku.com via API. This includes invoice number, amount, currency, and callback URL.
Payment Page Opens
Customer is redirected to Doku's secure payment page. They choose a payment method and enter their details.
Payment Processed
Doku processes the payment and sends a notification back to InSales with the transaction status.
Order Status Updates
InSales marks the order as paid. Customer gets confirmation. Store admin sees the payment in the dashboard.
Technical Implementation
API Integration
We use Doku's REST API to create payment sessions. Here's what gets sent:
{
"order": {
"amount": 80000,
"invoice_number": "INV-12345",
"currency": "IDR",
"callback_url": "https://yourstore.com/payment/callback"
},
"payment": {
"payment_due_date": 60
}
}
Payment Callback
After payment, Doku sends a POST request to your callback URL with these parameters:
| Parameter | Description |
|---|---|
| TXNDATE | Transaction timestamp (yyyyMMddHHmmss) |
| TXNSTATUS | S for success, F for failed |
| ACQUIRER | Payment processor name |
| AMOUNT | Transaction amount |
Security Verification
All callbacks from Doku include a signature. We validate this signature using your secret key to confirm the request is legitimate and hasn't been modified.
Testing and Validation
We tested every payment scenario:
- Successful payments with different payment methods
- Failed payments and timeout handling
- Callback processing and order status updates
- Notification delivery to customers
- Edge cases like duplicate payments and network errors
All tests ran in Doku's sandbox environment before going live. This ensures no real money is at risk during testing.
Recurring Payments Support
If you sell subscription products like regular deliveries of food, books, or office supplies we have a separate solution.
Our PayOnline app for InSales handles recurring payments. It charges customers automatically on schedule without requiring manual processing each time.
Why This Integration Works
International payment processing doesn't have to be complicated. This integration shows you can connect InSales to global payment systems without sacrificing speed or usability.
The result: you accept payments in the currencies you need, automate the entire process, and give customers a smooth checkout experience.