Skip to content

Documentation ShoppingService (1.1)

Entities and methods to handle baskets and payments.

Download OpenAPI description
Languages
Servers

https://demo.storm.io/api/1.1/

Operations
Operations

Request

Used when adding payments to a PayLater type of transaction.

Query
basketIdinteger(int32)required

The internal id of the current basket.

ipAddressstringrequired

The user's ipAddress.

userAgentstringrequired

The user agent of the user's browser.

amountnumber(decimal)required

The amount being paid.

paymentMethodinteger(int32)required

The payment method used to pay.

pricelistSeedstring

A comma separated list of internal pricelist ids to use, if any. PriceLists supplied must be valid, either from the application's public priceList or any customer or company priceLists or any valid client priceLists. For clients configured to use priceListSeed exclusively in the API only the supplied priceLists will be used. If this is not configured, the supplied priceLists will be appended to the valid priceLists. If none is supplied, the default value for the application will be used in combination with any customer or company priceLists. This applies to both configurations.

cultureCodestring

Specifies in which language to display culture specific information. If none is supplied, value is resolved from Application.

Bodyrequired

General: 'test'=true to enable tests. When 'test' is used no payments will be processed for real. Payments may interpret supplied values such as cardNumber or ssn to simulate failures. Not implemented. Klarna: 'sessionId'=id. Used to provide a sessionId to Klarna payments. Not implemented. Payex and Dibs. Supported values are 'returnUrl' and 'cancelUrl'. Values should point to where the payment service should go in case of success/failure.

Array [
Namestring

The Name of the Entity. MaxLength: 50.

Valuestring

The Value of the Entity. MaxLength: max.

]
curl -i -X POST \
  'https://demo.storm.io/api/1.1/ShoppingService.svc/rest/CreatePayment?basketId=0&ipAddress=string&userAgent=string&amount=0&paymentMethod=0' \
  -H 'Content-Type: application/json' \
  -d '[
    {
      "Name": "string",
      "Value": "string"
    }
  ]'

Responses

Success

Body
Statusstring

String response. OK if successful, otherwise may have different values depending on PSP. MaxLength: 50.

StatusDescriptionstring

Descriptive text for the status. MaxLength: 255.

BasketIdinteger or null(int32)

Internal id of the associated basket.

OrderNostring

Order number if order's been created. MaxLength: 50.

PaymentCodestring

Internal identifier of this specific payment attempt. MaxLength: int.

PaymentReferencestring

External identifier of this specific payment attempt, usually from the PSP. MaxLength: 50.

HostedPaymentPagestring

Used when a payment should be finalized on a different platform, e.g. sending a link by SMS to customer. MaxLength: 50.

RedirectUrlstring

Configurated redirection URL after successful payment. MaxLength: 255.

RedirectParametersArray of objects(NameValue)(NameValue)

PSP specific data returned for the payment. See PSP documentation.

IsSyncronousboolean or null

Indicates if the payment attempt was synchronous or not.

PaymentServiceIdinteger or null(int32)

Internal id of the payment service used.

Response
{ "Status": "string", "StatusDescription": "string", "BasketId": 0, "OrderNo": "string", "PaymentCode": "string", "PaymentReference": "string", "HostedPaymentPage": "string", "RedirectUrl": "string", "RedirectParameters": [ {} ], "IsSyncronous": true, "PaymentServiceId": 0 }

Request

Get a checkout object for a specific basket.

Query
basketIdinteger(int32)required

Internal id of the basket for which to create a checkout object.

pricelistSeedstring

A comma separated list of internal pricelist ids to use, if any. PriceLists supplied must be valid, either from the application's public priceList or any customer or company priceLists or any valid client priceLists. For clients configured to use priceListSeed exclusively in the API only the supplied priceLists will be used. If this is not configured, the supplied priceLists will be appended to the valid priceLists. If none is supplied, the default value for the application will be used in combination with any customer or company priceLists. This applies to both configurations.

cultureCodestring

Specifies in which language to display culture specific information. If none is supplied, value is resolved from Application.

currencyIdstring

