Refunds

Last Updated: July 1, 2015

This document lays out the specification of interacting with the Qgiv Refunds system, allowing for reading of Refunds.

GET : https://secure.qgiv.com/admin/api/reporting/refunds/last/[limit]

[limit] must be an integer value greater than zero

Returns the last [limit] refunds associated with the current form or organization

Qgiv Tester 88888888888 0 Qgiv Tester 50 Lake Morton Dr Lakeland Florida 33811 US 1111 donation form 0 n 351986 2014-12-09 10:20:47 2014-12-11 event Accepted n Credit Card Visa Test Event Private Package 1 10.00 10.00 Please choose your tshirt size below m I would like to volunteer for this event? no volunteer Test Field test answer Test Field 623 Qgiv 50 Lake Morton Dr Lakeland FL 33811 US noreply@qgiv.com October 24, 2014 18:46:03 n 3.00
Qgiv Form
{  
   "forms":[  
      {  
         "refunds":[  
            {  
               "title":"",
               "firstName":"Qgiv",
               "lastName":"Tester",
               "phone":"8888888888",
               "creatingTransactionFor":"0",
               "billingName":"Qgiv Tester",
               "billingAddress":"50 Lake Morton Dr",
               "billingCity":"Lakeland",
               "billingState":"FL",
               "billingZip":"33811",
               "billingCountry":"US",
               "lastFour":"1111",
               "associatedInfo":"",
               "donationSource":"donation form",
               "sourceID":"0",
               "optedIn":"n",
               "id":"1278",
               "transaction":"352037",
               "refundDate":"2014-12-09 10:20:47",
               "refundSettleDate":"2014-12-11",
               "transStatus":"Accepted",
               "type":"one time",
               "isRecurring":"n",
               "paymentType":"Credit Card",
               "paymentMethod":"Visa",
               "restriction":"623",
               "event":{  
                  "id":"4056",
                  "eventName":"Test Event",
                  "packages":[  
                     {  
                        "id":"10905",
                        "packageName":"Private Package",
                        "packageQuantity":"1",
                        "packageUnitCost":"10.00",
                        "packageTotal":"10.00",
                        "packageFields":[  
                           {  
                              "id":"41633",
                              "question":"Please choose your tshirt size below",
                              "answer":"m"
                           }
                        ]
                     }
                  ]
               },
               "eventFields":[  
                  {  
                     "id":"0",
                     "question":"I would like to volunteer for this event?",
                     "answer":"no",
                     "reference":"volunteer"
                  }
               ],
               "donationFields":[  
                  {  
                     "id":"3216",
                     "question":"Test Field",
                     "answer":"no",
                     "reference":"Test Field"
                  }
               ],
               "contactCompany":"Qgiv",
               "contactAddress":"50 Lake Morton Dr",
               "contactCity":"Lakeland",
               "contactState":"FL",
               "contactZip":"33811",
               "contactCountry":"US",
               "contactEmail":"noreply@qgiv.com",
               "formId":"2",
               "transactionDate":"October 24, 2014 19:21:06",
               "transactionWasAnonymous":"n",
               "transactionMemo":"",
               "value":"2.23",
               "form":{  
                  "id":"2",
                  "0":"Cipher Beta1"
               }
            }
          ]
      }
   ],
   ...
}
Libraries to use :
using System.Net;
using System.Text;
using System.IO;


string postData = "token=skyMV9YeaxQ7EjbEUHt8TUiP";
HttpWebResponse resp = null;
string result = null;

try {
HttpWebRequest req = WebRequest.Create(new Uri("GET : https://secure.qgiv.com/admin/api/reporting/refunds/last/10.xml")) as HttpWebRequest;
req.Method = "POST";
req.Accept = "*/*";
req.UserAgent = "http_request/0.1";
req.Timeout = 50000;
req.ContentType = "application/x-www-form-urlencoded";
byte[] formData = UTF8Encoding.UTF8.GetBytes(postData);
using (Stream post = req.GetRequestStream()) {
post.Write(formData, 0, formData.Length);
}
// Pick up the response:
resp = req.GetResponse() as HttpWebResponse;

if (resp.StatusCode == System.Net.HttpStatusCode.OK) {
using (resp) {
StreamReader reader =
new StreamReader(resp.GetResponseStream());
result = reader.ReadToEnd();
}
}
} catch (Exception e) {
result = "error : " + e.Message;
}
String data = URLEncoder.encode("token", "UTF-8") + "=" + URLEncoder.encode("skyMV9YeaxQ7EjbEUHt8TUiP", "UTF-8");

