Wavy API Reference
Gateway checkout, webhooks, payment links, subscriptions, and the official WooCommerce plugin. Everything you need to integrate payments into your product.
1. Register your website
Log in to your dashboard, open the Connect tab, and add your website. Add a payout bank account so payments settle to you.
2. Copy your publishable key
Click Connect setup on your site. Copy the publishable key (wavy_pk_live_...). Safe to use in HTML and JavaScript — never expose your secret key.
3. Add a pay button (easiest)
Include Wavy Pay and call checkout — customers are redirected to secure Wavy checkout.
<script src="https://wavy.ng/assets/wavy-pay.js"></script>
<button id="pay">Pay now</button>
<script>
WavyPay.init({ publishableKey: 'wavy_pk_live_YOUR_KEY' });
document.getElementById('pay').onclick = () => WavyPay.checkout({
amount: 5000,
description: 'Order #123',
email: 'customer@email.com',
merchant_reference: 'order_123'
});
</script>
4. Or use a payment link
Share a link — no JavaScript needed. Build one in your dashboard or use this pattern:
https://wavy.ng/connect.html?pk=wavy_pk_live_...&amount=5000&description=Order&email=customer@email.com&ref=order_123
5. Server-side checkout (optional)
For full control, create checkout sessions from your server with your secret key.
POST https://api.wavy.ng/api/gateway/v1/checkout
Authorization: Bearer wavy_sk_live_YOUR_SECRET
Content-Type: application/json
{
"amount": 5000,
"description": "Order #123",
"email": "customer@email.com",
"merchant_reference": "order_123",
"success_url": "https://yoursite.com/success",
"cancel_url": "https://yoursite.com/cancel"
}
6. Verify payments & webhooks
Verify a transaction on your server:
GET https://api.wavy.ng/api/gateway/v1/transactions/{tx_ref}
Authorization: Bearer wavy_sk_live_YOUR_SECRET
Set a webhook URL in Connect setup. Wavy sends payment.success and payment.failed events. Verify the X-Wavy-Signature header with your webhook signing secret.