Skip to documentation
Reality-grade bankingDocumentationOpen implementation
Documentation contents

Build

Accept payments and fulfill an order once

Install a hosted payment path or compose a trusted card session, then match the actual receiving result to your order.

Reviewed 2026-10-25 · SDK 129.0.0Read Markdown ↗

Choose the integration depth

Start with the payment path your application needs
PathUseAuthority boundary
Hosted link/button/QRShare or install a simple payment entry.Amount is an editable request; payer reviews.
WidgetEmbed the supported public merchant widget on a script-compatible website.No supported fixed-price attribute; public HTML is not a trusted order.
Trusted card sessionBind server order, stable merchant UID and exact integer cents.Retained session plus accepted matching credit controls fulfillment.
Fixed Counter saleMatch the incoming original and public sale reference to exact recipient/cents.The URL alone is not a signed invoice.

Install the public payment entry

  1. Open Receive in the merchant account

    Choose Checkout link or Accept payments anywhere.

  2. Copy the supported code

    Use a normal link for URL-only platforms, an HTML button for custom-code blocks, or a widget where scripts/framing are permitted.

  3. Verify the destination

    Open as a customer and inspect the public receiving identity before sharing.

  4. Confirm receipt in your account

    Match the actual recorded payment before handing over goods.

Replace yourname with the intended public merchant. The widget has no supported fixed-price attribute.
<a href="https://bankeiz.com/pay/yourname/?amount=12.30"
   target="_blank" rel="noopener noreferrer">Pay @yourname</a>

<div class="receiz-pay-embed" data-username="yourname"></div>
<script src="https://receiz.com/receiz-pay-embed.js" async></script>

Prepare a trusted card session

Copy the linked institution/examples/merchant-checkout.ts helper. order and merchant are trusted server inputs; this is integration composition, not a credential-free demo.
import { createReceizClient } from '@receiz/sdk';
import { prepareMerchantCardCheckout, readMerchantCardCheckout }
  from './merchant-checkout';

const receiz = createReceizClient({ baseUrl: 'https://receiz.com' });
const pending = await prepareMerchantCardCheckout(receiz, {
  referenceId: order.id,
  merchantUsername: merchant.username,
  merchantUserId: merchant.userId,
  amountUsdCents: order.amountUsdCents,
});
// Persist pending against the trusted order before exposing frameUrl.
const result = await readMerchantCardCheckout(receiz, pending);
if (result.status === 'paid') {
  // Atomically fulfill this exact order once in your order system.
}

The helper calls payments.embeddedCheckout and reads the existing retained session-status route. It matches session, currency, integer cents, reference, stable merchant UID and accepted positive credit. Keep frameUrl and its short-lived secret out of logs, analytics, public links and model context.

Confirm, do not infer, payment

One order through the trusted result
  1. OrderServer recipient, cents and reference.
  2. SessionCreate once and persist before display.
  3. CheckRead the retained exact outcome.
  4. FulfillAtomically deliver the order once.

A success URL, iframe message or customer screenshot is only a signal to inspect the trusted result. Paid requires the accepted terminal paid state and matching connect_payment_checkout credit. Pending means the session remains open; closed means a terminal unpaid result. Trusted host observations are distinct from a self-contained cryptographic receipt; retain actual original proof when independent offline verification is required.

Retries, unknown creation and later services

Serialize session creation per order. referenceId is correlation, not documented idempotency. A lost creation response is uncertain and cannot authorize another session. Reopen the same retained result on return or explicit recovery; this integration requires no recurring polling. Refunds, subscriptions, tax, shipping, inventory, payouts and fulfillment automation require their own admitted contracts, scopes, configured host and qualification. A checkout snippet grants none of them automatically.

Implementation sources

Inspect the exact path.

Source links retain revision 6c5d582. Read the documented operation and assessment scope alongside its code.