Overview
Shakesco Checkout provides a hosted payment page for accepting recurring subscriptions. Users complete payment requests in a secure, pre-built interface.
Two integration options:
- Redirect users to checkout URL
- Embed checkout in iframe
How It Works
Create checkout session
Call /start_session API endpoint with payment details
Receive checkout URL
API returns URL valid for 5 minutes
User completes checkout
Redirect or embed the checkout page
User approves in app
User accepts request in Shakesco app
Verify payment
Check payment status via /has_paid endpoint
Quick Start
1. Create session:
See Start Session API for full documentation.
2. Redirect user:
const response = await fetch("https://autopay.shakesco.com/start_session", {
method: "POST",
headers: {
Authorization: `Bearer ${API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
auto_address: YOUR_AUTO_ADDRESS,
network: "137",
period: "2592000",
currency_code: "USD",
amount: "20",
redirect_url: "https://yoursite.com/success",
// ... other params
}),
});
const { url } = await response.json();
window.location.href = url; // Redirect to checkout
3. Handle redirect:
User returns to your redirect_url after checkout. Verify payment:
const hasPaid = await checkPaymentStatus(userAddress);
if (hasPaid) {
// Grant service access
}
Configuration Options
Payment Types
- Recurring subscriptions - Set
period > 0
- One-time payments - Set
period: "0"
- Split payments - Enable
should_split: true
Token Support
Accept multiple tokens by passing array:
token_address: ["Polygon", "USDC", "DAI"];
See supported tokens.
Split Payments
Allow multiple users to share costs:
should_split: true,
number: "2" // Allows 2 splitters + group leader
Session Expiration
Checkout URLs expire after 5 minutes. Generate a new session if needed.
API Reference