Как отследить/получить подписку Braintree, если ее не удается создать из-за ошибки отказа процессора, а также при потереPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как отследить/получить подписку Braintree, если ее не удается создать из-за ошибки отказа процессора, а также при потере

Сообщение Anonymous »

Я столкнулся с проблемой при использовании Braintree. Я создаю подписку, которая работает отлично. Я использовал веб-перехватчики для отслеживания статуса подписки.
Но мне не удалось отследить статус подписки, когда время соединения пользователя истекло, а статус подписки истек из-за ошибки отклонения процессора. Этот случай обрабатывается при наличии соединения, поскольку я получаю ответ во время создания подписки.
Я проверил различные ресурсы, но не смог решить свою проблему. Я использую следующий код на PHP для создания подписки.
function createSubscription($customerPaymentToken, $planID, $arrIds)
{
$result = null;
try

{

$result["error"] =0;

$result["result"]= null;

if($customerPaymentToken ==null || empty($customerPaymentToken))
{
$result["error"]= BT_NULL_OR_INVALID_CUSTOMER_PAYMENT_METHOD;
return $result;
}

if($planID== null || empty($planID))
{
$result["error"] = BT_NULL_OR_INVLAID_PLAN_ID;
return $result;
}

if(!is_array($arrIds) || $arrIds==null || count($arrIds)==0)
{
$result["error"]= BT_NULL_OR_EMPTY_UNIQUE_IDs;
return $result;
}

for ($i=0; $igateway->subscription()->create([
'paymentMethodToken' => $customerPaymentToken, // Use the customer's payment method token
'planId' => $planID,
'options' => [
'startImmediately' => true, // Start the subscription immediately

],
'id'=>$arrIds[$i],
]);
if ($response->success)
{
// Subscription creation was successful
$tmp = array();
$tmp["sid"] = $arrIds[$i]; //$response->subscription->id;
$tmp["error"] = 0;
$tmp["response"]= $response;
$result["result"][] = $tmp;
}
else
{
// Subscription creation failed
$tmp = array();
$tmp["sid"] = $arrIds[$i];// 0;
$tmp["error"] = BT_FAILED_TO_SUBSCRIBE_PLAN;
$tmp["response"] = $response;
$result["result"][] = $tmp;
}
}
}
catch(Exception $ex)
{

$result["error"] = BT_EXCEPTION_OCCURRED_WHILE_SUBSCRIBING_PLAN;
$result["ex"] = $ex;
}
return $result;
}



Подробнее здесь: https://stackoverflow.com/questions/790 ... -processor
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»