Configure an invoice payment gateway for scheduled orders

Because scheduled orders are submitted automatically at a future time, they must be paid for using either a stored credit card or by sending an invoice to the shopper.

For information about paying for scheduled orders using a stored credit card, see Support stored credit cards. If, instead, you want to send invoices to shoppers for scheduled orders, you can set up an invoice payment gateway, as described in Integrate with an Invoice Payment Gateway. In addition to those instructions, you must add the enabledForScheduledOrder property to the config.json file for the gateway. An example of a config.json file with the enabledForScheduledOrder property is provided below.

{
  "configType": "payment",
  "titleResourceId": "title",
  "descriptionResourceId": "description",
  "instances" : [
    {
      "id": "agent",
      "instanceName": "agent",
      "labelResourceId": "agentInstanceLabel"
    },
    {
      "id": "preview",
      "instanceName": "preview",
      "labelResourceId": "previewInstanceLabel"
    },
    {
      "id": "storefront",
      "instanceName": "storefront",
      "labelResourceId": "storefrontInstanceLabel"
    }
  ],
  "properties": [
  {
      "id": "enabledForScheduledOrder",
      "type": "booleanType",
      "name": "enabledForScheduledOrder",
      "helpTextResourceId": "enabledForScheduledOrderHelpText",
      "labelResourceId": "enabledForScheduledOrderLabel",
      "defaultValue": true,
      "public" : true
  },

  {
      "id": "paymentMethodTypes",
      "type": "multiSelectOptionType",
      "name": "paymentMethodTypes",
      "required": true,
      "helpTextResourceId": "paymentMethodsHelpText",
      "labelResourceId": "paymentMethodsLabel",
      "defaultValue": "invoice",
      "displayAsCheckboxes": true,
      "options": [
         {
           "id": "invoice",
           "value": "invoice",
           "labelResourceId": "invoiceLabel"
         },
         {
           "id": "card",
           "value": "card",
           "labelResourceId": "cardLabel"
         }
       ]
    }
  ]
}