Tithe.ly

The Tithe.ly Developer Hub

Welcome to the Tithe.ly developer hub. You'll find comprehensive guides and documentation to help you start working with Tithe.ly as quickly as possible, as well as support if you get stuck. Let's jump right in!

Get Started    

Requesting Access

 

Welcome to the Tithe.ly API! First things first, we want to mention that access to our API is available by request. The only current requirement is that you have a church or organization that is using Tithe.ly or is moving to Tithe.ly. Just drop us an email (using the link below or by emailing support@tithe.ly) and tell us what you're aiming to build.

Note

Once you request access, we'll email you a link to generate your public and private API keys.

Setup & Testing

 

Use of the API requires both a Tithe.ly test AND live account. If your church or organization already exists on Tithe.ly, you will NOT need to create another live account. However, you will need to create a test account.

Test Endpoint Info

API Test Endpoint

Test Public Key

Provided on access

Test Secret Key

Provided on access

Test Data

Use these values for testing with the API.

Data Type
Value

Visa Credit Card

4242424242424242
Any 3 digit CVC
Expiration date must be in the future

American Express

378282246310005
Any 4 digit CVC
Expiration date must be in the future

US / CAD Bank Account Number

000123456789

AU Bank Account Number

000123456

US Routing Number

110000000

SSN / EIN / Tax ID

000000000

Tokenization with Tithely.js (V2)

 

Changes

Credit card entry is now handled via a flexible iframe to keep everyone adhering to the simplest form of PCI compliance. Bank account tokenization works the same way with a slightly different callback return.

In order to charge a card or bank account, the information must be tokenized using Tithely.js. This allows you to make donations to organizations without having the information touch your servers.

Include tithely.js

Make sure to use the right path for testing vs. when going live.

<!-- Testing -->
<script src="https://tithelydev.com/api-js/v2/tithely.js"></script>

<!-- Go Live -->
<script src="https://tithe.ly/api-js/v2/tithely.js"></script>

Note

For testing, you may use http or https for Tithely.js. The live url requires https.

Create the tithely object

Use javascript to create a tithely object using your public key.

// Create the tithely object (passing your public key)
var tithely = new Tithely('pub_xxxxxxxx');

Warning

Never show your private key in javascript or HTML. Only use your public key.

Tokenize a card (using card entry form)

Tokenization with credit / debit cards works different than version 1 of Tithely.js. Instead of creating the form elements on the page (card number, CVV, exp date, etc), the form will be generated for you in an iframe. This allows you to keep to the simplest form of PCI compliance.

First, you'll specify a div to place your card entry form.

<div id="card-entry-form">
<!-- Iframed card entry form will be generated here -->
</div>

Next, you'll call the createCardEntry() method to generate the card entry form within the specified div and pass in any styles for the form elements.

// Style fields inside the form
var form_style = {
  base: {
    color: '#32325d',
    fontFamily: '"Helvetica Neue", Helvetica, sans-serif',
    fontSmoothing: 'antialiased',
    fontSize: '16px',
    '::placeholder': {
      color: '#aab7c4'
    }
  },
  invalid: {
    color: '#fa755a',
    iconColor: '#fa755a'
  }
};

// Create our card entry form in the specified div (using the div's ID attribute)
tithely.createCardEntry('#card-entry-form', form_style);

Once the user has entered their card information (and whatever else you collect on the form), you'll call createCardToken method. Typically you'll want to call this on a submit or click event. You'll be able to grab your token (and other information) using a specified callback function.

// Form submit example using jQuery
$('#some-form-id').submit(function() {
  // Specify your callback function to retrieve the card token, etc
  tithely.createCardToken(tithelyTokenCallback);
});

// Callback function to grab your token and any other info needed from the card
function tithelyTokenCallback(response) {
  if (response.error) {
    // Error handling here
    console.warn(response.error.message);
  }
  else {
    // Get the token
    var token = response.token.id;
    console.log(response);
    // What's next?
    // Add this token to your form as a hidden field (or use ajax to send it)
    // On the server side, attach the token to a user using the API (server side) - see documentation for /api/v1/payment-methods
    // This will allow you to charge this card going forward
    // Or just charge a user once (keep in mind tokens will expire in a few minutes) - see documentation for /api/v1/charge-once
  }
}

Interacting with card entry

You can interact with your card entry form using several methods and events. See some examples below.

// Update the styles and / or move to a new wrapper
tithely.updateCardEntry('#new-card-entry-form', form_style);

// Remove a card entry field
// Keep in mind that once destroyed, it is gone
tithely.destroyCardEntry();

// Clear card entry form fields
tithely.clearCardEntry();

// Detect a change in card entry
tithely.onCardEntryChange(tithelyCardChangeCallback);

// Callback function to detect changes to card info as it's being entered
function tithelyCardChangeCallback(event) {
  // Grab card brand with event.brand (amex, visa, discover, mastercard or null)
  // Grab form completeness with event.complete (true or false)
  console.log(event);
  // See the console for more options
}

Styling card entry

We recommend styling your wrapping div, but you can also style form elements within the iframe by passing in the style object when creating your form.

Customize appearance using CSS properties. Style is specified as an object for any of the variants below.

  • base, base style—all other variants inherit from this style
  • complete, applied when the Element has valid input
  • empty, applied when the Element has no customer input
  • invalid, applied when the Element has invalid input

For each of the above, the properties below can be customized.

  • color
  • fontFamily
  • fontSize
  • fontSmoothing
  • fontStyle
  • fontVariant
  • iconColor
  • lineHeight
  • letterSpacing
  • textDecoration
  • textShadow
  • textTransform

The following pseudo-classes and pseudo-elements can also be styled with the above properties, as a nested object inside the variant.

  • :hover
  • :focus
  • ::placeholder
  • ::selection
  • :-webkit-autofill
  • :disabled
// Example of a style object
var style = {
  base: {
    color: '#32325d',
    fontFamily: '"Helvetica Neue", Helvetica, sans-serif',
    fontSmoothing: 'antialiased',
    fontSize: '16px',
    '::placeholder': {
      color: '#aab7c4'
    }
  },
  invalid: {
    color: '#fa755a',
    iconColor: '#fa755a'
  }
};

Tokenize a bank account

Tokenizing a bank account works pretty much the same way as Tithely.js version 1. Just create a bank account object, pass in the values and submit it using the createBankToken method. The callback function works the same way.

Note

Tokens are now returned in the callback as response.token.id (previously they returned as response.id).

// Example bank account object
var bank_account = {
  routing_number : '110000000',
  account_number : '000123456789',
  name : 'Mike Rogers', // Name of the person or business that owns the bank account
  account_holder_type : 'individual' // Either "individual" or "company"
};

// Tokenize bank account
tithely.createBankToken(bank_account, tithelyTokenCallback);

