Invoice Service

InvoiceService allows you to manage eCommerce transactions.


InvoiceService.createBlankOrder

Creates a one-time order with no added line items

Required Parameters

Parameter Name Type Definition
privateKey string Your Infusionsoft API key
contactId int The Id number of the contact record this order will be connected to
description string The name this order will display. This is also the hyperlink to the order found on the contact's order tab
orderDate dateTime Date of order
leadAffiliateId int The Id number of the affiliate you would like placed as the lead affiliate. 0 if no affiliate should be attached
saleAffiliateId int The Id number of the affiliate you would like placed as the sale affiliate. 0 if no affiliate should be attached

Returns

(int) Invoice Id for this new order

Sample Request

<?xml version='1.0' encoding='UTF-8'?>
<methodCall>
  <methodName>InvoiceService.createBlankOrder</methodName>
  <params>
    <param>
      <value><string>privateKey</string></value>
    </param>
    <param>
      <value><int>22</int></value>
    </param>
    <param>
      <value><string>hello world</string></value>
    </param>
    <param>
      <value><dateTime.iso8601>20080908T00:00:00</dateTime.iso8601></value>
    </param>
    <param>
      <value><int>2</int></value>
    </param>
    <param>
      <value><int>2</int></value>
    </param>
  </params>
</methodCall>

Sample Response

<?xml version='1.0' encoding='UTF-8'?>
<methodResponse>
  <params>
    <param>
      <value><i4>8</i4></value>
    </param>
  </params>
</methodResponse>

PHP iSDK Sample

$oDate = $app->infuDate("8-9-2008");
$invoiceId = $app->blankOrder(123,"Some Cart Order", $oDate, 0, 187);

InvoiceService.addOrderItem

Adds a line item to an order. This used to add a Product to an order as well as any other sort of charge/discount.

Required Parameters

Parameter Name Type Definition
privateKey string Your Infusionsoft API key
invoiceId int The Id number of the invoice this item is being added to
productId int The Id number of the product you are adding. If you are adding something such as tax, shipping, or a discount, make this 0
type int The line item type - defined in the table below
price double The price of this line item.
quantity int The quantity of item added
description string The short description of this line item
notes string A full description for this line item

"Type" Parameter Options

Type ID Description
1 Shipping
2 Tax
3 Service & Misc
4 Product
5 Upsell Product
6 Finance Charge
7 Special
8 Program
9 Subscription Plan
10 Special: Free Trial Days
12 Special: Order Total
12 Special: Product
13 Special: Category
14 Special: Shipping

Returns

(boolean) True/False

Sample Request

<?xml version='1.0' encoding='UTF-8'?>
<methodCall>
  <methodName>InvoiceService.addOrderItem</methodName>
  <params>
    <param>
      <value><string>privateKey</string></value>
    </param>
    <param>
      <value><int>orderId</int></value>
    </param>
    <param>
      <value><int>productId</int></value>
    </param>
    <param>
      <value><int>type</int></value>
    </param>
    <param>
      <value><double>price</double></value>
    </param>
    <param>
      <value><int>quantity</int></value>
    </param>
    <param>
      <value><string>title</string></value>
    </param>
    <param>
      <value><string>description</string></value>
    </param>
  </params>
</methodCall>

Sample Response

<?xml version='1.0' encoding='UTF-8'?>
<methodResponse>
  <params>
    <param>
      <value><boolean>1</boolean></value>
    </param>
  </params>
</methodResponse>

PHP iSDK Sample

$result = $app->addOrderItem($invoiceId, 17, 6, 23.07, 2, "Turbo Booster", "Jay's Awesome Turbo Booster");

InvoiceService.chargeInvoice

This will cause a credit card to be charged for the amount currently due on an invoice

Required Parameters

Parameter Name Type Definition
privateKey string Your Infusionsoft API key
invoiceId int The Invoice Id you would like to charge the balance due on
notes string A note about the payment. Ex: "API Upsell Payment"
creditCardId int The Id number of the credit card being charged
merchantAccountId int The Id number of the merchant account the payment is to process through
bypassCommissions boolean A boolean telling the system if this payment should count towards affiliate commissions earned. This is almost always false.

