Yii2 ActiveForm 条纹令牌
Yii2 ActiveForm Stripe token
在 Yii2 中,我们使用 \Stripe\Charge::create 遵循站点的文档示例:
https://stripe.com/docs/payments/accept-a-payment-charges
只要我们在视图中直接使用 HTML,一切都很好,但是当我们将卡片元素嵌入到 ActiveForm 中时,stripe.js returns:
XMLHttpRequest cannot load https://api.stripe.com/v1/tokens due to
access control checks.
我们想使用 ActiveForm 来简化表单上其他字段的验证和处理。有帮助吗?
最好的,
乔
错误与 CORS 相关,请参阅 CORS。按照此处所述使用适当的 Access-Control
。
您可以在控制器中使用 Yii 的内置行为 yii\filters\Cors。
无限制先试:
public function behaviors()
{
return [
'corsFilter' => [
'class' => \yii\filters\Cors::className(),
],
];
}
如果有效,您可以通过参数化行为来限制访问,例如:
public function behaviors()
{
return [
'corsFilter' => [
'class' => \yii\filters\Cors::className(),
'cors' => [
'Origin' => [https://api.stripe.com'],
'Access-Control-Request-Method' => ['POST', 'PUT'],
],
],
];
}
因此,对于登陆这里的任何人来说,我可以让它工作的唯一方法是删除 ActiveForm 脚手架。真可惜,因为我不得不用 Javascript 验证非 Stripe 输入字段,这需要更多工作。
我确实向任何人挑战 post Yii 中使用 ActiveForm 的工作代码,这将 return 一个令牌。我不认为这是可以做到的......但我很乐意是错误的。
最好的,
乔
在 Yii2 中,我们使用 \Stripe\Charge::create 遵循站点的文档示例:
https://stripe.com/docs/payments/accept-a-payment-charges
只要我们在视图中直接使用 HTML,一切都很好,但是当我们将卡片元素嵌入到 ActiveForm 中时,stripe.js returns:
XMLHttpRequest cannot load https://api.stripe.com/v1/tokens due to access control checks.
我们想使用 ActiveForm 来简化表单上其他字段的验证和处理。有帮助吗?
最好的, 乔
错误与 CORS 相关,请参阅 CORS。按照此处所述使用适当的 Access-Control
。
您可以在控制器中使用 Yii 的内置行为 yii\filters\Cors。
无限制先试:
public function behaviors()
{
return [
'corsFilter' => [
'class' => \yii\filters\Cors::className(),
],
];
}
如果有效,您可以通过参数化行为来限制访问,例如:
public function behaviors()
{
return [
'corsFilter' => [
'class' => \yii\filters\Cors::className(),
'cors' => [
'Origin' => [https://api.stripe.com'],
'Access-Control-Request-Method' => ['POST', 'PUT'],
],
],
];
}
因此,对于登陆这里的任何人来说,我可以让它工作的唯一方法是删除 ActiveForm 脚手架。真可惜,因为我不得不用 Javascript 验证非 Stripe 输入字段,这需要更多工作。
我确实向任何人挑战 post Yii 中使用 ActiveForm 的工作代码,这将 return 一个令牌。我不认为这是可以做到的......但我很乐意是错误的。
最好的, 乔