Marechal

Payments infrastructure for online business

Payments in, payouts out. One API.

Accept cards and local payment methods, send payouts and settle in your own currency. Every operation, fee and balance movement is in your dashboard.

Every application is reviewed by a person: we look at your business and suggest the methods that fit it.

How a payment goes● pending● completed
  1. Your site creates a paymentOne POST /payins request
  2. The customer paysOn the payment page or with the details we return
  3. The payment system confirmsThe status becomes final
  4. You get a webhookAnd the money lands on your balance

Everything you need to get paid

One dashboard and one API for the money that comes in and the money that goes out.

Payments and payouts

One API for incoming and outgoing money. Every payment method has its own fee and its own settings.

Settle in your currency

We agree the settlement currency when you join. For every payment you see the original amount, the settled amount and the fee.

A balance you can trust

Money reserved for payouts in progress is kept apart from what is available. Every balance change is logged and linked to its operation.

Transaction reports

Export to CSV with the same filters you use on screen. Large reports are built in the background and emailed to you when ready.

Webhooks

We call your server when a payment or payout reaches its final status. The delivery log shows every attempt and the response code.

Sandbox

A test payment system that behaves like a real one. You decide whether a payment succeeds, fails or stays pending.

From sign-up to your first payment

  1. 1

    Sign up

    Leave your email, name and company, then fill in a short business profile in the dashboard.

  2. 2

    Review and setup

    We review your application, agree the fees and connect payment methods for the markets you sell in.

  3. 3

    Go live

    Build and test against the sandbox. When the integration is ready, switch to real payments.

Integrate with a single request

Create a payment and get back where to send the customer. The final status comes to your webhook and is always available over the API.

  • HTTP Basic auth with your merchant ID and secret key
  • The same requests work in the sandbox, without moving real money
  • Webhooks arrive with the same credentials, so a forged one is easy to spot
Full API reference

Request

curl -X POST https://api.marechal.dev/api/v1/payins \
  -u "$MERCHANT_ID:$SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "order_id": "order-1024",
    "amount": "149.90",
    "currency": "USD",
    "service": "bank_card",
    "customer": {
      "first_name": "John",
      "last_name": "Smith",
      "email": "john@example.com",
      "ip": "203.0.113.10"
    },
    "webhook_url": "https://shop.example.com/hooks/payments"
  }'

Response

{
  "id": "0f1c3f4e-7c4a-4f0e-9a1b-9f3b7d2a51c8",
  "amount": { "value": "149.90", "currency": "USD" },
  "fees": { "billing_fee": "3.00", "gateway_fee": "1.50" },
  "status": "pending",
  "next": {
    "action": "redirect",
    "redirect_url": "https://pay.example.com/checkout/0f1c3f4e"
  },
  "created_at": "2026-10-09T10:15:00Z"
}

Webhook

POST /hooks/payments HTTP/1.1
Authorization: Basic <merchant id : secret key>
Content-Type: application/json;charset=utf-8

{
  "id": "0f1c3f4e-7c4a-4f0e-9a1b-9f3b7d2a51c8",
  "external_id": "order-1024",
  "type": "payin",
  "status": "completed",
  "in_amount": { "amount": "149.90", "currency": "USD" },
  "settlement_amount": { "amount": "145.40", "currency": "USD" },
  "fee": { "fee": "4.50", "currency": "USD", "fee_payer": "merchant" },
  "service": "bank_card",
  "created_at": "2026-10-09T10:15:00Z",
  "updated_at": "2026-10-09T10:16:12Z"
}

Frequently asked questions

How much does it cost?

Fees depend on the payment method, your volume and the countries you sell in, so we quote them after a short call. Once agreed, you see them in the dashboard for each method, for both payments and payouts.

How soon can I start?

The dashboard opens as soon as you confirm your email. The API and the sandbox become available once we have reviewed your application, and live payment methods are connected after the contract is signed.

How is my account protected?

The dashboard uses two-factor authentication, credentials for payment providers are stored encrypted, and full card numbers are never stored.

Do I need my own payment licence?

It depends on your country and line of business. It is the first thing we discuss when we review your application.

Tell us about your business

What do you sell, and where? We will suggest payment methods and send you our terms.

Get started