Returns

(struct) a struct containing payment details. The struct will contain the following keys:

  • Successful – true or false on whether or not the card was charged. (If there was nothing to charge, this will be false)
  • Code – The approval code: APPROVED, DECLINED, ERROR, SKIPPED (there was no balance to charge)
  • RefNum – If charge was successful, this is the reference number passed back by the merchant account
  • Message – Error message for the transaction, if any

 

Sample Request

<?xml version='1.0' encoding='UTF-8'?>
<methodCall>
  <methodName>InvoiceService.chargeInvoice</methodName>
  <params>
    <param>
      <value><string>privateKey</string></value>
    </param>
    <param>
      <value><int>invoiceId</int></value>
    </param>
    <param>
      <value><string>notes</string></value>
    </param>
    <param>
      <value><int>creditCardId</int></value>
    </param>
    <param>
      <value><int>merchId</int></value>
    </param>
    <param>
      <value><boolean>bypassComm</boolean></value>
    </param>
  </params>
</methodCall>

Sample Response

<?xml version='1.0' encoding='UTF-8'?>
<methodResponse>
  <params>
    <param>
      <value>
        <struct>
          <member>
            <name>
              Successful
            </name>
            <value>
              <boolean>
                0
              </boolean>
            </value>
          </member>
          <member>
            <name>
              Message
            </name>
            <value>
              (TESTMODE) The merchant login ID or password is invalid or the
              account is inactive. (13)
            </value>
          </member>
          <member>
            <name>
              RefNum
            </name>
            <value>
              0
            </value>
          </member>
          <member>
            <name>
              Code
            </name>
            <value>
              ERROR
            </value>
          </member>
        </struct>
      </value>
    </param>
  </params>
</methodResponse>

PHP iSDK Sample

$result = $app->chargeInvoice(16,"API Upsell Payment",2,1,false);

InvoiceService.deleteSubscription

Deletes the specified subscription from the database, as well as all invoices tied to the subscription

Required Parameters

Parameter Name Type Definition
privateKey string Your Infusionsoft API key
recurringOrderId int The Id number of the particular subscription being deleted

Returns

(boolean) True/False

Sample Request

<?xml version='1.0' encoding='UTF-8'?>
<methodCall>
  <methodName>InvoiceService.deleteSubscription</methodName>
  <params>
    <param>
      <value><string>privateKey</string></value>
    </param>
    <param>
      <value><int>subscriptionId</int></value>
    </param>
  </params>
</methodCall>

Sample Response

<?xml version='1.0' encoding='UTF-8'?>
<methodResponse>
  <params>
    <param>
      <value><boolean>1</boolean></value>
    </param>
  </params>
</methodResponse>

PHP iSDK Sample

$result = $app->deleteSubscription($recurringOrderId);

InvoiceService.deleteInvoice

This method is used when you would like to delete an order (not a subscription). You pass in the invoice for this particular order, and the method handles deleting the invoice as well as the order (Job table) tied to the invoice.

Required Parameters

Parameter Name Type Definition
privateKey string Your Infusionsoft API key
invoiceId int The Id of the invoice

Returns

(boolean) True/False

Sample Request

<?xml version="1.0"?>
<methodCall>
  <methodName>InvoiceService.deleteInvoice</methodName>
	<params>
	  <param>
	     <value><string>c94a1f2b395a9ab97d4263b37f7b0923</string></value>
	  </param>
	  <param>
	     <value><int>6</int></value>
	  </param>
	</params>
</methodCall>

Sample Response

<?xml version="1.0" encoding="UTF-8"?>
<methodResponse>
    <params>
        <param>
            <value>
                <boolean>1</boolean>
            </value>
        </param>
    </params>
</methodResponse>

PHP iSDK Sample

$invoiceId = 1;
$result = $app->deleteInvoice($invoiceId);

InvoiceService.addRecurringOrder

Creates a subscription for a contact. Subscriptions are billing automatically by Infusionsoft within the next six hours. If you want to bill immediately you will need to utilize the InvoiceService.createInvoiceForRecurring and InvoiceService.chargeInvoice methods to accomplish this.

