Skip to content

Create order


Target audience: Developers

Create order


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


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.


Environment URI


Identity Scope
No /external/account/w


Field Required Type Description
account Required Object
Required String Email of the customer
Optional String First name of the customer
Optional String Last name of the customer
Optional String The phone number. Must be a valid phone number, with or without country code
Optional String The social security number. Must be a valid social security number (SSN) in the country of the organisation
Optional String The birth date. Must be in a DateTime parseable format
Optional String Company name, if applicable
Optional String Company registration number (CRN), if applicable
Optional String The origin of the account
Optional String The alias of the account
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
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
Optional String The GLN linked to the e-invoice
Required String The intermediator linked to the e-invoice
Required String The CRN linked to the e-invoice
traffic_source Optional String The traffic source for the order
Size range: ..128
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
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
Required DateTime Expire date for the voucher
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.
Required String User agent
Required String Client langague
Required String Client ip address
custom_urls Optional Object Information about custom URL's, ie. where to send the user afterwards
Optional String Absolute URI to a page allowing the customer to reset their current password
Optional String Absolute URI to a page where the customer should be sent after a successful purchase

Curl Example

curl --request POST \
  --url \
  --header 'accept: application/json' \
  --header 'authorization: Bearer <token-without-identity>' \
  --header 'content-type: application/json' \
  --data '{
              "account": {
                "email": ""
              "product_code": "adeprimo_digital",
              "period_id": "5cb804811d41c82b5c518ea8",
              "start_date": "2019-05-01T00:00:00+00:00",
              "receipt_url": "https://domain.tld/receipt/585a4768edce2c5e6f000001"


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"


This API uses the common error conventions of the Payway API

See common error responses