The payment object
When you create or retrieve a payment, the response includes the following key fields:Payment lifecycle
Every payment moves through a fixed sequence of statuses. Understand which status you are in before taking further action.Payment methods supported
Borga supports the following payment methods. All methods settle in ISK.Cards
Visa and Mastercard. Supports 3D Secure where the card issuer requires it.
Apple Pay
Available in Safari on Apple devices. Enabled automatically in payment sessions.
Google Pay
Available in Chrome and on Android devices. Enabled automatically in payment sessions.
Bank invoice (krafa)
ISK-only. Borga sends a krafa directly to the customer’s netbanki. The customer approves payment from their online bank.
Bank invoice (krafa) is only available for ISK payments. It cannot be used for foreign-currency transactions.
Payment sessions
For most checkout flows you should create a payment session rather than a raw payment. A session hosts the payment form, handles 3D Secure redirects, and manages the checkout UI for you. You create a session withPOST /v1/payment_sessions.
The two session modes are:
- Hosted
- Embedded
Borga renders the full checkout page at a Borga-hosted URL. Redirect your customer to that URL, and Borga redirects them back to your
return_url or cancel_url when the session ends.Best for: teams that want a complete checkout UI with minimal integration effort.Session fields reference
Core fields
Core fields
Flow fields
Flow fields
Refunds
Issue a full or partial refund against a succeeded payment withPOST /v1/refunds.
amount field is optional. Omit it to refund the full remaining amount. The reason field is a free-form string — use it for internal notes or to pass a reason code to your accounting integration.
When a refund is issued, Borga automatically generates a credit note linked to the original invoice. See Invoicing for details.
Saved payment methods
When you setsave_payment_method: true on a payment session and provide a customer ID, Borga saves the card used to that customer record for future charges. You can then:
- List saved methods with
GET /v1/payment_methods?customer=cus_… - Retrieve a specific method with
GET /v1/payment_methods/{id} - Set a method as the customer’s default with
POST /v1/payment_methods/{id}/set_default - Remove a method with
DELETE /v1/payment_methods/{id}
collection_method: charge_automatically.