コード例 #1
4
 /**
  * @param $params
  * @return StripeCustomerMock|Customer
  */
 function customerCreate($params)
 {
     if (self::$testMode) {
         return StripeCustomerMock::create($params);
     } else {
         return Customer::create($params);
     }
 }
コード例 #2
2
ファイル: billing.php プロジェクト: Jeff-Ch/Wishlist
 public function bill_user()
 {
     \Stripe\Stripe::setApiKey("sk_test_BzcfGDAVwQw9efuWp2eVvyVg");
     $stripe_info = $this->input->post();
     $billing = $this->user->get_billing_id($this->session->userdata("id"));
     $total = $this->cart->get_total_cents($this->cart->get_all());
     if ($billing["billing_id"]) {
         // var_dump($total);
         // die();
         \Stripe\Charge::create(array("amount" => $total, "currency" => "usd", "customer" => $billing["billing_id"]));
     } else {
         $customer = \Stripe\Customer::create(array("source" => $stripe_info["stripeToken"], "description" => "Example customer"));
         $this->user->set_billing_id($customer["id"]);
         try {
             $charge = \Stripe\Charge::create(array("amount" => $total, "currency" => "usd", "customer" => $customer["id"], "description" => "Example charge"));
         } catch (\Stripe\Error\Card $e) {
             // The card has been declined
         }
     }
     $cart_items = $this->cart->get_all();
     foreach ($cart_items as $item) {
         $this->cart->delete($item['product_id'], $item['recipient_id']);
         $this->wishlist->delete_from_wishlist($item['product_id'], $item['recipient_id']);
     }
     redirect("/carts/viewcart");
 }
コード例 #3
1
 protected function createStripeCustomer($token)
 {
     require_once '/api/stripe-php-2.1.1/init.php';
     \Stripe\Stripe::setApiKey($this->test_secret_key);
     $customer = \Stripe\Customer::create(array("source" => $token, "description" => "Razor Commerce Customer"));
     return $customer;
 }
コード例 #4
1
ファイル: Subscription.php プロジェクト: dioscouri/f3-striper
 public function charge()
 {
     $id = $this->inputfilter->clean($this->app->get('PARAMS.id'), 'alnum');
     $subscription = $this->getModel()->setState('filter.id', $id)->getItem();
     // Get the credit card token submitted by the form
     $token = $this->inputfilter->clean($this->app->get('POST.stripeToken'), 'string');
     $email = $this->inputfilter->clean($this->app->get('POST.stripeEmail'), 'string');
     // Create the charge on Stripe's servers - this will charge the user's card
     try {
         //create a stripe user
         $user = \Stripe\Customer::create(array("description" => "Customer for " . $email, "email" => $email, "card" => $token));
         $user->subscriptions->create(array("plan" => $subscription->plan));
         // this needs to be created empty in model
         $subscription->set('subscriber.id', $user->id);
         $subscription->set('subscriber.email', $user->email);
         $subscription->set('client.email', $email);
         $subscription->save();
         // SEND email to the client
         $this->app->set('subscription', $subscription);
         $this->app->set('plan', \Stripe\Plan::retrieve($subscription->{'plan'}));
         // $subscription->sendChargeEmailClient($subscription);
         //$subscription->sendChargeEmailAdmin($subscription);
         $view = \Dsc\System::instance()->get('theme');
         echo $view->render('Striper/Site/Views::subscription/success.php');
     } catch (\Stripe\CardError $e) {
         //set error message
         // The card has been declined
         $view = \Dsc\System::instance()->get('theme');
         echo $view->render('Striper/Site/Views::subscription/index.php');
     }
 }
コード例 #5
1
ファイル: StripePayment.php プロジェクト: SharkIng/ss-panel
 public static function charge($token, $email, $amount)
 {
     $key = Config::get('stripeKey');
     Stripe\Stripe::setApiKey($key);
     $customer = Stripe\Customer::create(array('email' => $email, 'card' => $token));
     $charge = Stripe\Charge::create(array('customer' => $customer->id, 'amount' => $amount, 'currency' => 'USD'));
     return $charge;
 }
