Peptide-Pay has two integration paths: a 3-line drop-in Widget, and a Stripe-compatible REST API. Pick one.
Load the script, add a button with data attributes, done.
<script src="https://peptide-pay.com/widget.js"></script> <button data-peptidepay data-wallet="0xYOUR_USDC_POLYGON_WALLET" data-amount="94" data-currency="EUR" > Pay €94 </button>
Supported attributes:
data-wallet (required) — your Polygon USDC address. 0x + 40 hex chars.data-amount (required) — decimal, in your chosen currency.data-currency (required) — EUR, USD, GBP, CHF, CAD, AUD.data-email — pre-fill customer email in Moonpay.data-success-url — URL to redirect to after payment.data-cancel-url — URL if customer abandons checkout.Create a checkout session from your backend (Stripe-compatible shape):
POST https://peptide-pay.com/api/v1/checkout/init
Content-Type: application/json
{
"wallet": "0xYOUR_POLYGON_WALLET",
"amount": 9400, // cents
"currency": "EUR",
"email": "customer@example.com",
"success_url": "https://yoursite.com/thanks",
"cancel_url": "https://yoursite.com/cart",
"metadata": { "order_id": "xyz-001" }
}
// Response
{
"id": "cs_abc123...",
"url": "https://buy.moonpay.com/?...", // redirect customer here
"status": "pending",
"amount": 9400,
"currency": "EUR",
"expires_at": "2026-04-19T22:00:00Z"
}Then redirect the customer:
const res = await fetch('https://peptide-pay.com/api/v1/checkout/init', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
wallet: process.env.MERCHANT_WALLET,
amount: 9400,
currency: 'EUR',
}),
});
const session = await res.json();
window.location.href = session.url;Poll the session to check payment status:
GET https://peptide-pay.com/api/v1/sessions/{session_id}
// Response
{
"id": "cs_abc123...",
"status": "paid", // pending | paid | expired | failed
"amount": 9400,
"currency": "EUR",
"paid_at": "2026-04-19T21:34:12Z",
"txid": "0xe4f2..." // Polygon TX hash
}What happens under the hood when a customer pays €94:
paid, dashboard updated8% all-in typical for card payments (≈4.5% Moonpay + 1.5% PayGate + 2% Peptide-Pay).
Merchant nets ~92% of the customer's charge.
No monthly fees. No setup costs. No minimums. Pay only when you get paid.
Customer side: wherever Moonpay operates (90+ countries, most of EU, US, CA, UK, AU).
Merchant side: anyone with a USDC Polygon wallet. No restrictions.
Open an issue on GitHub or DM us on Telegram.