// Callback function to grab your token and any other info needed from the card
function tithelyTokenCallback(response) {
  if (response.error) {
    // Error handling here
    console.warn(response.error.message);
  }
  else {
    // Get the token
    var token = response.token.id;
    console.log(response);
    // What's next?
    // Add this token to your form as a hidden field (or use ajax to send it)
    // On the server side, attach the token to a user using the API (server side) - see documentation for /api/v1/payment-methods
    // This will allow you to charge this card going forward
    // Or just charge a user once (keep in mind tokens will expire in a few minutes) - see documentation for /api/v1/charge-once
  }
}


How to use the token

  • On the server side, add a payment method using the token (see payment methods documentation) and then charge the donor (see charges documentation). This will allow you to charge the payment method multiple times without adding it over and over again.
  • On the server side, charge a user once (see quick charge documentation) using the token.

Tokenization with Tithely.js (Deprecated)

 

Phasing Out

Due to PCI compliance changes, we are phasing out Tithely.js V1 by December 15, 2018.

In order to charge a card or bank account, the information must be tokenized using Tithely.js. This allows you to make donations to organizations without having the information touch your servers.

Include tithely.js

Make sure to use the right path for testing vs. when going live.

<!-- Testing -->
<script src="https://tithelydev.com/api-js/v1/tithely.js"></script>

<!-- Go Live -->
<script src="https://tithe.ly/api-js/v1/tithely.js"></script>

Note

For testing, you may use http or https for Tithely.js. The live url requires https.

Create the tithely object

Use javascript to create a tithely object using your public key.

// Create the tithely object (passing your public key)
var tithely = new Tithely('pub_xxxxxxxx');

Warning

Never show your private key in javascript or HTML. Only use your public key.

Tokenize a card

Tokenize a credit or debit card by calling the add_payment_method() method.

// Example card object
var card = {
  card_number: '4242424242424242',
  card_expiry_month: '04',
  card_expiry_year: '2022',
  card_cvc: '123',
  postal_code: '' // Optional
};

// Tokenize card
tithely.add_payment_method(card, tithelyResponseCallback);

// Callback function
function tithelyResponseCallback(status, response) {
  if (response.error) {
    // Error handling here
    console.warn(response.error.message);
  }
  else {
    // Get the token
    var token = response.id;
    console.log(response);
    // What's next?
    // Send it server side by add this token to your form as a hidden field (or use AJAX).
  }
}

Tokenize a bank account

Tokenize a bank account the same way by calling the add_payment_method() method.

// Example bank account object
var bank_account = {
  routing_number : '110000000',
  account_number : '000123456789',
  name : 'Mike Rogers', // Name of the person or business that owns the bank account
  account_holder_type : 'individual' // Either "individual" or "company"
};

// Tokenize bank account
tithely.add_payment_method(bank_account, tithelyResponseCallback);

// Callback function
function tithelyResponseCallback(status, response) {
  if (response.error) {
    // Error handling here
    console.warn(response.error.message);
  }
  else {
    // Get the token
    var token = response.id;
    console.log(response);
    // What's next?
    // Send it server side by adding this token to your form as a hidden field (or use AJAX).
  }
}

How to use the token

  • On the server side, add a payment method using the token (see payment methods documentation) and then charge the donor (see charges documentation). This will allow you to charge the payment method multiple times without adding it over and over again.
  • On the server side, charge a user once (see quick charge documentation) using the token.

Going Live

 

When you're ready to go live, we'll activate your account. Just shoot us an email at support@tithe.ly (or click the button below). Here's a quick checklist:

  • Replace both your public and secret keys to the live versions
  • When using tithely.js, make sure you're not exposing your private key in code (Ex. HTML / JS)
  • Update your API endpoint to the live version

Live Endpoint Info

API Live Endpoint

Live Public Key

Provided when going live

Live Secret Key

Provided when going live

Account Object

 

Accounts are needed for other API calls to be made as well. For example, to create a church or organization, you will need to create an account to manage the church (or you can just use the API account). Accounts are also used for making donations, etc. through the API.

{
  "email": "mikerogers@tithe.ly",
  "first_name": "Mike",
  "last_name": "Rogers",
  "address": {
    "street_address": "123 Test Ave",
    "city": "Nashville",
    "state": "TN",
    "postal": "37209",
    "country": "US"
  },
  "phone_number": "5555551234"
}

Create an account

 
posthttps://tithelydev.com/api/v1/accounts
// For example, to create a simple account...
curl https://tithelydev.com/api/v1/accounts
   -u pub_*******:pri_*******
   -d email="mikerogers@tithe.ly"
   -d password="monkeys123"
   -d pin="1234"
   -d first_name="mike"
   -d last_name="rogers"
A binary file was returned

You couldn't be authenticated

{
  "status": "success",
  "account_id": "user_********",
  "type": "Account",
  "object": {
    "email": "mikerogers@tithe.ly",
    "first_name": "Mike",
    "last_name": "Rogers",
    "address": {
      "street_address": "123 Test Ave",
      "city": "Nashville",
      "state": "TN",
      "postal": "37209",
      "country": "US"
    },
    "phone_number": "5555551234"
  }
}

Body Params

email
string
required

Email address

password
string
required

Password must be at least 6 characters in length and contain both letters and numbers

pin
string
required

Pin must be numeric and 4 digits long

first_name
string
required

First name

last_name
string
required

Last name

street_address
string

Street address

city
string

City

state
string

State or province must be abbreviated and 2 to 3 characters in length

postal
string

Postal or zip Code

country
string

2-letter country code

phone_number
string

Phone number (including country code if outside the US)

Headers

username
string
required

Your API public key

password
string
required

Your API secret key

 

Retrieve an account

 
gethttps://tithelydev.com/api/v1/accounts/account_id
// For example, to retrieve an existing account...
curl https://tithelydev.com/api/v1/accounts/user_********
   -u pub_*******:pri_*******
A binary file was returned

You couldn't be authenticated

{
  "status": "success",
  "account_id": "user_********",
  "type": "Account",
  "object": {
    "email": "mikerogers@tithe.ly",
    "first_name": "Mike",
    "last_name": "Rogers",
    "address": {
      "street_address": "123 Test Ave",
      "city": "Nashville",
      "state": "TN",
      "postal": "37209",
      "country": "US"
    },
    "phone_number": "5555551234"
  }
}

Path Params

account_id
string
required

The ID of the account that you created

Headers

username
string
required

Your API public key

password
string
required

Your API secret key

 

Update an account

 
posthttps://tithelydev.com/api/v1/accounts/account_id
// For example, to change a password...
curl https://tithelydev.com/api/v1/accounts/user_********
   -u pub_*******:pri_*******
   -d password="monkeys123"
A binary file was returned

You couldn't be authenticated

{
  "status": "success",
  "account_id": "user_********",
  "type": "Account",
  "object": {
    "email": "mikerogers@tithe.ly",
    "first_name": "Mike",
    "last_name": "Rogers",
    "address": {
      "street_address": "123 Test Ave",
      "city": "Nashville",
      "state": "TN",
      "postal": "37209",
      "country": "US"
    },
    "phone_number": "5555551234"
  }
}

Path Params

