Skip to content
Developer

Payment providers

Online payments with PayPal, Mollie, Stripe, Braintree and PAYONE through the inwendo payment gateway, plus SEPA direct debit straight from vynst.

vynst (inwendo ERP) never talks to PayPal, Mollie or Stripe directly. All online payments run through the inwendo Payment Gateway, a service run by inwendo. vynst sends the gateway the amount and the return URLs, the gateway forwards the person to the provider and reports the result back.

Member ──► Payment link in vynst ──► inwendo Payment Gateway ──► PayPal / Mollie / Stripe / …
                    ▲                              │
                    └──── Notification ◄───────┘   (invoice paid, canceled, refunded)

Direct debits work differently and do not use a payment provider: vynst generates the SEPA file itself (pain.008) and, if you wish, submits it to the bank via HBCI/FinTS.

Providers

Provider Credentials Connection
PayPal Client ID and secret (live and sandbox) Credentials
Mollie API key (live and sandbox) Credentials or connected account
Stripe Secret and public key (live and sandbox) Credentials or connected account
GoCardless None Connected account
Braintree Merchant ID, public and private key Credentials
PAYONE Merchant, account and portal ID, portal key Credentials

You set which payment methods (card, PayPal, SEPA, Apple Pay, …) are offered in your account with the provider.

Setup

The settings are in the admin area under Settings → Billing settings → Online payment (Einstellungen → Abrechnungs-Einstellungen → Online Zahlung). You need administrator rights and the Billing right.

Field Setting Description
Active billing_iw_payment_gateway_is_active turns online payment on
Default provider billing_iw_payment_gateway_default_provider paypal, mollie or stripe
Live mode billing_iw_payment_gateway_is_production off = the providers’ sandbox credentials
Redirect URL billing_iw_payment_gateway_redirect_url page after a successful payment, placeholder [[TOKEN]]
Cancel URL billing_iw_payment_gateway_cancel_url page after a canceled payment
External service configuration billing_iw_payment_gateway_provider_configuration credentials for each provider (JSON)

inwendo enters the gateway’s API URL and license token during setup. If you have questions, support can help.

The credentials for each provider look like this:

{
  "provider_mollie": { "live_api_key": "live_…", "sandbox_api_key": "test_…" },
  "provider_stripe": { "live_secret_key": "sk_live_…", "live_public_key": "pk_live_…" },
  "provider_paypal": { "live_client_id": "…", "live_client_secret": "…" }
}

GET /api/billing/payment_gateway/provider_schema.json returns the expected fields for all providers.

Connected accounts (Stripe, Mollie, GoCardless)

Instead of copying keys, you can connect an existing provider account by signing in:

Call Purpose
GET /api/billing/payment_gateway/connections.json show connected accounts
POST /api/billing/payment_gateway/connections/{provider}/authorize.json start the sign-in at the provider; body {"redirectUrl": "…"}, the response contains the sign-in URL
DELETE /api/billing/payment_gateway/connections/{provider}.json disconnect
GET …/connections/mollie/profiles.json, PUT …/connections/mollie/profile.json choose the Mollie profile ({"profileId": "pfl_…"})

Payment flow

  1. An invoice is open and has a payment method with the option External.
  2. The member opens the invoice’s payment link (customer app, email or booking). vynst creates a payment at the gateway and redirects to the provider.
  3. After the payment, the gateway calls vynst’s notification URL: /api/invoice/external/invoice/notify/{token}/SERVICE_PROVIDER_IW_PAYMENT_GATEWAY.json. vynst asks the gateway for the status and checks the amount and the live mode.
  4. Depending on the status:
Status What vynst does
SUCCESS marks the invoice as paid and records the payment; proforma invoices become real invoices and vouchers are sent
CANCELED cancels the invoice with the note “Storniert durch externen Zahlungsanbieter” (cancelled by external payment provider) and blocks quotas and vouchers
REFUNDED same as CANCELED; if the invoice was already paid, a ticket is created

Donations work the same way via /api/invoice/external/donation/notify/….

Refunds are started at the provider. vynst reacts to the REFUNDED status, but cannot trigger a refund itself.

Online payment for bookings and events

Setting Meaning
event_direct_billing_duration period in which a registration must be paid online
event_direct_billing_as_proforma_invoice first a proforma invoice; the real invoice only after payment
event_direct_billing_auto_request_payment send the payment request again automatically
booking_direct_billing_duration the same for room and object bookings

In the customer app, online payment appears as soon as the gateway is active.

SEPA direct debit

For membership fees, direct debit is usually the cheaper option:

  • Mandates are stored on the billing account (IBAN, mandate reference, date), including via import.
  • vynst generates the SEPA XML file (pain.008) for a billing run.
  • Returned direct debits and incoming payments come back through the bank import (CAMT, MT940 or HBCI/FinTS) and are matched automatically.

API

The endpoints are listed under Billing.