Skip to main content

BlueSnap API Endpoints

Reference for the BlueSnap API endpoints the iPaaS.com BlueSnap integration calls to make pay links and read the payments made on them.

This article lists the BlueSnap API endpoints the iPaaS.com BlueSnap integration calls. It is a reference for what the integration accesses on your BlueSnap account (for example, when BlueSnap announces a change to an API, or when you review which permissions your API credentials need); you do not call these yourself.

Portal Info

A pay link opens BlueSnap's hosted Checkout page for your account's environment. The page is chosen from the API Url in your subscription settings:

Each pay link is the pay page followed by the BlueSnap Checkout token for the invoice, in the form [Pay page]?jwt={token}. The payer pays on BlueSnap's page; card details never pass through iPaaS.com.

Before sending pay links to customers on a production account, pay one small live invoice through its link and confirm the payment comes back (see BlueSnap Connections and Settings).

API Endpoints Intro

The integration uses BlueSnap's REST Payment API and Reporting API, with JSON requests and responses. All calls are made to the API Url configured in your subscription settings:

Environment

Base URL

Production

Sandbox

[Base URL] = {API Url}

Every call carries the header bluesnap-version: 3.0, which fixes the version of BlueSnap's Payment API the integration is built against (BlueSnap: Authentication & Headers).

Two values appear in the paths below:

  • {merchantTransactionId} is the invoice number. The integration sends the iPaaS.com invoice number as BlueSnap's merchant transaction id when it makes the pay link, and uses it to find the payments made on that link.

  • {merchantId} is your BlueSnap merchant id. The integration reads it from BlueSnap during the connection check, so you never enter it.

Endpoint areas:

  • Connection Check Endpoints

  • Pay Link Endpoints

  • Transaction Endpoints

  • Report Endpoints

  • Webhook (IPN) Settings Endpoints

  • Rate Limits and Concurrency

  • Authorization Endpoint

Connection Check Endpoints

Read today's Transaction Detail report (GET)

[Base URL]/services/2/report/TransactionDetail?period=CUSTOM&from_date={today}&to_date={today}&pageSize=1

Used when the integration connects (at most once every 10 minutes for the same credentials) to check your API credentials, your Authorized IPs entry and the Reporting permission in one call, and to read your merchant id from the report's parameters. {today} is today's date in BlueSnap's reporting time zone, as MM/DD/YYYY. At most one row is requested. Source: BlueSnap Get Report Data.

Pay Link Endpoints

Create a BlueSnap Checkout token (POST)

[Base URL]/services/2/bn3-services/jwt

Used during FROM iPaaS.com transfers to make the pay link for an invoice. BlueSnap returns a token (jwt), and the integration builds the pay link from it and writes the link back onto the invoice. Making a token does not charge the payer, and the integration sends nothing to the payer; you deliver the pay link. Source for the endpoint: BlueSnap Hosted Pages.

Field

Value sent

mode

one_time (a single payment)

currency

The invoice currency (3-letter code); USD when the invoice has none

merchantTransactionId

The invoice number

successUrl

The invoice's own success page, else the Payment Success Url setting

cancelUrl

The invoice's own cancel page, else the Payment Cancel Url setting, else the success page

expH

How many hours the link can be paid: until the end of the invoice's expiry date when it has one, else Pay Link Lifetime Days × 24 (at most 8,760 hours, one year)

lineItems