コード例 #6
0
 public function postPayment(PaymentFormRequest $request, $eventId, $attendeeId)
 {
     $registeredAttendee = $this->attendees->findById($attendeeId);
     $event = $this->events->findById($eventId);
     $input = $request->all();
     $token = $input['stripeToken'];
     if (empty($token)) {
         Flash::error('Your order could not be processed.  Please ensure javascript in enabled and try again.');
         return redirect()->back();
     }
     try {
         \Stripe\Stripe::setApiKey(env('STRIPE_SECRET'));
         $stripeCustomer = \Stripe\Customer::create(['source' => $token, 'description' => 'Stripe charge for AARMS customer: ' . $registeredAttendee->id, 'email' => $registeredAttendee->email]);
         $charge = \Stripe\Charge::create(['amount' => $event->price_cents, 'currency' => 'usd', 'customer' => $stripeCustomer->id, 'description' => 'Stripe charge for event: ' . $event->title]);
         if (!$charge) {
             Flash::error("Could not process Credit Card Payment");
             return redirect()->back();
         } else {
             $registeredAttendee->amount_paid = $event->price;
             $registeredAttendee->save();
             $sendMail = new SendInvoiceEmail($registeredAttendee);
             $this->dispatch($sendMail);
         }
         Flash::success("Payment successful!");
         return redirect()->back();
     } catch (\Stripe\Error\Card $e) {
         Flash::error($e->getMessage());
         return redirect()->back();
     }
 }
コード例 #7
0
 function __construct()
 {
     \Stripe\Stripe::setApiKey(EcommercePlugin::secretKey());
     $order_items = array();
     $user = getLoggedInUser();
     $stripe_cust = $user->stripe_cust;
     $cart = Cache::get("cart", "session");
     if (!$stripe_cust) {
         try {
             $cu = \Stripe\Customer::create(array("description" => $user->email, "source" => getInput("stripeToken")));
         } catch (Exception $e) {
             new SystemMessage("There has been an error.  Please contact us.");
             forward("home");
         }
         $user->stripe_cust = $cu->id;
         $user->save();
     } else {
         $cu = \Stripe\Customer::retrieve($stripe_cust);
         try {
             $cu->source = getInput("stripeToken");
         } catch (Exception $e) {
             new SystemMessage("There has been an error.  Please contact us.");
             forward("home");
         }
         $cu->save();
     }
     foreach ($cart as $guid => $details) {
         $product = getEntity($guid);
         if ($product->interval == "one_time") {
             $order_item = array("type" => "sku", "parent" => $product->stripe_sku, "description" => $product->description . $details);
             $order_items[] = $order_item;
         } else {
             try {
                 $cu->subscriptions->create(array("plan" => $guid));
             } catch (Exception $e) {
                 new SystemMessage("There has been an error.  Please contact us.");
                 forward("home");
             }
         }
     }
     if (!empty($order_items)) {
         try {
             $order = \Stripe\Order::create(array("items" => $order_items, "currency" => "usd", "customer" => $cu->id));
             $order->pay(array("customer" => $cu->id, "email" => $user->email));
         } catch (Exception $e) {
             new SystemMessage("There has been an error.  Please contact us.");
             forward("home");
         }
     }
     $invoice = new Invoice();
     $invoice->items = $cart;
     $invoice->status = "paid";
     $invoice->owner_guid = getLoggedInUserGuid();
     $invoice->stripe_order = $order->id;
     $invoice->save();
     Cache::delete("cart", "session");
     new SystemMessage("Your purchase is complete.");
     forward("billing");
 }
コード例 #8
0
 public function indexAction()
 {
     \Stripe\Stripe::setApiKey("sk_test_xN2J6grU84FCtP69dJEncERE");
     $token = $_POST['stripeToken'];
     $customer = \Stripe\Customer::create(array("source" => $token, "description" => "Example customer"));
     \Stripe\Charge::create(array("amount" => 1000, "currency" => "gbp", "customer" => $customer->id));
     return $this->render('TestStripeBundle:Stripe:index.html.twig');
 }
コード例 #9
0
ファイル: customerController.php プロジェクト: nicklyz/Tixzoo
 public function createCustomer($email)
 {
     $customer = \Stripe\Customer::create(array("description" => "Customer for '{$email}'", "email" => $email));
     $user = new userControllerClass();
     $user->setAssocCustomerId($customer->id, $email);
     return $customer;
     // store customer's id into database
 }
