Skip to content

Create order without account

/accounts/create_order_without_account

Target audience: Developers

Release version: 4.7.0

Create order without account

Introduction

This endpoint is used to place an order without an account. The account will be located or created based on the supplied email address.

Attention

As for now this endpoint only supports creating orders with the payment method invoice, autogiro, billecta and free. This endpoint cannot be accessed using an access-token with an identity.

Events triggered

See Payway events for more information on the events triggered.

Event Description
account_created_with_password_reset When an account cannot be located using the supplied email address it is instead created.
order_closed On a successful api call an order is created and closed.
payment_user_product_created When a user product is created.
voucher_created When a voucher is being purchased.

URI

Environment URI
Stage https://payway-api.stage.adeprimo.se/external/api/v2/accounts/create_order_without_account
Production https://backend.worldoftulo.com/external/api/v2/accounts/create_order_without_account

Requirements

Identity Scope
No /external/account/w

Parameters

Field Required Type Description
email Required String The email of the account to place the order on.
Size range: ..1024
Allowed values:
"/\A[\w+-.]+@[a-z\d-]+(.[a-z]+)*.[a-z]+\z/i"
first_name Optional String The first name of the customer.
Size Range ..100
last_name Optional String The last name of the customer.
Size Range ..100
product_code Required String The product code for a package/campaign.
period_id Required String The unique id of the period that should be used for this order. Note that the supplied period id determines the payment method.
Size range: ..24
Allowed values: "/^[a-f\d]{24}$/i"
start_date Optional DateTime The start date of the subscription in UTC, will default to DateTime.now
receipt_url Required String The receipt url that the user will end up on after creating the order
billing_address Optional Object Address object, that should be set as the billing address. Required if product is a physical/print product and period is not free
first_name
Required String First name of the recipient that is to be billed. Can be substituted by company_name.
last_name
Required String Last name of the recipient that is to be billed. Can be substituted by company_name.
care_of
Optional String Care of address of the recipient that is to be billed
street
Required String Street of the recipient that is to be billed
city
Required String City of the recipient that is to be billed
zip_code
Required String Zip code of the recipient that is to be billed
country_code
Required String Country code of the recipient that is to be billed
contact_email
Optional String Contact email of the recipient that is to be billed
citizenship_country_code
Optional String Citizenship country code of the recipient that is to be billed
company_name
Optional String Company name, if applicable
company_reference
Optional String Company reference, if applicable
company_department
Optional String Company department, if applicable
delivery_address Optional Object Address object, that should be set as the delivery address. Required if product is a physical/print product
first_name
Required String First name of the recipient. Can be substituted by company_name.
last_name
Required String Last name of the recipient. Can be substituted by company_name.
care_of
Optional String Care of address of the recipient
street
Required String Street of the recipient
city
Required String City of the recipient
zip_code
Required String Zip code of the recipient
country_code
Required String Country code of the recipient
company_name
Optional String Company name, if applicable
company_reference
Optional String Company reference, if applicable
company_department
Optional String Company department, if applicable
traffic_source Optional String The traffic source for the order
Size range: ..128
company_vat_number Optional String The VAT number linked to the company
merchant_reference Optional String The merchant reference for the order
paywall_id Optional String The ID of the paywall.
Size range: ..24
Allowed values: "/^[a-f\d]{24}$/i"
secure_identification Optional Object The object containing information about the secure identification of a user
trusted_identity_id
Required String The ID of the trusted identity.
Size range: ..24
Allowed values: "/^[a-f\d]{24}$/i"
voucher_purchase Optional Boolean Set to true to create free voucher. Note that the period needs to have payment method free and voucher purchase for the product must be enabled in PAP. Read more here
voucher_details Optional Object Voucher details object, Required if voucher_purchase is set to true
expire_date
Required DateTime Expire date for the voucher
redeem_url
Optional String Absolute URI to where the created voucher can be redeemed. Will default to the PCP.
invoice_delivery_method Optional String 'mail' or 'email'. Delivery method of the invoice, only applicable when payment method is invoice. Requires support in the subscription system integration
client_info Optional Object Information about the client, such as browser information.
user_agent
Required String User agent
language
Required String Client langague
ip_address
Required String Client ip address
custom_urls Optional Object Information about custom URL's, ie. where to send the user afterwards
reset_password_url
Optional String Absolute URI to a page allowing the customer to reset their current password
return_url
Optional String Absolute URI to where the customer should be redirected after resetting their password via the reset_password_url

Curl Example

curl --request POST \
  --url https://payway-api.stage.adeprimo.se/external/api/v2/accounts/create_order_without_account \
  --header 'accept: application/json' \
  --header 'authorization: Bearer <token-without-identity>' \
  --header 'content-type: application/json' \
  --data '{
              "email": "test@test.com",
              "product_code": "adeprimo_digital",
              "period_id": "5cb804811d41c82b5c518ea8",
              "start_date": "2019-05-01T00:00:00+00:00",
              "receipt_url": "https://domain.tld/receipt/585a4768edce2c5e6f000001",
              "billing_address": {
                  "first_name": "Erik",
                  "last_name": "Eriksson",
                  "street": "Ekvägen 12",
                  "zip_code": "120 35",
                  "city": "Tyresö",
                  "country_code": "SE",
                  "care_of": null,
                  "contact_email": "invoicing@no-reply.com",
                  "citizenship_country_code": "SE",
                  "company_name": "My Company",
                  "company_reference": null,
                  "company_department": "IT"
             },
             "delivery_address": {
                  "first_name": "Erik",
                  "last_name": "Eriksson",
                  "street": "Ekvägen 12",
                  "zip_code": "120 35",
                  "city": "Tyresö",
                  "country_code": "SE",
                  "company_name": "My Company",
                  "company_reference": null,
                  "company_department": "IT"
             }
          }'

Response

Field Description
id id of the order
order_id order_id of the order
payment_id id of the payment
account_id id of the account created or located
account_status created or known, indicating if the account was created or located using the supplied email address
HTTP 201 Created
{
    "id": "ADEPRIMO-1234",
    "order_id": "ADEPRIMO-1234",
    "payment_id": "AAABBBCCDD11223344",
    "account_id": "685a4768edce2c5e6f000002",
    "account_status": "created|known"
}

Errors

This API uses the common error conventions of the Payway API

See common error responses