Documentation ShoppingService (1.1)

Entities and methods to handle baskets and payments.

Download OpenAPI description
Languages
Servers
https://demo.storm.io/api/1.1/

Basket

Operations

Checkout

Operations

DeliveryMethods

Operations

InfoTypes

Operations

OnHand

Operations

OrderRequest

Operations

Payments

Operations

Payment callback call

Request

This method should be called when receiving a callback from the payment provider. The paymentParameters should be populated with received parameters. This method creates the order. If order should be created on report from payment service provider then use PaymentCallback2. See Payments for more information about the checkout process.

Bodyrequired

Parameter 'PaymentService' is mandatory. Other values are provided by the payment provider in their call and possible parameter names be found for each PSP in Norce Admin. General: 'test'=true to enable tests.

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/PaymentCallback \
  -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 }

Payment callback call (v2)

Request

This method should be called when receiveing a callback from the payment provider. The paymentParameters should be populated with received parameters. This method does not create the order. The report from the payment service provider must be handled with PaymentComplete to create the order. See Payments for more information about the checkout process.

Bodyrequired

Parameter 'PaymentService' is mandatory. Other values are provided by the payment provider in their call and possible parameter names be found for each PSP in Norce Admin. General: 'test'=true to enable tests.

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/PaymentCallback2 \
  -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 }

Cancel a payment

Request

This method should be called when receiving a callback from the payment provider when the payment has been cancelled in some way.

Bodyrequired

The basket that the payment should be cancelled for.

Idinteger or null(int32)

The internal id of the basket. Used to get a specific basket. Ignored in CreateBasket.

CustomerIdinteger or null(int32)

The customer internal id for a specific customer associated with this basket. This can be set in CreateBasket if the user is logged in. Otherwise use UpdateBuyer to set customer.

CompanyIdinteger or null(int32)

The company internal id for a specific company associated with this basket. This can be set in CreateBasket if the user is logged in with a company. Otherwise use UpdateBuyer to set customer and company.

SalesContactIdinteger or null(int32)
StatusIdinteger(int32)

Internal id for the current status of the basket. See ListBasketStatuses.

CurrencyIdinteger(int32)

The currency internal id of the basket. This defines the currency used when processing payments. Can be set when creating a Basket or change later with UpdateBasket. Use either CurrencyId or CurrencyCode. If not specified, the default for the Application will be used.

CurrencyCodestring

The CurrencyCode of the basket. This defines the currency used when processing payments. Can be set when creating a Basket or change later with UpdateBasket. Use either CurrencyId or CurrencyCode. If not specified, the default for the Application will be used. MaxLength: 3.

Commentstring

Free text comment that will be propagated to the order. MaxLength: 250.

OrderReferencestring

An OrderReference which will be tagged on the order. Can be set in CreateBasket or updated in UpdateBasket. MaxLength: 50.

DiscountCodestring

A comma separated list of used discount codes. To clear the value set it to null or String.Empty an call UpdateBasket. MaxLength: max.

ReferIdinteger or null(int32)
ReferUrlstring

MaxLength: 255.

ValidTostring or null(date-time)
IsEditableboolean

Specifies if the basket is editable. If not, any method that changes the basket will throw Exceptions (Bad Request). It will be false when the basket is no longer a basket. That is when it's paid for or cancelled.

ItemsArray of objects(BasketItem)(BasketItem)

List of the items in the basket.

InfoArray of objects(ExtraInfo)(ExtraInfo)

List of information types with values that may be propagated on the order.

Summaryobject(Summary)(Summary)
AppliedPromotionsArray of objects(Promotion)(Promotion)

Contains all Promotions valid for a Basket, whether or not they are applied. If any promotions are applied more info about them are added to the corresponding Basket.Items.

IpAddressstring

The user's IpAddress when the basket was created. The value should be fetched from the user request to the application. MaxLength: 50.

AttestedByinteger or null(int32)
TypeIdinteger(int32)

The internal type id of the Basket. Can be 1 = Basket, 2 = Saved Basket, 3 = Template Basket for Subscriptions.

DoHoldboolean

DoHold specifies if the resulting order should be on hold until all items on the order can be shipped or not. Default is false. This can be set in the Checkout with UpdateBasket if the Customer does not want part deliveries.

IsBuyableboolean

IsBuyable is a rule based property indicating if the Basket's status allows the basket to be purchased. It should be regarded as readonly.

InvoiceReferencestring

An InvoiceReference which will be tagged on the order. Can be set in CreateBasket or updated in UpdateBasket. MaxLength: 50.

PaymentMethodIdinteger or null(int32)

The PaymentMethodId from Storm. Can be set in CreateBasket or updated in UpdatePaymentMethod.

