import Conductor from 'conductor-node';
const conductor = new Conductor({
apiKey: process.env['CONDUCTOR_SECRET_KEY'], // This is the default and can be omitted
});
const creditCardRefund = await conductor.qbd.creditCardRefunds.create({
customerId: '80000001-1234567890',
refundAppliedToTransactions: [{ refundAmount: '15.00', transactionId: '123ABC-1234567890' }],
transactionDate: '2024-10-01',
conductorEndUserId: 'end_usr_1234567abcdefg',
});
console.log(creditCardRefund.id);import os
from datetime import date
from conductor import Conductor
conductor = Conductor(
api_key=os.environ.get("CONDUCTOR_SECRET_KEY"), # This is the default and can be omitted
)
credit_card_refund = conductor.qbd.credit_card_refunds.create(
customer_id="80000001-1234567890",
refund_applied_to_transactions=[{
"refund_amount": "15.00",
"transaction_id": "123ABC-1234567890",
}],
transaction_date=date.fromisoformat("2024-10-01"),
conductor_end_user_id="end_usr_1234567abcdefg",
)
print(credit_card_refund.id)curl --request POST \
--url https://api.conductor.is/v1/quickbooks-desktop/credit-card-refunds \
--header 'Authorization: Bearer <token>' \
--header 'Conductor-End-User-Id: <conductor-end-user-id>' \
--header 'Content-Type: application/json' \
--data '
{
"customerId": "80000001-1234567890",
"transactionDate": "2024-10-01",
"refundAppliedToTransactions": [
{
"transactionId": "123ABC-1234567890",
"refundAmount": "15.00"
}
],
"refundFromAccountId": "80000001-1234567890",
"receivablesAccountId": "80000001-1234567890",
"refNumber": "REFUND-1234",
"address": {
"line1": "Conductor Labs Inc.",
"line2": "540 Market St.",
"line3": "Suite 100",
"line4": "",
"line5": "",
"city": "San Francisco",
"state": "CA",
"postalCode": "94110",
"country": "United States",
"note": "Conductor HQ"
},
"paymentMethodId": "80000001-1234567890",
"memo": "Refund to customer for duplicate credit card charge",
"creditCardTransaction": {},
"exchangeRate": 1.2345,
"externalId": "12345678-abcd-1234-abcd-1234567890ab"
}
'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.conductor.is/v1/quickbooks-desktop/credit-card-refunds",
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([
'customerId' => '80000001-1234567890',
'transactionDate' => '2024-10-01',
'refundAppliedToTransactions' => [
[
'transactionId' => '123ABC-1234567890',
'refundAmount' => '15.00'
]
],
'refundFromAccountId' => '80000001-1234567890',
'receivablesAccountId' => '80000001-1234567890',
'refNumber' => 'REFUND-1234',
'address' => [
'line1' => 'Conductor Labs Inc.',
'line2' => '540 Market St.',
'line3' => 'Suite 100',
'line4' => '',
'line5' => '',
'city' => 'San Francisco',
'state' => 'CA',
'postalCode' => '94110',
'country' => 'United States',
'note' => 'Conductor HQ'
],
'paymentMethodId' => '80000001-1234567890',
'memo' => 'Refund to customer for duplicate credit card charge',
'creditCardTransaction' => [
],
'exchangeRate' => 1.2345,
'externalId' => '12345678-abcd-1234-abcd-1234567890ab'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Conductor-End-User-Id: <conductor-end-user-id>",
"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.conductor.is/v1/quickbooks-desktop/credit-card-refunds"
payload := strings.NewReader("{\n \"customerId\": \"80000001-1234567890\",\n \"transactionDate\": \"2024-10-01\",\n \"refundAppliedToTransactions\": [\n {\n \"transactionId\": \"123ABC-1234567890\",\n \"refundAmount\": \"15.00\"\n }\n ],\n \"refundFromAccountId\": \"80000001-1234567890\",\n \"receivablesAccountId\": \"80000001-1234567890\",\n \"refNumber\": \"REFUND-1234\",\n \"address\": {\n \"line1\": \"Conductor Labs Inc.\",\n \"line2\": \"540 Market St.\",\n \"line3\": \"Suite 100\",\n \"line4\": \"\",\n \"line5\": \"\",\n \"city\": \"San Francisco\",\n \"state\": \"CA\",\n \"postalCode\": \"94110\",\n \"country\": \"United States\",\n \"note\": \"Conductor HQ\"\n },\n \"paymentMethodId\": \"80000001-1234567890\",\n \"memo\": \"Refund to customer for duplicate credit card charge\",\n \"creditCardTransaction\": {},\n \"exchangeRate\": 1.2345,\n \"externalId\": \"12345678-abcd-1234-abcd-1234567890ab\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Conductor-End-User-Id", "<conductor-end-user-id>")
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.conductor.is/v1/quickbooks-desktop/credit-card-refunds")
.header("Conductor-End-User-Id", "<conductor-end-user-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"customerId\": \"80000001-1234567890\",\n \"transactionDate\": \"2024-10-01\",\n \"refundAppliedToTransactions\": [\n {\n \"transactionId\": \"123ABC-1234567890\",\n \"refundAmount\": \"15.00\"\n }\n ],\n \"refundFromAccountId\": \"80000001-1234567890\",\n \"receivablesAccountId\": \"80000001-1234567890\",\n \"refNumber\": \"REFUND-1234\",\n \"address\": {\n \"line1\": \"Conductor Labs Inc.\",\n \"line2\": \"540 Market St.\",\n \"line3\": \"Suite 100\",\n \"line4\": \"\",\n \"line5\": \"\",\n \"city\": \"San Francisco\",\n \"state\": \"CA\",\n \"postalCode\": \"94110\",\n \"country\": \"United States\",\n \"note\": \"Conductor HQ\"\n },\n \"paymentMethodId\": \"80000001-1234567890\",\n \"memo\": \"Refund to customer for duplicate credit card charge\",\n \"creditCardTransaction\": {},\n \"exchangeRate\": 1.2345,\n \"externalId\": \"12345678-abcd-1234-abcd-1234567890ab\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.conductor.is/v1/quickbooks-desktop/credit-card-refunds")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Conductor-End-User-Id"] = '<conductor-end-user-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"customerId\": \"80000001-1234567890\",\n \"transactionDate\": \"2024-10-01\",\n \"refundAppliedToTransactions\": [\n {\n \"transactionId\": \"123ABC-1234567890\",\n \"refundAmount\": \"15.00\"\n }\n ],\n \"refundFromAccountId\": \"80000001-1234567890\",\n \"receivablesAccountId\": \"80000001-1234567890\",\n \"refNumber\": \"REFUND-1234\",\n \"address\": {\n \"line1\": \"Conductor Labs Inc.\",\n \"line2\": \"540 Market St.\",\n \"line3\": \"Suite 100\",\n \"line4\": \"\",\n \"line5\": \"\",\n \"city\": \"San Francisco\",\n \"state\": \"CA\",\n \"postalCode\": \"94110\",\n \"country\": \"United States\",\n \"note\": \"Conductor HQ\"\n },\n \"paymentMethodId\": \"80000001-1234567890\",\n \"memo\": \"Refund to customer for duplicate credit card charge\",\n \"creditCardTransaction\": {},\n \"exchangeRate\": 1.2345,\n \"externalId\": \"12345678-abcd-1234-abcd-1234567890ab\"\n}"
response = http.request(request)
puts response.read_body{
"id": "123ABC-1234567890",
"objectType": "qbd_credit_card_refund",
"createdAt": "2025-01-01T12:34:56.000Z",
"updatedAt": "2025-02-01T12:34:56.000Z",
"revisionNumber": "1721172183",
"customer": {
"id": "80000001-1234567890",
"fullName": "Acme Corporation"
},
"refundFromAccount": {
"id": "80000001-1234567890",
"fullName": "Undeposited Funds"
},
"receivablesAccount": {
"id": "80000001-1234567890",
"fullName": "Accounts-Receivable"
},
"transactionDate": "2024-10-01",
"refNumber": "REFUND-1234",
"totalAmount": "1000.00",
"currency": {
"id": "80000001-1234567890",
"fullName": "USD"
},
"exchangeRate": 1.2345,
"totalAmountInHomeCurrency": "1234.56",
"address": {
"line1": "Conductor Labs Inc.",
"line2": "540 Market St.",
"line3": "Suite 100",
"line4": "",
"line5": "",
"city": "San Francisco",
"state": "CA",
"postalCode": "94110",
"country": "United States",
"note": "Conductor HQ"
},
"paymentMethod": {
"id": "80000001-1234567890",
"fullName": "Credit Card"
},
"memo": "Refund to customer for duplicate credit card charge",
"creditCardTransaction": {
"request": {
"number": "xxxxxxxxxxxx1234",
"expirationMonth": 12,
"expirationYear": 2024,
"name": "John Doe",
"address": "1234 Main St, Anytown, USA, 12345",
"postalCode": "12345",
"commercialCardCode": "corporate",
"transactionMode": "card_not_present",
"transactionType": "charge"
},
"response": {
"statusCode": 0,
"statusMessage": "Success",
"creditCardTransactionId": "1234567890",
"merchantAccountNumber": "1234567890",
"authorizationCode": "1234567890",
"avsStreetStatus": "pass",
"avsZipStatus": "pass",
"cardSecurityCodeMatch": "pass",
"reconBatchId": "1234567890",
"paymentGroupingCode": 2,
"paymentStatus": "completed",
"transactionAuthorizedAt": "2024-01-01T12:34:56.000Z",
"transactionAuthorizationStamp": 2,
"clientTransactionId": "1234567890"
}
},
"externalId": "12345678-abcd-1234-abcd-1234567890ab",
"refundAppliedToTransactions": [
{
"transactionId": "123ABC-1234567890",
"transactionType": "invoice",
"transactionDate": "2024-10-01T00:00:00.000Z",
"refNumber": "CREDIT-1234",
"creditRemaining": "25.11",
"refundAmount": "15.00",
"creditRemainingInHomeCurrency": "25.11",
"refundAmountInHomeCurrency": "15.00"
}
],
"customFields": [
{
"ownerId": "0",
"name": "Customer Rating",
"type": "string_1024_type",
"value": "Premium"
}
]
}Create a credit card refund
Creates a credit card refund linked to one or more existing credit transactions, such as credit memos or overpayments. You must supply at least one entry in refundAppliedToTransactions, and the refund amount cannot exceed the available balance on the linked credits.
import Conductor from 'conductor-node';
const conductor = new Conductor({
apiKey: process.env['CONDUCTOR_SECRET_KEY'], // This is the default and can be omitted
});
const creditCardRefund = await conductor.qbd.creditCardRefunds.create({
customerId: '80000001-1234567890',
refundAppliedToTransactions: [{ refundAmount: '15.00', transactionId: '123ABC-1234567890' }],
transactionDate: '2024-10-01',
conductorEndUserId: 'end_usr_1234567abcdefg',
});
console.log(creditCardRefund.id);import os
from datetime import date
from conductor import Conductor
conductor = Conductor(
api_key=os.environ.get("CONDUCTOR_SECRET_KEY"), # This is the default and can be omitted
)
credit_card_refund = conductor.qbd.credit_card_refunds.create(
customer_id="80000001-1234567890",
refund_applied_to_transactions=[{
"refund_amount": "15.00",
"transaction_id": "123ABC-1234567890",
}],
transaction_date=date.fromisoformat("2024-10-01"),
conductor_end_user_id="end_usr_1234567abcdefg",
)
print(credit_card_refund.id)curl --request POST \
--url https://api.conductor.is/v1/quickbooks-desktop/credit-card-refunds \
--header 'Authorization: Bearer <token>' \
--header 'Conductor-End-User-Id: <conductor-end-user-id>' \
--header 'Content-Type: application/json' \
--data '
{
"customerId": "80000001-1234567890",
"transactionDate": "2024-10-01",
"refundAppliedToTransactions": [
{
"transactionId": "123ABC-1234567890",
"refundAmount": "15.00"
}
],
"refundFromAccountId": "80000001-1234567890",
"receivablesAccountId": "80000001-1234567890",
"refNumber": "REFUND-1234",
"address": {
"line1": "Conductor Labs Inc.",
"line2": "540 Market St.",
"line3": "Suite 100",
"line4": "",
"line5": "",
"city": "San Francisco",
"state": "CA",
"postalCode": "94110",
"country": "United States",
"note": "Conductor HQ"
},
"paymentMethodId": "80000001-1234567890",
"memo": "Refund to customer for duplicate credit card charge",
"creditCardTransaction": {},
"exchangeRate": 1.2345,
"externalId": "12345678-abcd-1234-abcd-1234567890ab"
}
'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.conductor.is/v1/quickbooks-desktop/credit-card-refunds",
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([
'customerId' => '80000001-1234567890',
'transactionDate' => '2024-10-01',
'refundAppliedToTransactions' => [
[
'transactionId' => '123ABC-1234567890',
'refundAmount' => '15.00'
]
],
'refundFromAccountId' => '80000001-1234567890',
'receivablesAccountId' => '80000001-1234567890',
'refNumber' => 'REFUND-1234',
'address' => [
'line1' => 'Conductor Labs Inc.',
'line2' => '540 Market St.',
'line3' => 'Suite 100',
'line4' => '',
'line5' => '',
'city' => 'San Francisco',
'state' => 'CA',
'postalCode' => '94110',
'country' => 'United States',
'note' => 'Conductor HQ'
],
'paymentMethodId' => '80000001-1234567890',
'memo' => 'Refund to customer for duplicate credit card charge',
'creditCardTransaction' => [
],
'exchangeRate' => 1.2345,
'externalId' => '12345678-abcd-1234-abcd-1234567890ab'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Conductor-End-User-Id: <conductor-end-user-id>",
"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.conductor.is/v1/quickbooks-desktop/credit-card-refunds"
payload := strings.NewReader("{\n \"customerId\": \"80000001-1234567890\",\n \"transactionDate\": \"2024-10-01\",\n \"refundAppliedToTransactions\": [\n {\n \"transactionId\": \"123ABC-1234567890\",\n \"refundAmount\": \"15.00\"\n }\n ],\n \"refundFromAccountId\": \"80000001-1234567890\",\n \"receivablesAccountId\": \"80000001-1234567890\",\n \"refNumber\": \"REFUND-1234\",\n \"address\": {\n \"line1\": \"Conductor Labs Inc.\",\n \"line2\": \"540 Market St.\",\n \"line3\": \"Suite 100\",\n \"line4\": \"\",\n \"line5\": \"\",\n \"city\": \"San Francisco\",\n \"state\": \"CA\",\n \"postalCode\": \"94110\",\n \"country\": \"United States\",\n \"note\": \"Conductor HQ\"\n },\n \"paymentMethodId\": \"80000001-1234567890\",\n \"memo\": \"Refund to customer for duplicate credit card charge\",\n \"creditCardTransaction\": {},\n \"exchangeRate\": 1.2345,\n \"externalId\": \"12345678-abcd-1234-abcd-1234567890ab\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Conductor-End-User-Id", "<conductor-end-user-id>")
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.conductor.is/v1/quickbooks-desktop/credit-card-refunds")
.header("Conductor-End-User-Id", "<conductor-end-user-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"customerId\": \"80000001-1234567890\",\n \"transactionDate\": \"2024-10-01\",\n \"refundAppliedToTransactions\": [\n {\n \"transactionId\": \"123ABC-1234567890\",\n \"refundAmount\": \"15.00\"\n }\n ],\n \"refundFromAccountId\": \"80000001-1234567890\",\n \"receivablesAccountId\": \"80000001-1234567890\",\n \"refNumber\": \"REFUND-1234\",\n \"address\": {\n \"line1\": \"Conductor Labs Inc.\",\n \"line2\": \"540 Market St.\",\n \"line3\": \"Suite 100\",\n \"line4\": \"\",\n \"line5\": \"\",\n \"city\": \"San Francisco\",\n \"state\": \"CA\",\n \"postalCode\": \"94110\",\n \"country\": \"United States\",\n \"note\": \"Conductor HQ\"\n },\n \"paymentMethodId\": \"80000001-1234567890\",\n \"memo\": \"Refund to customer for duplicate credit card charge\",\n \"creditCardTransaction\": {},\n \"exchangeRate\": 1.2345,\n \"externalId\": \"12345678-abcd-1234-abcd-1234567890ab\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.conductor.is/v1/quickbooks-desktop/credit-card-refunds")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Conductor-End-User-Id"] = '<conductor-end-user-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"customerId\": \"80000001-1234567890\",\n \"transactionDate\": \"2024-10-01\",\n \"refundAppliedToTransactions\": [\n {\n \"transactionId\": \"123ABC-1234567890\",\n \"refundAmount\": \"15.00\"\n }\n ],\n \"refundFromAccountId\": \"80000001-1234567890\",\n \"receivablesAccountId\": \"80000001-1234567890\",\n \"refNumber\": \"REFUND-1234\",\n \"address\": {\n \"line1\": \"Conductor Labs Inc.\",\n \"line2\": \"540 Market St.\",\n \"line3\": \"Suite 100\",\n \"line4\": \"\",\n \"line5\": \"\",\n \"city\": \"San Francisco\",\n \"state\": \"CA\",\n \"postalCode\": \"94110\",\n \"country\": \"United States\",\n \"note\": \"Conductor HQ\"\n },\n \"paymentMethodId\": \"80000001-1234567890\",\n \"memo\": \"Refund to customer for duplicate credit card charge\",\n \"creditCardTransaction\": {},\n \"exchangeRate\": 1.2345,\n \"externalId\": \"12345678-abcd-1234-abcd-1234567890ab\"\n}"
response = http.request(request)
puts response.read_body{
"id": "123ABC-1234567890",
"objectType": "qbd_credit_card_refund",
"createdAt": "2025-01-01T12:34:56.000Z",
"updatedAt": "2025-02-01T12:34:56.000Z",
"revisionNumber": "1721172183",
"customer": {
"id": "80000001-1234567890",
"fullName": "Acme Corporation"
},
"refundFromAccount": {
"id": "80000001-1234567890",
"fullName": "Undeposited Funds"
},
"receivablesAccount": {
"id": "80000001-1234567890",
"fullName": "Accounts-Receivable"
},
"transactionDate": "2024-10-01",
"refNumber": "REFUND-1234",
"totalAmount": "1000.00",
"currency": {
"id": "80000001-1234567890",
"fullName": "USD"
},
"exchangeRate": 1.2345,
"totalAmountInHomeCurrency": "1234.56",
"address": {
"line1": "Conductor Labs Inc.",
"line2": "540 Market St.",
"line3": "Suite 100",
"line4": "",
"line5": "",
"city": "San Francisco",
"state": "CA",
"postalCode": "94110",
"country": "United States",
"note": "Conductor HQ"
},
"paymentMethod": {
"id": "80000001-1234567890",
"fullName": "Credit Card"
},
"memo": "Refund to customer for duplicate credit card charge",
"creditCardTransaction": {
"request": {
"number": "xxxxxxxxxxxx1234",
"expirationMonth": 12,
"expirationYear": 2024,
"name": "John Doe",
"address": "1234 Main St, Anytown, USA, 12345",
"postalCode": "12345",
"commercialCardCode": "corporate",
"transactionMode": "card_not_present",
"transactionType": "charge"
},
"response": {
"statusCode": 0,
"statusMessage": "Success",
"creditCardTransactionId": "1234567890",
"merchantAccountNumber": "1234567890",
"authorizationCode": "1234567890",
"avsStreetStatus": "pass",
"avsZipStatus": "pass",
"cardSecurityCodeMatch": "pass",
"reconBatchId": "1234567890",
"paymentGroupingCode": 2,
"paymentStatus": "completed",
"transactionAuthorizedAt": "2024-01-01T12:34:56.000Z",
"transactionAuthorizationStamp": 2,
"clientTransactionId": "1234567890"
}
},
"externalId": "12345678-abcd-1234-abcd-1234567890ab",
"refundAppliedToTransactions": [
{
"transactionId": "123ABC-1234567890",
"transactionType": "invoice",
"transactionDate": "2024-10-01T00:00:00.000Z",
"refNumber": "CREDIT-1234",
"creditRemaining": "25.11",
"refundAmount": "15.00",
"creditRemainingInHomeCurrency": "25.11",
"refundAmountInHomeCurrency": "15.00"
}
],
"customFields": [
{
"ownerId": "0",
"name": "Customer Rating",
"type": "string_1024_type",
"value": "Premium"
}
]
}Authorizations
Your Conductor secret key using Bearer auth (e.g., "Authorization: Bearer {{YOUR_SECRET_KEY}}").
Headers
The ID of the End-User to receive this request.
"end_usr_1234567abcdefg"
Body
The customer or customer-job associated with this credit card refund.
36"80000001-1234567890"
The date of this credit card refund, in ISO 8601 format (YYYY-MM-DD).
"2024-10-01"
The credit transactions to refund in this credit card refund. Each entry links this credit card refund to an existing credit (for example, a credit memo or unused receive-payment credit).
IMPORTANT: The refundAmount for each linked credit cannot exceed that credit's remaining balance, and the combined refundAmount across all links cannot exceed this credit card refund's totalAmount.
1Show child attributes
Show child attributes
The account providing funds for this credit card refund. This is typically the Undeposited Funds account used to hold customer payments. If omitted, QuickBooks Desktop uses the default Undeposited Funds account configured in the company file.
36"80000001-1234567890"
The Accounts-Receivable (A/R) account to which this credit card refund is assigned, used to track the amount owed. If omitted, QuickBooks Desktop uses the default A/R account configured in the company file.
IMPORTANT: If this credit card refund is linked to other transactions, this A/R account must match the receivablesAccount used in all linked transactions. For example, when refunding a credit card payment, the A/R account must match the one used in each linked credit transaction being refunded.
36"80000001-1234567890"
The case-sensitive user-defined reference number for this credit card refund, which can be used to identify the transaction in QuickBooks. This value is not required to be unique and can be arbitrarily changed by the QuickBooks user. When left blank in this create request, this field will be left blank in QuickBooks (i.e., it does not auto-increment).
Maximum length: 11 characters.
11"REFUND-1234"
The address that is printed on the credit card refund.
Show child attributes
Show child attributes
The credit card refund's payment method (e.g., cash, check, credit card).
NOTE: If this credit card refund contains credit card transaction data supplied from QuickBooks Merchant Services (QBMS) transaction responses, you must specify a credit card payment method (e.g., "Visa", "MasterCard", etc.).
36"80000001-1234567890"
A memo or note for this credit card refund.
"Refund to customer for duplicate credit card charge"
The credit card transaction data for this credit card refund's payment when using QuickBooks Merchant Services (QBMS). If specifying this field, you must also specify the paymentMethod field.
Show child attributes
Show child attributes
The market exchange rate between this credit card refund's currency and the home currency in QuickBooks at the time of this transaction. Represented as a decimal value (e.g., 1.2345 for 1 EUR = 1.2345 USD if USD is the home currency).
1.2345
A globally unique identifier (GUID) you, the developer, can provide for tracking this object in your external system. This field is immutable and can only be set during object creation.
IMPORTANT: This field must be formatted as a valid GUID; otherwise, QuickBooks will return an error.
"12345678-abcd-1234-abcd-1234567890ab"
Response
Returns the newly created credit card refund.
The unique identifier assigned by QuickBooks to this credit card refund. This ID is unique across all transaction types.
"123ABC-1234567890"
The type of object. This value is always "qbd_credit_card_refund".
"qbd_credit_card_refund""qbd_credit_card_refund"
The date and time when this credit card refund was created, in ISO 8601 format (YYYY-MM-DDThh:mm:ss±hh:mm), which QuickBooks Desktop interprets in the local timezone of the end-user's computer.
"2025-01-01T12:34:56.000Z"
The date and time when this credit card refund was last updated, in ISO 8601 format (YYYY-MM-DDThh:mm:ss±hh:mm), which QuickBooks Desktop interprets in the local timezone of the end-user's computer.
"2025-02-01T12:34:56.000Z"
The current QuickBooks-assigned revision number of this credit card refund object, which changes each time the object is modified. When updating this object, you must provide the most recent revisionNumber to ensure you're working with the latest data; otherwise, the update will return an error.
"1721172183"
The customer or customer-job associated with this credit card refund.
Show child attributes
Show child attributes
{
"id": "80000001-1234567890",
"fullName": "Acme Corporation"
}
The account providing funds for this credit card refund. This is typically the Undeposited Funds account used to hold customer payments.
Show child attributes
Show child attributes
{
"id": "80000001-1234567890",
"fullName": "Undeposited Funds"
}
The Accounts-Receivable (A/R) account to which this credit card refund is assigned, used to track the amount owed. If omitted, QuickBooks Desktop uses the default A/R account configured in the company file.
IMPORTANT: If this credit card refund is linked to other transactions, this A/R account must match the receivablesAccount used in all linked transactions. For example, when refunding a credit card payment, the A/R account must match the one used in each linked credit transaction being refunded.
Show child attributes
Show child attributes
{
"id": "80000001-1234567890",
"fullName": "Accounts-Receivable"
}
The date of this credit card refund, in ISO 8601 format (YYYY-MM-DD).
"2024-10-01"
The case-sensitive user-defined reference number for this credit card refund, which can be used to identify the transaction in QuickBooks. This value is not required to be unique and can be arbitrarily changed by the QuickBooks user.
"REFUND-1234"
The total monetary amount of this credit card refund, represented as a decimal string.
"1000.00"
The credit card refund's currency. For built-in currencies, the name and code are standard ISO 4217 international values. For user-defined currencies, all values are editable.
Show child attributes
Show child attributes
{
"id": "80000001-1234567890",
"fullName": "USD"
}
The market exchange rate between this credit card refund's currency and the home currency in QuickBooks at the time of this transaction. Represented as a decimal value (e.g., 1.2345 for 1 EUR = 1.2345 USD if USD is the home currency).
1.2345
The total monetary amount of this credit card refund converted to the home currency of the QuickBooks company file. Represented as a decimal string.
"1234.56"
The address that is printed on the credit card refund.
Show child attributes
Show child attributes
The credit card refund's payment method (e.g., cash, check, credit card).
Show child attributes
Show child attributes
{
"id": "80000001-1234567890",
"fullName": "Credit Card"
}
A memo or note for this credit card refund.
"Refund to customer for duplicate credit card charge"
The credit card transaction data for this credit card refund's payment when using QuickBooks Merchant Services (QBMS).
Show child attributes
Show child attributes
A globally unique identifier (GUID) you, the developer, can provide for tracking this object in your external system. This field is immutable and can only be set during object creation.
"12345678-abcd-1234-abcd-1234567890ab"
The credit transactions refunded by this credit card refund.
Show child attributes
Show child attributes
The custom fields for the credit card refund object, added as user-defined data extensions, not included in the standard QuickBooks object.
Show child attributes
Show child attributes

