我有一個網站使用Stripe來處理訂閱付款。只有一種類型的訂閱。 我在NetTuts上按照this tutorial進行初始設置。 有一個表單處理罰款處理訂閱和一切工作。客戶請求優惠券代碼。 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中填充表單字段正確地以同樣的方式其他所有字段填充,我三重檢查它是否以正確的。
當我嘗試提交表單沒有優惠券代碼,它的費用的全部金額,並通過條紋傳遞正確。
但是如果我輸入一個有效或無效的優惠券代碼,創建一個新的客戶對象,並通過條紋時收取的全部金額,當它不通過與客戶對象的優惠券對象。
我已經看了好幾個小時的代碼,似乎無法找出它爲什麼總是沒有認識到的優惠碼和優惠券匹配對象傳遞給條紋。
是的。我以爲我通過優惠券代碼,但我有一些變量名混合起來,所以它實際上並沒有通過。感謝您的答案,但我相信它會幫助很多來自谷歌的人。 – biggles 2014-03-19 15:47:06