Skip to main content

Partner Callback URLs

Callback URLs (webhooks) are the recommended integration method for tracking transactions. Instead of polling the API, your server receives HTTP POST requests whenever transaction events occur.

Why Use Callback URLs?

Real-Time Updates

Receive notifications instantly when transactions complete, fail, or are refunded

Reduced API Calls

No need to poll for status updates — events are pushed to you

Reliable Delivery

Automatic retries with exponential backoff ensure delivery

Secure

HMAC signatures verify authenticity of every request

Setup

1. Configure Your Endpoint

Configure your webhook URL through the Partner Dashboard at dashboard.nowramp.com under Settings > Webhooks.

2. Save Your Signing Key

When you set a webhook URL, a signing key is generated. Copy it from the Partner Dashboard under Settings > Webhooks.
Store the signing key securely. It’s used to verify webhook authenticity.

3. Implement Your Endpoint

Your endpoint must:
  • Accept POST requests
  • Return 2xx status within 30 seconds
  • Verify the signature (strongly recommended)

Request Format

Every callback includes these headers:

Payload Structure

The metadata.partnerMetadata object contains any custom data you passed via session metadata or checkout-intent partnerMetadata. Use it to correlate webhook events back to your internal orders. See the Webhooks guide for details.

Signature Verification

Always verify signatures to ensure requests are from NowRamp.

Algorithm

Node.js Implementation

Python Implementation

Event Types

Example: transaction.completed

Example: transaction.failed

Retry Policy

Failed deliveries are automatically retried with exponential backoff: After 5 failed attempts, the webhook is marked as failed and moved to the dead-letter queue.

Webhook Delivery Management

NowRamp provides partner-facing endpoints to monitor and manage webhook deliveries.

Delivery Statuses

List Webhook Deliveries

Query Parameters:

Retry Failed Delivery

You can only retry deliveries with failed status.

Partner Dashboard

You can also manage webhook deliveries from the Partner Dashboard:
  • View delivery history with filtering
  • Inspect full payload and response details
  • Retry failed deliveries with one click
  • Monitor delivery health and success rates

Best Practices

1. Respond Quickly

Return a 2xx response as fast as possible. Process events asynchronously:

2. Handle Duplicates

Events may be delivered more than once. Use the event id for idempotency:

3. Use HTTPS

Webhook endpoints must use HTTPS in production.

4. Verify Signatures

Always verify the X-Webhook-Signature header.

5. Monitor Failures

Set up alerts for failed webhook deliveries. Use the delivery management API or Partner Dashboard to monitor delivery health.

Testing

Sandbox Events

In sandbox mode, trigger test events:

Local Development

Use ngrok or similar to expose your local server:

Troubleshooting