One line: id (the invoice number), label (what the payer sees, "Invoice {number}" by default), description (optional), quantity 1 and amount (the amount to collect, at the currency's decimals)

A pay link cannot be changed once it is made. When an invoice's amount or currency changes, or its link has expired or expires within a day, the next transfer makes a new link; for an unchanged invoice no new token is requested (only the payment check is made). A partly paid or refunded invoice gets a link for its balance. Checkout field values are never sent in the token.

Transaction Endpoints

Retrieve a card transaction by invoice number (GET)

[Base URL]/services/2/transactions/{merchantTransactionId},{merchantId}

Used during TO iPaaS.com transfers and by the reconciliation poll to read the payment made on an invoice's pay link (amount, currency, status, card type and last four digits, approval time, and any refunds). FROM iPaaS.com transfers also call it before making a link, so an invoice already paid in full (or with a bank payment still pending) gets no new link, and a partly paid or refunded one gets a link for its balance only. When BlueSnap holds more than one transaction for the invoice number (more than one of its pay links was paid), the integration reads the Transaction Detail report instead (see Report Endpoints). Source: BlueSnap Retrieve Card Transaction.

Retrieve an alternative payment transaction by invoice number (GET)

[Base URL]/services/2/alt-transactions/{merchantTransactionId},{merchantId}

Used only when BlueSnap knows the invoice number but holds no card transaction for it, which means the payer used a non-card payment method. The integration reads it so that such a payment is recorded and the invoice gets no second pay link. This version of the integration supports card payments; turn off other payment methods on your BlueSnap Checkout (see BlueSnap Integration Known Limitations). Source: BlueSnap Retrieve PayPal Transaction (the merchant transaction id form of the alternative payments retrieve).

Report Endpoints

Read the Transaction Detail report for a date range (GET)

[Base URL]/services/2/report/TransactionDetail?period=CUSTOM&from_date={fromDate}&to_date={toDate}

Used when more than one pay link of one invoice was paid, to read every payment on the invoice. {fromDate} is a day before the invoice's current pay link (or the invoice) was made, and {toDate} is today, both as MM/DD/YYYY. BlueSnap's report data runs about an hour behind; while the report does not yet list every payment, the invoice is left unchanged and checked again on the next poll. Source: BlueSnap Get Report Data.

Read the next page of a report (GET)

[Base URL]/services/2/report/TransactionDetail?nextPageToken={token}

BlueSnap returns a next-page-token header while more rows remain; the integration sends it back as nextPageToken to read the next page, and stops when the header is absent (up to 20 pages per read). Source: BlueSnap Report Pagination.

Webhook (IPN) Settings Endpoints

The integration brings payments back by the reconciliation poll (a Webhook (Poll Request) event with scope invoice/poll, every 15 minutes), which is its intended design. Leave the invoice/payment webhook off. The two endpoints below are called only if that webhook is turned on or off on the subscription.

Get the IPN configuration (GET)

[Base URL]/services/2/notification-config/

Reads your BlueSnap IPN (webhook) settings before they are changed. Source: BlueSnap Webhooks (IPNs).

Save the IPN configuration (POST)

[Base URL]/services/2/notification-config/

Adds or removes this subscription's IPN destination. BlueSnap sets any field not sent in a save to false, so the integration sends back every other destination and setting exactly as it read them and changes only its own. Source: BlueSnap Webhooks (IPNs).

Rate Limits and Concurrency

BlueSnap does not publish fixed call limits. It answers with an HTTP 429 or 503 error when an account exceeds its authorized thresholds for API calls, with messages such as "Client request rate is too high" (BlueSnap: Error Handling Overview, checked 2026-10-28). When that happens, the integration holds the transfer and retries it after 60 seconds (or after the wait BlueSnap names, if its answer includes one). A FROM iPaaS.com transfer usually makes two calls (the payment check and the token), and a TO iPaaS.com transfer one (the transaction retrieve), plus the occasional connection check. Each reconciliation poll reads up to 100 invoices from BlueSnap, one call each (two for a non-card payment, more when an invoice has several paid links), and continues from where the last run stopped. The throttle values on your subscription are pre-populated; see BlueSnap Connections and Settings.

Authorization Endpoint

BlueSnap has no separate authorization or token endpoint. Every call above carries your API Username and API Password in a Basic Authentication header, as BlueSnap requires (Authentication & Headers), and BlueSnap accepts the call only from an address listed in your account's Authorized IPs (How to get your BlueSnap API credentials). All calls go to the API Url host.

Related Documents

External References

Did this answer your question?