Required Parameters

Parameter Name Type Definition
privateKey string Your Infusionsoft API key
contactId int The Id number of the contact this subscription will be connected with
allowDuplicate boolean If duplicate subscriptions should be allowed
SubscriptionPlanId int The Id number of the subscription you are adding. This is from the SubscriptionPlan table
qty int Quantity of this service/product price - price charged per quantity
price double Price to charge for the subscription
taxable boolean If tax should be charged on this subscription
merchantAccountId int The merchant account this subscription will bill through
creditCardId int The Id of the credit card this subscription will charge to
affiliateId int The Id number for the affiliate being placed as the sale affiliate. 0 if no affiliate
daysTillCharge int The number of days until this subscription should be charged. Essentially free trial days

Returns

(int) Id of the newly created Subscription

Sample Request

<?xml version='1.0' encoding='UTF-8'?>
<methodCall>
  <methodName>InvoiceService.addRecurringOrder</methodName>
  <params>
    <param>
      <value><string>privateKey</string></value>
    </param>
    <param>
      <value><int>contactId</int></value>
    </param>
    <param>
      <value><boolean>allowDup</boolean></value>
    </param>
    <param>
      <value><int>SubscriptionPlanId</int></value>
    </param>
    <param>
      <value><int>qty</int></value>
    </param>
    <param>
      <value><double>price</double></value>
    </param>
    <param>
      <value><boolean>allowTax</boolean></value>
    </param>
    <param>
      <value><int>merchantId</int></value>
    </param>
    <param>
      <value><int>creditCardId</int></value>
    </param>
    <param>
      <value><int>affiliateId</int></value>
    </param>
    <param>
      <value><int>dayCharge</int></value>
    </param>
  </params>
</methodCall>

Sample Response

<?xml version='1.0' encoding='UTF-8'?>
<methodResponse>
  <params>
    <param>
      <value><i4>6</i4></value>
    </param>
  </params>
</methodResponse>

PHP iSDK Sample

$result = $app->addRecurringAdv($cid,false,23,2,2.95,true,1,$ccId,$affId,0);

This will create an invoice for all charges due on a Subscription. If the subscription has three billing cycles that are due, it will create one invoice with all three items attached.

Required Parameters

Parameter Name Type Definition
privateKey string Your Infusionsoft API key
recurringOrderId int The Id number for the particular subscription you want invoiced

Returns

(int) the Id of the invoice that was created, or zero if the subscription failed to generate any invoices (none due)

Sample Request

<?xml version='1.0' encoding='UTF-8'?>
<methodCall>
  <methodName>InvoiceService.createInvoiceForRecurring</methodName>
  <params>
    <param>
      <value><string>privateKey</string></value>
    </param>
    <param>
      <value><int>recurringOrderId</int></value>
    </param>
  </params>
</methodCall>

Sample Response

<?xml version='1.0' encoding='UTF-8'?>
<methodResponse>
  <params>
    <param>
      <value><i4>10</i4></value>
    </param>
  </params>
</methodResponse>

PHP iSDK Sample

$result = $app->recurringInvoice($recurringOrderId);

InvoiceService.addManualPayment

Adds a payment to an invoice without actually processing a charge through a merchant. This is useful if you accept cash/check, or handle payments outside of Infusionsoft.

Required Parameters

Parameter Name Type Definition
privateKey string Your Infusionsoft API key
invoiceId int The Id of invoice being paid
amt double The amount of this payment
paymentDate dateTime Date of payment
paymentType string Cash, Check, Credit Card, Money Order, PayPal, etc.
paymentDescription string An area useful for noting payment details such as a check number
bypassCommissions boolean A boolean which tells the system if this payment should count towards what the affiliate has earned. This is almost always false.

Returns

(boolean) True/False

Sample Request

