Zum Inhalt springen

Host-to-Host API

Bauen Sie Ihren eigenen Checkout

Reine REST-Bausteine und HMAC-signierte Webhooks. Eigenes Frontend, eigener Zahlungsablauf, volle Kontrolle über jeden Teil des Erlebnisses. Dasselbe Paymos-Backend, Ihre Oberfläche.

Bauen Sie Ihren eigenen Checkout

So funktioniert es

Drei Aufrufe. Ihre Oberfläche dazwischen

Rechnung im eigenen Backend erstellen, Zahlungsoberfläche selbst darstellen, ein signiertes Ereignis empfangen, sobald die Zahlung bestätigt ist. Die Grenze bleibt sauber.

  1. 1

    Rechnung erstellen

    POST auf /v1/invoices aus Ihrem Backend. Übergeben Sie Betrag, Währung und Ihre eigene Bestell-ID. Zurück kommen Rechnungs-ID und Zahlungs-URL.

  2. 2

    Eigene Oberfläche darstellen

    Erfassen Sie Token und Netzwerk auf Ihrer Seite und bestätigen Sie beides von Ihrem Server aus — der Aufruf liefert daraufhin die Einzahlungsadresse. Zeigen Sie sie, den QR-Code und den Timer, so wie Ihr Produkt aussieht.

  3. 3

    Signierten Webhook empfangen

    Paymos sendet ein HMAC-signiertes Ereignis per POST an Ihren Endpunkt, sobald die Zahlung bestätigt ist. Signatur prüfen, Bestellung als bezahlt markieren, 200 zurückgeben.

Jeden Aufruf testen, bevor Sie live gehen

Das Playground im Dashboard sendet echte Sandbox-Anfragen mit Ihrem Test-API-Schlüssel. Endpunkt wählen, Parameter füllen, Senden drücken — Sie sehen die echte HMAC-Signatur, die Header und die Antwort. Kein Postman, kein curl, kein Kopieren aus der Dokumentation.

Drei Aufrufe. Ihre Oberfläche dazwischen

Kontrolle über die Oberfläche

Wenn die gehostete Seite nicht genügt

Für Teams, die ihr eigenes Zahlungsformular über die API bauen — pixelgenau in ihrer Marke und in ihre eigenen Systeme verdrahtet. Host-to-Host greifen Sie, wenn keine fertige Oberfläche passt.

Volle Kontrolle über die Oberfläche

Wallet-Auswahl, QR-Code und Statusanzeige stellen Sie selbst dar. Ihr Designsystem, Ihre Interaktionssprache, Ihre Marke.

Passt zu jedem Stack

Node, Python, PHP, Go, Ruby, Java, .NET — alles was HTTP spricht, funktioniert. Keine SDK-Bindung.

Signierte Webhooks mit Wiederholungen

HMAC-signierte Inhalte, mindestens einmalige Zustellung, Wiederholungen mit exponentiellem Abstand. Prüfen und Entdoppeln übernehmen Sie.

Sandbox-Umgebung

Der Testmodus liegt neben der Produktion. Dieselben Endpunkte, getrennte Daten, es bewegt sich kein echtes Geld.

Was Sie steuern

Sie stellen die Oberfläche. Wir beobachten die Chain

Die Grenze ist klar: Ihr Frontend verantwortet jedes Pixel, das der Kunde sieht. Wir leiten die Adresse ab, beobachten die Chain, zählen bis zur nötigen Tiefe und schreiben den Betrag gut.

Ihre Oberfläche

Wallets und Netzwerke zur Wahl stellen, Adresse und QR-Code zeigen, den Status melden — das alles gestalten Sie.

Ihr Ablauf

Ordnen Sie die Schritte so an, wie Ihr Produkt es braucht. Checkout ins Onboarding einbetten, über mehrere Bildschirme verteilen oder hinter eine Anmeldung legen.

Ihre Marke

Paymos taucht weder in der URL noch im sichtbaren Rahmen des Kunden auf. Die Zahlungsoberfläche ist vollständig unter Ihrer Marke.

Ihre Gutschrift

Zahlen Sie nach Ihrem Zeitplan auf Ihr Treasury-Wallet aus. Dasselbe Guthabenbuch, in das jede andere Paymos-Oberfläche abrechnet.

Jetzt starten

Dasselbe Backend, kein SDK zu lernen

Rechnung per REST erstellen, Status abfragen oder Webhooks abonnieren, beliebige Oberfläche darstellen. Neun Sprachbeispiele in der Dokumentation, dasselbe Signaturverfahren über alle Endpunkte.

Dokumentation lesen
import { Paymos, externalOrderId } from '@paymos/sdk';

const paymos = new Paymos({
  apiKey: process.env.PAYMOS_API_KEY,
  apiSecret: process.env.PAYMOS_API_SECRET,
});

const invoice = await paymos.invoices.create({
  projectId: 'prj_xxxxxxxxxxxx',
  amount: '100.00',
  currency: 'USD',
  externalOrderId: externalOrderId('order'),
  clientId: 'customer-456',
});

console.log(invoice.invoiceId, invoice.paymentUrl);
import os

from paymos import Paymos

paymos = Paymos(
    api_key=os.environ["PAYMOS_API_KEY"],
    api_secret=os.environ["PAYMOS_API_SECRET"],
)
invoice = paymos.invoices.create(
    project_id="prj_xxxxxxxxxxxx",
    amount="100.00",
    currency="USD",
    external_order_id="order-123",
    client_id="customer-456",
)

print(invoice["invoice_id"], invoice["payment_url"])
<?php
use Paymos\Client;
use Paymos\ClientConfig;
use Paymos\IdempotencyKey;