URL url = new URL("GET : https://secure.qgiv.com/admin/api/reporting/refunds/last/10.xml");
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(data);
wr.flush();

BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
String output;
while ((line = rd.readLine()) != null) {
output += line;
}

wr.close();
rd.close();
return output;
var apiRequest = false;
var url = "GET : https://secure.qgiv.com/admin/api/reporting/refunds/last/10.xml";
var postData = "token=skyMV9YeaxQ7EjbEUHt8TUiP";
var results;

var isIE8 = window.XDomainRequest ? true : false;
if (typeof XMLHttpRequest != "undefined") {
if(isIE8) {
apiRequest = new Window.XDomainRequest()
} else {
apiRequest = new XMLHttpRequest();
}
} else if (window.ActiveXObject) {
var ieVersions = ["MSXML2.XMLHttp.5.0","MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp","Microsoft.XMLHttp"];
for (var i = 0; i < ieVersions.length; i++) {
try {
apiRequest = new ActiveXObject(aVersions[i]);
} catch(oError) {
throw new Error("XMLHttp object could be created.");
}
}
}

if (!apiRequest) {
alert("An error has occuerd while creating XMLHttpRequest object");
}


if (apiRequest) {
apiRequest.open("POST", url, true);
apiRequest.onreadystatechange = handleResponse;
apiRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
apiRequest.send(postData);
}

function handleResponse() {
if (apiRequest.readyState == 4) {
if (apiRequest.status == 200) {
results = apiRequest.responseText;
} else {
results = "Server response is unsuccessful";
}
} else {
results = "Server response is incomplete"
}
}
$postArray = array(
   'token' => '[your API token]'
);

$postString = http_build_query($postArray);

$url = 'GET : https://secure.qgiv.com/admin/api/reporting/refunds/last/10.xml';

$curlHandler = curl_init();

curl_setopt($curlHandler, CURLOPT_URL, $url);
curl_setopt($curlHandler, CURLOPT_POST, true);
curl_setopt($curlHandler, CURLOPT_POSTFIELDS, $postString);
curl_setopt($curlHandler, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curlHandler, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curlHandler, CURLOPT_SSL_VERIFYHOST, false);

$response = curl_exec($curlHandler);

if (curl_errno($curlHandler)) {
$response = 'error : '.curl_error($curlHandler);
} else {
curl_close($curlHandler);
}

return $response;

import urllib, urllib2

postArray = {
   'token' => '[your API token]'
}

postString = urllib.urlencode(postArray)

url = 'GET : https://secure.qgiv.com/admin/api/reporting/refunds/last/10.xml';

request = urllib2.Request(url, data=data)

try:
  response = urllib2.urlopen(request)
  result = response.read()
  response.close()
except urllib2.URLError, e:
  result = 'error : ' + str(e.code)

return result

GET : https://secure.qgiv.com/admin/api/reporting/refunds/after/[Refund ID]

[Refund ID] must be a valid Refund ID

Returns the refunds with ID's greater than the given ID

