Use this flow when customers select invoice payment during checkout. The customer provides their billing details, completes identity verification if required, and invoice delivery and collection are handled automatically.Documentation Index
Fetch the complete documentation index at: https://docs.dintero.com/llms.txt
Use this file to discover all available pages before exploring further.
How It Works
Step-by-Step Implementation
1. Configure Payment Types
Enable the payment types you need in your payment profile or session configuration:2. Create Checkout Session
3. Customer Completes Checkout
The customer:- Selects “Invoice” as payment method
- Enters billing address (see Billing Address Requirements)
- Completes BankID verification (if required)
- Invoice is created and Kravia begins delivery to the customer
4. Receive Transaction
After invoice creation, you receive a transaction with statusAUTHORIZED. An INITIATE_CAPTURE event is added automatically to mark the start of Kravia’s delivery and collection. The status remains AUTHORIZED until the shopper pays the invoice.
CAPTURED (or PARTIALLY_CAPTURED for partial payment) and a CAPTURE event is appended. See Transaction management for the shared lifecycle and event model.
The
kravia:invoice_url is available for your reference. You can download the PDF for your records. Delivery to the customer is handled automatically.Configuration Options
| Option | Applies To | Type | Default | Description |
|---|---|---|---|---|
enabled | All | Boolean | false | Enable this payment type |
days_until_due | All | Integer (0-365) | 14 | Days until invoice is due |
require_identity_verification | All | Boolean | true | Require BankID verification |
invoice_schedule.interval | B2B Grouped | String | "monthly" | Billing cycle: "monthly" or "quarterly" |
invoice_channel | B2B, B2C | String | "kravia" | "kravia" for automatic delivery, "merchant" for merchant delivery |
Identity Verification
Identity verification is required by default for all payment types and uses BankID. To disable it, setrequire_identity_verification: false on the payment type configuration.
Transaction Lifecycle
In the standard checkout flow, the transaction isAUTHORIZED when the invoice is created and an INITIATE_CAPTURE event is added as Kravia begins delivery. The transaction moves to CAPTURED once Kravia confirms the shopper has paid the invoice in full, or to PARTIALLY_CAPTURED for partial payment.
See the transaction lifecycle in the overview for the full state diagram, and Transaction management for the shared capture/void/refund operations.
Cancellations
Refund is not supported for Kravia. To cancel an invoice, usePOST /v1/transactions/{id}/void:
| Transaction status | Effect of void |
|---|---|
AUTHORIZED | Cancels the invoice with Kravia. Status changes to AUTHORIZATION_VOIDED. |
PARTIALLY_CAPTURED | Cancels the remaining unpaid amount with Kravia. Funds already in transit from the shopper are automatically refunded by Kravia. |
CAPTURED | Not allowed — the shopper has already paid in full. |
If the shopper overpays an invoice, Kravia automatically refunds the difference to the shopper. No merchant action is needed.
Billing Address Requirements
B2C Invoices
Required fields:first_name, last_name, address_line, postal_code, country (ISO 3166 alpha-2), phone_number, email
B2B Invoices
All B2C fields plus:business_name, organization_number, and optionally customer_reference (a free-text reference field, also used for invoice grouping).
Organization numbers: Norway uses 9 digits, Sweden uses 10 or 12 digits.
Invoice Dates
Standard Invoices (B2B and B2C)
- Issue date: transaction date
- Due date: issue date +
days_until_due(default: 14 days)
Grouped Invoices (B2B Grouped)
For grouped invoices, multiple purchases are consolidated into a single invoice per billing period. See Grouped Invoices for schedule details, customer grouping logic, and configuration.See Also
- Merchant Initiated: create and pay invoices without customer interaction
- Invoice Delivery: control who delivers the invoice