$paymos = new Client(new ClientConfig(
    getenv('PAYMOS_API_KEY'),
    getenv('PAYMOS_API_SECRET')
));
$invoice = $paymos->invoices()->create(array(
    'project_id' => 'prj_xxxxxxxxxxxx',
    'amount' => '100.00',
    'currency' => 'USD',
    'external_order_id' => IdempotencyKey::externalOrderId('order'),
    'client_id' => 'customer-456',
));

echo $invoice['invoice_id'] . ' ' . $invoice['payment_url'];
package main

import (
	"context"
	"fmt"
	"os"

	paymos "github.com/Paymos-labs/go-sdk/v2"
)

func main() {
	client, err := paymos.NewClient(os.Getenv("PAYMOS_API_KEY"), os.Getenv("PAYMOS_API_SECRET"))
	if err != nil {
		panic(err)
	}
	invoice, err := client.Invoices.Create(context.Background(), paymos.CreateInvoiceParams{
		ProjectID:       "prj_xxxxxxxxxxxx",
		Amount:          "100.00",
		Currency:        "USD",
		ExternalOrderID: "order-123",
		ClientID:        stringPointer("customer-456"),
	})
	if err != nil {
		panic(err)
	}
	fmt.Println(invoice.InvoiceID, invoice.PaymentURL)
}

func stringPointer(value string) *string { return &value }
using Paymos;

using var paymos = new PaymosClient(
    Environment.GetEnvironmentVariable("PAYMOS_API_KEY")!,
    Environment.GetEnvironmentVariable("PAYMOS_API_SECRET")!);

var invoice = await paymos.Invoices.CreateAsync(new CreateInvoiceRequest(
    ProjectId: "prj_xxxxxxxxxxxx",
    Amount: "100.00",
    Currency: "USD",
    ExternalOrderId: "order-123",
    ClientId: "customer-456"));

Console.WriteLine($"{invoice.InvoiceId} {invoice.PaymentUrl}");
import io.paymos.CreateInvoiceRequest;
import io.paymos.Invoice;
import io.paymos.PaymosClient;

PaymosClient paymos = new PaymosClient(
    System.getenv("PAYMOS_API_KEY"),
    System.getenv("PAYMOS_API_SECRET"));

Invoice invoice = paymos.invoices.create(
    CreateInvoiceRequest.builder()
        .projectId("prj_xxxxxxxxxxxx")
        .amount("100.00")
        .currency("USD")
        .externalOrderId("order-123")
        .clientId("customer-456")
        .build());

System.out.println(invoice.invoiceId() + " " + invoice.paymentUrl());
require 'paymos'

paymos = Paymos::Client.new(
  api_key: ENV.fetch('PAYMOS_API_KEY'),
  api_secret: ENV.fetch('PAYMOS_API_SECRET')
)
invoice = paymos.invoices.create(
  project_id: 'prj_xxxxxxxxxxxx',
  amount: '100.00',
  currency: 'USD',
  external_order_id: 'order-123',
  client_id: 'customer-456'
)

puts "#{invoice.invoice_id} #{invoice.payment_url}"
use paymos::{CreateInvoiceRequest, PaymosClient};

let paymos = PaymosClient::new(
    std::env::var("PAYMOS_API_KEY")?,
    std::env::var("PAYMOS_API_SECRET")?,
)?;
let invoice = paymos
    .invoices()
    .create(&CreateInvoiceRequest {
        project_id: "prj_xxxxxxxxxxxx".to_owned(),
        amount: "100.00".to_owned(),
        currency: "USD".to_owned(),
        external_order_id: "order-123".to_owned(),
        network: None,
        allow_multiple_payments: None,
        customer_fee_percent: None,
        client_id: Some("customer-456".to_owned()),
    })
    .await?;

println!("{} {}", invoice.invoice_id, invoice.payment_url);

Ein Signaturverfahren

HMAC-SHA256 mit einem gemeinsamen Secret. Dasselbe Verfahren, wenn Sie eine Rechnung erstellen, den Status abfragen, auszahlen oder einen Webhook prüfen — eine Auth-Pipeline zu pflegen.

Plattform-Anbindung

Konten mit mehreren Projekten, eingegrenzte API-Schlüssel, idempotente Rechnungserstellung über external_order_id. Bauen Sie den Checkout auf Ihre Weise — die API bleibt dieselbe.

Wer Host-to-Host nutzt

Für Produkte mit eigener Zahlungsoberfläche

Überall dort, wo die gehostete Oberfläche zu eng ist — und das Unternehmen ein Entwicklungsteam hat, das eine eigene baut. Krypto-Börsen, verwahrende Wallets, Handelsplattformen, On-Ramps.

Krypto-Börsen

Einzahlungen als natives Erlebnis in Ihrer Handelsoberfläche, statt als Weiterleitung zu einem Dritten.

Verwahrende Wallets

Aufladevorgänge, die vollständig in Ihrer Wallet-App stattfinden. Keine Übergabe an den Browser, kein Schritt außerhalb des Prozesses.

Handelsplattformen

Margin-Aufladungen, Abgleich von Einzahlungen, Abrechnung über mehrere Konten — alles über dieselben REST-Bausteine.

Plattformen mit eigenem Frontend

Produktteams, die die Zahlungsansicht lieber selbst bauen als eine fertige einbetten. Adressen, Bestätigungsstatus und signierte Events kommen aus der API; was der Nutzer am Ende sieht, schreibt Ihr eigener Code.

Preise

1,0 % je bezahlter Rechnung. Enterprise sind 0,3 %

Dieselben Zahlen wie auf jeder anderen Paymos-Oberfläche. Den niedrigeren Satz fragen Sie direkt an — es antwortet der Gründer.

Preise ansehen

Bauen Sie noch heute Ihren eigenen Checkout auf der Paymos API