Internal id that specifies in which currency to display prices. If none is supplied, value is resolved from Application.

curl -i -X GET \
  'https://demo.storm.io/api/1.1/ShoppingService.svc/rest/GetCheckout?basketId=0'

Responses

Success

Body
Basketobject(Basket)(Basket)
Buyerobject(CustomersCustomer)(CustomersCustomer)
Payerobject(CustomersCustomer)(CustomersCustomer)
ShipToobject(CustomersCustomer)(CustomersCustomer)
PaymentMethodsArray of objects(PaymentMethod)(PaymentMethod)

List of available payment methods for this checkout. May be changed depending on basket contents. Generated by Storm.

DeliveryMethodsArray of objects(DeliveryMethod)(DeliveryMethod)

List of available delivery methods for this checkout. May be changed depending on basket contents. Generated by Storm.

PaymentsArray of objects(Payment)(Payment)

List of payment attemtps made for this checkout. Each payment method selected will create it's own entry in this list.

Response
{ "Basket": { "Id": 0, "CustomerId": 0, "CompanyId": 0, "SalesContactId": 0, "StatusId": 0, "CurrencyId": 0, "CurrencyCode": "string", "Comment": "string", "OrderReference": "string", "DiscountCode": "string", "ReferId": 0, "ReferUrl": "string", "ValidTo": "2019-08-24T14:15:22Z", "IsEditable": true, "Items": [], "Info": [], "Summary": {}, "AppliedPromotions": [], "IpAddress": "string", "AttestedBy": 0, "TypeId": 0, "DoHold": true, "IsBuyable": true, "InvoiceReference": "string", "PaymentMethodId": 0, "DeliveryMethodId": 0, "SalesAreaId": 0 }, "Buyer": { "Id": 0, "Key": "string", "Code": "string", "Email": "string", "SSN": "string", "FirstName": "string", "LastName": "string", "Phone": "string", "CellPhone": "string", "ReferId": 0, "ReferUrl": "string", "Account": {}, "Companies": [], "DeliveryAddresses": [], "InvoiceAddress": {}, "Flags": [], "UseInvoiceAddressAsDeliveryAddress": true, "Info": [], "PricelistIds": [], "CrmId": "string", "IsActive": true, "Created": "2019-08-24T14:15:22Z", "Updated": "2019-08-24T14:15:22Z" }, "Payer": { "Id": 0, "Key": "string", "Code": "string", "Email": "string", "SSN": "string", "FirstName": "string", "LastName": "string", "Phone": "string", "CellPhone": "string", "ReferId": 0, "ReferUrl": "string", "Account": {}, "Companies": [], "DeliveryAddresses": [], "InvoiceAddress": {}, "Flags": [], "UseInvoiceAddressAsDeliveryAddress": true, "Info": [], "PricelistIds": [], "CrmId": "string", "IsActive": true, "Created": "2019-08-24T14:15:22Z", "Updated": "2019-08-24T14:15:22Z" }, "ShipTo": { "Id": 0, "Key": "string", "Code": "string", "Email": "string", "SSN": "string", "FirstName": "string", "LastName": "string", "Phone": "string", "CellPhone": "string", "ReferId": 0, "ReferUrl": "string", "Account": {}, "Companies": [], "DeliveryAddresses": [], "InvoiceAddress": {}, "Flags": [], "UseInvoiceAddressAsDeliveryAddress": true, "Info": [], "PricelistIds": [], "CrmId": "string", "IsActive": true, "Created": "2019-08-24T14:15:22Z", "Updated": "2019-08-24T14:15:22Z" }, "PaymentMethods": [ {} ], "DeliveryMethods": [ {} ], "Payments": [ {} ] }

Get checkout object for a basket (v2)

Request

Get a checkout object for a specific basket.

Query
basketIdinteger(int32)required

Internal id of the basket for which to create a checkout object.

pricelistSeedstring

A comma separated list of internal pricelist ids to use, if any. PriceLists supplied must be valid, either from the application's public priceList or any customer or company priceLists or any valid client priceLists. For clients configured to use priceListSeed exclusively in the API only the supplied priceLists will be used. If this is not configured, the supplied priceLists will be appended to the valid priceLists. If none is supplied, the default value for the application will be used in combination with any customer or company priceLists. This applies to both configurations.

