AdZuipts × Razorpay — External Payment API
How to route fixed-price payments through AdZuipts without integrating Razorpay yourself.
1. How it works
Your site never talks to Razorpay directly and never sees AdZuipts's Razorpay secret key. Your backend sends the customer's phone, amount, and (optionally) email to the AdZuipts External API, authenticated with your API key. AdZuipts checks the amount against its known fixed-price services, creates a Razorpay order on the AdZuipts Razorpay account, and returns a public key_id + order_id. Your frontend uses those two values to open the Razorpay Checkout popup — it runs on your page, but the payment settles into the AdZuipts Razorpay account.
2. Authentication
Every request needs an X-API-Key header. Get your key from your Dashboard once your developer account is approved.
3. Endpoint
POST https://api.adzuipts.com/external/create-order.php Content-Type: application/json X-API-Key: adz_live_...
4. Request body
| Field | Type | Required | Notes |
|---|---|---|---|
| amount | number | Yes | In rupees, e.g. 99. Must exactly match a known AdZuipts service. |
| phone | string | Yes | 10-digit Indian mobile number. |
| string | No | If omitted, auto-generated as <phone>@user.adzuipts.com | |
| message | string | No | Free-text note. |
| address_line1 / line2 / city / state / pincode / country | string | No | Billing address. |
5. Example request
curl -X POST https://api.adzuipts.com/external/create-order.php \
-H "Content-Type: application/json" \
-H "X-API-Key: adz_live_xxxxxxxx" \
-d '{
"amount": 99,
"phone": "9876543210",
"email": "customer@example.com",
"address_line1": "12 MG Road",
"address_city": "Lucknow",
"address_state": "Uttar Pradesh",
"address_pincode": "226001"
}'
6. Response
{
"key_id": "rzp_live_xxxxxxxxxxxx",
"order_id": "order_XXXXXXXXXXXXXX",
"amount": 9900,
"currency": "INR",
"service_title": "Facebook Page Audit",
"email_used": "customer@example.com"
}
key_id is AdZuipts's public Razorpay key — safe for your frontend JS. amount is in paise. A non-matching amount returns HTTP 400.
7. Opening the payment popup
<script src="https://checkout.razorpay.com/v1/checkout.js"></script>
<script>
const rzp = new Razorpay({
key: response.key_id,
amount: response.amount,
currency: response.currency,
order_id: response.order_id,
name: "AdZuipts",
description: response.service_title,
method: { card: true, upi: true, netbanking: true },
handler: function (res) {
// res.razorpay_payment_id / razorpay_order_id / razorpay_signature
// AdZuipts's own webhook independently confirms the payment —
// you don't need to report success back to AdZuipts.
}
});
rzp.open();
</script>
8. Notes
- Card, UPI and Netbanking only — no wallets or Pay Later.
- Amounts must match an AdZuipts fixed-price service exactly.
- Keep your API key server-side — call this endpoint from your backend, not a public frontend bundle.
- Manage/rotate your keys any time from your Dashboard.