コード例 #10
0
ファイル: Payment.php プロジェクト: zhaoyiyi/php-project
 public function stripe($stripeToken)
 {
     $customer = \Stripe\Customer::create(array('email' => AuthModel::getUser('email'), 'source' => $stripeToken));
     $charge = \Stripe\Charge::create(array('customer' => $customer->id, 'amount' => $_SESSION['grandPrice'][0] * 100, 'currency' => 'cad'));
     unset($_SESSION['grandPrice']);
     // TODO: need handle payment errors
     return true;
 }
コード例 #11
0
ファイル: charge.php プロジェクト: prestarocket/stripe
 public function postProcess()
 {
     $cart = $this->context->cart;
     $customer = new Customer((int) $cart->id_customer);
     \Stripe\Stripe::setApiKey((string) Configuration::get('STRIPE_SECRET_KEY'));
     $token = Tools::getValue('stripeToken');
     $customer = \Stripe\Customer::create(array('email' => $customer->email, 'card' => $token));
     $charge = \Stripe\Charge::create(array('customer' => $customer->id, 'amount' => (int) ($cart->getOrderTotal(true, CART::BOTH) * 100), 'currency' => 'sek'));
 }
コード例 #12
0
 /**
  * Create a new wallet object, representing a billing provider customer entity
  *
  * @param $owner
  * @return WalletInterface
  */
 public function createWallet($owner)
 {
     // Create the new stripe customer entity
     $customer = Customer::create(array("metadata" => ['customer_id' => $owner->id, 'customer_type' => get_class($owner)]));
     // Save the wallet info in the database
     $date = new \DateTime();
     $this->db->table('wallets')->insert(['ownerable_id' => $owner->id, 'ownerable_type' => get_class($owner), 'provider' => self::$provider, 'customer_token' => $customer->id, 'created_at' => $date, 'updated_at' => $date]);
     return new StripeWallet($customer->id);
 }
コード例 #13
0
 /**
  * @param Request $request
  * @param string  $email
  *
  * @return Customer
  */
 public function createFromRequest(Request $request, $email = null)
 {
     if (!($token = $request->get(StripeFactory::TOKEN_REQUEST_PARAMETER))) {
         throw new \RuntimeException(sprintf('"%s" not found in given request.', StripeFactory::TOKEN_REQUEST_PARAMETER));
     }
     $stripeCustomer = StripeCustomer::create(array('source' => $token, 'email' => $email));
     $customer = $this->stripeToCustomerTransformer->transform($stripeCustomer);
     return $customer;
 }
コード例 #14
0
ファイル: User.php プロジェクト: GerardoDRM/BondzuWebApp
 public function createStripeId($email = null, $name = null)
 {
     if ($email != null) {
         $customer = \Stripe\Customer::create(array("description" => "Customer for " . $email, "email" => $email));
     } else {
         $customer = \Stripe\Customer::create(array("description" => "Customer for " . $name));
     }
     return $customer;
 }
コード例 #15
0
 public function testInvalidCredentials()
 {
     Base::setApiKey('invalid');
     try {
         Customer::create();
     } catch (AuthenticationError $e) {
         $this->assertEqual(401, $e->getHttpStatus());
     }
 }
コード例 #16
0
 protected function onSuccess(array $data, $descriptionMetadata = null)
 {
     if ($descriptionMetadata) {
         $descriptionMetadata = $this->form->get($descriptionMetadata)->getData();
     }
     $customer = Customer::create(array("card" => $data['token'], "description" => '' . empty($descriptionMetadata) ? $this->description : $this->description . ' (' . $descriptionMetadata . ')'));
     $this->data = $data;
     $this->customer = $customer;
 }
コード例 #17
0
ファイル: CustomerService.php プロジェクト: Asisyas/EqPay
 /**
  *
  * Create Customer in Stripe
  *
  * @param CustomerUser $user
  * @return Customer
  * @throws AccountAlreadyExists
  */
 public function create(CustomerUser $user, $token)
 {
     $userData = $this->_createUserArray($user);
     $userData['source'] = $token;
     $customer = Customer::create($userData);
     $user->setStripeToken(null);
     $user->setSourceId($customer['id']);
     $user->addRole('ROLE_STRIPE_USER_REGISTERED');
     return $customer;
 }