dropPointSizestring

Maximum number of dropPoints to return for each delivery method.

cultureCodestring

Specifies in which language to display culture specific information. If none is supplied, value is resolved from Application.

currencyIdstring

Internal id that specifies in which currency to display prices. If none is supplied, value is resolved from Application.

curl -i -X GET \
  'https://demo.storm.io/api/1.1/ShoppingService.svc/rest/GetCheckout2?basketId=0'

Responses

Success

Body
Basketobject(Basket)(Basket)
Buyerobject(CustomersCustomer)(CustomersCustomer)
Payerobject(CustomersCustomer)(CustomersCustomer)
ShipToobject(CustomersCustomer)(CustomersCustomer)
PaymentMethodsArray of objects(PaymentMethod)(PaymentMethod)

List of available payment methods for this checkout. May be changed depending on basket contents. Generated by Storm.

DeliveryMethodsArray of objects(DeliveryMethod)(DeliveryMethod)

List of available delivery methods for this checkout. May be changed depending on basket contents. Generated by Storm.

PaymentsArray of objects(Payment)(Payment)

List of payment attemtps made for this checkout. Each payment method selected will create it's own entry in this list.

Response
{ "Basket": { "Id": 0, "CustomerId": 0, "CompanyId": 0, "SalesContactId": 0, "StatusId": 0, "CurrencyId": 0, "CurrencyCode": "string", "Comment": "string", "OrderReference": "string", "DiscountCode": "string", "ReferId": 0, "ReferUrl": "string", "ValidTo": "2019-08-24T14:15:22Z", "IsEditable": true, "Items": [], "Info": [], "Summary": {}, "AppliedPromotions": [], "IpAddress": "string", "AttestedBy": 0, "TypeId": 0, "DoHold": true, "IsBuyable": true, "InvoiceReference": "string", "PaymentMethodId": 0, "DeliveryMethodId": 0, "SalesAreaId": 0 }, "Buyer": { "Id": 0, "Key": "string", "Code": "string", "Email": "string", "SSN": "string", "FirstName": "string", "LastName": "string", "Phone": "string", "CellPhone": "string", "ReferId": 0, "ReferUrl": "string", "Account": {}, "Companies": [], "DeliveryAddresses": [], "InvoiceAddress": {}, "Flags": [], "UseInvoiceAddressAsDeliveryAddress": true, "Info": [], "PricelistIds": [], "CrmId": "string", "IsActive": true, "Created": "2019-08-24T14:15:22Z", "Updated": "2019-08-24T14:15:22Z" }, "Payer": { "Id": 0, "Key": "string", "Code": "string", "Email": "string", "SSN": "string", "FirstName": "string", "LastName": "string", "Phone": "string", "CellPhone": "string", "ReferId": 0, "ReferUrl": "string", "Account": {}, "Companies": [], "DeliveryAddresses": [], "InvoiceAddress": {}, "Flags": [], "UseInvoiceAddressAsDeliveryAddress": true, "Info": [], "PricelistIds": [], "CrmId": "string", "IsActive": true, "Created": "2019-08-24T14:15:22Z", "Updated": "2019-08-24T14:15:22Z" }, "ShipTo": { "Id": 0, "Key": "string", "Code": "string", "Email": "string", "SSN": "string", "FirstName": "string", "LastName": "string", "Phone": "string", "CellPhone": "string", "ReferId": 0, "ReferUrl": "string", "Account": {}, "Companies": [], "DeliveryAddresses": [], "InvoiceAddress": {}, "Flags": [], "UseInvoiceAddressAsDeliveryAddress": true, "Info": [], "PricelistIds": [], "CrmId": "string", "IsActive": true, "Created": "2019-08-24T14:15:22Z", "Updated": "2019-08-24T14:15:22Z" }, "PaymentMethods": [ {} ], "DeliveryMethods": [ {} ], "Payments": [ {} ] }
Operations
Operations
Operations
Operations
Operations
Operations
Operations