- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我已经在我的项目中安装了 Laravel Cashier (v3.0.4) 并允许用户更新他们的信用卡,但是当我尝试这样做时遇到了问题。这是我的 Controller 处理它的相关部分:
public function __construct() {
$this->user = Auth::user();
}
/**
* Update credit card
* @return \Illuminate\Http\RedirectResponse
*/
public function updateCardPost() {
$this->user->updateCard(Input::get('stripe-token'));
session()->flash('flash_message', 'You have updated your credit card');
return redirect()->route('dashboard.index');
}
我已经验证了完整性检查项目:
但是每次我尝试提交它时,我都会在 Cashier 中遇到错误:
FatalErrorException in StripeGateway.php line 454:
Call to a member function create() on null
我已经对此进行了调查,看起来它正在将 $token
传递给以下内容:$card = $customer->cards->create(['card' => $ token ]);
然后,我在该方法中通过 dd($token)
进行了另一次健全性检查,并返回了我的表单所提供的内容。看起来这个区 block 最近没有太大变化——但是有一些 PSR-2 和一次性购买更新;这两者似乎都与这里发生的事情无关。所以我对这里的内容一无所知,但任何线索都会有很大的帮助。谢谢!
已验证在 updateCard()
方法中运行 dd($customer->cards)
返回 null —— 可能是因为它从未将最后四个保存到创建订阅时的数据库。努力查看如何创建订阅(在 Stripe 上验证)、取消和恢复,但我的卡详细信息未在本地更新,我也无法换卡。
我用了https://www.youtube.com/watch?v=iPaKX7aPczQ作为“应该”做到这一点的灵感,并在这方面取得了成功,但不是我的。
如果有帮助的话,这是我的整个用户 Controller 和 Coffee 实现:
<?php namespace App;
use Illuminate\Auth\Authenticatable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Auth\Passwords\CanResetPassword;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;
use Laravel\Cashier\Billable;
use Laravel\Cashier\Contracts\Billable as BillableContract;
class User extends Model implements AuthenticatableContract, CanResetPasswordContract, BillableContract {
use Authenticatable, CanResetPassword, Billable;
/**
* The database table used by the model.
*
* @var string
*/
protected $table = 'users';
/**
* Laravel Cashier
*
* @var array
*/
protected $dates = ['trial_ends_at', 'subscription_ends_at'];
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'email',
'password',
'first_name',
'last_name',
'phone',
'biography',
'twitter',
'facebook',
'linkedin'
];
/**
* The attributes excluded from the model's JSON form.
*
* @var array
*/
protected $hidden = ['password', 'remember_token'];
/**
* A user can have many listings
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/
public function listings() {
return $this->hasMany('App\Models\Dashboard\Listing');
}
}
Stripe .咖啡
(($) ->
'use strict'
StripeBilling =
init: ->
@form = $('.js-subscription__create')
@submitButton = @form.find '.js-subscription__create__submit'
@submitButtonText = @submitButton.text()
stripeKey = $('meta[name="publishable_key"]').attr 'content'
Stripe.setPublishableKey stripeKey
@bindEvents()
return
bindEvents: ->
@form.on('submit', $.proxy(@sendToken, @))
return
sendToken: (event) ->
event.preventDefault()
@submitButton.attr("disabled", true).text 'One Moment'
Stripe.createToken(@form, $.proxy(@stripeResponseHandler, @))
return
stripeResponseHandler: (status, response) ->
if response.error
@form.find('.js-form__errors').removeClass("uk-hidden").text response.error.message
return @submitButton.text(@submitButtonText).attr('disabled', false)
$('<input>'
type: 'hidden'
name: 'stripe-token'
value: response.id
).appendTo @form
@form[0].submit()
return
StripeBilling.init()
return
) jQuery
最佳答案
我认为这是由于 Stripe 端的 API 更改所致。如果你看看他们的 changelog您会注意到“cards”属性最近已更改为“sources”。
更新
您可以使用以下静态方法选择 Stripe 自己的 PHP 框架正在使用的 API 版本:
Stripe::setApiVersion("2015-02-10");
(那个版本号对我有用,但可能我们需要一个旧版本。)
关于php - Laravel 收银台 : Trouble Updating Card (Fatal Error),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28735182/
假设我有一个论坛,其中包含用户/管理员可以访问/管理的主题。 当用户访问它时,我首先会检查主题是否存在;在我设置一个标志后,告诉系统用户是否已访问过该主题。 这将是基本代码: 1 if(
我有一个基类 MessageHandler 和 2 个派生类,MessageHandler_CB 和 MessageHandler_DQ。 派生类重新定义了 handleMessage(...) 方法
我已经在我的 NOOBS 操作系统上安装了 v4l2loopback,但它不起作用。 我已经检查过是否安装了 v4l2loopback,它是。但是当我输入 sudo modprobe v4l2loop
我们正处于项目的最后一步,我们无法摆脱这个问题。 基本上,我们正在开发的页面是在视频中创建章节的表单。对于创建的每个章节,验证后都会创建一张小“卡片”。我们希望用户能够通过单击每个章节卡中显示的 X
我是 C# 新手。也许我没有正确地实现 IEquatable,因为我的类型的对象应该被认为是相同的,但不是。 类(class): class CompPoint : IComparable {
在我的代码顶部,我需要询问用户是否想玩游戏。使用字符串函数查看他们答案的第一个字母并将其变为小写。如果他们的答案 == "y"然后玩游戏。我需要帮助将 Yes 的第一个字母小写。
我正在尝试导出我的数据库。我尝试过通过电子邮件并分享它。 问题是我想导出数据库的当前状态(以及其中的所有信息)。 我已经尝试过这段代码: func exportDatabase(){ var
我在分层情况下遇到 getcomponentat 问题。我进行了很多研究,发现以下线程实际上是我需要的,但它对我不起作用。我在线程中下载了代码并且它可以工作但是当我在我的项目中实现它时它没有。我可能正
我有麻烦了。带标题:我不知从哪里得到了 8px 的 margin !我希望我的标题附加到覆盖所有顶部区域而没有边距。但是我只用 margin :-8px; 得到这个东西但是对于不同的屏幕我需要设置其他
我创建了 2 个页脚,第二个页脚使用 css position: absolute 但结果是,第一个页脚不再起作用。 结果是这样的: 最佳答案 请分享您的代码以供理解。 如果您使用的是 positio
我有一个新手问题: bool _isPalindrome(const string& str) { return _isPalindrome(str.begin(), str.end());
我正在尝试构建一个蒙德里安艺术创作器,它允许您创建任意数量的矩形,每个矩形的大小都是随机的。我能够创建随机大小,但我遇到的麻烦是让它创建两个以上的随机矩形。 import turtle import
谁能告诉我为什么以下内容不匹配: >>> re.search(r'(\d{2, 10})', '153') 这个匹配: >>> re.search(r'\d{3}', '153') 最佳答案 re模
我已经为主屏幕构建了一个小部件,并在我的 AppWidgetProvider 类中声明了一些变量。这些变量是整数和 boolean 值。 我遇到的问题(它基本上是一个 Java 编程问题)是我分配给变
我的内存有问题。我不明白为什么当我的程序长时间运行时 Go 使用越来越多的内存(从不释放它)。 第一次分配后,程序使用了将近 9 MB 的内存。然后在 12 小时后,它开始以指数方式使用更多内存,直到
当我使用 g++ 编译以下代码时 class A {}; void foo(A&) {} int main() { foo(A()); return 0; } 我收到以下错误消息: > g++
我正在尝试在我的应用程序中的 iPhone 屏幕上拖动 UIImageView。 目前我设置的拖动功能很好,拖动图像确实可以在屏幕上移动它,问题是你不必拖动 ImageView 来移动它,你也可以在屏
我无法解释这种行为: 有时,我的图表会显示带有大量小数的轴的第一个或最后一个标签。 在我的图表选项中,yAxis 如下所示: yAxis : [{ alternateGridColor: "
我的 update() 函数遇到问题。在这里,在 svg.append('rect') 中,我有 .on('click'),我只需更改数据,然后运行 update(). 为什么这不起作用?我该如何
自从我切换到最近的 emacs 版本 (23.2) 附带的 CEDET 后,CEDET 不再可靠地工作。例如,我无法再重新生成 EDE 项目。 环顾四周后,似乎压缩包中缺少所有 CEDET 模板。有谁
我是一名优秀的程序员,十分优秀!