Skip to main content

Pay in store

Checkout can be used to create a payment session for a customer to pay in store.
This can be useful for merchants who want to offer their customers the option to pick up their order and pay in store after they have placed an order online.

info
  • Pay in store is only supported for Dintero Checkout Express sessions as it is technically a shipping method that alters the payment amount to zero when selected by the customer.
  • Pay in store requires dintero.zero payment type to be enabled in the configuration.

Pay in store flow

When the payer loads the checkout they get the option to select
"Pay in-store" after they have entered their customer details, as shown below:

Pay in store input

If the payer selects "Pay in-store" they will get a shipping option
to select a store to pay in, as shown below:

Pay in store selected

It is possible to add multiple stores for the payer to select from.

Pay in store multiple

The only payment method available for pay in store is dintero.zero.
It will be presented as the only payment option in the checkout, as shown below:

Pay in store payment

If a pay now and pick-up in store option is desired, the session must contain 2 shipping options.
One with pay in store enabled and one without pay in store enabled. The operator value must be the same for both shipping options.

Example request

An example request for creating a payment session with pay in store enabled is shown below:

POST https://checkout.dintero.com/v1/sessions-profile
Authorization: Bearer <token>
Content-Type: application/json

{
"url": {
"return_url": "https://example.com/accept",
"callback_url": "https://example.com/callback?method=GET",
"merchant_terms_url": "https://example.com/terms.html"
},
"order": {
"amount": 10000,
"currency": "NOK",
"items": [
{
"id": "123",
"name": "Product 1",
"quantity": 1,
"unit_price": 10000
}
],
"merchant_reference": "string"
},
"profile_id": "<PROFILE>",
"configuration": {
"active_payment_types": { "enabled": true },
"dintero": {
"type": "payment_type",
"zero": {
"type": "payment_product_type",
"enabled": true,
"payability": "payable"
}
},
},
"express": {
"shipping_options": [
{
"id": "StoreName.1234",
"vat": 0,
"title": "Pay now and pick up in store",
"amount": 0,
"line_id": "StoreName.1234_1_pickup",
"operator": "StoreName",
"vat_amount": 0,
"delivery_method": "pick_up",
"pick_up_address": {
"country": "NO",
"first_name": "StoreName",
"postal_code": "0000",
"address_line": "Address 1",
"postal_place": "OSLO",
"phone_number": "12345678"
}
},
{
"id": "StoreName.1234",
"vat": 0,
"title": "Order and pay in store",
"amount": 0,
"line_id": "StoreName.1234_1",
"operator": "StoreName",
"vat_amount": 0,
"delivery_method": "pick_up",
"pick_up_address": {
"country": "NO",
"first_name": "StoreName",
"postal_code": "0000",
"address_line": "Address 1",
"postal_place": "OSLO",
"phone_number": "12345678"
},
"pay_in_store": {
"type": "full"
}
}
]
},
"profile_id": "default",
"merchant": {
"name": "string",
"logo_url": "http://example.com"
}
}