Skip to main content
POST
/
v1
/
transactions
Create a transaction
curl --request POST \
  --url https://api.givebutter.com/v1/transactions \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "transacted_at": "2023-11-07T05:31:56Z",
  "amount": "<string>",
  "campaign_code": "<string>",
  "campaign_title": "<string>",
  "campaign_team_id": 123,
  "team_member_id": 123,
  "contact_id": 123,
  "contact_external_id": "<string>",
  "fund_code": "<string>",
  "mark_deposited": true,
  "timezone": "<string>",
  "acknowledged_at": "2023-11-07T05:31:56Z",
  "external_label": "<string>",
  "external_id": "<string>",
  "contact_contact_since": "2023-11-07T05:31:56Z",
  "fee_covered": "<string>",
  "platform_fee": "<string>",
  "processing_fee": "<string>",
  "check_number": "<string>",
  "check_deposited_at": "2023-11-07T05:31:56Z",
  "company": "<string>",
  "internal_note": "<string>",
  "first_name": "<string>",
  "last_name": "<string>",
  "email": "<string>",
  "phone": "<string>",
  "address_1": "<string>",
  "address_2": "<string>",
  "city": "<string>",
  "state": "<string>",
  "zipcode": "<string>",
  "country": "<string>",
  "dedication_name": "<string>",
  "dedication_recipient_name": "<string>",
  "dedication_recipient_email": "<string>",
  "giving_space_message": "<string>",
  "appeal_code": "<string>",
  "appeal_name": "<string>",
  "appeal_status": "<string>"
}
'
import requests

url = "https://api.givebutter.com/v1/transactions"

payload = {
"transacted_at": "2023-11-07T05:31:56Z",
"amount": "<string>",
"campaign_code": "<string>",
"campaign_title": "<string>",
"campaign_team_id": 123,
"team_member_id": 123,
"contact_id": 123,
"contact_external_id": "<string>",
"fund_code": "<string>",
"mark_deposited": True,
"timezone": "<string>",
"acknowledged_at": "2023-11-07T05:31:56Z",
"external_label": "<string>",
"external_id": "<string>",
"contact_contact_since": "2023-11-07T05:31:56Z",
"fee_covered": "<string>",
"platform_fee": "<string>",
"processing_fee": "<string>",
"check_number": "<string>",
"check_deposited_at": "2023-11-07T05:31:56Z",
"company": "<string>",
"internal_note": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"email": "<string>",
"phone": "<string>",
"address_1": "<string>",
"address_2": "<string>",
"city": "<string>",
"state": "<string>",
"zipcode": "<string>",
"country": "<string>",
"dedication_name": "<string>",
"dedication_recipient_name": "<string>",
"dedication_recipient_email": "<string>",
"giving_space_message": "<string>",
"appeal_code": "<string>",
"appeal_name": "<string>",
"appeal_status": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
transacted_at: '2023-11-07T05:31:56Z',
amount: '<string>',
campaign_code: '<string>',
campaign_title: '<string>',
campaign_team_id: 123,
team_member_id: 123,
contact_id: 123,
contact_external_id: '<string>',
fund_code: '<string>',
mark_deposited: true,
timezone: '<string>',
acknowledged_at: '2023-11-07T05:31:56Z',
external_label: '<string>',
external_id: '<string>',
contact_contact_since: '2023-11-07T05:31:56Z',
fee_covered: '<string>',
platform_fee: '<string>',
processing_fee: '<string>',
check_number: '<string>',
check_deposited_at: '2023-11-07T05:31:56Z',
company: '<string>',
internal_note: '<string>',
first_name: '<string>',
last_name: '<string>',
email: '<string>',
phone: '<string>',
address_1: '<string>',
address_2: '<string>',
city: '<string>',
state: '<string>',
zipcode: '<string>',
country: '<string>',
dedication_name: '<string>',
dedication_recipient_name: '<string>',
dedication_recipient_email: '<string>',
giving_space_message: '<string>',
appeal_code: '<string>',
appeal_name: '<string>',
appeal_status: '<string>'
})
};

