Skip to content

Create order

/accounts/create_order

Target audience: Developers

Create order

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/v4/accounts/create_order
Production https://backend.worldoftulo.com/external/api/v4/accounts/create_order

Requirements

Identity Scope
No /external/account/w

Parameters

Field Required Type Description
account Required Object
email
Required String Email of the customer
first_name
Optional String First name of the customer
last_name
Optional String Last name of the customer
mobile_phone_number
Optional String The phone number. Must be a valid phone number, with or without country code
social_security_number
Optional String The social security number. Must be a valid social security number (SSN) in the country of the organisation
birth_date
Optional String The birth date. Must be in a DateTime parseable format
company_name
Optional String Company name, if applicable
company_registration_number
Optional String Company registration number (CRN), if applicable
account_origin
Optional String The origin of the account
alias
Optional String The alias of the account
address
Optional Address Object The address of the account
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 Address Object Address object, that should be set as the billing address. Required if product is a physical/print product and period is not free
delivery_address Optional Address Object Address object, that should be set as the delivery address. Required if product is a physical/print product
einvoice_information Optional Object Object containing invoicing information, if the order is an e-invoice subscription
gln
Optional String The GLN linked to the e-invoice
intermediator
Required String The intermediator linked to the e-invoice
crn
Required String The CRN linked to the e-invoice
traffic_source Optional String The traffic source for the order
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"
omit_secure_identification Optional Boolean Omit secure identification, use for example when creating orders of company subscriptions.
Default value: false
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
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 a page where the customer should be sent after a successful purchase

Curl Example

curl --request POST \
  --url https://payway-api.stage.adeprimo.se/external/api/v4/accounts/create_order \
  --header 'accept: application/json' \
  --header 'authorization: Bearer <token-without-identity>' \
  --header 'content-type: application/json' \
  --data '{
              "account": {
                "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"
          }'

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