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.
- 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:
If the payer selects "Pay in-store" they will get a shipping option
to select a store to pay in, as shown below:
It is possible to add multiple stores for the payer to select from.
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:
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"
}
}