fetch('https://api.givebutter.com/v1/transactions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.givebutter.com/v1/transactions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'transacted_at' => '2023-11-07T05:31:56Z',
'amount' => '<string>',
'campaign_code' => '<string>',
'campaign_title' => '<string>',
'campaign_team_id' => 123,
'team_member_id' => 123,
'contact_id' => 123,
'contact_external_id' => '<string>',
'fund_code' => '<string>',
'mark_deposited' => true,
'timezone' => '<string>',
'acknowledged_at' => '2023-11-07T05:31:56Z',
'external_label' => '<string>',
'external_id' => '<string>',
'contact_contact_since' => '2023-11-07T05:31:56Z',
'fee_covered' => '<string>',
'platform_fee' => '<string>',
'processing_fee' => '<string>',
'check_number' => '<string>',
'check_deposited_at' => '2023-11-07T05:31:56Z',
'company' => '<string>',
'internal_note' => '<string>',
'first_name' => '<string>',
'last_name' => '<string>',
'email' => '<string>',
'phone' => '<string>',
'address_1' => '<string>',
'address_2' => '<string>',
'city' => '<string>',
'state' => '<string>',
'zipcode' => '<string>',
'country' => '<string>',
'dedication_name' => '<string>',
'dedication_recipient_name' => '<string>',
'dedication_recipient_email' => '<string>',
'giving_space_message' => '<string>',
'appeal_code' => '<string>',
'appeal_name' => '<string>',
'appeal_status' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://api.givebutter.com/v1/transactions"

payload := strings.NewReader("{\n \"transacted_at\": \"2023-11-07T05:31:56Z\",\n \"amount\": \"<string>\",\n \"campaign_code\": \"<string>\",\n \"campaign_title\": \"<string>\",\n \"campaign_team_id\": 123,\n \"team_member_id\": 123,\n \"contact_id\": 123,\n \"contact_external_id\": \"<string>\",\n \"fund_code\": \"<string>\",\n \"mark_deposited\": true,\n \"timezone\": \"<string>\",\n \"acknowledged_at\": \"2023-11-07T05:31:56Z\",\n \"external_label\": \"<string>\",\n \"external_id\": \"<string>\",\n \"contact_contact_since\": \"2023-11-07T05:31:56Z\",\n \"fee_covered\": \"<string>\",\n \"platform_fee\": \"<string>\",\n \"processing_fee\": \"<string>\",\n \"check_number\": \"<string>\",\n \"check_deposited_at\": \"2023-11-07T05:31:56Z\",\n \"company\": \"<string>\",\n \"internal_note\": \"<string>\",\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"email\": \"<string>\",\n \"phone\": \"<string>\",\n \"address_1\": \"<string>\",\n \"address_2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"zipcode\": \"<string>\",\n \"country\": \"<string>\",\n \"dedication_name\": \"<string>\",\n \"dedication_recipient_name\": \"<string>\",\n \"dedication_recipient_email\": \"<string>\",\n \"giving_space_message\": \"<string>\",\n \"appeal_code\": \"<string>\",\n \"appeal_name\": \"<string>\",\n \"appeal_status\": \"<string>\"\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://api.givebutter.com/v1/transactions")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"transacted_at\": \"2023-11-07T05:31:56Z\",\n \"amount\": \"<string>\",\n \"campaign_code\": \"<string>\",\n \"campaign_title\": \"<string>\",\n \"campaign_team_id\": 123,\n \"team_member_id\": 123,\n \"contact_id\": 123,\n \"contact_external_id\": \"<string>\",\n \"fund_code\": \"<string>\",\n \"mark_deposited\": true,\n \"timezone\": \"<string>\",\n \"acknowledged_at\": \"2023-11-07T05:31:56Z\",\n \"external_label\": \"<string>\",\n \"external_id\": \"<string>\",\n \"contact_contact_since\": \"2023-11-07T05:31:56Z\",\n \"fee_covered\": \"<string>\",\n \"platform_fee\": \"<string>\",\n \"processing_fee\": \"<string>\",\n \"check_number\": \"<string>\",\n \"check_deposited_at\": \"2023-11-07T05:31:56Z\",\n \"company\": \"<string>\",\n \"internal_note\": \"<string>\",\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"email\": \"<string>\",\n \"phone\": \"<string>\",\n \"address_1\": \"<string>\",\n \"address_2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"zipcode\": \"<string>\",\n \"country\": \"<string>\",\n \"dedication_name\": \"<string>\",\n \"dedication_recipient_name\": \"<string>\",\n \"dedication_recipient_email\": \"<string>\",\n \"giving_space_message\": \"<string>\",\n \"appeal_code\": \"<string>\",\n \"appeal_name\": \"<string>\",\n \"appeal_status\": \"<string>\"\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.givebutter.com/v1/transactions")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"transacted_at\": \"2023-11-07T05:31:56Z\",\n \"amount\": \"<string>\",\n \"campaign_code\": \"<string>\",\n \"campaign_title\": \"<string>\",\n \"campaign_team_id\": 123,\n \"team_member_id\": 123,\n \"contact_id\": 123,\n \"contact_external_id\": \"<string>\",\n \"fund_code\": \"<string>\",\n \"mark_deposited\": true,\n \"timezone\": \"<string>\",\n \"acknowledged_at\": \"2023-11-07T05:31:56Z\",\n \"external_label\": \"<string>\",\n \"external_id\": \"<string>\",\n \"contact_contact_since\": \"2023-11-07T05:31:56Z\",\n \"fee_covered\": \"<string>\",\n \"platform_fee\": \"<string>\",\n \"processing_fee\": \"<string>\",\n \"check_number\": \"<string>\",\n \"check_deposited_at\": \"2023-11-07T05:31:56Z\",\n \"company\": \"<string>\",\n \"internal_note\": \"<string>\",\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"email\": \"<string>\",\n \"phone\": \"<string>\",\n \"address_1\": \"<string>\",\n \"address_2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"zipcode\": \"<string>\",\n \"country\": \"<string>\",\n \"dedication_name\": \"<string>\",\n \"dedication_recipient_name\": \"<string>\",\n \"dedication_recipient_email\": \"<string>\",\n \"giving_space_message\": \"<string>\",\n \"appeal_code\": \"<string>\",\n \"appeal_name\": \"<string>\",\n \"appeal_status\": \"<string>\"\n}"