コード例 #18
0
 /**
  * @param User $user
  * @param $request
  * @throws Exception
  * @return User
  */
 public function addCustomer(User $user, $request)
 {
     $stripeToken = $request->request->get('token');
     //register stripe customer if necessary
     $customer = StripeCustomer::create(["description" => sprintf("UserId %s email %s", $user->getId(), $user->getEmail()), "source" => $stripeToken, "email" => $user->getEmail()]);
     if (!$customer->id) {
         throw new Exception("stripe create customer failed");
     }
     $user->setStripeCustomerId($customer->id);
     return true;
 }
コード例 #19
0
 public function saveCard(Request $request)
 {
     $user = Auth::user();
     if ($request->get('stripe_token')) {
         \Stripe\Stripe::setApiKey("sk_test_Z98H9hmuZWjFWfbkPFvrJMgk");
         $customer = \Stripe\Customer::create(array("source" => $request->get('stripe_token'), "description" => $user->id));
         $user->update(['stripe_id' => $customer->id]);
         return \Redirect::route('user.index')->with('message', 'Card is saved');
     } else {
         return \Redirect::route('products.index')->withErrors('Failed to save');
     }
 }
コード例 #20
0
 /**
  * @param $source
  * @param null $email
  * @return Customer
  */
 public function createNewCustomer($source, $email)
 {
     Stripe::setApiKey(env('STRIPE_API_KEY'));
     try {
         $customer = Customer::create(['source' => $source, 'email' => $email]);
     } catch (Card $e) {
         return response()->json(['success' => false, 'message' => 'Your card was declined, please try again.'], 402);
     } catch (Base $e) {
         return response()->json(['success' => false, 'message' => 'The transaction did not go through, please try again.'], 402);
     }
     return $customer;
 }
コード例 #21
0
ファイル: stripe_test.php プロジェクト: kobiwang/KBStripe
function testCustemPayPlanWithCard()
{
    try {
        $result = \Stripe\Token::create(array("card" => array("number" => "4242424242424242", "exp_month" => 10, "exp_year" => 2016, "cvc" => "314")));
        // plan 是后台创建好的 plan id
        $customer = \Stripe\Customer::create(array("description" => "*****@*****.**", "email" => "*****@*****.**", "source" => $result->id, "plan" => "pro-39"));
        echo $customer;
    } catch (Exception $e) {
        $error = $e->getMessage();
        echo $error;
    }
}
コード例 #22
0
 function create_customer($planID, $email, $stripeToken)
 {
     try {
         if (!isset($stripeToken)) {
             throw new Exception("The Stripe Token was not generated correctly");
         }
         $customer = \Stripe\Customer::create(array("plan" => $planID, "card" => $stripeToken, "email" => $email));
         return $customer;
     } catch (Exception $e) {
         http_response_code(404);
         return $e->getJsonBody();
     }
 }
コード例 #23
0
ファイル: CreateCustomerAction.php プロジェクト: payum/stripe
 /**
  * {@inheritDoc}
  */
 public function execute($request)
 {
     /** @var $request CreateCustomer */
     RequestNotSupportedException::assertSupports($this, $request);
     $model = ArrayObject::ensureArrayObject($request->getModel());
     try {
         Stripe::setApiKey($this->keys->getSecretKey());
         $customer = Customer::create($model->toUnsafeArrayWithoutLocal());
         $model->replace($customer->__toArray(true));
     } catch (Error\Base $e) {
         $model->replace($e->getJsonBody());
     }
 }
コード例 #24
0
 public function charge(array $data)
 {
     try {
         $customer = Customer::create(array('card' => $data['stripe-token'], 'email' => $data['email'], 'plan' => $data['plan'], 'description' => $data['name']));
         return $customer;
     } catch (\Stripe\Error\InvalidRequest $e) {
         throw new \Exception($e->getMessage());
         // throw new \Exception('You cannot make the same transaction twice.');
     } catch (\Stripe\Error\Base $e) {
         throw new \Exception($e->getMessage());
     } catch (\Exception $e) {
         return $e->getMessage();
     }
 }
コード例 #25
0
 public function charge(array $data)
 {
     try {
         $customer = Customer::create(['card' => $data['token'], 'description' => $data['email']]);
         Charge::create(['customer' => $customer->id, 'amount' => 1000, 'currency' => 'usd']);
         return $customer->id;
     } catch (Card $e) {
         // Since it's a decline, \Stripe\Error\Card will be caught
         throw new Exception($e->getMessage());
     } catch (Authentication $e) {
         // Authentication with Stripe's API failed
         // (maybe you changed API keys recently)
         throw new Exception($e->getMessage());
     }
 }
