У меня есть сайт, который использует Stripe для обработки подписных платежей. Существует только один тип подписки. Я выполнил this tutorial на NetTuts, чтобы выполнить первоначальную настройку. Имел форму, обрабатывающую тонкую обработку подписки, и все сработало. Клиент запросил код купона. Stripe поддерживает это, поэтому я намеревался добавить код купона в существующую форму.Использование купонных кодов с полосой
Я установил коды купонов в Stripe, установил свои тестовые ключи и переключился в тестовый режим в полосе. я выступаю несколько проверок в моем коде:
- Проверьте, чтобы увидеть, был ли введен купон, если не создать новый объект клиента без опции купона
- Проверьте, действительно ли Купон , если не вернуть ошибку
Если был введен купон и он действителен, то при создании нового клиента передайте соответствующий купон-объект Stripe в качестве опции.
if(isset($couponCode) && strlen($couponCode) > 0) {
$using_discount = true;
try {
$coupon = Stripe_Coupon::retrieve($couponCode);
if($coupon !== NULL) {
$cCode = $coupon;
}
// if we got here, the coupon is valid
} catch (Exception $e) {
// an exception was caught, so the code is invalid
$message = $e->getMessage();
returnErrorWithMessage($message);
}
}
try
{
if($using_discount == true) {
$customer = Stripe_Customer::create(array(
"card" => $token,
"plan" => "basic_plan",
"email" => $email,
"coupon" => $cCode
));
}
else {
$customer = Stripe_Customer::create(array(
"card" => $token,
"plan" => "basic_plan",
"email" => $email
));
}
$ COUPONCODE заполняется поле формы правильно таким же образом все остальные поля заполняются, я тройной проверил, что он затягивается правильно.
Когда я пытаюсь отправить форму без купонного кода, она начисляет полную сумму и проходит через Stripe правильно.
Однако, если я ввожу либо действительный ИЛИ неверный код купона, он не передает объект купона с объектом клиента при создании нового объекта клиента и взимает полную сумму при прохождении через Stripe.
Я просмотрел код часами и не могу понять, почему он всегда не распознает код скидки и передает соответствующий объект купона Stripe.
Да. Я думал, что я прохожу код купона, но у меня было несколько перепутанных имен переменных, поэтому на самом деле это не получилось. Спасибо за ответ, хотя, я уверен, что это поможет многим, кто приходит сюда из Google. – biggles