コード例 #1
0
 public function test()
 {
     $stripeService = new StripePaymentService();
     $task = new \stdClass();
     $task->id = 12;
     $task->title = 'Task example title';
     $task->total = 50.25;
     $card = ['number' => '4242424242424242', 'exp_month' => 10, 'exp_year' => 2015, 'cvc' => 333, 'name' => 'Test Tester'];
     try {
         $charge = $stripeService->payTask($task, $card);
         dd($charge);
     } catch (\Exception $e) {
         Log::error('Stripe Error ' . $e->getMessage());
         abort(404);
         return false;
     }
 }
コード例 #2
0
 public function stripe(Request $request)
 {
     $rules = ['amount' => 'required|numeric|min:5|max:1000', 'card_number' => 'required|digits_between:6,21', 'card_holder' => 'required|min:2|max:250', 'card_year' => 'required|numeric|min:1900|max:' . (date('Y') + 10), 'card_month' => 'required|numeric|min:1|max:12', 'card_cvc' => 'required|numeric|min:100|max:999'];
     $this->validate($request, $rules);
     $amount = $request->get('amount');
     $card_number = $request->get('card_number');
     $card_holder = $request->get('card_holder');
     $card_year = $request->get('card_year');
     $card_month = $request->get('card_month');
     $card_cvc = $request->get('card_cvc');
     $stripeService = new StripePaymentService();
     $card = ['number' => $card_number, 'exp_month' => $card_month, 'exp_year' => $card_year, 'cvc' => $card_cvc, 'name' => $card_holder];
     try {
         $charge = $stripeService->refill($card, $amount, $this->user);
         LogMapper::log('stripe_success', $amount, $this->user->id, ['response' => $stripeService->response]);
     } catch (\Exception $e) {
         LogMapper::log('stripe_error', $e->getMessage(), 'stripe_card', ['user' => $this->user->id, 'card' => $card, 'amount' => $amount]);
         return Redirect::to('/user/client/billing')->withErrors(['stripe' => 'Failed payment']);
     }
     $payment = PaymentMapper::refillFromStripe($this->user, $stripeService);
     LogMapper::log('payment', $amount, 'refilled', ['payment_id' => $payment->id, 'merchant' => 'stripe']);
     NotificationMapper::refilled($payment);
     return Redirect::to('/user/client/billing')->with(['success' => 'We got your payment']);
 }