コード例 #26
0
 protected function collectOneTimePayment($token, $amount)
 {
     Stripe::setApiKey(config('services.stripe.secret'));
     $user = Auth::user();
     $customer = Customer::create(['source' => $token, 'email' => $user->email, 'description' => 'Pre-launch customer']);
     Charge::create(['amount' => $amount, 'currency' => 'usd', 'customer' => $customer->id]);
     /*
      * Save the strip_id and card details to the DB.
      */
     $tokenDetails = Token::retrieve($token);
     $user->stripe_id = $customer->id;
     $user->card_brand = $tokenDetails->card->brand;
     $user->card_last_four = $tokenDetails->card->last4;
     $user->save();
 }
コード例 #27
0
 function subscribe_to_plan($stripeToken, $planID, $email)
 {
     try {
         if (!isset($stripeToken)) {
             throw new Exception("The Stripe Token was not generated correctly");
         }
         // Get the credit card details submitted by the form
         $token = $stripeToken;
         $customer = \Stripe\Customer::create(array("source" => $token, "plan" => $planID, "email" => $email));
         return $customer;
     } catch (Exception $e) {
         $error = $e->getMessage();
         return $error;
     }
 }
コード例 #28
-2
 /**
  * Store a newly created resource in storage.
  *
  * @param  Request  $request
  * @return Response
  */
 public function store(Request $request)
 {
     $token = $request->input('stripeToken');
     $email = $request->input('email');
     Stripe::setApiKey($this->stripeConfig['testSecretKey']);
     $customer = StripeCustomer::create(["email" => $email, "description" => "Description of {$email}", "source" => $token]);
 }
コード例 #29
-4
function processStripePayment($cents_amount, $email)
{
    if (isset($_POST['stripeToken'])) {
        $token = $_POST['stripeToken'];
        $customer = \Stripe\Customer::create(array('card' => $token, 'email' => strip_tags(trim($_POST['email']))));
        $customer_id = $customer->id;
        try {
            $charge = \Stripe\Charge::create(array("amount" => $cents_amount, "currency" => "usd", "description" => "Weblytics Sign-Up", "customer" => $customer_id));
            $mail = new PHPMailer();
            $mail->IsSMTP();
            // send via SMTP
            $mail->SMTPAuth = true;
            // turn on SMTP authentication
            $mail->SMTPSecure = 'tls';
            $mail->Host = 'smtp.gmail.com';
            $mail->Port = 587;
            $mail->Username = '******';
            // Enter your SMTP username
            $mail->Password = '******';
            // SMTP password
            $mail->FromName = 'Weblytics';
            $mail->addAddress($email);
            $mail->Subject = 'Weblytics - Payment Received';
            $mail->Body = 'Your payment of $5.00 associated with our sign-up fee has been received.';
            if (!$mail->send()) {
                //error
            } else {
                //good
            }
        } catch (\Stripe\Error\Card $e) {
            //Card has been declined
        }
    }
}
コード例 #30
-5
ファイル: Stripe.php プロジェクト: Fash1/Fash1
 public static function createCard($details)
 {
     self::init();
     $expiry = explode('/', $details['expiry']);
     // Check if they arent already a stripe customer.
     if (!Auth::user()->stripe_key) {
         try {
             // Create a stripe customer.
             $customer = \Stripe\Customer::create(['source' => ['object' => 'card', 'number' => $details['number'], 'exp_month' => trim($expiry[0]), 'exp_year' => trim($expiry[1]), 'cvc' => $details['cvc']]]);
             // Update the user with their stripe token.
             Auth::user()->stripe_key = $customer['id'];
             Auth::user()->save();
             return true;
         } catch (Exception $e) {
             return false;
         }
     }
     try {
         // Add a card to an existing customer.
         $customer = \Stripe\Customer::retrieve(Auth::user()->stripe_key);
         $customer->sources->create(['source' => ['object' => 'card', 'number' => $details['number'], 'exp_month' => trim($expiry[0]), 'exp_year' => trim($expiry[1]), 'cvc' => $details['cvc']]]);
         return true;
     } catch (Exception $e) {
         return false;
     }
 }