DeliveryMethodIdinteger or null(int32)

The DeliveryMethodId from Storm. Can be set in CreateBasket or updated in UpdateDeliveryMethod.

SalesAreaIdinteger(int32)

The SalesArea internal id of the basket. This defines the default VAT-rate used. Can be set when creating a Basket or change later with UpdateBasket. If not specified, the default for the Application will be used.

curl -i -X POST \
  https://demo.storm.io/api/1.1/ShoppingService.svc/rest/PaymentCancel \
  -H 'Content-Type: application/json' \
  -d '{
    "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": [
      {
        "Id": 0,
        "LineNo": 0,
        "ParentLineNo": 0,
        "ProductId": 0,
        "PartNo": "string",
        "ManufacturerPartNo": "string",
        "Name": "string",
        "SubHeader": "string",
        "ThumbnailImage": "string",
        "FlagIdSeed": "string",
        "Type": 0,
        "PriceDisplay": 0,
        "Price": 0,
        "PriceOriginal": 0,
        "Cost": 0,
        "VatRate": 0,
        "Quantity": 0,
        "UOM": "string",
        "UOMCount": 0,
        "Comment": "string",
        "PriceListId": 0,
        "ReferId": 0,
        "ReferUrl": "string",
        "IsEditable": true,
        "IsDiscountable": true,
        "Info": [
          {
            "TypeId": 0,
            "Value": "string",
            "Code": "string"
          }
        ],
        "OptionalItems": [
          {}
        ],
        "OnHandValue": 0,
        "IncomingValue": 0,
        "NextDeliveryDate": "2019-08-24T14:15:22Z",
        "LeadtimeDayCount": 0,
        "PromotionIdSeed": "string",
        "ImageKey": "string",
        "ManufacturerName": "string",
        "CategoryId": 0,
        "OnHand": {
          "Value": 0,
          "IncomingValue": 0,
          "NextDeliveryDate": "2019-08-24T14:15:22Z",
          "LeadtimeDayCount": 0,
          "LastChecked": "2019-08-24T14:15:22Z",
          "IsActive": true,
          "IsReturnable": true,
          "Info": [
            {
              "Id": 0,
              "Value": "string",
              "Code": "string"
            }
          ]
        },
        "OnHandSupplier": {
          "Value": 0,
          "IncomingValue": 0,
          "NextDeliveryDate": "2019-08-24T14:15:22Z",
          "LeadtimeDayCount": 0,
          "LastChecked": "2019-08-24T14:15:22Z",
          "IsActive": true,
          "IsReturnable": true,
          "Info": [
            {
              "Id": 0,
              "Value": "string",
              "Code": "string"
            }
          ]
        },
        "PriceRecommended": 0,
        "ManufacturerId": 0,
        "UniqueName": "string",
        "StatusId": 0,
        "StockDisplayBreakPoint": 0,
        "PriceCatalog": 0,
        "IsBuyable": true,
        "SubDescription": "string",
        "CategoryIdSeed": "string",
        "RecommendedQuantity": 0,
        "IsRecommendedQuantityFixed": true,
        "AppliedPromotions": [
          {
            "Id": 0,
            "Name": "string",
            "DiscountCode": "string",
            "AppliedAmount": 0,
            "AppliedAmountIncVat": 0
          }
        ],
        "RequirementPromotionIdSeed": "string",
        "IsSubscribable": true,
        "DescriptionHeader": "string",
        "IsPriceManual": true,
        "PriceStandard": 0,
        "EanCode": "string",
        "CostUnit": 0,
        "PriceDisplayIncVat": 0,
        "PriceListLocked": true,
        "PriceOriginalIncVat": 0,
        "PriceRecommendedIncVat": 0,
        "PriceCatalogIncVat": 0,
        "PriceStandardIncVat": 0
      }
    ],
    "Info": [
      {
        "TypeId": 0,
        "Value": "string",
        "Code": "string"
      }
    ],
    "Summary": {
      "Items": {
        "Amount": 0,
        "Vat": 0,
        "AmountIncVat": 0
      },
      "Freigt": {
        "Amount": 0,
        "Vat": 0,
        "AmountIncVat": 0
      },
      "Fees": {
        "Amount": 0,
        "Vat": 0,
        "AmountIncVat": 0
      },
      "Total": {
        "Amount": 0,
        "Vat": 0,
        "AmountIncVat": 0
      }
    },
    "AppliedPromotions": [
      {
        "Id": 0,
        "Name": "string",
        "Header": "string",
        "ShortDescription": "string",
        "Description1": "string",
        "Description2": "string",
        "StartDate": "2019-08-24T14:15:22Z",
        "EndDate": "2019-08-24T14:15:22Z",
        "ImageKey": "string",
        "RequirementSeed": "string",
        "DiscountCode": "string",
        "IsExcludedFromPriceCalculation": true,
        "AllowProductListing": true,
        "Images": [
          {
            "Id": 0,
            "Type": 0,
            "Name": "string",
            "Description": "string",
            "Key": "string"
          }
        ],
        "ProductFilters": [
          {
            "ManufacturerId": 0,
            "CategorySeed": "string",
            "TypeId": 0,
            "ProductId": 0,
            "VariantProductId": 0,
            "PartNo": "string",
            "PricelistId": 0,
            "FlagId": 0
          }
        ],
        "AppliedAmount": 0,
        "EffectSeed": "string",
        "FreightDiscountPct": 0,
        "IsStackable": true,
        "AppliedAmountIncVat": 0,
        "ExclusivityType": 0
      }
    ],
    "IpAddress": "string",
    "AttestedBy": 0,
    "TypeId": 0,
    "DoHold": true,
    "IsBuyable": true,
    "InvoiceReference": "string",
    "PaymentMethodId": 0,
    "DeliveryMethodId": 0,
    "SalesAreaId": 0
  }'

