PayPal, Square, SumUp
Three more ways to be paid by link on the invoice, on the Stripe model: Hela creates the payment page for the outstanding amount, the customer pays, the payment is recorded on the chosen wallet and the invoice becomes paid.
| Provider | Zone | Accepts | Connection |
|---|---|---|---|
| PayPal | World | PayPal account, cards | Client ID and secret of a REST app (developer.paypal.com) |
| Square | United States, Canada, United Kingdom, Ireland, France, Spain, Australia, Japan | Cards, Apple Pay, Google Pay, Cash App | Continue with Square button; else access token (Developer Dashboard) |
| SumUp | Europe, Americas | Cards | Continue with SumUp button; else API key (sup_sk_…) and merchant code |
Connecting
Integrations → the provider → Connect, the credentials, and the Hela wallet to credit. Then, per provider:
- PayPal: Developer Dashboard → Webhooks → Add webhook to Hela's notification address, events
CHECKOUT.ORDER.APPROVED,PAYMENT.CAPTURE.COMPLETED,PAYMENT.CAPTURE.DENIED; paste the webhook id into Hela, which has PayPal verify each notification (verify-webhook-signature). Tick sandbox to try. - Square: through the button, Hela registers the webhook subscription on your account itself and keeps its signature key; nothing else to do. Through the token: Developer Dashboard → Webhooks → Add subscription to the notification address, event
payment.updated, paste the signature key. The Square location is taken at the first test (editable). - SumUp: through the button, the merchant code is learnt from the account. Nothing to configure for webhooks: Hela gives the notification address with every payment created and reads the payment back from SumUp before believing it.
The buttons exist when the operator registered Hela with Square and SumUp (back office → Integrations and keys).
Using it
On an invoice or quote with a balance due: Payment link, pick the provider if several are connected. Through the API: POST /companies/{id}/integrations/documents/sale/{saleId}/payment-link with { "provider": "paypal" }, "square" or "sumup".
When the customer pays, Hela records the payment (payment.received, invoice.paid) with the provider's reference; a declined or cancelled payment emits payment.failed. PayPal is captured by Hela on approval: the money is taken only then, and the capture is what is recorded.
Good to know
- Fees are not deducted from the recorded payment; the provider's statement, imported in banking, carries them.
- Each provider refuses a currency it does not serve; the invoice must be in one of the account's currencies.
- Square and SumUp are also terminals: the link is for remote payment; at the counter the terminal stays the terminal and the payment is entered at the till.