account_id
string
required

The ID of the account that you created

Body Params

email
string

Email address

password
string

Password must be at least 6 characters in length and contain both letters and numbers

pin
string

Pin must be numeric and 4 digits long

first_name
string

First name

last_name
string

Last name

street_address
string

Street address

city
string

City

state
string

State or province must be abbreviated and 2 to 3 characters in length

postal
string

Postal or zip Code

country
string

2-letter country code

phone_number
string

Phone number (including country code if outside the US)

Headers

username
string
required

Your API public key

password
string
required

Your API secret key

 

List all accounts

 
gethttps://tithelydev.com/api/v1/accounts-list
// For example, to retrieve an existing account...
curl https://tithelydev.com/api/v1/accounts-list?limit=15&order_by=DESC
   -u pub_*******:pri_*******
A binary file was returned

You couldn't be authenticated

{  
   "status":"success",
   "type":"List",
   "data":[  
      {  
         "account_id":"user_********",
         "created_date":"1487792831",
         "email":"mikerogers@tithe.ly",
         "first_name":"Mike",
         "last_name":"Rogers",
         "address":{  
            "street_address":"123 test Ave",
            "city":"Nashville",
            "state":"TN",
            "postal":"37209",
            "country":"US"
         },
         "phone_number":"5555551234"
      },
      {  
         "account_id":"user_********",
         "created_date":"1487792831",
         "email":"janedoe@tithe.ly",
         "first_name":"Jane",
         "last_name":"Doe",
         "address":{  
            "street_address":"123 test Dr",
            "city":"Nashville",
            "state":"TN",
            "postal":"37203",
            "country":"US"
         },
         "phone_number":"5555555678"
      }
   ]
}

Query Params

limit
int32

Number of accounts to return

order_by
string

DESC for descending and ASC for ascending

starting_after
string

Used for pagination. Will return accounts listed after this account ID

ending_before
string

Used for pagination. Will return accounts listed before this account ID

Headers

username
string
required

Your API public key

password
string
required

Your API secret key

 

Organization Object

 

Organizations are entities that people can donate to (such as a church, ministry, etc.). Keep in mind that we verify information that is passed for creating and updating organizations. Most of the sensitive information passed allows us to prevent fraud by doing a background check.

{
  "account_id": "user_HYPFilaq8cE",
  "name": "joiasdjoif",
  "phone_number": "124666346",
  "website": "google.com",
  "address": {
    "street_address": "123 test dr",
    "city": "nashville",
    "state": "TN",
    "postal": "1233",
    "country": "US"
  },
  "giving_types": [
    "test",
    "test2"
  ],
  "bank": {
    "account_number_last4": "6789",
    "name": "STRIPE TEST BANK",
    "country": "US",
    "currency": "USD"
  },
  "legal": {
    "entity_type": "individual",
    "first_name": "test",
    "last_name": "test",
    "date_of_birth": "05\/10\/1985"
  }
}

Create an organization

It's preferred to set up an account to use for organization creation. Otherwise this organization will belong to the master API account.

 
posthttps://tithelydev.com/api/v1/organizations
// For example, to create an organization...
curl https://tithelydev.com/api/v1/organizations
   -u pub_*******:pri_*******
   -d account_id="user_********"
   -d name="Test Organization"
   -d phone_number="555-555-1234"
   -d street_address="123 test ave"
   -d giving_types[]="Tithe"
   -d giving_types[]="Offering"
   -d bank[account_number]="000123456789"
   -d bank[routing_number]="110000000"
   -d legal[dob][month]=5
   // Etc, etc
A binary file was returned

You couldn't be authenticated

{
  "status": "success",
  "organization_id": "org_********",
  "type": "Organization",
  "object": {
    "widget_id": "*****",
    "account_id": "user_********",
    "name": "Test Organization",
    "phone_number": "5555551234",
    "website": "somewebsite.com",
    "address": {
      "street_address": "123 test ave",
      "city": "nashville",
      "state": "TN",
      "postal": "37209",
      "country": "US"
    },
    "giving_types": [
      "Tithe",
      "Offering"
    ],
    "bank": {
      "account_number_last4": "6789",
      "name": "SOME BANK NAME",
      "country": "US",
      "currency": "USD"
    },
    "legal": {
      "entity_type": "individual",
      "first_name": "mike",
      "last_name": "rogers",
      "date_of_birth": "05\/23\/1982"
    }
  }
}

Body Params

account_id
string

If not passed, the organization will belong to this API user's account. We recommend creating an account using the API first and then passing that account_id here to create an organization under that account

name
string
required

Organization name

phone_number
string
required

Organization phone number (including country code if outside the US)

website
string

A valid website url for the organization, church or ministry

street_address
string
required

Organization's street address

city
string
required

Organization's city

state
string
required

Organization's state or province must be abbreviated and 2 to 3 characters in length

postal
string
required

Organization's postal or zip Code

country
string
required

Organization's 2-letter country code

giving_types
array of strings
required

Types of giving that donors can select (examples: tithe, offering, building fund, etc.)

bank
object
bank.account_number
string
required

Bank account number (must be numeric)

bank.routing_number
string
required

Routing number, sort code, or other country-appropriate institution number for the bank account (must be numeric)

bank.country
string
required

Bank's 2-letter country code

bank.currency
string
required

The currency donations will be processed in (examples: USD, CAD and AUD)

legal
object
legal.entity_type
string
required

Entity type must either be "individual" or "organization" (important for ID verification)

legal.first_name
string
required

Legal representative's first name (important for ID verification)

legal.last_name
string
required

Legal representative's last name (important for ID verification)

legal.dob
object
legal.dob.month
int32
required

Legal representative's date of birth month (example: 5 for may)

legal.dob.day
int32
required

Legal representative's date of birth day (example: 23)

legal.dob.year
int32
required

Legal representative's date of birth year (example: 1982)

legal.personal_id
string

Personal id is required for US and CA. The ID number of the representative should be appropriate to the country of the representative. For example, a social security number in the US, social insurance number in Canada, etc.

legal.business_id
string

Business ID is required if you are setting up an organization. The business ID number of the legal entity should be appropriate to the country it is in. For example, an EIN in the US, a Business Number in Canada, ACN / ABN in Australia, etc.

legal.organization_name
string

The legal name of the organization or company (only required if the entity_type is "organization")

legal.personal_address
object
legal.personal_address.street_address
string

Legal representative's street address. Required in GB.

legal.personal_address.city
string

Legal representative's city. Required in GB.

legal.personal_address.postal
string

Legal representative's postal code. Required in GB.

legal.verify_doc
string

Legal representative's verify document. Web accessible URL of jpg or png of ID. Max size 8MB. Required in GB.

legal.additional_owners
object
legal.additional_owners.N
array

Additional owners is an array of objects (see additional_owner fields). At least one is required in the United Kingdom.

legal.additional_owners.first_name
string

Additional owner's first name (important for ID verification). Required in United Kingdom.

legal.additional_owners.last_name
string

