2016-08-20 1 views
2

Vous souhaitez ajouter un paiement manuel à une commande. D'abord avoir de la difficulté à montrer le poste de commande, quand je le code dur - il fonctionne l'affichage de l'article de commande.Ajout d'un paiement manuel à la facturation/commande dans infusionsoft

Le plus gros problème est que le paiement n'est pas appliqué à l'un ou l'autre?

if ($myApp->cfgCon("ds")) { 
//$date = $myApp->infuDate(date("Y-m-d")); 
$date = $myApp->infuDate(date('Ymd\TH:i:s')); 

$invoiceId = $myApp->blankOrder($contactID,"Product A", $date, 0, 0); 

$currentDate = date('Ymd\TH:i:s'); 
$odate = new DateTime($currentDate); 


$iresult = $myApp->addOrderItem($invoiceId, 60, 4, 9.95, 1, "Product A", "Product A"); 

//$iresult = $myApp->addOrderItem($invoiceId, $infprodid, 4, $prodPrice, 1, $prodName, $prodName); 
//$pDate = $myApp->infuDate(date("Y-m-d")); 
// $presult = $myApp->manualPmt(intval($invoiceId),$prodPrice,$odate,'Credit Card','paid by Credit Card',false); 

$presult = $myApp->manualPmt(intval($invoiceId),9.95,$odate,'Credit Card','paid by Credit Card',false); 

Répondre

0

Je faisais face au même problème. Je pense que c'est en raison de passer des arguments avec de mauvais types de données.

Dans votre cas, je pense que votre format de date n'est pas conforme au format de date d'infusionsoft. Eh bien, ce code a fonctionné pour moi.

$currentDate = date('Y-m-d H:i:s'); 
$now = new DateTime($currentDate); 
$invoiceID=$infusionsoft->invoices()->createBlankOrder($contactID, 'New Test Order by Junaid', $d, 0, 0); 
$re=$infusionsoft->invoices()->addOrderItem($invoiceID, 4, 4, 200.0, 1, 'This is New test item added by junaid', 'New testing by junaid',''); 
$infusionsoft->invoices()->addManualPayment((int) 160,(float) 200.0, $now, 'API', 'New Test Payment by juanid',true); 

La meilleure pratique consiste également à mentionner des types de données avec des arguments.