Qgiv Tester 88888888888 0 Qgiv Tester 50 Lake Morton Dr Lakeland Florida 33811 US 1111 donation form 0 n 351986 2014-12-09 10:20:47 2014-12-11 event Accepted n Credit Card Visa Test Event Private Package 1 10.00 10.00 Please choose your tshirt size below m I would like to volunteer for this event? no volunteer Test Field test answer Test Field 623 Qgiv 50 Lake Morton Dr Lakeland FL 33811 US noreply@qgiv.com October 24, 2014 18:46:03 n 3.00
Qgiv Form
{  
   "forms":[  
      {  
         "refunds":[  
            {  
               "title":"",
               "firstName":"Qgiv",
               "lastName":"Tester",
               "phone":"8888888888",
               "creatingTransactionFor":"0",
               "billingName":"Qgiv Tester",
               "billingAddress":"50 Lake Morton Dr",
               "billingCity":"Lakeland",
               "billingState":"FL",
               "billingZip":"33811",
               "billingCountry":"US",
               "lastFour":"1111",
               "associatedInfo":"",
               "donationSource":"donation form",
               "sourceID":"0",
               "optedIn":"n",
               "id":"1278",
               "transaction":"352037",
               "refundDate":"2014-12-09 10:20:47",
               "refundSettleDate":"2014-12-11",
               "transStatus":"Accepted",
               "type":"one time",
               "isRecurring":"n",
               "paymentType":"Credit Card",
               "paymentMethod":"Visa",
               "restriction":"623",
               "event":{  
                  "id":"4056",
                  "eventName":"Test Event",
                  "packages":[  
                     {  
                        "id":"10905",
                        "packageName":"Private Package",
                        "packageQuantity":"1",
                        "packageUnitCost":"10.00",
                        "packageTotal":"10.00",
                        "packageFields":[  
                           {  
                              "id":"41633",
                              "question":"Please choose your tshirt size below",
                              "answer":"m"
                           }
                        ]
                     }
                  ]
               },
               "eventFields":[  
                  {  
                     "id":"0",
                     "question":"I would like to volunteer for this event?",
                     "answer":"no",
                     "reference":"volunteer"
                  }
               ],
               "donationFields":[  
                  {  
                     "id":"3216",
                     "question":"Test Field",
                     "answer":"no",
                     "reference":"Test Field"
                  }
               ],
               "contactCompany":"Qgiv",
               "contactAddress":"50 Lake Morton Dr",
               "contactCity":"Lakeland",
               "contactState":"FL",
               "contactZip":"33811",
               "contactCountry":"US",
               "contactEmail":"noreply@qgiv.com",
               "formId":"2",
               "transactionDate":"October 24, 2014 19:21:06",
               "transactionWasAnonymous":"n",
               "transactionMemo":"",
               "value":"2.23",
               "form":{  
                  "id":"2",
                  "0":"Cipher Beta1"
               }
            }
          ]
      }
   ],
   ...
}
Libraries to use :
using System.Net;
using System.Text;
using System.IO;


string postData = "token=skyMV9YeaxQ7EjbEUHt8TUiP";
HttpWebResponse resp = null;
string result = null;

try {
HttpWebRequest req = WebRequest.Create(new Uri("GET : https://secure.qgiv.com/admin/api/reporting/refunds/after/300000.xml")) as HttpWebRequest;
req.Method = "POST";
req.Accept = "*/*";
req.UserAgent = "http_request/0.1";
req.Timeout = 50000;
req.ContentType = "application/x-www-form-urlencoded";
byte[] formData = UTF8Encoding.UTF8.GetBytes(postData);
using (Stream post = req.GetRequestStream()) {
post.Write(formData, 0, formData.Length);
}
// Pick up the response:
resp = req.GetResponse() as HttpWebResponse;

if (resp.StatusCode == System.Net.HttpStatusCode.OK) {
using (resp) {
StreamReader reader =
new StreamReader(resp.GetResponseStream());
result = reader.ReadToEnd();
}
}
} catch (Exception e) {
result = "error : " + e.Message;
}
String data = URLEncoder.encode("token", "UTF-8") + "=" + URLEncoder.encode("skyMV9YeaxQ7EjbEUHt8TUiP", "UTF-8");

URL url = new URL("GET : https://secure.qgiv.com/admin/api/reporting/refunds/after/300000.xml");
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(data);
wr.flush();

BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
String output;
while ((line = rd.readLine()) != null) {
output += line;
}

wr.close();
rd.close();
return output;
var apiRequest = false;
var url = "GET : https://secure.qgiv.com/admin/api/reporting/refunds/after/300000.xml";
var postData = "token=skyMV9YeaxQ7EjbEUHt8TUiP";
var results;

var isIE8 = window.XDomainRequest ? true : false;
if (typeof XMLHttpRequest != "undefined") {
if(isIE8) {
apiRequest = new Window.XDomainRequest()
} else {
apiRequest = new XMLHttpRequest();
}
} else if (window.ActiveXObject) {
var ieVersions = ["MSXML2.XMLHttp.5.0","MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp","Microsoft.XMLHttp"];
for (var i = 0; i < ieVersions.length; i++) {
try {
apiRequest = new ActiveXObject(aVersions[i]);
} catch(oError) {
throw new Error("XMLHttp object could be created.");
}
}
}