Additional owner's last name (important for ID verification). Required in United Kingdom.

legal.additional_owners.dob
object
legal.additional_owners.dob.month
int32

Additional owner's date of birth month (example: 5 for may). At least one additional owner is required in United Kingdom.

legal.additional_owners.dob.day
int32

Additional owner's date of birth day. At least one additional owner is required in United Kingdom.

legal.additional_owners.dob.year
int32

Additional owner's date of birth day. At least one additional owner is required in United Kingdom.

legal.additional_owners.street_address
string

Additional owner's street address. Required in United Kingdom.

legal.additional_owners.city
string

Additional owner's city. Required in United Kingdom.

legal.additional_owners.postal
string

Additional owner's postal code. Required in United Kingdom.

legal.additional_owners.verify_doc
string

Additional owner's verify document. Web accessible URL of jpg or png of ID. Max size 8MB. Required in United Kingdom.

tos_acceptance
object
tos_acceptance.ip
string
required

This IP address represents the user agreeing to the terms of service (http://get.tithe.ly/terms-of-service/)

tos_acceptance.date
date-time
required

This should be the date (numeric timestamp) that the user is agreeing to the terms of service (http://get.tithe.ly/terms-of-service/)

referral_code
string

Referral partner code if you have one (must be less than 20 characters in length)

Headers

username
string
required

Your API public key

password
string
required

Your API secret key

 

Retrieve an organization

 
gethttps://tithelydev.com/api/v1/organizations/organization_id
// For example, to update a phone number...
curl https://tithelydev.com/api/v1/organizations/org_********
   -u pub_*******:pri_*******
A binary file was returned

You couldn't be authenticated

{
  "status": "success",
  "organization_id": "org_********",
  "type": "Organization",
  "object": {
    "widget_id": "*****",
    "account_id": "user_********",
    "name": "Test Organization",
    "phone_number": "5555551234",
    "website": "somewebsite.com",
    "address": {
      "street_address": "123 test ave",
      "city": "nashville",
      "state": "TN",
      "postal": "37209",
      "country": "US"
    },
    "giving_types": [
      "Tithe",
      "Offering"
    ],
    "bank": {
      "account_number_last4": "6789",
      "name": "SOME BANK NAME",
      "country": "US",
      "currency": "USD"
    },
    "legal": {
      "entity_type": "individual",
      "first_name": "mike",
      "last_name": "rogers",
      "date_of_birth": "05\/23\/1982"
    }
  }
}

Path Params

organization_id
string
required

The ID of the organization that you created

Headers

username
string
required

Your API public key

password
string
required

Your API secret key

 

Update an organization

 
posthttps://tithelydev.com/api/v1/organizations/organization_id
// For example, to update a phone number...
curl https://tithelydev.com/api/v1/organizations/org_********
   -u pub_*******:pri_*******
   -d phone_number="555-555-1234"
   -d bank[account_number]="000123456789"
   -d bank[routing_number]="110000000"
   -d legal[dob][month]=5
A binary file was returned

You couldn't be authenticated

{
  "status": "success",
  "organization_id": "org_********",
  "type": "Organization",
  "object": {
    "widget_id": "*****",
    "account_id": "user_********",
    "name": "Test Organization",
    "phone_number": "5555551234",
    "website": "somewebsite.com",
    "address": {
      "street_address": "123 test ave",
      "city": "nashville",
      "state": "TN",
      "postal": "37209",
      "country": "US"
    },
    "giving_types": [
      "Tithe",
      "Offering"
    ],
    "bank": {
      "account_number_last4": "6789",
      "name": "SOME BANK NAME",
      "country": "US",
      "currency": "USD"
    },
    "legal": {
      "entity_type": "individual",
      "first_name": "mike",
      "last_name": "rogers",
      "date_of_birth": "05\/23\/1982"
    }
  }
}

Path Params

organization_id
string
required

The ID of the organization that you created

Body Params

name
string

Organization name

phone_number
string

Organization phone number (including country code if outside the US)

website
string

A valid website url for the organization, church or ministry

street_address
string

Organization's street address

city
string

Organization's city

state
string

Organization's state or province must be abbreviated and 2 to 3 characters in length

postal
string

Organization's postal or zip Code

country
string

Organization's 2-letter country code

giving_types
array of strings

Types of giving that donors can select (examples: tithe, offering, building fund, etc).

bank
object
bank.account_number
string

Bank account number (must be numeric)

bank.routing_number
string

Routing number, sort code, or other country-appropriate institution number for the bank account (must be numeric)

bank.country
string

Bank's 2-letter country code

bank.currency
string

The currency donations will be processed in (examples: USD, CAD and AUD)

Headers

username
string
required

Your API public key

password
string
required

Your API secret key

 

List all organizations

 
gethttps://tithelydev.com/api/v1/organizations-list
// For example, to retrieve an existing account...
curl https://tithelydev.com/api/v1/organizations-list?limit=15&order_by=DESC
   -u pub_*******:pri_*******
A binary file was returned

You couldn't be authenticated

{  
   "status":"success",
   "type":"List",
   "data":[  
      {  
         "organization_id":"org_*******",
         "widget_id":"*****",
         "account_id":"user_*******",
         "created_date":"1493928837",
         "name":"Test Organization",
         "phone_number":"5551231234",
         "website":"https:\/\/tithe.ly",
         "address":{  
            "street_address":"123 Test Ave",
            "city":"Lawrenceville",
            "state":"GA",
            "postal":"30043",
            "country":"US"
         },
         "giving_types":[  
            "Tithe",
            "Offering",
            "Building Fund"
         ],
         "bank":{  
            "account_number_last4":"6789",
            "name":"TEST BANK",
            "country":"US",
            "currency":"USD"
         },
         "legal":{  
            "entity_type":"organization",
            "organization_name":"Test Organization LLC",
            "first_name":"Mike",
            "last_name":"Rogers",
            "date_of_birth":"5\/23\/1985"
         }
      },
      {  
         "organization_id":"org_*******",
         "widget_id":"*****",
         "account_id":"user_*******",
         "created_date":"1493928773",
         "name":"Test Organization",
         "phone_number":"5551235678",
         "website":"http:\/\/www.yourgiving.co",
         "address":{  
            "street_address":"123 Test Dr",
            "city":"Nashville",
            "state":"TN",
            "postal":"37209",
            "country":"US"
         },
         "giving_types":[  
            "General Fund",
            "Offering"
         ],
         "bank":{  
            "account_number_last4":"6789",
            "name":"TEST BANK",
            "country":"US",
            "currency":"USD"
         },
         "legal":{  
            "entity_type":"organization",
            "organization_name":"Test Organization INC",
            "first_name":"Mike",
            "last_name":"Rogers",
            "date_of_birth":"5\/23\/1985"
         }
      }
   ]
}

Query Params

limit
int32

Number of organizations to return

order_by
string

DESC for descending and ASC for ascending

starting_after
string

Used for pagination. Will return organizations listed after this organization ID

ending_before
string

Used for pagination. Will return organizations listed before this organization ID

Headers

username
string
required

Your API public key

password
string
required

Your API secret key

 

Payment Method Object

 

Payment methods are securely stored credit card or bank account objects that can be used to make donations on the platform. To store a payment method, you'll need to first generate a token from Tithely.js.

{  
  "last_4_digits":"4242",
  "brand":"Visa",
  "pm_type":"card",
  "account_id":"user_*******"
}

Create a payment method

Donor account must be setup first. Tokens are generated from Tithely.js.

 
posthttps://tithelydev.com/api/v1/payment-methods
// For example, to create a payment method...
curl https://tithelydev.com/api/v1/payment-methods
   -u pub_*******:pri_*******
   -d account_id="user_*******"
   -d token="tok_*******"
A binary file was returned

You couldn't be authenticated

{  
   "status":"success",
   "pm_id":"pm_HYPFilaq8t8",
   "type":"Payment Method",
   "object":{  
      "last_4_digits":"4242",
      "brand":"Visa",
      "pm_type":"card",
      "account_id":"user_HYPFilaq8x5"
   }
}

Body Params

account_id
string
required

The ID of the account that you created

token
string
required

The token returned from Tithely.js. See the Tithely.js documentation for how to generate these

Headers

username
string
required

Your API public key

password
string
required

Your API secret key

 

Retrieve a payment method

 
gethttps://tithelydev.com/api/v1/payment-methods/pm_id
// For example, to retrieve a payment method...
curl https://tithelydev.com/api/v1/payment-methods/pm_*******?account_id=user_*******
   -u pub_*******:pri_*******
A binary file was returned

You couldn't be authenticated

{  
   "status":"success",
   "pm_id":"pm_HYPFilaq8t8",
   "type":"Payment Method",
   "object":{  
      "last_4_digits":"4242",
      "brand":"Visa",
      "pm_type":"card",
      "account_id":"user_HYPFilaq8x5"
   }
}

Path Params

pm_id
string
required

The ID of the payment method you created

Query Params

account_id
string
required

The ID of the account that created this payment method

Headers

username
string
required

Your API public key

password
string
required

Your API secret key

 

Update a payment method

 
posthttps://tithelydev.com/api/v1/payment-methods/pm_id
// For example, to update a payment method...
curl https://tithelydev.com/api/v1/payment-methods/pm_*******
   -u pub_*******:pri_*******
   -d account_id="user_*******"
A binary file was returned

You couldn't be authenticated

{  
   "status":"success",
   "pm_id":"pm_HYPFilaq8t8",
   "type":"Payment Method",
   "object":{  
      "last_4_digits":"4242",
      "brand":"Visa",
      "pm_type":"card",
      "account_id":"user_HYPFilaq8x5"
   }
}

Path Params

pm_id
string
required

The ID of the payment method you created

Body Params

account_id
string
required

The ID of the account that created this payment method

exp_month
string

The numeric expiration month of a credit or debit card

exp_year
string

The numeric expiration year of a credit or debit card

postal_code
string

The billing postal code for a credit or debit card

account_holder_name
string

The account holder name of a bank account

account_holder_type
string

The account holder type of a bank account (individual or company)

Headers

username
string
required

Your API public key

password
string
required

Your API secret key

 

Delete a payment method

 
deletehttps://tithelydev.com/api/v1/payment-methods/pm_id
// For example, to delete a payment method...
curl https://tithelydev.com/api/v1/payment-methods/pm_*******
   -u pub_*******:pri_*******
   -X "DELETE"
   -d account_id=user_*******
A binary file was returned

You couldn't be authenticated

{  
   "status":"success",
   "note":"Payment method removed."
}

Path Params

pm_id
string
required

The ID of the payment method you created

Query Params

account_id
string
required

The ID of the account that created this payment method

Headers

username
string
required

Your API public key

password
string
required

Your API secret key

 

List all payment methods

 
gethttps://tithelydev.com/api/v1/payment-methods-list
// For example, to list all payment methods...
curl https://tithelydev.com/api/v1/payment-methods-list?account_id=user_*******
   -u pub_*******:pri_*******
A binary file was returned

You couldn't be authenticated

{  
   "status":"success",
   "type":"List",
   "data":[  
      {  
         "pm_id":"pm_*******",
         "last_4_digits":"4242",
         "brand":"Visa",
         "pm_type":"card",
         "account_id":"user_*******"
      },
      {  
         "pm_id":"pm_*******",
         "last_4_digits":"6789",
         "brand":"Test Bank",
         "pm_type":"bank",
         "account_id":"user_*******"
      }
   ]
}

Query Params

account_id
string
required

The ID of the account that created this payment method

Headers

username
string
required

Your API public key

password
string
required

Your API secret key

 

Charge Object

 

You can make donations with and without user accounts. These records are created and stored as charges.

{  
  "charge_status":"charged",
  "amount":"2500",
  "net_amount":"2397",
  "fees":"103",
  "currency":"USD",
  "giving_type":"General Fund",
  "charge_date":"1497638090",
  "deposit_date":"1497838090",
  "recurring_transaction":false,
  "fees_covered":false,
  "organization":{  
     "widget_id":"*****",
     "account_id":"user_*******",
     "created_date":"1487795327",
     "name":"Test Organization",
     "phone_number":"5551231234",
     "website":"https:\/\/tithe.ly",
     "address":{  
        "street_address":"123 Test Ave",
        "city":"Lawrenceville",
        "state":"GA",
        "postal":"30043",
        "country":"US"
     },
     "giving_types":[  
        "General Fund",
        "Offering"
     ],
     "bank":{  
        "account_number_last4":"6789",
        "name":"TEST BANK",
        "country":"US",
        "currency":"USD"
     },
     "legal":{  
        "entity_type":"organization",
        "organization_name":"Test Organization INC",
        "first_name":"Mike",
        "last_name":"Rogers",
        "date_of_birth":"5\/23\/1985"
     },
     "organization_id":"org_*******"
  },
  "donor_account":{  
     "created_date":"1486410076",
     "email":"janedoe@tithe.ly",
     "first_name":"Jane",
     "last_name":"Doe",
     "address":{  
        "street_address":"123 Test Dr",
        "city":"Lawrenceville",
        "state":"GA",
        "postal":"30043",
        "country":"US"
     },
     "phone_number":"5555551234",
     "account_id":"user_*******"
  }
}

Create a charge

Donor account, payment method, and organization must be setup first.

 
posthttps://tithelydev.com/api/v1/charges
// For example, to create a charge...
curl https://tithelydev.com/api/v1/charges
   -u pub_*******:pri_*******
   -d account_id="user_*******"
   -d pm_id="pm_*******"
   -d organization_id="org_*******"
   -d amount=2500
   -d giving_type="Offering"
A binary file was returned

You couldn't be authenticated

{  
  "charge_status":"charged",
  "amount":"2500",
  "net_amount":"2397",
  "fees":"103",
  "currency":"USD",
  "giving_type":"General Fund",
  "charge_date":"1497638090",
  "deposit_date":"1497838090",
  "recurring_transaction":false,
  "fees_covered":false,
  "organization":{  
     "widget_id":"*****",
     "account_id":"user_*******",
     "created_date":"1487795327",
     "name":"Test Organization",
     "phone_number":"5551231234",
     "website":"https:\/\/tithe.ly",
     "address":{  
        "street_address":"123 Test Ave",
        "city":"Lawrenceville",
        "state":"GA",
        "postal":"30043",
        "country":"US"
     },
     "giving_types":[  
        "General Fund",
        "Offering"
     ],
     "bank":{  
        "account_number_last4":"6789",
        "name":"TEST BANK",
        "country":"US",
        "currency":"USD"
     },
     "legal":{  
        "entity_type":"organization",
        "organization_name":"Test Organization INC",
        "first_name":"Mike",
        "last_name":"Rogers",
        "date_of_birth":"5\/23\/1985"
     },
     "organization_id":"org_*******"
  },
  "donor_account":{  
     "created_date":"1486410076",
     "email":"janedoe@tithe.ly",
     "first_name":"Jane",
     "last_name":"Doe",
     "address":{  
        "street_address":"123 Test Dr",
        "city":"Lawrenceville",
        "state":"GA",
        "postal":"30043",
        "country":"US"
     },
     "phone_number":"5555551234",
     "account_id":"user_*******"
  }
}

Body Params

account_id
string
required

The account of the donor

pm_id
string
required

The payment method to charge

organization_id
string
required

The organization to donate to

amount
int32
required

The amount in cents (example: 2555 for $25.55)

giving_type
string
required

A giving type for the transaction (examples: General Fund, Tithe, etc.)

memo
string

A memo or note to leave with the transaction

Headers

username
string
required

Your API public key

password
string
required

Your API private key

 

Quick charge

Charge a donor without creating a donor account or storing a payment method. You'll also need a token from Tithely.js.

 
posthttps://tithelydev.com/api/v1/charge-once
// For example, to create a one off charge...
curl https://tithelydev.com/api/v1/charge-once
   -u pub_*******:pri_*******
   -d email="mikerogers@tithe.ly"
   -d first_name="Mike"
   -d last_name="Rogers"
   -d token="tok_*******"
   -d organization_id="org_*******"
   -d amount=2500
   -d giving_type="Offering"
A binary file was returned

You couldn't be authenticated

{  
  "charge_status":"charged",
  "amount":"2500",
  "net_amount":"2397",
  "fees":"103",
  "currency":"USD",
  "giving_type":"General Fund",
  "charge_date":"1497638090",
  "deposit_date":"1497838090",
  "recurring_transaction":false,
  "fees_covered":false,
  "organization":{  
     "widget_id":"*****",
     "account_id":"user_*******",
     "created_date":"1487795327",
     "name":"Test Organization",
     "phone_number":"5551231234",
     "website":"https:\/\/tithe.ly",
     "address":{  
        "street_address":"123 Test Ave",
        "city":"Lawrenceville",
        "state":"GA",
        "postal":"30043",
        "country":"US"
     },
     "giving_types":[  
        "General Fund",
        "Offering"
     ],
     "bank":{  
        "account_number_last4":"6789",
        "name":"TEST BANK",
        "country":"US",
        "currency":"USD"
     },
     "legal":{  
        "entity_type":"organization",
        "organization_name":"Test Organization INC",
        "first_name":"Mike",
        "last_name":"Rogers",
        "date_of_birth":"5\/23\/1985"
     },
     "organization_id":"org_*******"
  },
  "donor_account":{  
     "created_date":"1486410076",
     "email":"janedoe@tithe.ly",
     "first_name":"Jane",
     "last_name":"Doe",
     "address":{  
        "street_address":"123 Test Dr",
        "city":"Lawrenceville",
        "state":"GA",
        "postal":"30043",
        "country":"US"
     },
     "phone_number":"5555551234",
     "account_id":"user_*******"
  }
}

Body Params

email
string
required

The email of the donor

first_name
string
required

The first name of the donor

last_name
string
required

The last name of the donors

token
string
required

The token returned from Tithely.js. See the Tithely.js documentation for how to generate these

organization_id
string
required

The organization to donate to

amount
int32
required

The amount in cents (example: 2555 for $25.55)

giving_type
string
required

A giving type for the transaction (examples: General Fund, Tithe, etc.)

street_address
string

Donor street address

city
string

Donor city

state
string

Donor state or province must be abbreviated and 2 to 3 characters in length

postal
string

Donor postal or zip code

country
string

Donor 2-letter country code

memo
string

A memo or note to leave with the transaction

phone_number
string

Donor phone number (including country code if outside the US)

Headers

username
string
required

Your API public key

password
string
required

Your API private key

 

Retrieve a charge

 
gethttps://tithelydev.com/api/v1/charges/charge_id
// For example, to retrieve a charge...
curl https://tithelydev.com/api/v1/charges/ch_*******
   -u pub_*******:pri_*******
A binary file was returned

You couldn't be authenticated

{  
  "charge_status":"charged",
  "amount":"2500",
  "net_amount":"2397",
  "fees":"103",
  "currency":"USD",
  "giving_type":"General Fund",
  "charge_date":"1497638090",
  "deposit_date":"1497838090",
  "recurring_transaction":false,
  "fees_covered":false,
  "organization":{  
     "widget_id":"*****",
     "account_id":"user_*******",
     "created_date":"1487795327",
     "name":"Test Organization",
     "phone_number":"5551231234",
     "website":"https:\/\/tithe.ly",
     "address":{  
        "street_address":"123 Test Ave",
        "city":"Lawrenceville",
        "state":"GA",
        "postal":"30043",
        "country":"US"
     },
     "giving_types":[  
        "General Fund",
        "Offering"
     ],
     "bank":{  
        "account_number_last4":"6789",
        "name":"TEST BANK",
        "country":"US",
        "currency":"USD"
     },
     "legal":{  
        "entity_type":"organization",
        "organization_name":"Test Organization INC",
        "first_name":"Mike",
        "last_name":"Rogers",
        "date_of_birth":"5\/23\/1985"
     },
     "organization_id":"org_*******"
  },
  "donor_account":{  
     "created_date":"1486410076",
     "email":"janedoe@tithe.ly",
     "first_name":"Jane",
     "last_name":"Doe",
     "address":{  
        "street_address":"123 Test Dr",
        "city":"Lawrenceville",
        "state":"GA",
        "postal":"30043",
        "country":"US"
     },
     "phone_number":"5555551234",
     "account_id":"user_*******"
  }
}

Path Params

charge_id
string
required

The charge you are looking up

Headers

username
string
required

Your API public key

password
string
required

Your API private key

 

Refund a charge

 
posthttps://tithelydev.com/api/v1/refunds/charge_id
// For example, to refund a charge...
curl https://tithelydev.com/api/v1/refunds/ch_*******
   -u pub_*******:pri_*******
A binary file was returned

You couldn't be authenticated

{  
  "charge_status":"charged",
  "amount":"2500",
  "net_amount":"2397",
  "fees":"103",
  "currency":"USD",
  "giving_type":"General Fund",
  "charge_date":"1497638090",
  "deposit_date":"1497838090",
  "recurring_transaction":false,
  "fees_covered":false,
  "organization":{  
     "widget_id":"*****",
     "account_id":"user_*******",
     "created_date":"1487795327",
     "name":"Test Organization",
     "phone_number":"5551231234",
     "website":"https:\/\/tithe.ly",
     "address":{  
        "street_address":"123 Test Ave",
        "city":"Lawrenceville",
        "state":"GA",
        "postal":"30043",
        "country":"US"
     },
     "giving_types":[  
        "General Fund",
        "Offering"
     ],
     "bank":{  
        "account_number_last4":"6789",
        "name":"TEST BANK",
        "country":"US",
        "currency":"USD"
     },
     "legal":{  
        "entity_type":"organization",
        "organization_name":"Test Organization INC",
        "first_name":"Mike",
        "last_name":"Rogers",
        "date_of_birth":"5\/23\/1985"
     },
     "organization_id":"org_*******"
  },
  "donor_account":{  
     "created_date":"1486410076",
     "email":"janedoe@tithe.ly",
     "first_name":"Jane",
     "last_name":"Doe",
     "address":{  
        "street_address":"123 Test Dr",
        "city":"Lawrenceville",
        "state":"GA",
        "postal":"30043",
        "country":"US"
     },
     "phone_number":"5555551234",
     "account_id":"user_*******"
  }
}

Path Params

charge_id
string
required

The charge you want to refund

Headers

username
string
required

Your API public key

password
string
required

Your API private key

 

List all charges

Either donor or organization must be used to query a list of charges.

 
gethttps://tithelydev.com/api/v1/charges-list
// For example, to list all charge...
curl https://tithelydev.com/api/v1/charges-list?organization_id=org_********&limit=10
   -u pub_*******:pri_*******
A binary file was returned

You couldn't be authenticated

{  
   "status":"success",
   "type":"List",
   "data":[  
      {  
         "charge_id":"ch_*******",
         "charge_status":"charged",
         "amount":"2700",
         "net_amount":"2591",
         "fees":109,
         "currency":"USD",
         "giving_type":"General Fund",
         "charge_date":"1498665995",
         "payment_method":"pm_*******",
         "organization":"org_*******",
         "donor_account":"user_*******"
      },
      {  
         "charge_id":"ch_*******",
         "charge_status":"refunded",
         "amount":"2500",
         "net_amount":"2500",
         "fees":0,
         "currency":"USD",
         "giving_type":"Offering",
         "charge_date":"1497638090",
         "organization":"org_*******",
         "donor_account":"user_*******"
      }
   ]
}

Query Params

account_id
string

The account that gave the donation (must provide this or organization_id)

organization_id
string

The organization that was given to (must provide this or account_id)

limit
int32

Number of charges to return

order_by
string

DESC for descending and ASC for ascending

starting_after
string

Used for pagination. Will return charges listed after this charge ID

ending_before
string

Used for pagination. Will return charges listed before this charge ID

created_after
date-time

A unix timestamp to pull transactions by created date

created_before
date-time

A unix timestamp to pull transactions by created date

Headers

username
string
required

Your API public key

password
string
required

Your API private key

 

Recurring Object

 

Recurring charges are charges that you can set to happen periodically. You can set charges to happen weekly, monthly, bimonthly, or fortnightly.

{
  "amount":"2500",
  "currency":"USD",
  "giving_type":"Tithe",
  "start_date":"1498404911",
  "term":"monthly",
  "organization":{  
     "widget_id":"*****",
     "account_id":"user_*******",
     "created_date":"1487795327",
     "name":"Test Organization",
     "phone_number":"5551231234",
     "website":"http:\/\/tithe.ly",
     "address":{  
        "street_address":"123 Test Ave",
        "city":"Lawrenceville",
        "state":"GA",
        "postal":"30043",
        "country":"US"
     },
     "giving_types":[  
        "Tithe",
        "Offering"
     ],
     "bank":{  
        "account_number_last4":"6789",
        "name":"TEST BANK",
        "country":"US",
        "currency":"USD"
     },
     "legal":{  
        "entity_type":"organization",
        "organization_name":"Test Organization INC",
        "first_name":"Mike",
        "last_name":"Rogers",
        "date_of_birth":"5\/23\/1985"
     },
     "organization_id":"org_*******"
  },
  "donor_account":{  
     "created_date":"1486410076",
     "email":"janedoe@tithe.ly",
     "first_name":"Jane",
     "last_name":"Doe",
     "address":{  
        "street_address":"123 Test Ave",
        "city":"Nashville",
        "state":"TN",
        "postal":"37209",
        "country":"US"
     },
     "phone_number":"5555555678",
     "account_id":"user_*******"
  }
}

Create a recurring charge

Donor account, payment method, and organization must be setup first.

 
posthttps://tithelydev.com/api/v1/recurring
// For example, to create a recurring charge...
curl https://tithelydev.com/api/v1/recurring
   -u pub_*******:pri_*******
   -d account_id="user_*******"
   -d pm_id="pm_*******"
   -d organization_id="org_*******"
   -d amount=2500
   -d giving_type="Offering"
   -d term="monthly"
   -d start_date=1498671531
A binary file was returned

You couldn't be authenticated

{  
   "status":"success",
   "recurring_id":"rc_*******",
   "type":"Recurring",
   "object":{
      "amount":"2500",
      "currency":"USD",
      "giving_type":"Tithe",
      "start_date":"1498404911",
      "term":"monthly",
      "organization":{  
         "widget_id":"*****",
         "account_id":"user_*******",
         "created_date":"1487795327",
         "name":"Test Organization",
         "phone_number":"5551231234",
         "website":"http:\/\/tithe.ly",
         "address":{  
            "street_address":"123 Test Ave",
            "city":"Lawrenceville",
            "state":"GA",
            "postal":"30043",
            "country":"US"
         },
         "giving_types":[  
            "Tithe",
            "Offering"
         ],
         "bank":{  
            "account_number_last4":"6789",
            "name":"TEST BANK",
            "country":"US",
            "currency":"USD"
         },
         "legal":{  
            "entity_type":"organization",
            "organization_name":"Test Organization INC",
            "first_name":"Mike",
            "last_name":"Rogers",
            "date_of_birth":"5\/23\/1985"
         },
         "organization_id":"org_*******"
      },
      "donor_account":{  
         "created_date":"1486410076",
         "email":"janedoe@tithe.ly",
         "first_name":"Jane",
         "last_name":"Doe",
         "address":{  
            "street_address":"123 Test Ave",
            "city":"Nashville",
            "state":"TN",
            "postal":"37209",
            "country":"US"
         },
         "phone_number":"5555555678",
         "account_id":"user_*******"
      }
   }
}

Body Params

account_id
string
required

The account of the donor

pm_id
string
required

The payment method to charge periodically

organization_id
string
required

The organization to periodically donate to

amount
int32
required

The amount in cents (example: 2555 for $25.55)

giving_type
string
required

A giving type for the transaction (examples: General Fund, Tithe, etc.)

term
string
required

How often to charge the donor (options are: weekly, monthly, bimonthly, or fortnightly)

start_date
int32
required

A unix timestamp for when to start the periodic charges (example: 1498671531)

Headers

username
string
required

Your API public key

password
string
required

Your API private key

 

Retrieve a recurring charge

 
gethttps://tithelydev.com/api/v1/recurring/recurring_id
// For example, to retrieve a recurring charge...
curl https://tithelydev.com/api/v1/recurring/rc_*******
   -u pub_*******:pri_*******
A binary file was returned

You couldn't be authenticated

{  
   "status":"success",
   "recurring_id":"rc_*******",
   "type":"Recurring",
   "object":{
      "amount":"2500",
      "currency":"USD",
      "giving_type":"Tithe",
      "start_date":"1498404911",
      "term":"monthly",
      "organization":{  
         "widget_id":"*****",
         "account_id":"user_*******",
         "created_date":"1487795327",
         "name":"Test Organization",
         "phone_number":"5551231234",
         "website":"http:\/\/tithe.ly",
         "address":{  
            "street_address":"123 Test Ave",
            "city":"Lawrenceville",
            "state":"GA",
            "postal":"30043",
            "country":"US"
         },
         "giving_types":[  
            "Tithe",
            "Offering"
         ],
         "bank":{  
            "account_number_last4":"6789",
            "name":"TEST BANK",
            "country":"US",
            "currency":"USD"
         },
         "legal":{  
            "entity_type":"organization",
            "organization_name":"Test Organization INC",
            "first_name":"Mike",
            "last_name":"Rogers",
            "date_of_birth":"5\/23\/1985"
         },
         "organization_id":"org_*******"
      },
      "donor_account":{  
         "created_date":"1486410076",
         "email":"janedoe@tithe.ly",
         "first_name":"Jane",
         "last_name":"Doe",
         "address":{  
            "street_address":"123 Test Ave",
            "city":"Nashville",
            "state":"TN",
            "postal":"37209",
            "country":"US"
         },
         "phone_number":"5555555678",
         "account_id":"user_*******"
      }
   }
}

Path Params

recurring_id
string
required

The recurring setup to retrieve

Headers

username
string
required

Your API public key

password
string
required

Your API private key

 

Cancel a recurring charge

Note that this will not refund previous charges, but will cancel future recurring charges.

 
deletehttps://tithelydev.com/api/v1/recurring/recurring_id
// For example, to retrieve a recurring charge...
curl https://tithelydev.com/api/v1/recurring/rc_*******
   -u pub_*******:pri_*******
   -X "DELETE"
A binary file was returned

You couldn't be authenticated

{  
   "status":"success",
   "note":"Recurring setup has been cancelled."
}

Path Params

recurring_id
string
required

The recurring setup to retrieve

Headers

username
string
required

Your API public key

password
string
required

Your API private key

 

List all recurring charges

Either donor or organization must be used to query a list of charges.

 
gethttps://tithelydev.com/api/v1/recurring-list
// For example, to list all recurring charges...
curl https://tithelydev.com/api/v1/recurring-list?organization_id=org_********&limit=10
   -u pub_*******:pri_*******
A binary file was returned

You couldn't be authenticated

{  
   "status":"success",
   "type":"List",
   "data":[  
      {  
         "recurring_id":"rc_*******",
         "amount":"2500",
         "currency":"USD",
         "giving_type":"Tithe",
         "start_date":"1497632472",
         "term":"weekly",
         "organization":{  
            "widget_id":"*****",
            "account_id":"user_*******",
            "created_date":"1487795327",
            "name":"Test Organization",
            "phone_number":"5551231234",
            "website":"http:\/\/tithe.ly",
            "address":{  
               "street_address":"123 Test Ave",
               "city":"Lawrenceville",
               "state":"GA",
               "postal":"30043",
               "country":"US"
            },
            "giving_types":[  
               "Tithe",
               "Offering"
            ],
            "bank":{  
               "account_number_last4":"6789",
               "name":"TEST BANK",
               "country":"US",
               "currency":"USD"
            },
            "legal":{  
               "entity_type":"organization",
               "organization_name":"Test Organization LLC",
               "first_name":"Mike",
               "last_name":"Rogers",
               "date_of_birth":"5\/23\/1985"
            },
            "organization_id":"org_*******"
         },
         "donor_account":{  
            "created_date":"1486410076",
            "email":"janedoe@tithe.ly",
            "first_name":"Jane",
            "last_name":"Doe",
            "address":{  
               "street_address":"123 Test Ave",
               "city":"Nashville",
               "state":"TN",
               "postal":"37209",
               "country":"US"
            },
            "phone_number":"5555555678",
            "account_id":"user_*******"
         }
      },
      {  
         "recurring_id":"rc_*******",
         "amount":"1000",
         "currency":"USD",
         "giving_type":"Offering",
         "start_date":"1497632472",
         "term":"monthly",
         "organization":{  
            "widget_id":"*****",
            "account_id":"user_*******",
            "created_date":"1487795327",
            "name":"Test Organization",
            "phone_number":"5551231234",
            "website":"http:\/\/tithe.ly",
            "address":{  
               "street_address":"123 Test Ave",
               "city":"Lawrenceville",
               "state":"GA",
               "postal":"30043",
               "country":"US"
            },
            "giving_types":[  
               "Tithe",
               "Offering"
            ],
            "bank":{  
               "account_number_last4":"6789",
               "name":"TEST BANK",
               "country":"US",
               "currency":"USD"
            },
            "legal":{  
               "entity_type":"organization",
               "organization_name":"Test Organization LLC",
               "first_name":"Mike",
               "last_name":"Rogers",
               "date_of_birth":"5\/23\/1985"
            },
            "organization_id":"org_*******"
         },
         "donor_account":{  
            "created_date":"1486410076",
            "email":"janedoe@tithe.ly",
            "first_name":"Jane",
            "last_name":"Doe",
            "address":{  
               "street_address":"123 Test Ave",
               "city":"Nashville",
               "state":"TN",
               "postal":"37209",
               "country":"US"
            },
            "phone_number":"5555555678",
            "account_id":"user_*******"
         }
      }
   ]
}

Query Params

account_id
string

The donor account for this recurring setup (must provide this or organization_id)

organization_id
string

The organization that these donations are going to (must provide this or account_id)

limit
int32

Number of charges to return

order_by
string

DESC for descending and ASC for ascending

starting_after
string

Used for pagination. Will return recurring setups listed after this recurring ID

ending_before
string

Used for pagination. Will return recurring setups listed before this recurring ID

Headers

username
string
required

Your API public key

password
string
required

Your API private key