本文整理汇总了PHP中Laravel\Spark\Spark::collectsBillingAddress方法的典型用法代码示例。如果您正苦于以下问题:PHP Spark::collectsBillingAddress方法的具体用法?PHP Spark::collectsBillingAddress怎么用?PHP Spark::collectsBillingAddress使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Laravel\Spark\Spark
的用法示例。
在下文中一共展示了Spark::collectsBillingAddress方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: handle
/**
* {@inheritdoc}
*/
public function handle($team, $plan, array $data)
{
$subscription = $team->newSubscription('default', $plan->id);
// Here we will fill the trial days for this team subscription. We will also set any
// coupon on the subscription so that the team can receive a discount on the team
// subscription. Then we will almost be ready to create the final subscription.
$subscription->trialDays($plan->trialDays);
if (isset($data['coupon'])) {
$subscription->withCoupon($data['coupon']);
}
// Next, we need to check if this application is storing billing addresses and if so
// we will update the billing address in the database so that any tax information
// on the team will be up to date via the taxPercentage method on the billable.
if (Spark::collectsBillingAddress()) {
Spark::call(TeamRepository::class . '@updateBillingAddress', [$team, $data]);
}
// If this application collects European VAT, we will store the VAT ID that was sent
// with the request. It is used to determine if the VAT should get charged at all
// when billing the customer. When it is present, VAT is not typically charged.
if (Spark::collectsEuropeanVat()) {
Spark::call(TeamRepository::class . '@updateVatId', [$team, array_get($data, 'vat_id')]);
}
// Here we will create the actual subscription on the service and fire off the event
// letting other listeners know a team has subscribed, which will allow any hooks
// to fire that need to send the subscription data to any external metrics app.
$subscription->create($data[$this->token]);
event(new TeamSubscribed($team = $team->fresh(), $plan));
return $team;
}
示例2: handle
/**
* {@inheritdoc}
*/
public function handle($user, $plan, $fromRegistration, array $data)
{
$subscription = $user->newSubscription('default', $plan->id);
// Here we will check if we need to skip trial or set trial days on the subscription
// when creating it on the provider. By default, we will skip the trial when this
// interaction is not from egistration since they have already usually trialed.
if (!$fromRegistration) {
$subscription->skipTrial();
} elseif ($plan->trialDays > 0) {
$subscription->trialDays($plan->trialDays);
}
if (isset($data['coupon'])) {
$subscription->withCoupon($data['coupon']);
}
// Next, we need to check if this application is storing billing addresses and if so
// we will update the billing address in the database so that any tax information
// on the user will be up to date via the taxPercentage method on the billable.
if (Spark::collectsBillingAddress()) {
Spark::call(UserRepository::class . '@updateBillingAddress', [$user, $data]);
}
// If this application collects European VAT, we will store the VAT ID that was sent
// with the request. It is used to determine if the VAT should get charged at all
// when billing the customer. When it is present, VAT is not typically charged.
if (Spark::collectsEuropeanVat()) {
Spark::call(UserRepository::class . '@updateVatId', [$user, array_get($data, 'vat_id')]);
}
// Here we will create the actual subscription on the service and fire off the event
// letting other listeners know a user has subscribed, which will allow any hooks
// to fire that need to send the subscription data to any external metrics app.
$subscription->create($data[$this->token]);
event(new UserSubscribed($user = $user->fresh(), $plan, $fromRegistration));
return $user;
}
示例3: validator
/**
* Get the validator for the request.
*
* @return \Illuminate\Validation\Validator
*/
public function validator()
{
$validator = $this->baseValidator(['stripe_token' => 'required', 'vat_id' => 'max:50|vat_id']);
if (Spark::collectsBillingAddress()) {
$this->validateBillingAddress($validator);
}
return $validator;
}
示例4: validator
/**
* Get the validator for the request.
*
* @return \Illuminate\Validation\Validator
*/
public function validator()
{
$validator = Validator::make($this->all(), ['stripe_token' => 'required']);
if (Spark::collectsBillingAddress()) {
$this->validateBillingAddress($validator);
}
return $validator;
}
示例5: validator
/**
* Get the validator for the request.
*
* @return \Illuminate\Validation\Validator
*/
public function validator()
{
$validator = $this->registerValidator(['stripe_token']);
if (Spark::collectsBillingAddress() && $this->hasPaidPlan()) {
$this->validateBillingAddress($validator);
}
return $validator;
}
示例6: validator
/**
* Get the validator for the request.
*
* @return \Illuminate\Validation\Validator
*/
public function validator()
{
$validator = Validator::make($this->all(), ['stripe_token' => 'required', 'plan' => 'required|in:' . Spark::activePlanIdList(), 'vat_id' => 'max:50|vat_id']);
if (Spark::collectsBillingAddress()) {
$this->validateBillingAddress($validator);
}
return $validator->after(function ($validator) {
$this->validatePlanEligibility($validator);
if ($this->coupon) {
$this->validateCoupon($validator);
}
});
}
示例7: handle
/**
* {@inheritdoc}
*/
public function handle($billable, array $data)
{
// Next, we need to check if this application is storing billing addresses and if so
// we will update the billing address in the database so that any tax information
// on the user will be up to date via the taxPercentage method on the billable.
if (Spark::collectsBillingAddress()) {
Spark::call($this->updateBillingAddressMethod($billable), [$billable, $data]);
}
// If a billable entity already has a Stripe ID, we will just update their card then
// return, but if entities do not have a Stripe ID, we'll need to create a Stripe
// customer with this given token so that they really exist in Stripe's system.
if ($billable->stripe_id) {
$billable->updateCard($data['stripe_token']);
} else {
$billable->createAsStripeCustomer($data['stripe_token']);
}
}
示例8: scriptVariables
/**
* Get the default JavaScript variables for Spark.
*
* @return array
*/
public static function scriptVariables()
{
return ['braintreeMerchantId' => config('services.braintree.merchant_id'), 'braintreeToken' => Spark::billsUsingBraintree() ? BraintreeClientToken::generate() : null, 'cardUpFront' => Spark::needsCardUpFront(), 'collectsBillingAddress' => Spark::collectsBillingAddress(), 'collectsEuropeanVat' => Spark::collectsEuropeanVat(), 'csrfToken' => csrf_token(), 'currencySymbol' => Cashier::usesCurrencySymbol(), 'env' => config('app.env'), 'roles' => Spark::roles(), 'state' => Spark::call(InitialFrontendState::class . '@forUser', [Auth::user()]), 'stripeKey' => config('services.stripe.key'), 'userId' => Auth::id(), 'usesApi' => Spark::usesApi(), 'usesBraintree' => Spark::billsUsingBraintree(), 'usesTeams' => Spark::usesTeams(), 'usesStripe' => Spark::billsUsingStripe()];
}