<?xml version='1.0' encoding='UTF-8'?>
<methodCall>
  <methodName>InvoiceService.addManualPayment</methodName>
  <params>
    <param>
      <value><string>privateKey</string></value>
    </param>
    <param>
      <value><int>invoiceId</int></value>
    </param>
    <param>
      <value><double>amt</double></value>
    </param>
    <param>
      <value><dateTime>paymentDate</dateTime></value>
    </param>
    <param>
      <value><string>paymentType</string></value>
    </param>
    <param>
      <value><string>paymentDescription</string></value>
    </param>
    <param>
      <value><boolean>bypassCommissions</boolean></value>
    </param>
  </params>
</methodCall>

Sample Response

<?xml version='1.0' encoding='UTF-8'?>
<methodResponse>
  <params>
    <param>
      <value><boolean>1</boolean></value>
    </param>
  </params>
</methodResponse>

PHP iSDK Sample

$currentDate = date("d-m-Y");
$pDate = $app->infuDate($currentDate);
$result = $app->manualPmt(123,9.95,$pDate,'Credit Card','$9.95 paid by Credit Card',false);

InvoiceService.addPaymentPlan

Allows you to setup a custom payment plan for an invoice.

Required Parameters

Parameter Name Type Definition
privateKey string Your Infusionsoft API key
invoiceId int The Id of the invoice this payment plan is fo
autoCharge boolean If the auto-charge for this pay plan should be enabled or disabled
creditCardId int Credit card being charged for this pay plan
merchantAccountId int Merchant account this pay plan will charge through
daysBetweenRetry int The number of days Infusionsoft should wait before re-attempting to charge a failed payment
maxRetry int The maximum number of times Infusionsoft should retry a failed payment
initialPmtAmt double The amount of the very first charge on this payment plan
initialPmtDate dateTime The date the first payment should occur
planStartDate dateTime The date the second payment should occur for the payment plan
numPmts int The number of payments in this payment plan. This does not include the original/first payment
daysBetweenPmts int The number of days between payments in this payment plan. This first time this comes into play will be between the second and third payments

Returns

(boolean) True/False

Sample Request

<?xml version='1.0' encoding='UTF-8'?>
<methodCall>
  <methodName>InvoiceService.addPaymentPlan</methodName>
  <params>
    <param>
      <value><string>privateKey</string></value>
    </param>
    <param>
      <value><int>invoiceId</int></value>
    </param>
    <param>
      <value><boolean>autoCharge</boolean></value>
    </param>
    <param>
      <value><int>creditCardId</int></value>
    </param>
    <param>
      <value><int>merchantAccountId</int></value>
    </param>
    <param>
      <value><int>daysRetry</int></value>
    </param>
    <param>
      <value><int>maxRetry</int></value>
    </param>
    <param>
      <value><double>initialPmt</double></value>
    </param>
    <param>
      <value><dateTime.iso8601>initialPmtDate</dateTime.iso8601></value>
    </param>
    <param>
      <value><dateTime.iso8601>planStartDate</dateTime.iso8601></value>
    </param>
    <param>
      <value><int>numPmts</int></value>
    </param>
    <param>
      <value><int>daysBetweenPmts</int></value>
    </param>
  </params>
</methodCall>

Sample Response

<?xml version='1.0' encoding='UTF-8'?>
<methodResponse>
  <params>
    <param>
      <value>
        <boolean>1</boolean></value>
    </param>
  </params>
</methodResponse>

PHP iSDK Sample

$inDate = $app->infuDate("10-11-2008");
$stDate = $app->infuDate("10-25-2008");
$result = $app->payPlan(43,true,12,1,2,3,25.50,$inDate,$stDate,5,30);

InvoiceService.calculateAmountOwed

Used to determine the outstanding amount owed on a given invoice.

Required Parameters

Parameter Name Type Definition
privateKey string Your Infusionsoft API key
invoiceId int The invoice Id number you would like amount owed for

Returns

(double) outstanding amount on the supplied invoice

Sample Request

<?xml version='1.0' encoding='UTF-8'?>
<methodCall>
  <methodName>InvoiceService.calculateAmountOwed</methodName>
  <params>
    <param>
      <value><string>privateKey</string></value>
    </param>
    <param>
      <value><int>invoiceId</int></value>
    </param>
  </params>
</methodCall>

Sample Response

