Zapier Integration
Connect BINKPAY payment events to thousands of apps — without writing a single line of webhook handling code.
Hosted Checkout
Cards · Apple Pay · Google Pay
Refunds sync
No code changes
Global EnvironmentEgypt EnvironmentNo backend required
How it works
The BINKPAY Zapier app lets you subscribe to payment events from your BINKPAY account and route them to any of Zapier's 6,000+ connected apps — Slack, Google Sheets, HubSpot, Notion, Airtable, Mailchimp, and more. When a subscribed event fires in BINKPAY, Zapier receives the payload, parses the event fields, and executes your configured actions automatically.
Unlike a raw webhook integration, you do not need to provision a public HTTPS endpoint, write signature verification code, or manage delivery infrastructure. Zapier handles webhook delivery, retry logic, payload parsing, and field mapping through its no-code interface. Each Zap you create automatically registers a private webhook subscription with BINKPAY on your behalf.
The BINKPAY Zapier app is available for both the Global environment (USD, AED, EUR, GBP, SAR) and the Egypt environment (EGP). All event types are supported regardless of environment.
Prerequisites
sk_test_... key during development and a sk_live_... key for production Zaps.Connecting BINKPAY to Zapier
Create a new Zap and search for BINKPAY
Log in to your Zapier account and click + Create Zap. In the trigger search field, type BINKPAY and select the BINKPAY app from the results. The BINKPAY app is listed as BINKPAY — Payments & Invoicing.
Click "Sign in to BINKPAY"
After selecting BINKPAY as your trigger app, Zapier will prompt you to connect an account. Click Sign in to BINKPAY. A modal will open asking for your API key.
One connection, many Zaps
You only need to connect your BINKPAY account once. Once authenticated, you can reuse the same connection across all your Zaps without re-entering your API key.3
Locate your BINKPAY API key
In a separate browser tab, open the BINKPAY Dashboard → Developer → API Keys. Copy a live secret key (sk_live_...) for production, or a test key (sk_test_...) for development. If no key exists, click Generate New Key, give it a descriptive label such as Zapier Integration, and copy it immediately — it will not be shown again in full.
Paste your API key and confirm
Paste the copied API key into the Zapier authentication modal and click Yes, Continue to BINKPAY. Zapier will validate the key against the BINKPAY API. On success, the modal closes and your BINKPAY account appears in the connected accounts list.
Keep your API key secret
Your secret API key grants full access to your BINKPAY account. Never share it in public repositories, Slack messages, or browser-side code. If a key is compromised, revoke it immediately in the Dashboard and generate a replacement.5
Select your trigger event and test the connection
After connecting, Zapier will prompt you to choose a trigger event (see Available Trigger Events below). Select the event you want to listen for and click Test trigger. Zapier will fetch a recent sample payload from your BINKPAY account to confirm the connection is working. If no recent events exist, trigger a test payment or refund in your BINKPAY Dashboard first.
Available trigger events
Each trigger event corresponds to a BINKPAY webhook event. When you create a Zap with one of these triggers, BINKPAY automatically registers a webhook subscription for that event type and routes payloads to Zapier.
payment.succeeded
Payment Succeeded
Fires when a payment is successfully captured. The payload includes the payment amount, currency, customer email, customer name, card brand, last 4 digits, receipt URL, and any metadata attached to the payment.
payment.failed
Payment Failed
Fires when a payment attempt is declined or fails processing. Includes the error code (e.g., insufficient_funds, card_declined, expired_card), a human-readable error message, and the attempted amount and currency.
refund.created
Refund Created
Fires when a refund is initiated, either from the Dashboard or via the API. Includes the original payment ID, refund amount, refund reason, and the customer's email and name.
dispute.created
Dispute Created
Fires when a chargeback or payment dispute is opened by a cardholder. Includes the dispute ID, disputed amount, currency, reason code, and the response deadline date. Act promptly — most card networks require evidence within 7–21 days.
invoice.paid
Invoice Paid
Fires when a BINKPAY Invoice is paid in full. Includes the invoice ID, invoice number, line items array (with name, quantity, and unit amount), subtotal, tax, total, and customer details.
payout.completed
Payout Completed
Fires when a payout to your linked bank account is completed. Includes the payout amount, currency, bank reference number, and the period the payout covers. Use this trigger to reconcile your internal accounting records.
Webhook payload examples
The following are realistic JSON payloads that BINKPAY delivers to Zapier for each event type. Zapier parses these automatically and makes every nested field available as a mappable data token in your Zap actions.
payment.succeeded
{
"id": "evt_01HXYZ9K3M2P4Q5R6S7T8U9V0W",
"type": "payment.succeeded",
"created_at": "2025-11-04T14:32:07Z",
"api_version": "2025-01",
"environment": "live",
"data": {
"payment": {
"id": "pay_01HXYZ7A2B3C4D5E6F7G8H9I0J",
"status": "succeeded",
"amount": 12000,
"amount_received": 12000,
"currency": "USD",
"description": "Annual Pro Plan",
"payment_method": {
"type": "card",
"brand": "visa",
"last4": "4242",
"exp_month": 8,
"exp_year": 2027,
"funding": "credit"
},
"customer": {
"id": "cus_01HXYZ1A2B3C4D5E6F7G8H9I",
"email": "alex.morgan@example.com",
"name": "Alex Morgan"
},
"payment_link_id": "pl_01HXYZ3A2B3C4D5E6F7G8H9I",
"receipt_url": "https://receipts.binkpay.net/r/pay_01HXYZ7A2B3C4D5E6F7G8H9I0J",
"metadata": {
"source": "zapier",
"campaign": "black_friday_2025"
},
"created_at": "2025-11-04T14:31:59Z"
}
}
}refund.created
{
"id": "evt_01HYAB1C2D3E4F5G6H7I8J9K0L",
"type": "refund.created",
"created_at": "2025-11-05T09:14:22Z",
"api_version": "2025-1",
"environment": "live",
"data": {
"refund": {
"id": "ref_01HYAB2C3D4E5F6G7H8I9J0K1L",
"status": "pending",
"amount": 12000,
"currency": "USD",
"reason": "requested_by_customer",
"reason_description": "Customer requested cancellation within 30-day window",
"payment_id": "pay_01HXYZ7A2B3C4D5E6F7G8H9I0J",
"customer": {
"id": "cus_01HXYZ1A2B3C4D5E6F7G8H9I",
"email": "alex.morgan@example.com",
"name": "Alex Morgan"
},
"metadata": {},
"created_at": "2025-11-05T09:14:20Z",
"estimated_arrival": "2025-11-08T00:00:00Z"
}
}
}Amounts are in minor units
All monetary amounts in BINKPAY payloads are expressed in the smallest unit of the currency — cents for USD, fils for AED, piastres for EGP, and so on. An
amount
12000
currency: "USD"
Setting up a Zap
The following walkthrough creates a complete Zap that listens for successful payments, sends a Slack notification to your team, and logs each payment to a Google Sheet. This pattern covers the most common BINKPAY + Zapier use case and can be extended with additional actions.
Set up the trigger: BINKPAY → payment.succeeded
Create a new Zap and connect BINKPAY as the trigger app. Select Payment Succeeded as the trigger event. After authenticating and testing the trigger, Zapier will display a sample payment.succeeded payload. You'll use fields from this payload (such as data.payment.customer.email and data.payment.amount) to map into the downstream actions.
Add Action 1: Send a Slack message
Click + to add an action. Search for Slack and choose the Send Channel Message action. Authenticate with your Slack workspace, then configure the message:
- Channel:
#payments - Message Text:
💳 New payment from {{data__payment__customer__name}} ({{data__payment__customer__email}}): ${{data__payment__amount_received}} {{data__payment__currency}}. Payment ID: {{data__payment__id}}.
Click Test action to send a sample message to Slack and confirm the field mappings look correct.
Add Action 2: Update a Google Sheets row
Click + to add a second action. Search for Google Sheets and choose Create Spreadsheet Row. Authenticate with your Google account, then select your payments tracking spreadsheet and worksheet. Map the following columns:
| Sheet Column | BINKPAY Field |
|---|---|
| Payment ID | {{data__payment__id}} |
| Date | {{data__payment__created_at}} |
| Customer Email | {{data__payment__customer__email}} |
| Amount | {{data__payment__amount_received}} |
| Currency | {{data__payment__currency}} |
| Card Brand | {{data__payment__payment_method__brand}} |
| Receipt URL | {{data__payment__receipt_url}} |
Name and publish your Zap
Give your Zap a descriptive name such as BINKPAY Payment Succeeded → Slack + Google Sheets. Click Publish to activate it. From this point, every successful payment on your BINKPAY account will automatically post a Slack notification and log a row in your Google Sheet — with no code required.
Filter by currency or amount
Add a Zapier Filter step between the trigger and your actions to only run the Zap for payments above a certain amount or in a specific currency. Use the condition data__payment__currency exactly matches USD, for example.
Retry behavior
Zapier provides built-in retry logic for failed Zap runs. If an action in your Zap fails — for example, Slack is temporarily unavailable or a Google Sheets API rate limit is hit — Zapier will automatically retry the failed step with exponential backoff for up to 7 days.
Each failed Zap run is logged in Zapier → Zap History with the full error message and the exact payload that triggered it. You can manually replay any failed run from the history view after the underlying issue is resolved.
| Retry attempt | Wait before retry |
|---|---|
| 1st retry | 15 minutes |
| 2nd retry | 30 minutes |
| 3rd retry | 2 hours |
| 4th–nth retry | Continues with increasing intervals up to 7 days total |
BINKPAY does not perform additional retries on top of Zapier's retry mechanism. If a webhook is not acknowledged by Zapier within the initial delivery window, BINKPAY marks the delivery as failed and Zapier's retry queue takes over.
Available actions
In addition to triggers, the BINKPAY Zapier app exposes actions — operations you can perform on your BINKPAY account as part of a Zap. Use these as action steps, triggered by other apps (for example, create a BINKPAY Payment Link when a new row is added to a Google Sheet).
Create Payment Link
Creates a new BINKPAY Payment Link with a specified amount, currency, description, and optional expiry date. Returns the payment link URL and ID, which can be passed to downstream actions (e.g., send the link via email using Gmail or Outlook).
Required / optional fields: Amount, currency, description, redirect URL, expiry date (optional), metadata (optional)
Create Invoice
Creates a BINKPAY Invoice and optionally sends it directly to a customer email. Supports multiple line items, tax rates, due dates, and custom notes. Returns the invoice ID, invoice number, and a hosted invoice URL.
Required / optional fields: Customer email, line items (name, quantity, unit amount), currency, due date, tax rate, notes
Void Payment
Voids a previously authorized payment that has not yet been captured. Cannot be used on already-captured or settled payments — use the Refund API for those. Accepts a payment ID and an optional void reason.
Required / optional fields: Payment ID, void reason (optional)
Testing your Zap
Always test your Zap with a test-mode BINKPAY API key (sk_test_...) before enabling it in production. Testing in Zapier involves two phases:
- Trigger test: In the Zap editor, click Test trigger. Zapier will fetch recent events from your BINKPAY account using the connected API key. If your account has no recent events, generate one by creating a test payment in the BINKPAY Dashboard under Developer → Test Payments.
- Action test: After confirming the trigger payload, click Test action for each action step. This sends a real request to the downstream app (Slack, Google Sheets, etc.) using the test payload data. Verify the output in the destination app before publishing.
- End-to-end test: With the Zap published (set to On), trigger a real test payment using card number
4242 4242 4242 4242in the BINKPAY sandbox. Watch Zapier → Zap History to confirm the Zap fires and all actions complete successfully.
Switch keys before going live
When you're ready to accept real payments, update your Zapier BINKPAY connection to use a live API key (sk_live_...). In Zapier, go to Apps → BINKPAY → Edit Connection and replace the API key. All Zaps using that connection will immediately start receiving live events.
Troubleshooting
"Test trigger" returns no data or shows "We couldn't find any data"
Zapier polls for recent events when you test a trigger. If your BINKPAY account has no events of the selected type in the past 24 hours, the test will return empty.
- Manually trigger the event type in BINKPAY: go to Developer → Test Payments and create a test transaction that will produce the event (e.g., a successful payment for
payment.succeeded). - After triggering the event, return to Zapier and click Test trigger again. Zapier will now find the new event.
- Confirm your API key environment matches your event source — a
sk_test_...key will only see test-mode events, not live payments.
Zap runs are failing with "Authentication failed" or "Invalid API key"
This error occurs when the BINKPAY API key stored in Zapier is invalid, revoked, or has been rotated without updating the Zapier connection.
- Go to Zapier → Apps → BINKPAY → Edit Connection and verify the API key. Re-enter or replace it with a valid key from BINKPAY Dashboard → Developer → API Keys.
- If the key was recently revoked in the BINKPAY Dashboard, generate a new one with the label Zapier, copy it, and update the Zapier connection.
- Confirm the key has not been restricted to specific IP addresses. Zapier's infrastructure uses a range of IP addresses that must be whitelisted if you've enabled IP restrictions in BINKPAY.
Live payments are occurring in BINKPAY but the Zap is not firing
The Zap may be turned off, the webhook subscription may have been deregistered, or the Zap may be running but failing silently due to a downstream action error.
- Confirm the Zap is turned On in Zapier. A Zap in draft or paused state will not receive events.
- Check Zapier → Zap History to see if the Zap has fired but one of the action steps failed. Failed runs appear in red with a detailed error message.
- In the BINKPAY Dashboard, go to Developer → Webhook Logs and filter by your Zapier endpoint URL. If deliveries show as failed, the endpoint may be timing out — contact Zapier support if the issue persists.
- Reconnect the BINKPAY app in Zapier by going to Apps → BINKPAY → Reconnect. This re-registers the webhook subscription with BINKPAY.
Was this page helpful?