Responses

Success

Body
Idinteger or null(int32)

The internal id of the basket. Used to get a specific basket. Ignored in CreateBasket.

CustomerIdinteger or null(int32)

The customer internal id for a specific customer associated with this basket. This can be set in CreateBasket if the user is logged in. Otherwise use UpdateBuyer to set customer.

CompanyIdinteger or null(int32)

The company internal id for a specific company associated with this basket. This can be set in CreateBasket if the user is logged in with a company. Otherwise use UpdateBuyer to set customer and company.

SalesContactIdinteger or null(int32)
StatusIdinteger(int32)

Internal id for the current status of the basket. See ListBasketStatuses.

CurrencyIdinteger(int32)

The currency internal id of the basket. This defines the currency used when processing payments. Can be set when creating a Basket or change later with UpdateBasket. Use either CurrencyId or CurrencyCode. If not specified, the default for the Application will be used.

CurrencyCodestring

The CurrencyCode of the basket. This defines the currency used when processing payments. Can be set when creating a Basket or change later with UpdateBasket. Use either CurrencyId or CurrencyCode. If not specified, the default for the Application will be used. MaxLength: 3.

Commentstring

Free text comment that will be propagated to the order. MaxLength: 250.

OrderReferencestring

An OrderReference which will be tagged on the order. Can be set in CreateBasket or updated in UpdateBasket. MaxLength: 50.

DiscountCodestring

A comma separated list of used discount codes. To clear the value set it to null or String.Empty an call UpdateBasket. MaxLength: max.

ReferIdinteger or null(int32)
ReferUrlstring

MaxLength: 255.

ValidTostring or null(date-time)
IsEditableboolean

Specifies if the basket is editable. If not, any method that changes the basket will throw Exceptions (Bad Request). It will be false when the basket is no longer a basket. That is when it's paid for or cancelled.

ItemsArray of objects(BasketItem)(BasketItem)

List of the items in the basket.

InfoArray of objects(ExtraInfo)(ExtraInfo)

List of information types with values that may be propagated on the order.

Summaryobject(Summary)(Summary)
AppliedPromotionsArray of objects(Promotion)(Promotion)

Contains all Promotions valid for a Basket, whether or not they are applied. If any promotions are applied more info about them are added to the corresponding Basket.Items.

IpAddressstring

The user's IpAddress when the basket was created. The value should be fetched from the user request to the application. MaxLength: 50.

AttestedByinteger or null(int32)
TypeIdinteger(int32)

The internal type id of the Basket. Can be 1 = Basket, 2 = Saved Basket, 3 = Template Basket for Subscriptions.

DoHoldboolean

DoHold specifies if the resulting order should be on hold until all items on the order can be shipped or not. Default is false. This can be set in the Checkout with UpdateBasket if the Customer does not want part deliveries.

IsBuyableboolean

IsBuyable is a rule based property indicating if the Basket's status allows the basket to be purchased. It should be regarded as readonly.

InvoiceReferencestring

An InvoiceReference which will be tagged on the order. Can be set in CreateBasket or updated in UpdateBasket. MaxLength: 50.

PaymentMethodIdinteger or null(int32)

The PaymentMethodId from Storm. Can be set in CreateBasket or updated in UpdatePaymentMethod.

DeliveryMethodIdinteger or null(int32)

The DeliveryMethodId from Storm. Can be set in CreateBasket or updated in UpdateDeliveryMethod.

SalesAreaIdinteger(int32)

The SalesArea internal id of the basket. This defines the default VAT-rate used. Can be set when creating a Basket or change later with UpdateBasket. If not specified, the default for the Application will be used.