<?xml version='1.0' encoding='UTF-8'?>
<methodResponse>
  <params>
    <param>
      <value><double>41.14</double></value>
    </param>
  </params>
</methodResponse>

PHP iSDK Sample

$payDate = $app->infuDate("01-12-2007");
echo "Invoice 43 owes: " . $app->amtOwed(43) ;
$operation = $app->manualPmt(43,5.06,$payDate,"Check","Personal check",false);
if ($operation) {
    echo "Manual Payment Successful";
} else {
    echo "Manual Payment Failed";
}
echo "Invoice 43 now owes: " . $app->amtOwed(43);

InvoiceService.getAllPaymentOptions

This is used to retrieve all Payment Types currently setup under the Order Settings section of Infusionsoft.

Required Parameters

Parameter Name Type Definition
privateKey string Your Infusionsoft API key

Returns

(struct) all valid payment types currently setup in the application

Sample Request

<?xml version='1.0' encoding='UTF-8'?>
<methodCall>
  <methodName>InvoiceService.getAllPaymentOptions</methodName>
  <params>
    <param>
      <value><string>privateKey</string></value>
    </param>
  </params>
</methodCall>

Sample Response

<?xml version='1.0' encoding='UTF-8'?>
<methodResponse>
  <params>
    <param>
      <value>
        <struct>
          <member>
            <name>Credit Card (Manual)</name>
            <value>Credit Card (Manual)</value>
          </member>
          <member>
            <name>Check</name>
            <value>Check</value>
          </member>
          <member>
            <name>Cash</name>
            <value>Cash</value>
          </member>
          <member>
            <name>Money Order</name>
            <value>Money Order</value>
          </member>
          <member>
            <name>Adjustment</name>
            <value>Adjustment</value>
          </member>
          <member>
            <name>Credit Card</name>
            <value>Credit Card</value>
          </member>
          <member>
            <name>Credit</name>
            <value>Credit</value>
          </member>
          <member>
            <name>Refund</name>
            <value>Refund</value>
          </member>
        </struct>
      </value>
    </param>
  </params>
</methodResponse>

PHP iSDK Sample

$result = $app->getAllPaymentOptions();

InvoiceService.getPayments

Retrieves all payments for a given invoice.

Required Parameters

Parameter Name Type Definition
privateKey string Your Infusionsoft API key
invoiceId int The Id of the invoice you would like payments for.

Returns

(array) list of all payments for an invoice

Sample Request

<?xml version='1.0' encoding='UTF-8'?>
<methodCall>
  <methodName>InvoiceService.getPayments</methodName>
  <params>
    <param>
      <value><string>privateKey</string></value>
    </param>
    <param>
      <value><int>paymentId</int></value>
    </param>
  </params>
</methodCall>

Sample Response

<?xml version='1.0' encoding='UTF-8'?>
<methodResponse>
  <params>
    <param>
      <value>
        <array>
          <data>
            <value>
              <struct>
                <member>
                  <name>Id</name>
                  <value><i4>2</i4></value>
                </member>
                <member>
                  <name>PayDate</name>
                  <value><dateTime.iso8601>20120314T00:00:00</dateTime.iso8601></value>
                </member>
                <member>
                  <name>UserId</name>
                  <value><i4>14</i4></value>
                </member>
                <member>
                  <name>PayAmt</name>
                  <value><double>5.0</double></value>
                </member>
                <member>
                  <name>PayType</name>
                  <value>Credit Card (Manual)</value>
                </member>
                <member>
                  <name>ContactId</name>
                  <value><i4>22</i4></value>
                </member>
                <member>
                  <name>PayNote</name>
                  <value/>
                </member>
                <member>
                  <name>InvoiceId</name>
                  <value><i4>6</i4></value>
                </member>
                <member>
                  <name>RefundId</name>
                  <value><i4>0</i4></value>
                </member>
                <member>
                  <name>ChargeId</name>
                  <value><i4>0</i4></value>
                </member>
                <member>
                  <name>Synced</name>
                  <value><i4>0</i4></value>
                </member>
              </struct>
            </value>
          </data>
        </array>
      </value>
    </param>
  </params>
</methodResponse>

