# Failed to invoke method chargeInvoice in class com.infusionsoft.api.xmlrpc.XmlRpcInvoiceService: null

**URL:** <https://integration.keap.com/t/failed-to-invoke-method-chargeinvoice-in-class-com-infusionsoft-api-xmlrpc-xmlrpcinvoiceservice-null/10957>\
**Category:** API Q&A\
**Created:** [August 17, 2017, 5:56am UTC](https://integration.keap.com/t/failed-to-invoke-method-chargeinvoice-in-class-com-infusionsoft-api-xmlrpc-xmlrpcinvoiceservice-null/10957 "2017-08-17T05:56:19Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Dev\_Team](https://avatars.discourse-cdn.com/v4/letter/d/57b2e6/32.png) [@Dev\_Team](https://integration.keap.com/u/Dev_Team)\
**Post date:** [August 17, 2017, 5:56am UTC](https://integration.keap.com/t/failed-to-invoke-method-chargeinvoice-in-class-com-infusionsoft-api-xmlrpc-xmlrpcinvoiceservice-null/10957/1 "2017-08-17T05:56:19Z")

</div>

hi, help pls… we are getting: Failed to invoke method chargeInvoice in class com.infusionsoft.api.xmlrpc.XmlRpcInvoiceService: null  
But the charge is going through in the InfusionSoft side. this has worked before, so I’m not sure why we are getting this error now

---

<div class="post-metadata">

**Author:** ![John\_Borelli](https://sea1.discourse-cdn.com/flex019/user_avatar/integration.keap.com/john_borelli/32/11880_2.png) [@John\_Borelli](https://integration.keap.com/u/John_Borelli)\
**Post date:** [August 17, 2017, 1:10pm UTC](https://integration.keap.com/t/failed-to-invoke-method-chargeinvoice-in-class-com-infusionsoft-api-xmlrpc-xmlrpcinvoiceservice-null/10957/2 "2017-08-17T13:10:16Z")

</div>

I think this is a know issue that is being worked on.

---

<div class="post-metadata">

**Author:** ![TomScott](https://sea1.discourse-cdn.com/flex019/user_avatar/integration.keap.com/tomscott/32/67_2.png) [@TomScott](https://integration.keap.com/u/TomScott)\
**Post date:** [August 17, 2017, 4:58pm UTC](https://integration.keap.com/t/failed-to-invoke-method-chargeinvoice-in-class-com-infusionsoft-api-xmlrpc-xmlrpcinvoiceservice-null/10957/3 "2017-08-17T16:58:02Z")

</div>

Yes, this is a issue we are currently addressing, and hope to have the fix in this week’s deployment.

The root cause appears to be that Infusionsoft Payments requires more stringent attribute requirements: Both the email address and physical address **must** be set when generating the card id via “DataService.add” or attempting to charge it if the Infusionsoft Application has an Infusionsoft Payments account associated with it.

The error being returned is incorrect and not informative, but the behavior is correct: these fields need to be supplied.

---

<div class="post-metadata">

**Author:** ![Sergio\_Schuster](https://sea1.discourse-cdn.com/flex019/user_avatar/integration.keap.com/sergio_schuster/32/1883_2.png) [@Sergio\_Schuster](https://integration.keap.com/u/Sergio_Schuster)\
**Post date:** [August 18, 2017, 2:42pm UTC](https://integration.keap.com/t/failed-to-invoke-method-chargeinvoice-in-class-com-infusionsoft-api-xmlrpc-xmlrpcinvoiceservice-null/10957/4 "2017-08-18T14:42:56Z")

</div>

Thanks TomScott, we were able to solve the problem adding the following fields to the CreditCard array: ‘BillAddress1’, ‘BillCity’, ‘BillState’, ‘BillZip’, ‘Email’

So our code is now as follows:

```
//add credit card
$newCard = array(
  'ContactId' => $cid,
  'NameOnCard' => $_POST['ccName'],
  'CardNumber' => $_POST['ccNum'],
  'CardType' => $_POST['ccType'],
  'CVV2' => $_POST['ccCode'],
  'ExpirationMonth' => $_POST['ccMonth'],
  'ExpirationYear' => $_POST['ccYear'],
  'BillAddress1' => $_POST['Street'],
  'BillCity' => $_POST['City'],
  'BillState' => $_POST['State'],
  'BillZip' => $_POST['Zip'],
  'Email' => $_POST['email'],
);

$newCardId = $app->dsAdd('CreditCard',$newCard);

```