if (!apiRequest) {
alert("An error has occuerd while creating XMLHttpRequest object");
}


if (apiRequest) {
apiRequest.open("POST", url, true);
apiRequest.onreadystatechange = handleResponse;
apiRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
apiRequest.send(postData);
}

function handleResponse() {
if (apiRequest.readyState == 4) {
if (apiRequest.status == 200) {
results = apiRequest.responseText;
} else {
results = "Server response is unsuccessful";
}
} else {
results = "Server response is incomplete"
}
}
$postArray = array(
   'token' => '[your API token]'
);

$postString = http_build_query($postArray);

$url = 'GET : https://secure.qgiv.com/admin/api/reporting/refunds/after/300000.xml';

$curlHandler = curl_init();

curl_setopt($curlHandler, CURLOPT_URL, $url);
curl_setopt($curlHandler, CURLOPT_POST, true);
curl_setopt($curlHandler, CURLOPT_POSTFIELDS, $postString);
curl_setopt($curlHandler, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curlHandler, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curlHandler, CURLOPT_SSL_VERIFYHOST, false);

$response = curl_exec($curlHandler);

if (curl_errno($curlHandler)) {
$response = 'error : '.curl_error($curlHandler);
} else {
curl_close($curlHandler);
}

return $response;

import urllib, urllib2

postArray = {
   'token' => '[your API token]'
}

postString = urllib.urlencode(postArray)

url = 'GET : https://secure.qgiv.com/admin/api/reporting/refunds/after/300000.xml';

request = urllib2.Request(url, data=data)

try:
  response = urllib2.urlopen(request)
  result = response.read()
  response.close()
except urllib2.URLError, e:
  result = 'error : ' + str(e.code)

return result

GET : https://secure.qgiv.com/admin/api/reporting/refunds/dates/[begin]:[end]

[begin] and [end] must be valid dates in the following format: MMDDYYYY or MM-DD-YYYY

ex. /reporting/refunds/dates/01012012:12312012 or /reporting/refunds/dates/01-01-2012:12-31-2012

Timestamps can also be inputted to further filter results by using the following format: MMDDYYYY HHIISS ex. /reporting/refunds/dates/01-01-2012 083000:12-31-2012 093000

Returns all refunds associated with the current form or organization

Qgiv Tester 88888888888 0 Qgiv Tester 50 Lake Morton Dr Lakeland Florida 33811 US 1111 donation form 0 n 351986 2014-12-09 10:20:47 2014-12-11 event Accepted n Credit Card Visa Test Event Private Package 1 10.00 10.00 Please choose your tshirt size below m I would like to volunteer for this event? no volunteer Test Field test answer Test Field 623 Qgiv 50 Lake Morton Dr Lakeland FL 33811 US noreply@qgiv.com October 24, 2014 18:46:03 n 3.00
Qgiv Form
{  
   "forms":[  
      {  
         "refunds":[  
            {  
               "title":"",
               "firstName":"Qgiv",
               "lastName":"Tester",
               "phone":"8888888888",
               "creatingTransactionFor":"0",
               "billingName":"Qgiv Tester",
               "billingAddress":"50 Lake Morton Dr",
               "billingCity":"Lakeland",
               "billingState":"FL",
               "billingZip":"33811",
               "billingCountry":"US",
               "lastFour":"1111",
               "associatedInfo":"",
               "donationSource":"donation form",
               "sourceID":"0",
               "optedIn":"n",
               "id":"1278",
               "transaction":"352037",
               "refundDate":"2014-12-09 10:20:47",
               "refundSettleDate":"2014-12-11",
               "transStatus":"Accepted",
               "type":"one time",
               "isRecurring":"n",
               "paymentType":"Credit Card",
               "paymentMethod":"Visa",
               "restriction":"623",
               "event":{  
                  "id":"4056",
                  "eventName":"Test Event",
                  "packages":[  
                     {  
                        "id":"10905",
                        "packageName":"Private Package",
                        "packageQuantity":"1",
                        "packageUnitCost":"10.00",
                        "packageTotal":"10.00",
                        "packageFields":[  
                           {  
                              "id":"41633",
                              "question":"Please choose your tshirt size below",
                              "answer":"m"
                           }
                        ]
                     }
                  ]
               },
               "eventFields":[  
                  {  
                     "id":"0",
                     "question":"I would like to volunteer for this event?",
                     "answer":"no",
                     "reference":"volunteer"
                  }
               ],
               "donationFields":[  
                  {  
                     "id":"3216",
                     "question":"Test Field",
                     "answer":"no",
                     "reference":"Test Field"
                  }
               ],
               "contactCompany":"Qgiv",
               "contactAddress":"50 Lake Morton Dr",
               "contactCity":"Lakeland",
               "contactState":"FL",
               "contactZip":"33811",
               "contactCountry":"US",
               "contactEmail":"noreply@qgiv.com",
               "formId":"2",
               "transactionDate":"October 24, 2014 19:21:06",
               "transactionWasAnonymous":"n",
               "transactionMemo":"",
               "value":"2.23",
               "form":{  
                  "id":"2",
                  "0":"Cipher Beta1"
               }
            }
          ]
      }
   ],
   ...
}
Libraries to use :
using System.Net;
using System.Text;
using System.IO;