PHP iSDK Sample

$result = $app->getPayments($invId);

InvoiceService.locateExistingCard

Finds a credit card on file for a contactId that matches the last four digits of the card.

Required Parameters

Parameter Name Type Definition
privateKey string Your Infusionsoft API key
contactId int The contact Id number for which you would like to find the credit card for
last4 string The last 4 digits of the card you need the Id number for

Returns

(int) creditCardId if the card is found. Zero if no card matches

Sample Request

<?xml version='1.0' encoding='UTF-8'?>
<methodCall>
  <methodName>InvoiceService.locateExistingCard</methodName>
  <params>
    <param>
      <value><string>privateKey</string></value>
    </param>
    <param>
      <value><int>contactId</int></value>
    </param>
    <param>
      <value><string>last4</string></value>
    </param>
  </params>
</methodCall>

Sample Response

<?xml version='1.0' encoding='UTF-8'?>
<methodResponse>
  <params>
    <param>
      <value><i4>0</i4></value>
    </param>
  </params>
</methodResponse>

PHP iSDK Sample

$result = $app->locateCard($contactId,"1234");

InvoiceService.recalculateTax

Calculates tax, and places it onto the given invoice.

Required Parameters

Parameter Name Type Definition
privateKey string Your Infusionsoft API key
invoiceId int The id of the invoice you want to calculate tax on

Returns

(boolean) True if the operation is successful.

Sample Request

<?xml version='1.0' encoding='UTF-8'?>
<methodCall>
  <methodName>InvoiceService.recalculateTax</methodName>
  <params>
    <param>
      <value><string>privateKey</string></value>
    </param>
    <param>
      <value><int>invoiceId</int></value>
    </param>
  </params>
</methodCall>

Sample Response

<?xml version='1.0' encoding='UTF-8'?>
<methodResponse>
  <params>
    <param>
      <value><boolean>1</boolean></value>
    </param>
  </params>
</methodResponse>

PHP iSDK Sample

$ret = $app->recalculateTax($invoiceId);

InvoiceService.validateCreditCard

Validates a credit card in one of two ways - the first will validate an existing card in the Infusionsoft system by grabbing card data via the credit card ID. The second takes card details as a struct and validates it without having it already saved.

Existing Card Required Parameters

Parameter Name Type Definition
privateKey string Your Infusionsoft API key
creditCardId int The Infusionsoft ID number of an existing credit card

New Card Required Parameters

Parameter Name Type Definition
privateKey string Your Infusionsoft API key
CardType string Credit card type (Visa, American Express, etc)
ContactId int The Id of a contact to own the credit card
CardNumber string Credit card number
ExpirationMonth string Two digit expiration month
ExpirationYear string Four digit expiration year
CVV2 string Card security code

Returns

(struct) Valid - True or False, and Message - any message about card validation

Sample Request

<?xml version='1.0' encoding='UTF-8'?>
<methodCall>
  <methodName>InvoiceService.validateCreditCard</methodName>
  <params>
    <param>
      <value><string>privateKet</string></value>
    </param>
    <param>
      <value><struct>
        <member><name>CardType</name>
          <value><string>Visa</string></value>
        </member>
        <member><name>ContactId</name>
          <value><int>123</int></value>
        </member>
        <member><name>CardNumber</name>
          <value><string>4111111111111111</string></value>
        </member>
        <member><name>ExpirationMonth</name>
          <value><string>12</string></value>
        </member>
        <member><name>ExpirationYear</name>
          <value><string>2009</string></value>
        </member>
        <member><name>CVV2</name>
          <value><string>123</string></value>
        </member>
      </struct></value>
    </param>
  </params>
</methodCall>

Sample Response

<?xml version='1.0' encoding='UTF-8'?>
<methodResponse>
  <params>
    <param>
      <value>
        <struct>
          <member>
            <name>Message</name>
            <value>Card has expired</value>
          </member>
          <member>
            <name>Valid</name>
            <value>false</value>
          </member>
        </struct>
      </value>
    </param>
  </params>
</methodResponse>

Existing Card PHP iSDK Sample

$result = $app->validateCard(156);

