Preskoči do sadržaja
NeroPay Meni | Resursi Integracije Istaknuto
PAYMENTS · Online Payments

Your checkout.
A clearer way to pay.

Turn an online order into a simple payment journey. Connect your website to NeroPay, send customers to hosted checkout and bring the result back into your business workflow.

✓ Website checkout✓ API v2✓ Hosted payment page

Built for your website or application. Prefer a ready-to-share request? Explore Link Payments instead.

Hosted checkout · API v2Preview
POST /v2/hosted-payments
{
  "identifier": "ORDER-1001",
  "amount": 15.99,
  "currency": "GBP",
  "details": "Online order",
  "ipn_url": "https://example.com/payments/ipn",
  "success_url": "https://example.com/order/thank-you",
  "cancel_url": "https://example.com/order/cancelled",
  "customer_name": "Customer",
  "customer_email": "customer@example.com"
}
Order ORDER-1001Customer continues to hosted checkout
£15.99
YOUR SERVER→HOSTED CHECKOUT→PAYMENT RESULT
The initial response creates a checkout URL. It does not confirm payment.
For your customersA clear amount and a hosted checkout.
For your developersOne API request to create the payment page.
For your businessTrack the outcome, not just the click.
PAYMENTS BEYOND THE COUNTER

Sell online. Keep the journey connected.

Give customers a straightforward way to pay without building a card-entry flow into your own website.

A checkout that fits your site

Keep your own basket and order experience. Create a payment page when the customer is ready, then redirect them to NeroPay.

Card entry stays in hosted checkout

Your integration sends order and customer information—not raw card details. Your secret API key remains on your server.

Bring the result back to your workflow

Use a unique order reference and your payment notification endpoint to connect the payment outcome with the order that created it.

FROM BASKET TO PAYMENT

A simple route from order to checkout.

Your site keeps the order logic. NeroPay provides the hosted payment step. Your server confirms the outcome before you fulfil.

1

Create the order

Save the basket total, customer details and your own unique reference. Keep the final amount controlled by your server.

2

Create hosted checkout

Send the request from your server to API v2 and direct the customer to the returned checkout URL.

3

Confirm and fulfil

Handle the server-side payment result, reconcile it with your order and process fulfilment only once.

EXPLORE THE FLOW

See the next step.

Order saved

Keep the basket on your website.

Your server calculates the payable amount and saves the order reference before checkout is created.

Customer journey£15.99
FOR YOUR DEVELOPER

Your order logic.
Our hosted checkout.

Create the payment page from your server. Send the customer to the returned checkout URL, then use verified payment results to update the order.

01
One server-side integration

The example uses API v2 and major currency units: 15.99 means £15.99 in GBP.

02
Authenticated and signed

Keep the secret key on your server. Sign the exact JSON body you send using a fresh timestamp.

03
Retry without creating a new order

Persist the payload and idempotency key with your order. Reuse both only for an exact retry of that request.

04
Fulfil once, after confirmation

Verify the payment result and match the reference, amount and currency before updating your order.

This is a server-side creation example—not a complete production integration. Add your own order persistence, verified notification handling, error handling and reconciliation.

POST Server-side checkout example
// Server-side only · Node.js 18+
import { createHmac } from 'node:crypto';

const secret = process.env.NEROPAY_SECRET_API_KEY;
if (!secret) throw new Error('Missing API secret');

// Store this payload and key with the order before sending.
// Retry the exact same payload with the same idempotency key.
const payload = {
  "identifier": "ORDER-1001",
  "amount": 15.99,
  "currency": "GBP",
  "details": "Online order",
  "ipn_url": "https://example.com/payments/ipn",
  "success_url": "https://example.com/order/thank-you",
  "cancel_url": "https://example.com/order/cancelled",
  "customer_name": "Customer",
  "customer_email": "customer@example.com"
};
const rawBody = JSON.stringify(payload);
const timestamp = String(Math.floor(Date.now() / 1000));
const signature = createHmac('sha256', secret)
  .update(timestamp + '.' + rawBody)
  .digest('hex');