string postData = "token=skyMV9YeaxQ7EjbEUHt8TUiP";
HttpWebResponse resp = null;
string result = null;

try {
HttpWebRequest req = WebRequest.Create(new Uri("https://secure.qgiv.com/admin/api/reporting/refunds/dates/01012012:12312012.xml")) as HttpWebRequest;
req.Method = "POST";
req.Accept = "*/*";
req.UserAgent = "http_request/0.1";
req.Timeout = 50000;
req.ContentType = "application/x-www-form-urlencoded";
byte[] formData = UTF8Encoding.UTF8.GetBytes(postData);
using (Stream post = req.GetRequestStream()) {
post.Write(formData, 0, formData.Length);
}
// Pick up the response:
resp = req.GetResponse() as HttpWebResponse;

if (resp.StatusCode == System.Net.HttpStatusCode.OK) {
using (resp) {
StreamReader reader =
new StreamReader(resp.GetResponseStream());
result = reader.ReadToEnd();
}
}
} catch (Exception e) {
result = "error : " + e.Message;
}
String data = URLEncoder.encode("token", "UTF-8") + "=" + URLEncoder.encode("skyMV9YeaxQ7EjbEUHt8TUiP", "UTF-8");

URL url = new URL("https://secure.qgiv.com/admin/api/reporting/refunds/dates/01012012:12312012.xml");
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(data);
wr.flush();

BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
String output;
while ((line = rd.readLine()) != null) {
output += line;
}

wr.close();
rd.close();
return output;
var apiRequest = false;
var url = "https://secure.qgiv.com/admin/api/reporting/refunds/dates/01012012:12312012.xml";
var postData = "token=skyMV9YeaxQ7EjbEUHt8TUiP";
var results;

var isIE8 = window.XDomainRequest ? true : false;
if (typeof XMLHttpRequest != "undefined") {
if(isIE8) {
apiRequest = new Window.XDomainRequest()
} else {
apiRequest = new XMLHttpRequest();
}
} else if (window.ActiveXObject) {
var ieVersions = ["MSXML2.XMLHttp.5.0","MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp","Microsoft.XMLHttp"];
for (var i = 0; i < ieVersions.length; i++) {
try {
apiRequest = new ActiveXObject(aVersions[i]);
} catch(oError) {
throw new Error("XMLHttp object could be created.");
}
}
}

if (!apiRequest) {
alert("An error has occuerd while creating XMLHttpRequest object");
}


if (apiRequest) {
apiRequest.open("POST", url, true);
apiRequest.onreadystatechange = handleResponse;
apiRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
apiRequest.send(postData);
}

function handleResponse() {
if (apiRequest.readyState == 4) {
if (apiRequest.status == 200) {
results = apiRequest.responseText;
} else {
results = "Server response is unsuccessful";
}
} else {
results = "Server response is incomplete"
}
}
$postArray = array(
   'token' => '[your API token]'
);