response = http.request(request)
puts response.read_body
{
  "id": "<string>",
  "plan_id": "<string>",
  "pledge_id": "<string>",
  "amount": 123,
  "fee": 123,
  "fee_covered": 123,
  "donated": 123,
  "payout": 123,
  "captured": "<string>",
  "captured_at": "<string>",
  "timezone": "<string>",
  "refunded": "<string>",
  "refunded_at": "<string>",
  "line_items": [
    {
      "type": "<string>",
      "subtype": "<string>",
      "description": "<string>",
      "quantity": 123,
      "price": 123,
      "discount": 123,
      "total": 123,
      "created_at": "<string>",
      "updated_at": "<string>"
    }
  ],
  "fair_market_value_amount": "<string>",
  "tax_deductible_amount": "<string>",
  "is_recurring": "<string>"
}
{
"message": "<string>"
}
{
"message": "<string>"
}
{
"message": "<string>",
"errors": {}
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
method
enum<string>
required
Available options:
ach,
card,
cash,
check,
digital_wallet,
donor_advised_fund,
paypal,
venmo,
cashapp,
terminal,
stock,
in-kind,
property,
other,
none
transacted_at
string<date-time>
required
amount
string
required
campaign_code
string | null
campaign_title
string
Maximum string length: 255
campaign_team_id
integer | null
team_member_id
integer | null
contact_id
integer | null
contact_external_id
string | null
Maximum string length: 255
fund_code
string | null
Maximum string length: 255
mark_deposited
boolean | null
timezone
string | null
acknowledged_at
string<date-time> | null
external_label
string | null
Maximum string length: 255
external_id
string | null
Maximum string length: 255
contact_contact_since
string<date-time> | null
fee_covered
string | null
platform_fee
string | null
processing_fee
string | null
check_number
string | null
Maximum string length: 255
check_deposited_at
string<date-time> | null
company
string | null
Maximum string length: 255
internal_note
string | null
Maximum string length: 255
first_name
string | null
Maximum string length: 255
last_name
string | null
Maximum string length: 255
email
string | null
Maximum string length: 255
phone
string | null
address_1
string | null
Maximum string length: 255
address_2
string | null
Maximum string length: 255
city
string | null
Maximum string length: 255
state
string | null
Maximum string length: 255
zipcode
string | null
Maximum string length: 255
country
string | null
dedication_type
enum<string>
Available options:
in_memory_of,
in_honor_of
dedication_name
string | null
Maximum string length: 255
dedication_recipient_name
string | null
Maximum string length: 255
dedication_recipient_email
string | null
giving_space_message
string | null
Maximum string length: 65535
appeal_code
string | null
Maximum string length: 255
appeal_name
string | null
Maximum string length: 255
appeal_status
string | null

Response

TransactionResource

id
string
required
plan_id
string
required
pledge_id
string
required
amount
number
required
fee
number
required
fee_covered
number
required
donated
number
required
payout
number
required
captured
string
required
captured_at
string
required
timezone
string
required
refunded
string
required
refunded_at
string
required
line_items
TransactionLineItemResource · object[]
required
fair_market_value_amount
string | null
required
tax_deductible_amount
string | null
required
is_recurring
string
required