Add payment and billing information to an order
Add payment information
Add payment information to an order with the payment field that takes the OrderPaymentInput type.
You need to specify:
- A payment
method. The field requires a string: you can pass the value from your system. - The payment
status: you can check the available options inPaymentStatusEnum.
GraphQL mutation
mutation {
upsertOrder(
input: {
referenceId: "123456",
createdAt: $date,
payment: {
method: "card"
status: PENDING
}
}
)
}
If the customer wants to pay for the order upon delivery, set the cashOnDelivery field which requires a MoneyInput type:
GraphQL mutation
mutation {
upsertOrder(
input: {
referenceId: "123456",
createdAt: $date,
cashOnDelivery: {
amount: 13599,
currency: HUF
}
}
)
}
When the order is paid, change the payment status and add the date of payment: the paidAt field requires a date in the Y-m-d\TH:i:sP format.
GraphQL mutation
mutation {
upsertOrder(
input: {
referenceId: "123456",
createdAt: $date,
payment: {
method: "card"
status: PAID,
paidAt: "2026-01-17T14:32:10+01:00"
}
}
)
}
Add billing information
When creating or updating an order, you can add billing information with the billing field of the upsertOrder mutation. You can provide:
- A name
- An email address
- A phone number
- An address
- A VAT number, if applicable
With the isCompany field, you can also specify if the bill will be paid by a company or a private individual.
GraphQL mutation
mutation {
upsertOrder(
input: {
referenceId: "123456",
createdAt: $date,
billing: {
name: "Most Excellent Customer",
email: "examplemail@example.org",
phone: "00 01 123 4567",
vatNumber: "8337961152"
isCompany: true
}
}
)
}
To add the address, as a minimum you need:
country: See the available country codes.citypostalCodeaddressLine1
In addition:
- You can add a
statefield: it can be used for any type of administrative subdivision of a country, if you need it. - If the address is longer and more complex, you can add
addressLine2. - Add a
noteto include additional information about the address.
GraphQL mutation
mutation {
upsertOrder(
input: {
referenceId: "123456",
createdAt: $date,
billing: {
name: "Most Excellent Customer",
email: "examplemail@example.org",
phone: "00 01 123 4567",
vatNumber: "8337961152"
isCompany: true,
address: {
country: CA,
state: "Ontario"
city: "Ottawa",
postalCode: "K2C 0A6",
addressLine1: "1026 Baseline Rd",
addressLine2: "Building B, 4th floor"
note: "The receptionist is grumpy"
}
}
}
)
}