$postString = http_build_query($postArray);

$url = 'https://secure.qgiv.com/admin/api/reporting/refunds/dates/01012012:12312012.xml';

$curlHandler = curl_init();

curl_setopt($curlHandler, CURLOPT_URL, $url);
curl_setopt($curlHandler, CURLOPT_POST, true);
curl_setopt($curlHandler, CURLOPT_POSTFIELDS, $postString);
curl_setopt($curlHandler, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curlHandler, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curlHandler, CURLOPT_SSL_VERIFYHOST, false);

$response = curl_exec($curlHandler);

if (curl_errno($curlHandler)) {
$response = 'error : '.curl_error($curlHandler);
} else {
curl_close($curlHandler);
}

return $response;

import urllib, urllib2

postArray = {
   'token' => '[your API token]'
}

postString = urllib.urlencode(postArray)

url = 'https://secure.qgiv.com/admin/api/reporting/refunds/dates/01012012:12312012.xml';

request = urllib2.Request(url, data=data)

try:
  response = urllib2.urlopen(request)
  result = response.read()
  response.close()
except urllib2.URLError, e:
  result = 'error : ' + str(e.code)

return result

GET : https://secure.qgiv.com/admin/api/reporting/refunds/[id]

Returns the refund requested, individually specified by ID.

Qgiv Tester 88888888888 0 Qgiv Tester 50 Lake Morton Dr Lakeland Florida 33811 US 1111 donation form 0 n 351986 2014-12-09 10:20:47 2014-12-11 event Accepted n Credit Card Visa Test Event Private Package 1 10.00 10.00 Please choose your tshirt size below m I would like to volunteer for this event? no volunteer Test Field test answer Test Field 623 Qgiv 50 Lake Morton Dr Lakeland FL 33811 US noreply@qgiv.com October 24, 2014 18:46:03 n 3.00
Qgiv Form
{  
   "forms":[  
      {  
         "refunds":[  
            {  
               "title":"",
               "firstName":"Qgiv",
               "lastName":"Tester",
               "phone":"8888888888",
               "creatingTransactionFor":"0",
               "billingName":"Qgiv Tester",
               "billingAddress":"50 Lake Morton Dr",
               "billingCity":"Lakeland",
               "billingState":"FL",
               "billingZip":"33811",
               "billingCountry":"US",
               "lastFour":"1111",
               "associatedInfo":"",
               "donationSource":"donation form",
               "sourceID":"0",
               "optedIn":"n",
               "id":"1278",
               "transaction":"352037",
               "refundDate":"2014-12-09 10:20:47",
               "refundSettleDate":"2014-12-11",
               "transStatus":"Accepted",
               "type":"one time",
               "isRecurring":"n",
               "paymentType":"Credit Card",
               "paymentMethod":"Visa",
               "restriction":"623",
               "event":{  
                  "id":"4056",
                  "eventName":"Test Event",
                  "packages":[  
                     {  
                        "id":"10905",
                        "packageName":"Private Package",
                        "packageQuantity":"1",
                        "packageUnitCost":"10.00",
                        "packageTotal":"10.00",
                        "packageFields":[  
                           {  
                              "id":"41633",
                              "question":"Please choose your tshirt size below",
                              "answer":"m"
                           }
                        ]
                     }
                  ]
               },
               "eventFields":[  
                  {  
                     "id":"0",
                     "question":"I would like to volunteer for this event?",
                     "answer":"no",
                     "reference":"volunteer"
                  }
               ],
               "donationFields":[  
                  {  
                     "id":"3216",
                     "question":"Test Field",
                     "answer":"no",
                     "reference":"Test Field"
                  }
               ],
               "contactCompany":"Qgiv",
               "contactAddress":"50 Lake Morton Dr",
               "contactCity":"Lakeland",
               "contactState":"FL",
               "contactZip":"33811",
               "contactCountry":"US",
               "contactEmail":"noreply@qgiv.com",
               "formId":"2",
               "transactionDate":"October 24, 2014 19:21:06",
               "transactionWasAnonymous":"n",
               "transactionMemo":"",
               "value":"2.23",
               "form":{  
                  "id":"2",
                  "0":"Cipher Beta1"
               }
            }
          ]
      }
   ],
   ...
}
Libraries to use :
using System.Net;
using System.Text;
using System.IO;