Response
{ "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": { "Items": {}, "Freigt": {}, "Fees": {}, "Total": {} }, "AppliedPromotions": [ {} ], "IpAddress": "string", "AttestedBy": 0, "TypeId": 0, "DoHold": true, "IsBuyable": true, "InvoiceReference": "string", "PaymentMethodId": 0, "DeliveryMethodId": 0, "SalesAreaId": 0 }

Payment complete call

Request

This method should be called when receiving a http-report from the payment service provider. The paymentParameters should be populated with received parameters. This method creates the order. PSPs calls the API directly and this method should never be called directly from the application.

Bodyrequired

Supported values are 'orderref' and 'transactionnumber'. These values are provided by the payment provider in their call. General: 'test'=true to enable tests.

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/PaymentComplete \
  -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 }

Payment callback for form based payments

Request

PaymentFormCallback is called from applications using forms based checkouts with support for callbacks. Applications gets called when the end-user gets routed back to a 'Thanks for you order page' and the applications should make this call to the API before routing. See Checkout Form Payments for more information about the checkout process.

Query
basketIdinteger(int32)required

The internal id of the basket used in the checkout.

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: 'Mobile'='True' to enable javascript for mobile phones.

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/PaymentFormCallback?basketId=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 }

Payment complete call for form based payments

Request

PaymentFormComplete is called directly from any PSP supporting forms based checkouts with support for completes. Applications should never make this call directly.

Bodyrequired

General: 'Mobile'='True' to enable javascript for mobile phones.

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/PaymentFormComplete \
  -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 }

Reserve amount on gift card

Request

Reserve an amount on a gift card.

Query
cardNostringrequired

The card number to make reservation on.

cvcstringrequired

The cvc of the card to make reservation on.

basketIdinteger(int32)required

Internal id of the basket to associate with this reservation.

ipAddressstringrequired
userAgentstringrequired
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: 'extra parameters, reserveamount' for test or set the amount to be used with gift card.

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/PaymentGiftCardReserve?basketId=0&cardNo=string&cvc=string&ipAddress=string&userAgent=string' \
  -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 }

Cancel gift card reservation. Used internally.

Request

Bodyrequired

General: 'cancelreason'=must contain something, preferably a text. 'paymentcode'=paymentcode return by PaymentGiftCardReserve.

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/PaymentGiftCardRollback \
  -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 }

Validate a payment

Request

This method gets called from PSPs supporting validation callbacks. Storm API makes a preliminary validation by validating the checkout. Checks are for basket status and valid promotions plus all other validations with regard to customer information. No result is returned if validation passes and an exception with both Exceptions below aggregated will be raised if any validation fails.

Bodyrequired

These values are provided by the PSP. If the initial PaymentParameters, to PurchaseEx or GetPaymentForm, contained ValidationUrl, Storm API will post a checkout object to that url giving the application a possibility to perform additional validations, such as checking availability. If validation succeeds just return an empty result with HttpStatus 200. Failed validations should give a 400 with the message in the content body. Pass ValidationContentType to specify content type of the posted checkout. Supported values are 'application/json' or 'text/xml'. 'text/xml' is default if not specified. CancelUrl must also be specified in order to handle any validation fail messages. The post to validationUrl supports basic authentication. Just add 'username:password@' to the url.

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/PaymentValidate \
  -H 'Content-Type: application/json' \
  -d '[
    {
      "Name": "string",
      "Value": "string"
    }
  ]'

Responses

Success

Body

Validate a payment

Request

This method gets called from PSPs supporting validation callbacks. Storm API makes a preliminary validation by validating the checkout. Checks are for basket status and valid promotions plus all other validations with regard to customer information. No result is returned if validation passes and an exception with both Exceptions below aggregated will be raised if any validation fails.

Bodyrequired

These values are provided by the PSP. If the initial PaymentParameters, to PurchaseEx or GetPaymentForm, contained ValidationUrl, Storm API will post a checkout object to that url giving the application a possibility to perform additional validations, such as checking availability. If validation succeeds just return an empty result with HttpStatus 200. Failed validations should give a 400 with the message in the content body. Pass ValidationContentType to specify content type of the posted checkout. Supported values are 'application/json' or 'text/xml'. 'text/xml' is default if not specified. CancelUrl must also be specified in order to handle any validation fail messages. The post to validationUrl supports basic authentication. Just add 'username:password@' to the url.

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/PaymentValidate2 \
  -H 'Content-Type: application/json' \
  -d '[
    {
      "Name": "string",
      "Value": "string"
    }
  ]'

Responses

Success

Body

Promotions

Operations

Subscriptions

Operations