const response = await fetch(
  'https://eu.neropay.app/v2/hosted-payments',
  {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer ' + secret,
      'Accept': 'application/json',
      'Content-Type': 'application/json',
      'X-NeroPay-Timestamp': timestamp,
      'X-NeroPay-Signature': signature,
      'Idempotency-Key': 'hosted-order-1001-v1'
    },
    body: rawBody
  }
);

const result = await response.json();
if (!response.ok || !result.success) {
  throw new Error('Could not create checkout');
}

// Send this URL to the customer; do not mark the order paid here.
const checkoutUrl = result.data.checkout_url;
// Fulfil only after a verified server-side payment result.

Replace the example customer and URLs with your order data and endpoints. Never place your API secret in page HTML or client-side JavaScript.

DESIGNED AROUND REAL SALES

More than one way to sell online.

Choose the online payment route that matches how customers order from your business.

Website orders

Use your existing basket and send customers to a hosted payment page for the final checkout step.

Bookings and deposits

Build a checkout around an agreed booking amount, and connect the payment reference with the reservation.

Bespoke customer portals

Add a payment step to a customer account, service order or business-to-business workflow.

YOUR WEBSITE, YOUR ORDER LOGIC

Keep the decisions where they belong.

A reliable integration starts with a clear division of responsibility. Your website defines the order; the payment system confirms whether it was paid.

Validate the total on your server

Do not trust a browser-supplied price or customer-edited order reference.

Keep credentials out of the browser

Your secret key, request signing and payment-result checks belong on your server.

Treat a redirect as navigation—not proof

A customer landing on your thank-you page does not, by itself, confirm a successful payment.

THE RIGHT TOOL FOR THE REQUEST

One account. More ways to get paid.

Choose the route that matches how your customer buys—not a one-size-fits-all payment journey.

PART OF A CONNECTED BUSINESS

Payments are only the beginning.

Explore the NeroPay tools that fit the way your business serves customers—online, by appointment or at the counter.

NeroWeb

Online menus and orders
Bring your food ordering experience online and keep payments part of the customer journey.

Explore NeroWeb →

NeroBooking

Reservations and customer service
Keep booking information close to the rest of your business and choose the right payment request for each service.

Explore NeroBooking →

NeroPOS

At the counter and beyond
Connect your in-person service with the wider NeroPay experience, from orders at the till to supported card payments.

Explore NeroPOS →
NeroPOS, NeroWeb and NeroBooking software is free when you use NeroPay payments. Payment processing, hardware and any optional services have their own applicable pricing and terms. View pricing →
YOUR QUESTIONS, ANSWERED

Online Payments.
The useful details.

Need help choosing the right setup for your business? Our team can talk you through the options.

Talk to NeroPay →

Official API v2 reference ↗

Do I need to build my own card payment form?

No. The API creates a NeroPay-hosted payment page. Your website controls the basket and redirects the customer to checkout; card details are entered on the hosted page.

Do I need a developer to connect an existing website?

A custom API integration normally needs a developer. If you do not need a custom basket, Link Payments, Invoice Payments and NeroForm provide other ways to request payment.

Where can I find the API reference?

The NeroPay API v2 reference contains the request fields, authentication details, examples and payment-notification guidance. Use the latest reference when building your integration.

How should my site confirm that an order is paid?

Use a verified server-side payment result and match it to the order reference and amount. Do not fulfil solely because the checkout page opened or the customer returned to a success URL.

Can online and in-person payments use the same NeroPay account?

Yes. Your NeroPay account can support online payment tools alongside your enabled in-person payment setup. Available methods and account requirements depend on your business and region.

What does the amount in the API example mean?

The example uses major currency units: 15.99 means £15.99 when the currency is GBP. Always follow the endpoint’s documented amount format.

Where can I check fees and settlement details?

View current NeroPay pricing and the terms for your account. A successful customer payment and funds becoming available for payout are separate stages; do not promise instant availability from the checkout response.

Give your website a payment journey worth finishing.

Explore hosted checkout, check the API reference and choose the right online payment setup for your business.