作者:Jeff-C
项目:Wishlis
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");
}
作者:ExchangeCor
项目:razor-commerc
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;
}
作者:easybi
项目:stripe-ph
public function testSave()
{
$customer = self::createTestCustomer();
$customer->email = 'gdb@stripe.com';
$customer->save();
$this->assertEqual($customer->email, 'gdb@stripe.com');
$customer2 = Customer::retrieve($customer->id);
$this->assertEqual($customer->email, $customer2->email);
}
作者:davidliuliuli
项目:sublit
public static function getCards($customerId)
{
$customer = \Stripe\Customer::retrieve($customerId);
$cardsCollection = \Stripe\Customer::retrieve($customerId)->sources->all(['object' => 'card']);
$cards = [];
foreach ($cardsCollection['data'] as $card) {
$cards[] = ['cardId' => $card->id, 'last4' => $card->last4, 'expMonth' => $card->exp_month, 'expYear' => $card->exp_year];
}
return $cards;
}
作者:jducr
项目:music-schoo
/**
* @param User $user
* @param $request
* @return boolean
*/
public function addCard(User $user, $request)
{
$stripeToken = $request->request->get('token');
if ($stripeToken) {
$customer = StripeCustomer::retrieve($this->getCustomerId($user));
$card = $customer->sources->create(['source' => $stripeToken]);
return $card instanceof StripeCard;
}
return false;
}
作者:frangeri
项目:bille
/**
* Merge attributes of stripe in current customer
*
* @param \Stripe\Customer $customer Customer instance from stripe
* @return void
*/
public function merge(\Stripe\Customer $customer)
{
// merge stripe customer attibutes into entity
foreach ($customer->keys() as $key) {
$this->{$key} = $customer->{$key};
}
}
作者:johnmirb
项目:CS4753-eCommerce-Projec
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 = 'cs4753.eCommerce@gmail.com';
// Enter your SMTP username
$mail->Password = '12qwas3.';
// 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
}
}
}
作者:dirtyblanket
项目:allaccessrm
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();
}
}
作者:andrewkru
项目:repucautio
/**
* Check stripe data.
*
* @access public
* @return void
*/
public function run()
{
$paymentGateway = Payment_gateways::findOneActiveBySlug('stripe');
if ($paymentGateway->exists()) {
\Stripe\Stripe::setApiKey($paymentGateway->getFieldValue('apiKey'));
$subscriptions = new Subscription();
$allSubscriptions = $subscriptions->where('status', Subscription::STATUS_ACTIVE)->get();
/* @var Subscription $_subscription */
foreach ($allSubscriptions as $_subscription) {
$end = DateTime::createFromFormat('Y-m-d', $_subscription->end_date);
if ($end->getTimestamp() > strtotime('now')) {
$paymentTransaction = $_subscription->payment_transaction->get();
if ($paymentTransaction->system == 'stripe') {
$user = new User($_subscription->user_id);
try {
$customer = \Stripe\Customer::retrieve($user->stripe_id);
$subscription = $customer->subscriptions->retrieve($paymentTransaction->payment_id);
} catch (Exception $e) {
log_message('CRON_ERROR', __FUNCTION__ . ' > ' . $e->getMessage());
}
if (!isset($subscription) || $subscription->status != 'active') {
$_subscription->deactivate();
$_subscription->save();
}
}
}
}
log_message('CRON_SUCCESS', __FUNCTION__);
}
}
作者:andrewkru
项目:repucautio
/**
* Check stripe data.
*
* @access public
* @return void
*/
public function run()
{
try {
$paymentGateway = Payment_gateways::findOneActiveBySlug('stripe');
if ($paymentGateway->exists()) {
\Stripe\Stripe::setApiKey($paymentGateway->getFieldValue('apiKey'));
$subscriptions = new Subscription();
$allSubscriptions = $subscriptions->get();
/* @var Subscription $_subscription */
foreach ($allSubscriptions as $_subscription) {
if ($_subscription->end_date <= strtotime('now')) {
$paymentTransaction = $_subscription->payment_transaction->get();
if ($paymentTransaction->system == 'stripe') {
$user = new User($_subscription->user_id);
$customer = \Stripe\Customer::retrieve($user->stripe_id);
$subscription = $customer->subscriptions->retrieve($paymentTransaction->payment_id);
if ($subscription->status == 'active') {
$date = new DateTime();
$date->setTimestamp($subscription->current_period_end);
$_subscription->end_date = $date->format('Y-m-d');
$_subscription->activate();
$_subscription->save();
}
}
}
}
log_message('CRON_SUCCESS', __FUNCTION__);
} else {
log_message('CRON_ERROR', __FUNCTION__ . ' > ' . 'No Stripe Api key.');
}
} catch (Exception $e) {
log_message('CRON_ERROR', __FUNCTION__ . ' > ' . $e->getMessage());
}
}
作者:linkthro
项目:laravel-billin
/**
* Delete a customer.
*
* @return Customer
*/
public function delete()
{
$this->info();
$this->stripe_customer->delete();
$this->stripe_customer = null;
return $this;
}
作者:socialapparatu
项目:socialapparatu
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");
}
作者:patternsee
项目:ecommerc
/**
* @param $params
* @return StripeCustomerMock|Customer
*/
function customerCreate($params)
{
if (self::$testMode) {
return StripeCustomerMock::create($params);
} else {
return Customer::create($params);
}
}
作者:zhaoyiy
项目:php-projec
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;
}
作者:SharkIn
项目:ss-pane
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;
}
作者:jordanmannin
项目:Symfon
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');
}
作者:jmougho
项目:StripeBundl
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;
}
作者:prestarocke
项目:strip
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'));
}
作者:sylvaindelou
项目:StripeBundl
/**
* @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;
}
作者:srlab
项目:groundwor
/**
* 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);
}