2checkout api call для создания продажи

Я использую 2checkout api для продажи своего сайта. Следовательно, я звоню 2checkout api, чтобы создать продажу, где я могу назвать api с общей суммой с одним продуктом.

try {
$charge = Twocheckout_Charge::auth(array(
"merchantOrderId" => "123",
"token"      => $_POST['token'],
"currency"   => 'USD',
"total"      => $first_bill['amount'],
"billingAddr" => array(
"name" => $_POST['b_name'],
"addrLine1" => $_POST['b_address'],
"city" => 'Columbus',
"state" => 'OH',
"zipCode" => '43123',
"country" => $_POST['b_country'],
"email" => $_POST['b_emaill'],
"phoneNumber" => $_POST['b_phone']
),
"shippingAddr" => array(
"name" => 'Testing Tester',
"addrLine1" => '123 Test St',
"city" => 'Columbus',
"state" => 'enter code hereOH',
"zipCode" => '43123',
"country" => 'USA',
"email" => 'example@2co.com',
"phoneNumber" => '555-555-5555'
)
));
if ($charge['response']['responseCode'] == 'APPROVED') {

echo $response;exit;
// echo "Thanks for your Order!";
// echo "<h3>Return Parameters:</h3>";
// echo "<pre>";
// print_r($charge);
// echo "</pre>";
}
else
{
$this->Registrationmodel->delete_account($accounts_id);
echo $charge['response']['responseCode'];
exit;
}
}
catch (Twocheckout_Error $e)
{
echo $e->getMessage();
exit;
}

}

следовательно, когда я пытаюсь установить отдельные позиции, например:

try {
$charge = Twocheckout_Charge::auth(array(
"merchantOrderId" => "123",
"token"      => $_POST['token'],
"currency"   => 'USD',
//"total"      => $first_bill['amount'],
"billingAddr" => array(
"name" => $_POST['b_name'],
"addrLine1" => $_POST['b_address'],
"city" => 'Columbus',
"state" => 'OH',
"zipCode" => '43123',
"country" => $_POST['b_country'],
"email" => $_POST['b_emaill'],
"phoneNumber" => $_POST['b_phone']
),
"LineItem" => array(
"duration" => 'Forever',
"price" => '10',
"productId" =>'1235',
"quantity" => '1',
"recurrence" => '1 Month',
"tangible" => 'N',
"type"=>'product'
),
"shippingAddr" => array(
"name" => 'Testing Tester',
"addrLine1" => '123 Test St',
"city" => 'Columbus',
"state" => 'OH',
"zipCode" => '43123',
"country" => 'USA',
"email" => 'example@2co.com',
"phoneNumber" => '555-555-5555'
)
));
if ($charge['response']['responseCode'] == 'APPROVED') {
$response = $this->return_information($charge['response']['orderNumber']);
echo $response;exit;
// echo "Thanks for your Order!";
// echo "<h3>Return Parameters:</h3>";
// echo "<pre>";
// print_r($charge);
// echo "</pre>";
}
else
{
$this->Registrationmodel->delete_account($accounts_id);
echo $charge['response']['responseCode'];
exit;
}
}
catch (Twocheckout_Error $e)
{
$this->Registrationmodel->delete_account($accounts_id);
echo $e->getMessage();
exit;
}

}

Это дает мне ошибку параметра. Пожалуйста, кто-нибудь может помочь? Как настроить позиции с помощью API-вызова?

0

Решение

В вашем массиве lineitem отсутствует параметр ‘name’, который является обязательным параметром. Полный список необходимых параметров можно найти Вот .

Кроме того, ваш массив доставки не нужен, так как ваш продукт нематериален, поэтому вы можете удалить массив доставки.

Вот рабочий пример, который я использую:

try {
$charge = Twocheckout_Charge::auth(array(
"sellerId" => "xxxxxxxxx",
"li_0_merchant_order_id" => "1",
"type" => "product",
"token"      => $_POST['token'],
"currency"   => "USD",
//  "total" => "1.00",           //Only use when lineitems are not passed in

"lineItems" => array(
"0" => array(
"name" => $_POST['name'],
"price" => $_POST['price'],
"quantity" => $_POST['quantity'],
"startupFee" => $_POST['startupFee'],
"tangible" => $_POST['tangible']
)
),
"billingAddr" => array(
"name" => $_POST['customer'],
"addrLine1" => $_POST['addrLine1'],
"city" => $_POST['city'],
"state" => $_POST['state'],
"zipCode" => $_POST['zipCode'],
"country" => $_POST['country'],
"email" => $_POST['email'],
"phoneNumber" => ''
)
));

if ($charge['response']['responseCode'] == 'APPROVED') {

Чтобы лучше соответствовать вашему приложению, добавьте «продолжительность» & «повторяющиеся» ключи & их соответствующие значения массиву lineItem в коде, который я предоставил выше. Приведенный мною пример содержит все необходимые параметры для нематериальной продажи.

0

Другие решения

Других решений пока нет …