Cant seem to get this to work - getting the following error:
Direct Pay Full Response:
Transaction refused because of an invalid argument. See additional error messages for details.The totals of the cart item amounts do not match order amounts.10413Error60.016207250.02
PayPal Express Checkout requests and responses :
Transaction refused because of an invalid argument. See additional error messages for details. The totals of the cart item amounts do not match order amounts. 10413Error63.01613293
Heres my PHP code:
<?php
$WA_PP_ECO_SetResult = WA_PP_ECO_SOAPObject();
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$WA_PP_ECO_Set_params = array();
$WA_PP_ECO_Set_params[0] = array();
$WA_PP_ECO_Set_params[1] = array();
$nextIndex = count($WA_PP_ECO_Set_params[0]);
$WA_PP_ECO_Set_params[0][$nextIndex] = "Username";
$WA_PP_ECO_Set_params[1][$nextIndex] = "xxxxxxxxxx";
$nextIndex = count($WA_PP_ECO_Set_params[0]);
$WA_PP_ECO_Set_params[0][$nextIndex] = "Password";
$WA_PP_ECO_Set_params[1][$nextIndex] = "xxxxxxxxxx";
$nextIndex = count($WA_PP_ECO_Set_params[0]);
$WA_PP_ECO_Set_params[0][$nextIndex] = "Signature";
$WA_PP_ECO_Set_params[1][$nextIndex] = "xxxxxxxxxx";
$nextIndex = count($WA_PP_ECO_Set_params[0]);
$WA_PP_ECO_Set_params[0][$nextIndex] = "System";
$WA_PP_ECO_Set_params[1][$nextIndex] = "WPPro";
$nextIndex = count($WA_PP_ECO_Set_params[0]);
$WA_PP_ECO_Set_params[0][$nextIndex] = "Currency";
$WA_PP_ECO_Set_params[1][$nextIndex] = "GBP";
$nextIndex = count($WA_PP_ECO_Set_params[0]);
$WA_PP_ECO_Set_params[0][$nextIndex] = "OrderTotal";
$WA_PP_ECO_Set_params[1][$nextIndex] = "".$ecartNRG->GrandTotal() .""; //*********IS THIS WHAT I CHANGE?************//
$WA_PP_ECO_Do_itemized = array();
$WA_PP_ECO_Do_itemized[0] = array();
$WA_PP_ECO_Do_itemized[1] = array();
$cartIndex = 0;
while ( !$ecartNRG->EOF() ) {
$nextIndex = count($WA_PP_ECO_Do_itemized[0]);
$WA_PP_ECO_Do_itemized[0][$nextIndex] = "Amount" . strval($cartIndex+1) . "";
$WA_PP_ECO_Do_itemized[1][$nextIndex] = "".$ecartNRG->DisplayInfo("Price") ."";
$nextIndex = count($WA_PP_ECO_Do_itemized[0]);
$WA_PP_ECO_Do_itemized[0][$nextIndex] = "Name" . strval($cartIndex+1) . "";
$WA_PP_ECO_Do_itemized[1][$nextIndex] = "".$ecartNRG->DisplayInfo("Name") ."";
$nextIndex = count($WA_PP_ECO_Do_itemized[0]);
$WA_PP_ECO_Do_itemized[0][$nextIndex] = "Number" . strval($cartIndex+1) . "";
$WA_PP_ECO_Do_itemized[1][$nextIndex] = "".$ecartNRG->DisplayInfo("ID") ."";
$nextIndex = count($WA_PP_ECO_Do_itemized[0]);
$WA_PP_ECO_Do_itemized[0][$nextIndex] = "Quantity" . strval($cartIndex+1) . "";
$WA_PP_ECO_Do_itemized[1][$nextIndex] = "".$ecartNRG->DisplayInfo("Quantity") ."";
$nextIndex = count($WA_PP_ECO_Do_itemized[0]);
$WA_PP_ECO_Do_itemized[0][$nextIndex] = "Tax" . strval($cartIndex+1) . "";
$WA_PP_ECO_Do_itemized[1][$nextIndex] = "";
$ecartNRG->MoveNext();
$cartIndex ++;
}
$ecartNRG->MoveFirst();
$nextIndex = count($WA_PP_ECO_Set_params[0]);
$WA_PP_ECO_Set_params[0][$nextIndex] = "ItemTotal";
$WA_PP_ECO_Set_params[1][$nextIndex] = "".$ecartNRG->TotalColumn("TotalPrice") ."";
$nextIndex = count($WA_PP_ECO_Set_params[0]);
$WA_PP_ECO_Set_params[0][$nextIndex] = "TaxTotal";
$WA_PP_ECO_Set_params[1][$nextIndex] = "".$ecartNRG->GetTax() ."";
$nextIndex = count($WA_PP_ECO_Set_params[0]);
$WA_PP_ECO_Set_params[0][$nextIndex] = "ShippingTotal";
$WA_PP_ECO_Set_params[1][$nextIndex] = "".$ecartNRG->GetShipping() ."";
$nextIndex = count($WA_PP_ECO_Set_params[0]);
$WA_PP_ECO_Set_params[0][$nextIndex] = "HandlingTotal";
$WA_PP_ECO_Set_params[1][$nextIndex] = "".$ecartNRG->GetCharges() - $ecartNRG->GetDiscounts() ."";
$nextIndex = count($WA_PP_ECO_Set_params[0]);
$WA_PP_ECO_Set_params[0][$nextIndex] = "ReturnURL";
$WA_PP_ECO_Set_params[1][$nextIndex] = "http://77.92.68.215/~nrgsavin/installation/pp_confirm.php";
$nextIndex = count($WA_PP_ECO_Set_params[0]);
$WA_PP_ECO_Set_params[0][$nextIndex] = "CancelURL";
$WA_PP_ECO_Set_params[1][$nextIndex] = "http://77.92.68.215/~nrgsavin/installation/pp_cancel.php";
$nextIndex = count($WA_PP_ECO_Set_params[0]);
$WA_PP_ECO_Set_params[0][$nextIndex] = "PaymentAction";
$WA_PP_ECO_Set_params[1][$nextIndex] = "Authorization";
$WA_PP_ECO_SetResult = WA_PP_ECO_Set_Post($WA_PP_ECO_Set_params,$WA_PP_ECO_Do_itemized);
if ($WA_PP_ECO_SetResult->isError) {
if ("pp_checkout_failure.php" != "") {
header("Location: ". "pp_checkout_failure.php"); exit;
}
}
else {
$ecartNRG->redirStr = $WA_PP_ECO_SetResult->ECOServer;
}
}
?>