New Card PHP iSDK Sample

$card = array('CardType' => 'Visa',
              'ContactId' => 123,
              'CardNumber' => "4111111111111111",
              'ExpirationMonth' => '12',
              'ExpirationYear' => '2009',
              'CVV2' => '123');
$result = $app->validateCard($card);

InvoiceService.getAllShippingOptions

Retrieves the shipping options currently setup for the Infusionsoft shopping cart.

Required Parameters

Parameter Name Type Definition
privateKey string Your Infusionsoft API key

Returns

(boolean) all shipping options that have been configured

Sample Request

<?xml version='1.0' encoding='UTF-8'?>
<methodCall>
  <methodName>InvoiceService.getAllShippingOptions</methodName>
  <params>
    <param>
      <value><string>privateKey</string></value>
    </param>
  </params>
</methodCall>

Sample Response

<?xml version='1.0' encoding='UTF-8'?>
<methodResponse>
  <params>
    <param>
      <value><boolean>1</boolean></value>
    </param>
  </params>
</methodResponse>

PHP iSDK Sample

$result = $app->getAllShippingOptions();

Changes the next bill date on a subscription.

Required Parameters

Parameter Name Type Definition
privateKey string Your Infusionsoft API key
recurringOrderId int The Id number of the subscription you would like to update. retrieved from the RecurringOrder table.
nextBillDate date The next billing date the subscription is being set to.

Returns

(boolean) True/False

Sample Request

<?xml version='1.0' encoding='UTF-8'?>
<methodCall>
  <methodName>InvoiceService.updateJobRecurringNextBillDate</methodName>
  <params>
    <param>
      <value><string>privateKey</string></value>
    </param>
    <param>
      <value><int>recurringOrderId</int></value>
    </param>
    <param>
      <value><dateTime.iso8601>nextBillDate</dateTime.iso8601></value>
    </param>
  </params>
</methodCall>

Sample Response

<?xml version='1.0' encoding='UTF-8'?>
<methodResponse>
  <params>
    <param>
      <value><boolean>1</boolean></value>
    </param>
  </params>
</methodResponse>

PHP iSDK Sample

$currentDate = date("d-m-Y");
$nDate = $app->infuDate($currentDate);

$result = $app->updateSubscriptionNextBillDate($recurringOrderId,$nDate);

Creates a commission on an existing invoice.

Required Parameters

Parameter Name Type Definition
privateKey string Your Infusionsoft API key
invoiceId int The Id number of the invoice to create a commission on
affiliateId int The Id number of the affiliate the commission is for
productId int The Id number of the product this commission is for
percentage int The percentage paid for the product being sold
amount double Amount of commission being paid for the product sold
payoutType int How the commission should be earned - 4 if paid up front in full, 5 if earned upon customer payment
description string A note about this commission
date date Date the commission was generated, not necessarily earned (unless paid up front in full)

Returns

(boolean) True/False

Sample Request

<?xml version='1.0' encoding='UTF-8'?>
<methodCall>
  <methodName>InvoiceService.addOrderCommissionOverride</methodName>
  <params>
    <param>
      <value><string>privateKey</string></value>
    </param>
    <param>
      <value><int>invoiceId</int></value>
    </param>
    <param>
      <value><int>affiliateId</int></value>
    </param>
    <param>
      <value><int>productId</int></value>
    </param>
    <param>
      <value><int>commissionPercentage</int></value>
    </param>
    <param>
      <value><double>amountPaid</double></value>
    </param>
    <param>
      <value><int>payoutType</int></value>
    </param>
    <param>
      <value><string>desc</string></value>
    </param>
    <param>
      <value><dateTime.iso8601>date</dateTime.iso8601></value>
    </param>
  </params>
</methodCall>

Sample Response

<?xml version='1.0' encoding='UTF-8'?>
<methodResponse>
  <params>
    <param>
      <value><boolean>1</boolean></value>
    </param>
  </params>
</methodResponse>

PHP iSDK Sample

$cDate = $app->infuDate("01-12-2007");

$app->commOverride(43,1,3,15,5.06,5,"No Description",$cDate);