string postData = "token=skyMV9YeaxQ7EjbEUHt8TUiP";
HttpWebResponse resp = null;
string result = null;

try {
HttpWebRequest req = WebRequest.Create(new Uri("https://secure.qgiv.com/admin/api/reporting/refunds/347683.xml")) as HttpWebRequest;
req.Method = "POST";
req.Accept = "*/*";
req.UserAgent = "http_request/0.1";
req.Timeout = 50000;
req.ContentType = "application/x-www-form-urlencoded";
byte[] formData = UTF8Encoding.UTF8.GetBytes(postData);
using (Stream post = req.GetRequestStream()) {
post.Write(formData, 0, formData.Length);
}
// Pick up the response:
resp = req.GetResponse() as HttpWebResponse;

if (resp.StatusCode == System.Net.HttpStatusCode.OK) {
using (resp) {
StreamReader reader =
new StreamReader(resp.GetResponseStream());
result = reader.ReadToEnd();
}
}
} catch (Exception e) {
result = "error : " + e.Message;
}
String data = URLEncoder.encode("token", "UTF-8") + "=" + URLEncoder.encode("skyMV9YeaxQ7EjbEUHt8TUiP", "UTF-8");

URL url = new URL("https://secure.qgiv.com/admin/api/reporting/refunds/347683.xml");
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(data);
wr.flush();

BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
String output;
while ((line = rd.readLine()) != null) {
output += line;
}

wr.close();
rd.close();
return output;
var apiRequest = false;
var url = "https://secure.qgiv.com/admin/api/reporting/refunds/347683.xml";
var postData = "token=skyMV9YeaxQ7EjbEUHt8TUiP";
var results;

var isIE8 = window.XDomainRequest ? true : false;
if (typeof XMLHttpRequest != "undefined") {
if(isIE8) {
apiRequest = new Window.XDomainRequest()
} else {
apiRequest = new XMLHttpRequest();
}
} else if (window.ActiveXObject) {
var ieVersions = ["MSXML2.XMLHttp.5.0","MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp","Microsoft.XMLHttp"];
for (var i = 0; i < ieVersions.length; i++) {
try {
apiRequest = new ActiveXObject(aVersions[i]);
} catch(oError) {
throw new Error("XMLHttp object could be created.");
}
}
}

if (!apiRequest) {
alert("An error has occuerd while creating XMLHttpRequest object");
}


if (apiRequest) {
apiRequest.open("POST", url, true);
apiRequest.onreadystatechange = handleResponse;
apiRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
apiRequest.send(postData);
}

function handleResponse() {
if (apiRequest.readyState == 4) {
if (apiRequest.status == 200) {
results = apiRequest.responseText;
} else {
results = "Server response is unsuccessful";
}
} else {
results = "Server response is incomplete"
}
}
$postArray = array(
   'token' => '[your API token]'
);

$postString = http_build_query($postArray);

$url = 'https://secure.qgiv.com/admin/api/reporting/refunds/347683.xml';

$curlHandler = curl_init();

curl_setopt($curlHandler, CURLOPT_URL, $url);
curl_setopt($curlHandler, CURLOPT_POST, true);
curl_setopt($curlHandler, CURLOPT_POSTFIELDS, $postString);
curl_setopt($curlHandler, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curlHandler, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curlHandler, CURLOPT_SSL_VERIFYHOST, false);

$response = curl_exec($curlHandler);

if (curl_errno($curlHandler)) {
$response = 'error : '.curl_error($curlHandler);
} else {
curl_close($curlHandler);
}

return $response;

import urllib, urllib2

postArray = {
   'token' => '[your API token]'
}

postString = urllib.urlencode(postArray)

url = 'https://secure.qgiv.com/admin/api/reporting/refunds/347683.xml';

request = urllib2.Request(url, data=data)

try:
  response = urllib2.urlopen(request)
  result = response.read()
  response.close()
except urllib2.URLError, e:
  result = 'error : ' + str(e.code)

return result


* denotes a required field

** denotes a required field based on Event settings

*** denotes a field that is only required when submitting Form level API credentials