DEVELOPER

Recurring Billing API Specification

Version 1.0

Recurring Billing API

create and manage subscriptions

North Developer's Recurring Billing API enables you to add recurring payments to your ecommerce website. Whether you need to accept payments each week, every other week, or each month, this API enables you to set the recurring period that works for your business. The subscription will generate a new bill for every cycle and automatically charge the payment method on the due date. A bill can be manually paid using the /PayBill endpoint prior to or past the due Date if the automatic payment failed. The One-Time Payment endpoint can also be used to accept payments that are independent from a subscription.

Create Subscription

post /subscription

Create a weekly, biweekly, or monthly subscription with a fixed payment amount. If the frequency is set to Monthly, the BillingDate will determine which day of the month the subsequent charges will occur. Weekly and biweekly charges will occur on the same day of the week as the initial payment

Parameters
EPI-Id required
string
Example:
1111-222222-3-4

Loading...

EPI-Signature required
string

Loading...

Request Schema
CustomerData required
object

Loading...

PaymentMethod required
object

Loading...

SubscriptionData required
object

Loading...

Example Request
{
  "CustomerData": {
    "FirstName": "Joe",
    "LastName": "Doe",
    "Phone": "1234567890",
    "Email": "example@email.com"
  },
  "PaymentMethod": {
    "CreditCardData": {
      "AccountNumber": "1111111111111111",
      "ExpirationDate": "2201",
      "CVV": "123",
      "FirstName": "Joe",
      "LastName": "Doe",
      "PostalCode": "12345",
      "StreetAddress": "123 Ruby Road"
    },
    "BankAccountData": {
      "AccountNumber": "12345678",
      "RoutingNumber": "123456789",
      "FirstName": "Joe",
      "LastName": "Doe",
      "BankAccountType": "Checking"
    },
    "PreviousPayment": {
      "BRIC": "00AAAAAAA0A00AAA00A",
      "PaymentType": "CreditCard"
    }
  },
  "SubscriptionData": {
    "Amount": 10.99,
    "Frequency": "Monthly",
    "BillingDate": "2022-01-31",
    "FailureOption": "Forward",
    "NumberOfPayments": 3,
    "Retries": 1,
    "Description": "Joe's Monthly donation"
  }
}
Example Response
200 Success response
400 Invalid Request

Update Subscription

put /subscription

Update data related to a subscription.

Parameters
EPI-Id required
string
Example:
1111-222222-3-4

Loading...

EPI-Signature required
string

Loading...

Request Schema
SubscriptionID
integer
Example:
1

Loading...

SubscriptionData
object

Loading...

Example Request
{
  "SubscriptionID": 1,
  "SubscriptionData": {
    "Amount": 10.99,
    "Frequency": "Monthly",
    "FailureOption": "Forward",
    "NumberOfPayments": 3,
    "Retries": 1,
    "Description": "Joe's Monthly donation"
  }
}
Example Response
200 Success response

Pay Subscription Bill

post /paybill

Manually pay a bill that's part of a subscription prior to the due date or past the due date if the automatic payment fails. Using this endpoint to pay a bill will count toward a subscription payment.

Parameters
EPI-Id required
string
Example:
1111-222222-3-4

Loading...

EPI-Signature required
string

Loading...

Request Schema
BillID required
number
Example:
123

Loading...

Example Request
{
  "BillID": 123
}
Example Response
200 Success response

One-Time Payment

post /chargepaymentmethod

Manually process a single transaction independently from a subscription. Using this endpoint will not count toward a subscription payment.

Parameters
EPI-Id required
string
Example:
1111-222222-3-4

Loading...

EPI-Signature required
string

Loading...

Request Schema
PaymentMethodID required
number

Loading...

Amount required
number
Example:
10.99

Loading...

Example Request
{
  "PaymentMethodID": "number",
  "Amount": 10.99
}
Example Response
200 Success response

Cancel Subscription

post /subscription/cancel

Cancel a subscription indefinitely. There is no option to restore a canceled subscription. When a subscription is canceled, no more bills will be generated even if the cancellation happens in the middle of a cycle. If you would like to charge one final bill or prorate the amount of the final bill, the One-Time Payment endpoint may be used to process a standalone payment.

Parameters
EPI-Id required
string
Example:
1111-222222-3-4

Loading...

EPI-Signature required
string

Loading...

Request Schema
SubscriptionID required
integer
Example:
1

Loading...

Example Request
{
  "SubscriptionID": 1
}
Example Response
200 Success response

Lookup Subscription

post /subscription/list

Retrieve subscription data including all bills using the Subscription ID.

Parameters
EPI-Id required
string
Example:
1111-222222-3-4

Loading...

EPI-Signature required
string

Loading...

Request Schema
SubscriptionID required
integer
Example:
1

Loading...

Example Request
{
  "SubscriptionID": 1
}
Example Response
200 Success response

Pause/Resume Subscription

post /subscription/pause

Either pause an active subscription by passing the boolean value true in the Paused field, which prevents any new payments from being charged, or resume a subscription by passing the boolean value false in the Paused field and recalculate the billing date for the end of the next cycle. When a subscription is paused, no new charges will occur until the subscription is resumed. The amount of the next payment after the subscription resumes will not be changed.

Parameters
EPI-Id required
string
Example:
1111-222222-3-4

Loading...

EPI-Signature required
string

Loading...

Request Schema
SubscriptionID required
integer
Example:
1

Loading...

Paused required
boolean

Loading...

Example Request
{
  "SubscriptionID": 1,
  "Paused": "boolean"
}
Example Response
200 Success response
©2025 North is a registered DBA of NorthAB, LLC. All rights reserved. North is a registered ISO of BMO Harris Bank N.A., Chicago, IL, Citizens Bank N.A., Providence, RI, The Bancorp Bank, Philadelphia, PA, FFB Bank, Fresno, CA, Wells Fargo Bank, N.A., Concord, CA, and PNC Bank, N.A.