本文整理汇总了PHP中Stripe\Customer类的典型用法代码示例。如果您正苦于以下问题:PHP Customer类的具体用法?PHP Customer怎么用?PHP Customer使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Customer类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: bill_user
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");
}
示例2: createStripeCustomer
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;
}
示例3: testSave
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);
}
示例4: getCards
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;
}
示例5: addCard
/**
* @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;
}
示例6: merge
/**
* 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};
}
}
示例7: processStripePayment
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
}
}
}
示例8: postPayment
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();
}
}
示例9: run
/**
* 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__);
}
}
示例10: run
/**
* 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());
}
}
示例11: delete
/**
* Delete a customer.
*
* @return Customer
*/
public function delete()
{
$this->info();
$this->stripe_customer->delete();
$this->stripe_customer = null;
return $this;
}
示例12: __construct
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");
}
示例13: customerCreate
/**
* @param $params
* @return StripeCustomerMock|Customer
*/
function customerCreate($params)
{
if (self::$testMode) {
return StripeCustomerMock::create($params);
} else {
return Customer::create($params);
}
}
示例14: stripe
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;
}
示例15: charge
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;
}