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

FieldTypeRequiredNotes
amountnumberYesIn rupees, e.g. 99. Must exactly match a known AdZuipts service.
phonestringYes10-digit Indian mobile number.
emailstringNoIf omitted, auto-generated as <phone>@user.adzuipts.com
messagestringNoFree-text note.
address_line1 / line2 / city / state / pincode / countrystringNoBilling 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.