Downpay API Documentation
Welcome to the Downpay API
Downpay API Documentation
The Downpay API gives you programmatic control over partial payment and deposit workflows on Shopify. Use it to build automations, connect Downpay to your existing tools, and create advanced payment flows that go beyond what the app UI offers out of the box.
What you can build
These examples cover common use cases, but the API is flexible enough to support a wide range of custom workflows. If you want help thinking through your specific setup, book a call with our team.
- Automatically create purchase options when new products are added to your store
- Assign products to existing purchase options based on tags, price thresholds, or any condition you define
- Trigger remaining balance collection when an order reaches a certain status or receives a tag
- Authorize a customer's stored payment method in advance of fulfillment
- Connect Downpay to no-code tools like Shopify Flow for campaign automation
Before you begin
The Downpay API is a GraphQL API, similar to Shopify's own Admin API. If you have worked with Shopify's GraphQL API before, you will feel at home here. If you are new to GraphQL, the official GraphQL introduction is a solid starting point.
ENDPOINT
All requests go to a single endpoint via HTTP POST:
https://downpay.hypehound.app/graphql
AUTHENTICATION
Every request must include your API key as an Authorization header:
# Your API token from the dashboard. Must be included in all API calls.
Authorization: Token bdbe58cf10e952359dcd730956d20c94a4acf00ff6f00088117b10b9f51660db
You can find your API key on the Settings page of the Downpay app inside your Shopify Admin.
Your first API call
Once your client is configured, run this query to confirm everything is working. It returns all purchase option groups currently set up in your client:
query AllPurchaseOptions {
purchaseOptionGroups {
nodes {
createdAt
id
merchantCode
productCount
}
}
}
A successful response looks like this:
{
"data": {
"purchaseOptionGroups": {
"nodes": [
{
"createdAt": "2024-03-13T13:49:07Z",
"id": "61604037171",
"merchantCode": "Deposit it",
"productCount": 1
}
]
}
}
}
If you haven't created any purchase options yet the nodes array will be empty. That's expected.
Need help?
If you run into questions or want advice on the best approach for a specific workflow, reach out:
Queries
node
Description
Fetches an object given its ID.
nodes
Description
Fetches a list of objects given a list of IDs.
orders
Description
A list of orders made through Downpay for this shop
Response
Returns an OrderConnection!
Arguments
| Name | Description |
|---|---|
after - String
|
Returns the elements in the list that come after the specified cursor. |
before - String
|
Returns the elements in the list that come before the specified cursor. |
first - Int
|
Returns the first n elements from the list. |
last - Int
|
Returns the last n elements from the list. |
Example
Query
query orders(
$after: String,
$before: String,
$first: Int,
$last: Int
) {
orders(
after: $after,
before: $before,
first: $first,
last: $last
) {
edges {
cursor
node {
...OrderFragment
}
}
nodes {
createdAt
id
name
updatedAt
}
pageInfo {
endCursor
hasNextPage
hasPreviousPage
startCursor
}
}
}
Variables
{
"after": "xyz789",
"before": "xyz789",
"first": 123,
"last": 123
}
Response
{
"data": {
"orders": {
"edges": [OrderEdge],
"nodes": [Order],
"pageInfo": PageInfo
}
}
}
purchaseOptionGroup
Description
A single purchase option group
Response
Returns a PurchaseOptionGroup
Arguments
| Name | Description |
|---|---|
id - ID!
|
The ID of the purchase option group to fetch. |
Example
Query
query purchaseOptionGroup($id: ID!) {
purchaseOptionGroup(id: $id) {
createdAt
excludedProducts {
id
imageUrl
status
title
}
id
lineItemDescriptor
merchantCode
orders {
edges {
...OrderEdgeFragment
}
nodes {
...OrderFragment
}
pageInfo {
...PageInfoFragment
}
}
productCount
productVariantCount
products {
id
imageUrl
status
title
}
productsRequirePurchaseOption
purchaseOptions {
billingPolicy {
...PurchaseOptionBillingPolicyFragment
}
description
id
instalmentPolicy {
...InstalmentPolicyFragment
}
purchaseOptionType
}
resourceAssignmentType
tags
variants {
id
imageUrl
productId
productTitle
title
}
}
}
Variables
{"id": "4"}
Response
{
"data": {
"purchaseOptionGroup": {
"createdAt": ISO8601DateTime,
"excludedProducts": [Product],
"id": 4,
"lineItemDescriptor": "xyz789",
"merchantCode": "xyz789",
"orders": OrderConnection,
"productCount": 123,
"productVariantCount": 987,
"products": [Product],
"productsRequirePurchaseOption": true,
"purchaseOptions": [PurchaseOption],
"resourceAssignmentType": "PRODUCTS",
"tags": ["xyz789"],
"variants": [Variant]
}
}
}
purchaseOptionGroups
Description
A list of purchase option groups
Response
Returns a PurchaseOptionGroupConnection!
Arguments
| Name | Description |
|---|---|
after - String
|
Returns the elements in the list that come after the specified cursor. |
before - String
|
Returns the elements in the list that come before the specified cursor. |
first - Int
|
Returns the first n elements from the list. |
last - Int
|
Returns the last n elements from the list. |
Example
Query
query purchaseOptionGroups(
$after: String,
$before: String,
$first: Int,
$last: Int
) {
purchaseOptionGroups(
after: $after,
before: $before,
first: $first,
last: $last
) {
edges {
cursor
node {
...PurchaseOptionGroupFragment
}
}
nodes {
createdAt
excludedProducts {
...ProductFragment
}
id
lineItemDescriptor
merchantCode
orders {
...OrderConnectionFragment
}
productCount
productVariantCount
products {
...ProductFragment
}
productsRequirePurchaseOption
purchaseOptions {
...PurchaseOptionFragment
}
resourceAssignmentType
tags
variants {
...VariantFragment
}
}
pageInfo {
endCursor
hasNextPage
hasPreviousPage
startCursor
}
}
}
Variables
{
"after": "abc123",
"before": "abc123",
"first": 123,
"last": 987
}
Response
{
"data": {
"purchaseOptionGroups": {
"edges": [PurchaseOptionGroupEdge],
"nodes": [PurchaseOptionGroup],
"pageInfo": PageInfo
}
}
}
Mutations
createPurchaseOptionGroup
Description
Create a purchase option group
Response
Returns a CreatePurchaseOptionGroupPayload
Arguments
| Name | Description |
|---|---|
input - CreatePurchaseOptionGroupInput!
|
Parameters for CreatePurchaseOptionGroup |
Example
Query
mutation createPurchaseOptionGroup($input: CreatePurchaseOptionGroupInput!) {
createPurchaseOptionGroup(input: $input) {
clientMutationId
errors {
field
message
}
purchaseOptionGroup {
createdAt
excludedProducts {
...ProductFragment
}
id
lineItemDescriptor
merchantCode
orders {
...OrderConnectionFragment
}
productCount
productVariantCount
products {
...ProductFragment
}
productsRequirePurchaseOption
purchaseOptions {
...PurchaseOptionFragment
}
resourceAssignmentType
tags
variants {
...VariantFragment
}
}
}
}
Variables
{"input": CreatePurchaseOptionGroupInput}
Response
{
"data": {
"createPurchaseOptionGroup": {
"clientMutationId": "abc123",
"errors": [DisplayableError],
"purchaseOptionGroup": PurchaseOptionGroup
}
}
}
deletePurchaseOptionGroup
Description
Delete a purchase option group
Response
Returns a DeletePurchaseOptionGroupPayload
Arguments
| Name | Description |
|---|---|
input - DeletePurchaseOptionGroupInput!
|
Parameters for DeletePurchaseOptionGroup |
Example
Query
mutation deletePurchaseOptionGroup($input: DeletePurchaseOptionGroupInput!) {
deletePurchaseOptionGroup(input: $input) {
clientMutationId
deletedPurchaseOptionGroupId
errors {
field
message
}
}
}
Variables
{"input": DeletePurchaseOptionGroupInput}
Response
{
"data": {
"deletePurchaseOptionGroup": {
"clientMutationId": "abc123",
"deletedPurchaseOptionGroupId": "4",
"errors": [DisplayableError]
}
}
}
orderAuthorizePayment
Description
Authorize payment for an order
Response
Returns an OrderAuthorizePaymentPayload
Arguments
| Name | Description |
|---|---|
input - OrderAuthorizePaymentInput!
|
Parameters for OrderAuthorizePayment |
Example
Query
mutation orderAuthorizePayment($input: OrderAuthorizePaymentInput!) {
orderAuthorizePayment(input: $input) {
clientMutationId
errors {
field
message
}
orderPaymentStatus {
createdAt
orderId
paymentReferenceId
status
transactionId
updatedAt
}
}
}
Variables
{"input": OrderAuthorizePaymentInput}
Response
{
"data": {
"orderAuthorizePayment": {
"clientMutationId": "xyz789",
"errors": [DisplayableError],
"orderPaymentStatus": OrderPaymentStatus
}
}
}
orderCollectInstallment
Description
BETA Collect a single scheduled installment payment for an order
Response
Returns an OrderCollectInstallmentPayload
Arguments
| Name | Description |
|---|---|
input - OrderCollectInstallmentInput!
|
Parameters for OrderCollectInstallment |
Example
Query
mutation orderCollectInstallment($input: OrderCollectInstallmentInput!) {
orderCollectInstallment(input: $input) {
clientMutationId
errors {
field
message
}
orderPaymentStatus {
createdAt
orderId
paymentReferenceId
status
transactionId
updatedAt
}
}
}
Variables
{"input": OrderCollectInstallmentInput}
Response
{
"data": {
"orderCollectInstallment": {
"clientMutationId": "abc123",
"errors": [DisplayableError],
"orderPaymentStatus": OrderPaymentStatus
}
}
}
orderCollectPartialPayment
Description
Collect a partial payment for an order
Response
Returns an OrderCollectPartialPaymentPayload
Arguments
| Name | Description |
|---|---|
input - OrderCollectPartialPaymentInput!
|
Parameters for OrderCollectPartialPayment |
Example
Query
mutation orderCollectPartialPayment($input: OrderCollectPartialPaymentInput!) {
orderCollectPartialPayment(input: $input) {
clientMutationId
errors {
field
message
}
orderPaymentStatus {
createdAt
orderId
paymentReferenceId
status
transactionId
updatedAt
}
}
}
Variables
{"input": OrderCollectPartialPaymentInput}
Response
{
"data": {
"orderCollectPartialPayment": {
"clientMutationId": "abc123",
"errors": [DisplayableError],
"orderPaymentStatus": OrderPaymentStatus
}
}
}
orderCollectPayment
Description
Collect payment for an order
Response
Returns an OrderCollectPaymentPayload
Arguments
| Name | Description |
|---|---|
input - OrderCollectPaymentInput!
|
Parameters for OrderCollectPayment |
Example
Query
mutation orderCollectPayment($input: OrderCollectPaymentInput!) {
orderCollectPayment(input: $input) {
clientMutationId
errors {
field
message
}
orderPaymentStatus {
createdAt
orderId
paymentReferenceId
status
transactionId
updatedAt
}
}
}
Variables
{"input": OrderCollectPaymentInput}
Response
{
"data": {
"orderCollectPayment": {
"clientMutationId": "xyz789",
"errors": [DisplayableError],
"orderPaymentStatus": OrderPaymentStatus
}
}
}
orderRemovePaymentMethod
Description
Remove the stored payment method from an order
Response
Returns an OrderRemovePaymentMethodPayload
Arguments
| Name | Description |
|---|---|
input - OrderRemovePaymentMethodInput!
|
Parameters for OrderRemovePaymentMethod |
Example
Query
mutation orderRemovePaymentMethod($input: OrderRemovePaymentMethodInput!) {
orderRemovePaymentMethod(input: $input) {
clientMutationId
errors {
field
message
}
orderId
}
}
Variables
{"input": OrderRemovePaymentMethodInput}
Response
{
"data": {
"orderRemovePaymentMethod": {
"clientMutationId": "xyz789",
"errors": [DisplayableError],
"orderId": "4"
}
}
}
orderUpdateDueDate
Description
Update the payment due date for an order
Response
Returns an OrderUpdateDueDatePayload
Arguments
| Name | Description |
|---|---|
input - OrderUpdateDueDateInput!
|
Parameters for OrderUpdateDueDate |
Example
Query
mutation orderUpdateDueDate($input: OrderUpdateDueDateInput!) {
orderUpdateDueDate(input: $input) {
clientMutationId
errors {
field
message
}
orderId
paymentDueDate
}
}
Variables
{"input": OrderUpdateDueDateInput}
Response
{
"data": {
"orderUpdateDueDate": {
"clientMutationId": "xyz789",
"errors": [DisplayableError],
"orderId": "4",
"paymentDueDate": ISO8601DateTime
}
}
}
orderVoidAuthorization
Description
Void an active authorization from an order
Response
Returns an OrderVoidAuthorizationPayload
Arguments
| Name | Description |
|---|---|
input - OrderVoidAuthorizationInput!
|
Parameters for OrderVoidAuthorization |
Example
Query
mutation orderVoidAuthorization($input: OrderVoidAuthorizationInput!) {
orderVoidAuthorization(input: $input) {
clientMutationId
errors {
field
message
}
orderId
}
}
Variables
{"input": OrderVoidAuthorizationInput}
Response
{
"data": {
"orderVoidAuthorization": {
"clientMutationId": "xyz789",
"errors": [DisplayableError],
"orderId": 4
}
}
}
purchaseOptionGroupAddProductVariants
Description
Add product variants to a purchase option group
Response
Arguments
| Name | Description |
|---|---|
input - PurchaseOptionGroupAddProductVariantsInput!
|
Parameters for PurchaseOptionGroupAddProductVariants |
Example
Query
mutation purchaseOptionGroupAddProductVariants($input: PurchaseOptionGroupAddProductVariantsInput!) {
purchaseOptionGroupAddProductVariants(input: $input) {
clientMutationId
errors {
field
message
}
purchaseOptionGroup {
createdAt
excludedProducts {
...ProductFragment
}
id
lineItemDescriptor
merchantCode
orders {
...OrderConnectionFragment
}
productCount
productVariantCount
products {
...ProductFragment
}
productsRequirePurchaseOption
purchaseOptions {
...PurchaseOptionFragment
}
resourceAssignmentType
tags
variants {
...VariantFragment
}
}
}
}
Variables
{"input": PurchaseOptionGroupAddProductVariantsInput}
Response
{
"data": {
"purchaseOptionGroupAddProductVariants": {
"clientMutationId": "xyz789",
"errors": [DisplayableError],
"purchaseOptionGroup": PurchaseOptionGroup
}
}
}
purchaseOptionGroupAddProducts
Description
Add products to a purchase option group
Response
Returns a PurchaseOptionGroupAddProductsPayload
Arguments
| Name | Description |
|---|---|
input - PurchaseOptionGroupAddProductsInput!
|
Parameters for PurchaseOptionGroupAddProducts |
Example
Query
mutation purchaseOptionGroupAddProducts($input: PurchaseOptionGroupAddProductsInput!) {
purchaseOptionGroupAddProducts(input: $input) {
clientMutationId
errors {
field
message
}
purchaseOptionGroupId
}
}
Variables
{"input": PurchaseOptionGroupAddProductsInput}
Response
{
"data": {
"purchaseOptionGroupAddProducts": {
"clientMutationId": "abc123",
"errors": [DisplayableError],
"purchaseOptionGroupId": "4"
}
}
}
purchaseOptionGroupAddTags
Description
Add tags to a purchase option group
Response
Returns a PurchaseOptionGroupAddTagsPayload
Arguments
| Name | Description |
|---|---|
input - PurchaseOptionGroupAddTagsInput!
|
Parameters for PurchaseOptionGroupAddTags |
Example
Query
mutation purchaseOptionGroupAddTags($input: PurchaseOptionGroupAddTagsInput!) {
purchaseOptionGroupAddTags(input: $input) {
clientMutationId
errors {
field
message
}
purchaseOptionGroupId
}
}
Variables
{"input": PurchaseOptionGroupAddTagsInput}
Response
{
"data": {
"purchaseOptionGroupAddTags": {
"clientMutationId": "abc123",
"errors": [DisplayableError],
"purchaseOptionGroupId": 4
}
}
}
purchaseOptionGroupExcludeProducts
Description
Exclude products from a purchase option group. Used with the CATALOG assignment type.
Response
Arguments
| Name | Description |
|---|---|
input - PurchaseOptionGroupExcludeProductsInput!
|
Parameters for PurchaseOptionGroupExcludeProducts |
Example
Query
mutation purchaseOptionGroupExcludeProducts($input: PurchaseOptionGroupExcludeProductsInput!) {
purchaseOptionGroupExcludeProducts(input: $input) {
clientMutationId
errors {
field
message
}
purchaseOptionGroupId
}
}
Variables
{"input": PurchaseOptionGroupExcludeProductsInput}
Response
{
"data": {
"purchaseOptionGroupExcludeProducts": {
"clientMutationId": "abc123",
"errors": [DisplayableError],
"purchaseOptionGroupId": 4
}
}
}
purchaseOptionGroupReincludeProducts
Description
Reinclude products previously excluded from a purchase option group. Used with the CATALOG assignment type.
Response
Arguments
| Name | Description |
|---|---|
input - PurchaseOptionGroupReincludeProductsInput!
|
Parameters for PurchaseOptionGroupReincludeProducts |
Example
Query
mutation purchaseOptionGroupReincludeProducts($input: PurchaseOptionGroupReincludeProductsInput!) {
purchaseOptionGroupReincludeProducts(input: $input) {
clientMutationId
errors {
field
message
}
purchaseOptionGroupId
}
}
Variables
{"input": PurchaseOptionGroupReincludeProductsInput}
Response
{
"data": {
"purchaseOptionGroupReincludeProducts": {
"clientMutationId": "abc123",
"errors": [DisplayableError],
"purchaseOptionGroupId": 4
}
}
}
purchaseOptionGroupRemoveProductVariants
Description
Remove product variants from a purchase option group
Response
Arguments
| Name | Description |
|---|---|
input - PurchaseOptionGroupRemoveProductVariantsInput!
|
Parameters for PurchaseOptionGroupRemoveProductVariants |
Example
Query
mutation purchaseOptionGroupRemoveProductVariants($input: PurchaseOptionGroupRemoveProductVariantsInput!) {
purchaseOptionGroupRemoveProductVariants(input: $input) {
clientMutationId
errors {
field
message
}
removedProductVariantIds
}
}
Variables
{"input": PurchaseOptionGroupRemoveProductVariantsInput}
Response
{
"data": {
"purchaseOptionGroupRemoveProductVariants": {
"clientMutationId": "abc123",
"errors": [DisplayableError],
"removedProductVariantIds": ["4"]
}
}
}
purchaseOptionGroupRemoveProducts
Description
Remove products from a purchase option group
Response
Returns a PurchaseOptionGroupRemoveProductsPayload
Arguments
| Name | Description |
|---|---|
input - PurchaseOptionGroupRemoveProductsInput!
|
Parameters for PurchaseOptionGroupRemoveProducts |
Example
Query
mutation purchaseOptionGroupRemoveProducts($input: PurchaseOptionGroupRemoveProductsInput!) {
purchaseOptionGroupRemoveProducts(input: $input) {
clientMutationId
errors {
field
message
}
purchaseOptionGroupId
removedProductIds
}
}
Variables
{"input": PurchaseOptionGroupRemoveProductsInput}
Response
{
"data": {
"purchaseOptionGroupRemoveProducts": {
"clientMutationId": "xyz789",
"errors": [DisplayableError],
"purchaseOptionGroupId": "4",
"removedProductIds": ["4"]
}
}
}
purchaseOptionGroupRemoveTags
Description
Remove tags from a purchase option group
Response
Returns a PurchaseOptionGroupRemoveTagsPayload
Arguments
| Name | Description |
|---|---|
input - PurchaseOptionGroupRemoveTagsInput!
|
Parameters for PurchaseOptionGroupRemoveTags |
Example
Query
mutation purchaseOptionGroupRemoveTags($input: PurchaseOptionGroupRemoveTagsInput!) {
purchaseOptionGroupRemoveTags(input: $input) {
clientMutationId
errors {
field
message
}
purchaseOptionGroupId
removedProductTags
}
}
Variables
{"input": PurchaseOptionGroupRemoveTagsInput}
Response
{
"data": {
"purchaseOptionGroupRemoveTags": {
"clientMutationId": "abc123",
"errors": [DisplayableError],
"purchaseOptionGroupId": 4,
"removedProductTags": ["xyz789"]
}
}
}
updatePurchaseOptionGroup
Description
Update a purchase option group
Response
Returns an UpdatePurchaseOptionGroupPayload
Arguments
| Name | Description |
|---|---|
input - UpdatePurchaseOptionGroupInput!
|
Parameters for UpdatePurchaseOptionGroup |
Example
Query
mutation updatePurchaseOptionGroup($input: UpdatePurchaseOptionGroupInput!) {
updatePurchaseOptionGroup(input: $input) {
clientMutationId
errors {
field
message
}
purchaseOptionGroup {
createdAt
excludedProducts {
...ProductFragment
}
id
lineItemDescriptor
merchantCode
orders {
...OrderConnectionFragment
}
productCount
productVariantCount
products {
...ProductFragment
}
productsRequirePurchaseOption
purchaseOptions {
...PurchaseOptionFragment
}
resourceAssignmentType
tags
variants {
...VariantFragment
}
}
}
}
Variables
{"input": UpdatePurchaseOptionGroupInput}
Response
{
"data": {
"updatePurchaseOptionGroup": {
"clientMutationId": "xyz789",
"errors": [DisplayableError],
"purchaseOptionGroup": PurchaseOptionGroup
}
}
}
Types
Boolean
Description
Represents true or false values.
CreatePurchaseOptionGroupInput
Description
Autogenerated input type of CreatePurchaseOptionGroup
Fields
| Input Field | Description |
|---|---|
clientMutationId - String
|
A unique identifier for the client performing the mutation. |
purchaseOptionGroupInput - PurchaseOptionGroupInput!
|
Purchase option group input |
resourceAssignmentType - ResourceAssignment!
|
Determines how resources will be assigned to the purchase option group |
resources - ResourceInput!
|
Resources (products, variants, or tags) to associate with the purchase option group |
Example
{
"clientMutationId": "xyz789",
"purchaseOptionGroupInput": PurchaseOptionGroupInput,
"resourceAssignmentType": "PRODUCTS",
"resources": ResourceInput
}
CreatePurchaseOptionGroupPayload
Description
Autogenerated return type of CreatePurchaseOptionGroup.
Fields
| Field Name | Description |
|---|---|
clientMutationId - String
|
A unique identifier for the client performing the mutation. |
errors - [DisplayableError!]
|
|
purchaseOptionGroup - PurchaseOptionGroup
|
Purchase option group describing the terms of the sale for a product or group of products |
Example
{
"clientMutationId": "abc123",
"errors": [DisplayableError],
"purchaseOptionGroup": PurchaseOptionGroup
}
CurrencyCode
Description
Currency code enum
Values
| Enum Value | Description |
|---|---|
|
|
United States Dollars (USD). |
|
|
Euro (EUR). |
|
|
United Kingdom Pounds (GBP). |
|
|
Canadian Dollars (CAD). |
|
|
Afghan Afghani (AFN). |
|
|
Albanian Lek (ALL). |
|
|
Algerian Dinar (DZD). |
|
|
Angolan Kwanza (AOA). |
|
|
Argentine Pesos (ARS). |
|
|
Armenian Dram (AMD). |
|
|
Aruban Florin (AWG). |
|
|
Australian Dollars (AUD). |
|
|
Barbadian Dollar (BBD). |
|
|
Azerbaijani Manat (AZN). |
|
|
Bangladesh Taka (BDT). |
|
|
Bahamian Dollar (BSD). |
|
|
Bahraini Dinar (BHD). |
|
|
Burundian Franc (BIF). |
|
|
Belize Dollar (BZD). |
|
|
Bermudian Dollar (BMD). |
|
|
Bhutanese Ngultrum (BTN). |
|
|
Bosnia and Herzegovina Convertible Mark (BAM). |
|
|
Brazilian Real (BRL). |
|
|
Bolivian Boliviano (BOB). |
|
|
Botswana Pula (BWP). |
|
|
Brunei Dollar (BND). |
|
|
Bulgarian Lev (BGN). |
|
|
Burmese Kyat (MMK). |
|
|
Cambodian Riel. |
|
|
Cape Verdean escudo (CVE). |
|
|
Cayman Dollars (KYD). |
|
|
Central African CFA Franc (XAF). |
|
|
Chilean Peso (CLP). |
|
|
Chinese Yuan Renminbi (CNY). |
|
|
Colombian Peso (COP). |
|
|
Comorian Franc (KMF). |
|
|
Congolese franc (CDF). |
|
|
Costa Rican Colones (CRC). |
|
|
Croatian Kuna (HRK). |
|
|
Czech Koruny (CZK). |
|
|
Danish Kroner (DKK). |
|
|
Dominican Peso (DOP). |
|
|
East Caribbean Dollar (XCD). |
|
|
Egyptian Pound (EGP). |
|
|
Ethiopian Birr (ETB). |
|
|
CFP Franc (XPF). |
|
|
Fijian Dollars (FJD). |
|
|
Gambian Dalasi (GMD). |
|
|
Ghanaian Cedi (GHS). |
|
|
Guatemalan Quetzal (GTQ). |
|
|
Guyanese Dollar (GYD). |
|
|
Georgian Lari (GEL). |
|
|
Haitian Gourde (HTG). |
|
|
Honduran Lempira (HNL). |
|
|
Hong Kong Dollars (HKD). |
|
|
Hungarian Forint (HUF). |
|
|
Icelandic Kronur (ISK). |
|
|
Indian Rupees (INR). |
|
|
Indonesian Rupiah (IDR). |
|
|
Israeli New Shekel (NIS). |
|
|
Iraqi Dinar (IQD). |
|
|
Jamaican Dollars (JMD). |
|
|
Japanese Yen (JPY). |
|
|
Jersey Pound. |
|
|
Jordanian Dinar (JOD). |
|
|
Kazakhstani Tenge (KZT). |
|
|
Kenyan Shilling (KES). |
|
|
Kuwaiti Dinar (KWD). |
|
|
Kyrgyzstani Som (KGS). |
|
|
Laotian Kip (LAK). |
|
|
Latvian Lati (LVL). |
|
|
Lebanese Pounds (LBP). |
|
|
Lesotho Loti (LSL). |
|
|
Liberian Dollar (LRD). |
|
|
Lithuanian Litai (LTL). |
|
|
Malagasy Ariary (MGA). |
|
|
Macedonia Denar (MKD). |
|
|
Macanese Pataca (MOP). |
|
|
Malawian Kwacha (MWK). |
|
|
Maldivian Rufiyaa (MVR). |
|
|
Mexican Pesos (MXN). |
|
|
Malaysian Ringgits (MYR). |
|
|
Mauritian Rupee (MUR). |
|
|
Moldovan Leu (MDL). |
|
|
Moroccan Dirham. |
|
|
Mongolian Tugrik. |
|
|
Mozambican Metical. |
|
|
Namibian Dollar. |
|
|
Nepalese Rupee (NPR). |
|
|
Netherlands Antillean Guilder. |
|
|
New Zealand Dollars (NZD). |
|
|
Nicaraguan Córdoba (NIO). |
|
|
Nigerian Naira (NGN). |
|
|
Norwegian Kroner (NOK). |
|
|
Omani Rial (OMR). |
|
|
Panamian Balboa (PAB). |
|
|
Pakistani Rupee (PKR). |
|
|
Papua New Guinean Kina (PGK). |
|
|
Paraguayan Guarani (PYG). |
|
|
Peruvian Nuevo Sol (PEN). |
|
|
Philippine Peso (PHP). |
|
|
Polish Zlotych (PLN). |
|
|
Qatari Rial (QAR). |
|
|
Romanian Lei (RON). |
|
|
Russian Rubles (RUB). |
|
|
Rwandan Franc (RWF). |
|
|
Samoan Tala (WST). |
|
|
Saudi Riyal (SAR). |
|
|
Serbian dinar (RSD). |
|
|
Seychellois Rupee (SCR). |
|
|
Singapore Dollars (SGD). |
|
|
Sudanese Pound (SDG). |
|
|
Syrian Pound (SYP). |
|
|
South African Rand (ZAR). |
|
|
South Korean Won (KRW). |
|
|
South Sudanese Pound (SSP). |
|
|
Solomon Islands Dollar (SBD). |
|
|
Sri Lankan Rupees (LKR). |
|
|
Surinamese Dollar (SRD). |
|
|
Swazi Lilangeni (SZL). |
|
|
Swedish Kronor (SEK). |
|
|
Swiss Francs (CHF). |
|
|
Taiwan Dollars (TWD). |
|
|
Thai baht (THB). |
|
|
Tanzanian Shilling (TZS). |
|
|
Trinidad and Tobago Dollars (TTD). |
|
|
Tunisian Dinar (TND). |
|
|
Turkish Lira (TRY). |
|
|
Turkmenistani Manat (TMT). |
|
|
Ugandan Shilling (UGX). |
|
|
Ukrainian Hryvnia (UAH). |
|
|
United Arab Emirates Dirham (AED). |
|
|
Uruguayan Pesos (UYU). |
|
|
Uzbekistan som (UZS). |
|
|
Vanuatu Vatu (VUV). |
|
|
Vietnamese đồng (VND). |
|
|
West African CFA franc (XOF). |
|
|
Yemeni Rial (YER). |
|
|
Zambian Kwacha (ZMW). |
|
|
Belarusian Ruble (BYN). |
|
|
Belarusian Ruble (BYR). BYR is deprecated. Use BYN available from version 2021-01 onwards instead.
|
|
|
Djiboutian Franc (DJF). |
|
|
Eritrean Nakfa (ERN). |
|
|
Falkland Islands Pounds (FKP). |
|
|
Gibraltar Pounds (GIP). |
|
|
Guinean Franc (GNF). |
|
|
Iranian Rial (IRR). |
|
|
Kiribati Dollar (KID). |
|
|
Libyan Dinar (LYD). |
|
|
Mauritanian Ouguiya (MRU). |
|
|
Sierra Leonean Leone (SLL). |
|
|
Saint Helena Pounds (SHP). |
|
|
Somali Shilling (SOS). |
|
|
Sao Tome And Principe Dobra (STD). STD is deprecated. Use STN available from version 2022-07 onwards instead.
|
|
|
Sao Tome And Principe Dobra (STN). |
|
|
Tajikistani Somoni (TJS). |
|
|
Tongan Pa'anga (TOP). |
|
|
Venezuelan Bolivares (VED). |
|
|
Venezuelan Bolivares (VEF). VEF is deprecated. Use VES available from version 2020-10 onwards instead.
|
|
|
Venezuelan Bolivares (VES). |
|
|
Unrecognized currency. |
Example
"USD"
DeletePurchaseOptionGroupInput
DeletePurchaseOptionGroupPayload
Description
Autogenerated return type of DeletePurchaseOptionGroup.
Fields
| Field Name | Description |
|---|---|
clientMutationId - String
|
A unique identifier for the client performing the mutation. |
deletedPurchaseOptionGroupId - ID
|
ID of the deleted purchase option group |
errors - [DisplayableError!]
|
Example
{
"clientMutationId": "abc123",
"deletedPurchaseOptionGroupId": 4,
"errors": [DisplayableError]
}
DisplayableError
Float
Description
Represents signed double-precision fractional values as specified by IEEE 754.
Example
987.65
ID
Description
Represents a unique identifier that is Base64 obfuscated. It is often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "VXNlci0xMA==") or integer (such as 4) input value will be accepted as an ID.
Example
"4"
ISO8601DateTime
Description
An ISO 8601-encoded datetime
Example
ISO8601DateTime
InstalmentInterval
Description
BETA Instalment interval enum
Values
| Enum Value | Description |
|---|---|
|
|
Monthly instalment interval |
Example
"Monthly"
InstalmentPolicy
Description
BETA Defines the number and interval of instalments for an Instalments-type purchase option.
Fields
| Field Name | Description |
|---|---|
instalmentCount - Int!
|
The number of instalments the buyer will be charged. |
instalmentInterval - InstalmentInterval!
|
The time interval between instalments. |
Example
{"instalmentCount": 987, "instalmentInterval": "Monthly"}
InstalmentPolicyInput
Description
BETA Defines the number and interval of instalments.
Example
{
"instalmentCount": 987,
"instalmentInterval": "abc123"
}
Int
Description
Represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
Example
123
MoneyInput
Description
A monetary amount input.
Fields
| Input Field | Description |
|---|---|
amount - String!
|
The monetary amount as a string (e.g., "10.00"). |
Example
{"amount": "abc123"}
Node
Description
An object with an ID.
Fields
| Field Name | Description |
|---|---|
id - ID!
|
ID of the object. |
Example
{"id": 4}
Order
Description
An order placed through Downpay. Represents a Shopify order with deferred or installment payment terms.
Fields
| Field Name | Description |
|---|---|
createdAt - ISO8601DateTime!
|
The date and time when the order was created. |
id - ID!
|
The ID of the order. Same as the Shopify Order ID. |
name - String!
|
The name of the order. Same as the Shopify Order Name. |
updatedAt - ISO8601DateTime!
|
The date and time when the order was last updated. |
Example
{
"createdAt": ISO8601DateTime,
"id": "4",
"name": "xyz789",
"updatedAt": ISO8601DateTime
}
OrderAuthorizePaymentInput
Description
Autogenerated input type of OrderAuthorizePayment
Fields
| Input Field | Description |
|---|---|
clientMutationId - String
|
A unique identifier for the client performing the mutation. |
id - ID!
|
ID of the order to authorize payment for |
amount - MoneyInput
|
(PLUS ONLY) Amount to authorize |
Example
{
"clientMutationId": "abc123",
"id": 4,
"amount": MoneyInput
}
OrderAuthorizePaymentPayload
Description
Autogenerated return type of OrderAuthorizePayment.
Fields
| Field Name | Description |
|---|---|
clientMutationId - String
|
A unique identifier for the client performing the mutation. |
errors - [DisplayableError!]
|
|
orderPaymentStatus - OrderPaymentStatus!
|
The payment status of the order |
Example
{
"clientMutationId": "xyz789",
"errors": [DisplayableError],
"orderPaymentStatus": OrderPaymentStatus
}
OrderCollectInstallmentInput
Description
Autogenerated input type of OrderCollectInstallment
Fields
| Input Field | Description |
|---|---|
clientMutationId - String
|
A unique identifier for the client performing the mutation. |
orderId - ID!
|
ID of the order to collect installment for |
amount - MoneyInput!
|
Amount to collect |
instalmentId - ID!
|
ID of the instalment to collect |
Example
{
"clientMutationId": "abc123",
"orderId": "4",
"amount": MoneyInput,
"instalmentId": 4
}
OrderCollectInstallmentPayload
Description
Autogenerated return type of OrderCollectInstallment.
Fields
| Field Name | Description |
|---|---|
clientMutationId - String
|
A unique identifier for the client performing the mutation. |
errors - [DisplayableError!]
|
|
orderPaymentStatus - OrderPaymentStatus!
|
The payment status of the order |
Example
{
"clientMutationId": "abc123",
"errors": [DisplayableError],
"orderPaymentStatus": OrderPaymentStatus
}
OrderCollectPartialPaymentInput
Description
Autogenerated input type of OrderCollectPartialPayment
Fields
| Input Field | Description |
|---|---|
clientMutationId - String
|
A unique identifier for the client performing the mutation. |
id - ID!
|
ID of the order to collect payment for |
amount - MoneyInput!
|
Amount to collect |
Example
{
"clientMutationId": "abc123",
"id": "4",
"amount": MoneyInput
}
OrderCollectPartialPaymentPayload
Description
Autogenerated return type of OrderCollectPartialPayment.
Fields
| Field Name | Description |
|---|---|
clientMutationId - String
|
A unique identifier for the client performing the mutation. |
errors - [DisplayableError!]
|
|
orderPaymentStatus - OrderPaymentStatus!
|
The payment status of the order |
Example
{
"clientMutationId": "abc123",
"errors": [DisplayableError],
"orderPaymentStatus": OrderPaymentStatus
}
OrderCollectPaymentInput
OrderCollectPaymentPayload
Description
Autogenerated return type of OrderCollectPayment.
Fields
| Field Name | Description |
|---|---|
clientMutationId - String
|
A unique identifier for the client performing the mutation. |
errors - [DisplayableError!]
|
|
orderPaymentStatus - OrderPaymentStatus!
|
The payment status of the order |
Example
{
"clientMutationId": "abc123",
"errors": [DisplayableError],
"orderPaymentStatus": OrderPaymentStatus
}
OrderConnection
Description
The connection type for Order.
Fields
| Field Name | Description |
|---|---|
edges - [OrderEdge]
|
A list of edges. |
nodes - [Order]
|
A list of nodes. |
pageInfo - PageInfo!
|
Information to aid in pagination. |
Example
{
"edges": [OrderEdge],
"nodes": [Order],
"pageInfo": PageInfo
}
OrderEdge
OrderPaymentStatus
Description
The result of a payment collection attempt on an order.
Fields
| Field Name | Description |
|---|---|
createdAt - ISO8601DateTime!
|
The date and time when this payment status record was created. |
orderId - ID!
|
The ID of the order. |
paymentReferenceId - String!
|
The payment provider's reference ID for this transaction. |
status - OrderPaymentStatusStatus!
|
The processing status of the payment transaction. |
transactionId - ID
|
The Shopify transaction GID, if the payment was processed. |
updatedAt - ISO8601DateTime!
|
The date and time when this payment status record was last updated. |
Example
{
"createdAt": ISO8601DateTime,
"orderId": 4,
"paymentReferenceId": "abc123",
"status": "PENDING",
"transactionId": 4,
"updatedAt": ISO8601DateTime
}
OrderPaymentStatusStatus
Description
Order payment status status enum
Values
| Enum Value | Description |
|---|---|
|
|
The payment mandate is pending |
|
|
The payment mandate was successful |
|
|
The payment mandate failed |
Example
"PENDING"
OrderRemovePaymentMethodInput
Description
Autogenerated input type of OrderRemovePaymentMethod
Example
{"clientMutationId": "xyz789", "id": 4}
OrderRemovePaymentMethodPayload
Description
Autogenerated return type of OrderRemovePaymentMethod.
Fields
| Field Name | Description |
|---|---|
clientMutationId - String
|
A unique identifier for the client performing the mutation. |
errors - [DisplayableError!]
|
|
orderId - ID
|
Example
{
"clientMutationId": "abc123",
"errors": [DisplayableError],
"orderId": "4"
}
OrderUpdateDueDateInput
Description
Autogenerated input type of OrderUpdateDueDate
Fields
| Input Field | Description |
|---|---|
clientMutationId - String
|
A unique identifier for the client performing the mutation. |
id - ID!
|
ID of the order for which to update the payment due date |
date - ISO8601DateTime!
|
The new order due date |
Example
{
"clientMutationId": "xyz789",
"id": 4,
"date": ISO8601DateTime
}
OrderUpdateDueDatePayload
Description
Autogenerated return type of OrderUpdateDueDate.
Fields
| Field Name | Description |
|---|---|
clientMutationId - String
|
A unique identifier for the client performing the mutation. |
errors - [DisplayableError!]
|
|
orderId - ID
|
|
paymentDueDate - ISO8601DateTime
|
Example
{
"clientMutationId": "xyz789",
"errors": [DisplayableError],
"orderId": "4",
"paymentDueDate": ISO8601DateTime
}
OrderVoidAuthorizationInput
OrderVoidAuthorizationPayload
Description
Autogenerated return type of OrderVoidAuthorization.
Fields
| Field Name | Description |
|---|---|
clientMutationId - String
|
A unique identifier for the client performing the mutation. |
errors - [DisplayableError!]
|
|
orderId - ID
|
Example
{
"clientMutationId": "xyz789",
"errors": [DisplayableError],
"orderId": "4"
}
PageInfo
Description
Information about pagination in a connection.
Fields
| Field Name | Description |
|---|---|
endCursor - String
|
When paginating forwards, the cursor to continue. |
hasNextPage - Boolean!
|
When paginating forwards, are there more items? |
hasPreviousPage - Boolean!
|
When paginating backwards, are there more items? |
startCursor - String
|
When paginating backwards, the cursor to continue. |
Example
{
"endCursor": "abc123",
"hasNextPage": true,
"hasPreviousPage": true,
"startCursor": "abc123"
}
Percentage
Description
A percentage value used as a checkout charge.
Fields
| Field Name | Description |
|---|---|
percentage - Float!
|
The percentage value (e.g., 20.0 for 20%). |
Example
{"percentage": 987.65}
Price
Description
A fixed monetary amount used as a checkout charge.
Fields
| Field Name | Description |
|---|---|
amount - String!
|
The monetary amount as a string (e.g., "10.00"). |
currencyCode - CurrencyCode!
|
The ISO 4217 currency code for the amount. |
Example
{"amount": "abc123", "currencyCode": "USD"}
Product
Description
A Shopify product associated with a purchase option group.
Example
{
"id": 4,
"imageUrl": "abc123",
"status": "abc123",
"title": "xyz789"
}
PurchaseOption
Description
A purchase option represents a specific payment plan (e.g., a 20% deposit with the remainder due on fulfillment). Corresponds to a Shopify Selling Plan.
Fields
| Field Name | Description |
|---|---|
billingPolicy - PurchaseOptionBillingPolicy!
|
The billing policy defining the deposit amount and when the remaining balance is collected. |
description - String!
|
A human-readable description of the payment terms shown to buyers. |
id - ID!
|
The unique ID of the purchase option. |
instalmentPolicy - InstalmentPolicy
|
BETA The instalment configuration. Present only when the type is Instalments. |
purchaseOptionType - PurchaseOptionType!
|
The type of purchase option (SimpleDeposit, Backorder, or Instalments). |
Example
{
"billingPolicy": PurchaseOptionBillingPolicy,
"description": "xyz789",
"id": "4",
"instalmentPolicy": InstalmentPolicy,
"purchaseOptionType": "SimpleDeposit"
}
PurchaseOptionBillingPolicy
Description
Defines when and how much the buyer is charged at checkout and when the remaining balance is collected.
Fields
| Field Name | Description |
|---|---|
checkoutCharge - PurchaseOptionCheckoutCharge!
|
The deposit amount charged to the buyer at checkout. |
remainingBalanceChargeExactTime - ISO8601DateTime
|
The exact date and time when the remaining balance will be charged. Populated when the trigger is ExactTime. |
remainingBalanceChargeTimeAfterCheckout - String
|
ISO 8601 duration string specifying how long after checkout the remaining balance is charged (e.g., P30D). Populated when the trigger is TimeAfterCheckout. |
remainingBalanceChargeTrigger - PurchaseOptionRemainingBalanceChargeTrigger!
|
When the remaining balance will be collected from the buyer. |
Example
{
"checkoutCharge": PurchaseOptionCheckoutCharge,
"remainingBalanceChargeExactTime": ISO8601DateTime,
"remainingBalanceChargeTimeAfterCheckout": "abc123",
"remainingBalanceChargeTrigger": "ExactTime"
}
PurchaseOptionBillingPolicyInput
Description
Defines the deposit amount at checkout and when the remaining balance is charged.
Fields
| Input Field | Description |
|---|---|
checkoutCharge - PurchaseOptionCheckoutChargeInput!
|
The deposit amount charged at checkout. |
remainingBalanceChargeExactTime - ISO8601DateTime
|
The exact date and time when the remaining balance will be charged. Required when trigger is ExactTime. |
remainingBalanceChargeTimeAfterCheckout - String
|
ISO 8601 duration string for how long after checkout the remaining balance is charged (e.g., P30D). Required when trigger is TimeAfterCheckout. |
remainingBalanceChargeTrigger - PurchaseOptionRemainingBalanceChargeTrigger
|
When the remaining balance will be collected from the buyer. |
Example
{
"checkoutCharge": PurchaseOptionCheckoutChargeInput,
"remainingBalanceChargeExactTime": ISO8601DateTime,
"remainingBalanceChargeTimeAfterCheckout": "xyz789",
"remainingBalanceChargeTrigger": "ExactTime"
}
PurchaseOptionCheckoutCharge
Description
The deposit charged to the buyer at checkout.
Fields
| Field Name | Description |
|---|---|
type - PurchaseOptionCheckoutChargeType!
|
Whether the deposit is a fixed price or a percentage of the product price. |
value - PurchaseOptionCheckoutChargeValue!
|
The deposit amount, either as a fixed price or a percentage. |
Example
{"type": "PERCENTAGE", "value": Percentage}
PurchaseOptionCheckoutChargeInput
Description
The deposit amount and type charged at checkout.
Fields
| Input Field | Description |
|---|---|
type - PurchaseOptionCheckoutChargeType!
|
Whether the deposit is a percentage of the product price or a fixed amount. |
value - PurchaseOptionCheckoutChargeValueInput!
|
The deposit value — a percentage or a fixed monetary amount. |
Example
{
"type": "PERCENTAGE",
"value": PurchaseOptionCheckoutChargeValueInput
}
PurchaseOptionCheckoutChargeType
Description
Purchase option checkout charge enum
Values
| Enum Value | Description |
|---|---|
|
|
The checkout charge is a percentage of the product or variant price. |
|
|
The checkout charge is a fixed price amount. |
Example
"PERCENTAGE"
PurchaseOptionCheckoutChargeValue
Description
The portion of the price to be charged at checkout.
Types
| Union Types |
|---|
Example
Percentage
PurchaseOptionCheckoutChargeValueInput
Description
The value of the checkout charge, specified as either a fixed price or a percentage. Provide exactly one of the two fields.
Example
{
"fixedValue": "abc123",
"percentage": 123.45
}
PurchaseOptionGroup
Description
A purchase option group defines the deposit and payment terms available for a set of products. Corresponds to a Shopify Selling Plan Group.
Fields
| Field Name | Description |
|---|---|
createdAt - ISO8601DateTime!
|
The date and time when this purchase option group was created. |
excludedProducts - [Product!]!
|
Products explicitly excluded from this group. Used with the CATALOG assignment type. |
id - ID!
|
The unique ID of the purchase option group. |
lineItemDescriptor - String!
|
The description of the purchase option group that will be displayed to the customer in the cart and checkout. |
merchantCode - String!
|
The merchant-facing code for the purchase option group. |
orders - OrderConnection!
|
A paginated list of Downpay orders associated with this purchase option group. |
productCount - Int!
|
The total number of products assigned to this purchase option group. |
productVariantCount - Int!
|
The total number of product variants assigned to this purchase option group. |
products - [Product!]!
|
The products in the purchase option group. Note that this only returns the first 250 products in the group. |
productsRequirePurchaseOption - Boolean!
|
Whether or not products in the purchase option group require a purchase option to be purchased. |
purchaseOptions - [PurchaseOption!]!
|
The list of purchase options (payment plans) within this group. |
resourceAssignmentType - ResourceAssignment!
|
How resources are assigned to this group (by products, variants, tags, or full catalog). |
tags - [String!]!
|
The product tags used to automatically assign products to this group. Used with the TAGS assignment type. |
variants - [Variant!]!
|
The product variants assigned to this purchase option group. |
Example
{
"createdAt": ISO8601DateTime,
"excludedProducts": [Product],
"id": "4",
"lineItemDescriptor": "xyz789",
"merchantCode": "abc123",
"orders": OrderConnection,
"productCount": 123,
"productVariantCount": 987,
"products": [Product],
"productsRequirePurchaseOption": true,
"purchaseOptions": [PurchaseOption],
"resourceAssignmentType": "PRODUCTS",
"tags": ["abc123"],
"variants": [Variant]
}
PurchaseOptionGroupAddProductVariantsInput
Description
Autogenerated input type of PurchaseOptionGroupAddProductVariants
Example
{
"clientMutationId": "xyz789",
"id": 4,
"productVariantIds": [4]
}
PurchaseOptionGroupAddProductVariantsPayload
Description
Autogenerated return type of PurchaseOptionGroupAddProductVariants.
Fields
| Field Name | Description |
|---|---|
clientMutationId - String
|
A unique identifier for the client performing the mutation. |
errors - [DisplayableError!]
|
|
purchaseOptionGroup - PurchaseOptionGroup
|
Purchase option group describing the terms of the sale for a product or gruop of products |
Example
{
"clientMutationId": "xyz789",
"errors": [DisplayableError],
"purchaseOptionGroup": PurchaseOptionGroup
}
PurchaseOptionGroupAddProductsInput
Description
Autogenerated input type of PurchaseOptionGroupAddProducts
Example
{
"clientMutationId": "abc123",
"id": "4",
"productIds": [4]
}
PurchaseOptionGroupAddProductsPayload
Description
Autogenerated return type of PurchaseOptionGroupAddProducts.
Fields
| Field Name | Description |
|---|---|
clientMutationId - String
|
A unique identifier for the client performing the mutation. |
errors - [DisplayableError!]
|
|
purchaseOptionGroupId - ID
|
ID of the purchase option group |
Example
{
"clientMutationId": "xyz789",
"errors": [DisplayableError],
"purchaseOptionGroupId": 4
}
PurchaseOptionGroupAddTagsInput
Description
Autogenerated input type of PurchaseOptionGroupAddTags
Fields
| Input Field | Description |
|---|---|
clientMutationId - String
|
A unique identifier for the client performing the mutation. |
id - ID!
|
ID of the purchase option group to add products with specified tags to |
productTags - [String!]!
|
List of product tags to add to the purchase option group |
Example
{
"clientMutationId": "abc123",
"id": "4",
"productTags": ["abc123"]
}
PurchaseOptionGroupAddTagsPayload
Description
Autogenerated return type of PurchaseOptionGroupAddTags.
Fields
| Field Name | Description |
|---|---|
clientMutationId - String
|
A unique identifier for the client performing the mutation. |
errors - [DisplayableError!]
|
|
purchaseOptionGroupId - ID
|
ID of the purchase option group |
Example
{
"clientMutationId": "xyz789",
"errors": [DisplayableError],
"purchaseOptionGroupId": "4"
}
PurchaseOptionGroupConnection
Description
The connection type for PurchaseOptionGroup.
Fields
| Field Name | Description |
|---|---|
edges - [PurchaseOptionGroupEdge]
|
A list of edges. |
nodes - [PurchaseOptionGroup]
|
A list of nodes. |
pageInfo - PageInfo!
|
Information to aid in pagination. |
Example
{
"edges": [PurchaseOptionGroupEdge],
"nodes": [PurchaseOptionGroup],
"pageInfo": PageInfo
}
PurchaseOptionGroupEdge
Description
An edge in a connection.
Fields
| Field Name | Description |
|---|---|
cursor - String!
|
A cursor for use in pagination. |
node - PurchaseOptionGroup
|
The item at the end of the edge. |
Example
{
"cursor": "abc123",
"node": PurchaseOptionGroup
}
PurchaseOptionGroupExcludeProductsInput
Description
Autogenerated input type of PurchaseOptionGroupExcludeProducts
Example
{
"clientMutationId": "abc123",
"id": "4",
"productIds": ["4"]
}
PurchaseOptionGroupExcludeProductsPayload
Description
Autogenerated return type of PurchaseOptionGroupExcludeProducts.
Fields
| Field Name | Description |
|---|---|
clientMutationId - String
|
A unique identifier for the client performing the mutation. |
errors - [DisplayableError!]
|
|
purchaseOptionGroupId - ID
|
ID of the purchase option group |
Example
{
"clientMutationId": "abc123",
"errors": [DisplayableError],
"purchaseOptionGroupId": "4"
}
PurchaseOptionGroupInput
Description
Input for creating or updating a purchase option group.
Fields
| Input Field | Description |
|---|---|
id - ID
|
The ID of the purchase option group to update. Required for updates, omit for creates. |
merchantCode - String
|
A unique internal identifier for this group, visible in the Shopify admin. |
lineItemDescriptor - String
|
The name displayed to customers in the cart and checkout (e.g., 'Pre-order'). |
productsRequirePurchaseOption - Boolean
|
When true, products in this group can only be purchased via a purchase option (pay-in-full is not available). |
purchaseOptionsToCreate - [PurchaseOptionInput!]
|
Purchase options to create within this group. |
purchaseOptionsToUpdate - [PurchaseOptionInput!]
|
Purchase options to update within this group. Each entry must include an ID. |
purchaseOptionsToDelete - [ID!]
|
IDs of purchase options to delete from this group. |
Example
{
"id": "4",
"merchantCode": "xyz789",
"lineItemDescriptor": "xyz789",
"productsRequirePurchaseOption": false,
"purchaseOptionsToCreate": [PurchaseOptionInput],
"purchaseOptionsToUpdate": [PurchaseOptionInput],
"purchaseOptionsToDelete": [4]
}
PurchaseOptionGroupReincludeProductsInput
Description
Autogenerated input type of PurchaseOptionGroupReincludeProducts
Example
{
"clientMutationId": "xyz789",
"id": 4,
"productIds": ["4"]
}
PurchaseOptionGroupReincludeProductsPayload
Description
Autogenerated return type of PurchaseOptionGroupReincludeProducts.
Fields
| Field Name | Description |
|---|---|
clientMutationId - String
|
A unique identifier for the client performing the mutation. |
errors - [DisplayableError!]
|
|
purchaseOptionGroupId - ID
|
ID of the purchase option group |
Example
{
"clientMutationId": "abc123",
"errors": [DisplayableError],
"purchaseOptionGroupId": "4"
}
PurchaseOptionGroupRemoveProductVariantsInput
Description
Autogenerated input type of PurchaseOptionGroupRemoveProductVariants
Example
{
"clientMutationId": "abc123",
"id": "4",
"productVariantIds": [4]
}
PurchaseOptionGroupRemoveProductVariantsPayload
Description
Autogenerated return type of PurchaseOptionGroupRemoveProductVariants.
Fields
| Field Name | Description |
|---|---|
clientMutationId - String
|
A unique identifier for the client performing the mutation. |
errors - [DisplayableError!]
|
|
removedProductVariantIds - [ID!]
|
IDs of the product variants that were removed from the purchase option group |
Example
{
"clientMutationId": "abc123",
"errors": [DisplayableError],
"removedProductVariantIds": [4]
}
PurchaseOptionGroupRemoveProductsInput
Description
Autogenerated input type of PurchaseOptionGroupRemoveProducts
Example
{
"clientMutationId": "abc123",
"id": "4",
"productIds": [4]
}
PurchaseOptionGroupRemoveProductsPayload
Description
Autogenerated return type of PurchaseOptionGroupRemoveProducts.
Fields
| Field Name | Description |
|---|---|
clientMutationId - String
|
A unique identifier for the client performing the mutation. |
errors - [DisplayableError!]
|
|
purchaseOptionGroupId - ID
|
ID of the purchase option group |
removedProductIds - [ID!]
|
IDs of the products that were removed from the purchase option group |
Example
{
"clientMutationId": "abc123",
"errors": [DisplayableError],
"purchaseOptionGroupId": "4",
"removedProductIds": [4]
}
PurchaseOptionGroupRemoveTagsInput
Description
Autogenerated input type of PurchaseOptionGroupRemoveTags
Fields
| Input Field | Description |
|---|---|
clientMutationId - String
|
A unique identifier for the client performing the mutation. |
id - ID!
|
ID of the purchase option group to remove products with the associated tags from |
productTags - [String!]!
|
List of product tags to remove from the purchase option group |
Example
{
"clientMutationId": "abc123",
"id": "4",
"productTags": ["abc123"]
}
PurchaseOptionGroupRemoveTagsPayload
Description
Autogenerated return type of PurchaseOptionGroupRemoveTags.
Fields
| Field Name | Description |
|---|---|
clientMutationId - String
|
A unique identifier for the client performing the mutation. |
errors - [DisplayableError!]
|
|
purchaseOptionGroupId - ID
|
ID of the purchase option group |
removedProductTags - [String!]
|
List of products tags that were removed from the purchase option group |
Example
{
"clientMutationId": "abc123",
"errors": [DisplayableError],
"purchaseOptionGroupId": "4",
"removedProductTags": ["abc123"]
}
PurchaseOptionInput
Description
Input for creating or updating a purchase option (payment plan).
Fields
| Input Field | Description |
|---|---|
id - ID
|
The ID of the purchase option to update. Required when updating an existing option. |
description - String
|
A description of the payment terms shown to buyers. |
billingPolicy - PurchaseOptionBillingPolicyInput
|
The deposit amount and remaining balance collection timing. |
purchaseOptionType - PurchaseOptionType
|
The type of purchase option (SimpleDeposit, Backorder, or Instalments). |
instalmentPolicy - InstalmentPolicyInput
|
BETA The instalment configuration. Required when purchase_option_type is Instalments. |
Example
{
"id": 4,
"description": "abc123",
"billingPolicy": PurchaseOptionBillingPolicyInput,
"purchaseOptionType": "SimpleDeposit",
"instalmentPolicy": InstalmentPolicyInput
}
PurchaseOptionRemainingBalanceChargeTrigger
Description
Purchase option remaining balance charge trigger enum
Values
| Enum Value | Description |
|---|---|
|
|
At an exact time defined by the remaining_balance_charge_exact_time field. |
|
|
When there's no remaining balance to be charged after checkout. |
|
|
After the duration defined by the remaining_balance_charge_time_after_checkout field. |
|
|
When the order is fulfilled. |
Example
"ExactTime"
PurchaseOptionType
Description
The type of the Downpay Purchase Option
Values
| Enum Value | Description |
|---|---|
|
|
Deposit payable at checkout, with the remainder due at a later date. |
|
|
Deposit option available only when a variant is out of stock. Otherwise Pay in Full is available only. |
|
|
BETA Payment in instalments, with the remainder due at a later date. |
Example
"SimpleDeposit"
ResourceAssignment
Values
| Enum Value | Description |
|---|---|
|
|
Products will be manually assigned to the purchase option group |
|
|
Variants will be manually assigned to the purchase option group |
|
|
Products with the specified tags will be automatically assigned to the purchase option group |
|
|
Entire product catalog will be automatically assigned to the purchase option group |
Example
"PRODUCTS"
ResourceInput
Description
Specifies which products, variants, or tags to assign to a purchase option group.
Fields
| Input Field | Description |
|---|---|
productIds - [ID!]
|
Shopify product IDs to assign to the group. Used with the PRODUCTS assignment type. |
productVariantIds - [ID!]
|
Shopify product variant IDs to assign to the group. Used with the VARIANTS assignment type. |
productTags - [String!]
|
Product tags for automatic product assignment. Used with the TAGS assignment type. |
productIdsToExclude - [ID!]
|
Shopify product IDs to exclude from the group. Used with the CATALOG assignment type. |
Example
{
"productIds": ["4"],
"productVariantIds": [4],
"productTags": ["abc123"],
"productIdsToExclude": ["4"]
}
String
Description
Represents textual data as UTF-8 character sequences. This type is most often used by GraphQL to represent free-form human-readable text.
Example
"abc123"
UpdatePurchaseOptionGroupInput
Description
Autogenerated input type of UpdatePurchaseOptionGroup
Fields
| Input Field | Description |
|---|---|
clientMutationId - String
|
A unique identifier for the client performing the mutation. |
purchaseOptionGroupInput - PurchaseOptionGroupInput!
|
Input for the purchase option group to update |
Example
{
"clientMutationId": "abc123",
"purchaseOptionGroupInput": PurchaseOptionGroupInput
}
UpdatePurchaseOptionGroupPayload
Description
Autogenerated return type of UpdatePurchaseOptionGroup.
Fields
| Field Name | Description |
|---|---|
clientMutationId - String
|
A unique identifier for the client performing the mutation. |
errors - [DisplayableError!]
|
|
purchaseOptionGroup - PurchaseOptionGroup
|
The updated purchase option group |
Example
{
"clientMutationId": "abc123",
"errors": [DisplayableError],
"purchaseOptionGroup": PurchaseOptionGroup
}
Variant
Fields
| Field Name | Description |
|---|---|
id - ID!
|
The ID of the variant. Same as the Shopify Variant ID. |
imageUrl - String
|
The image URL of the variant. |
productId - ID!
|
The ID of the product that the variant belongs to. |
productTitle - String!
|
The title of the product that the variant belongs to. |
title - String!
|
The title of the variant. |
Example
{
"id": 4,
"imageUrl": "abc123",
"productId": 4,
"productTitle": "abc123",
"title": "abc123"
}