elefant / app-stripe
Elefant CMS 的 Stripe 支付集成
Requires
This package is auto-updated.
Last update: 2024-09-16 23:42:53 UTC
README
此应用程序提供了将 Stripe 支付 集成到您的 Elefant 网站所需的一切,包括一个简单的支付按钮,您可以通过页面编辑器将其嵌入,以及实现订阅和支付的自定义应用程序的辅助工具。
请注意,此应用程序不是一个购物车,但它可以很容易地成为构建购物车的基础。
待办事项
- 额外的辅助工具或示例
- 取消订阅
- 计量计费、一次性收费和按用户定价
- 响应失败的支付
安装
首先,您需要注册 Stripe。包括银行设置,整个过程不到半小时。
注册后,安装此应用程序的最简单方法是
- 以网站管理员身份登录 Elefant
- 转到工具 > 设计师 > 安装应用程序/主题
- 粘贴以下链接并点击安装
https://github.com/jbroadway/stripe/archive/master.zip
或者,您可以从命令行运行以下命令
cd /path/to/your/site
./elefant install https://github.com/jbroadway/stripe/archive/master.zip
用法
配置应用程序
在 Elefant 管理区域,转到工具 > Stripe 支付 > 设置,并输入 Stripe 为您提供的可发布密钥和密钥。这也是您设置货币、订阅计划和其他设置的地方。
将支付按钮嵌入页面
登录并编辑您希望添加支付按钮的页面。在 WYSIWYG 编辑器中,单击 动态对象 图标。在动态对象列表中,您还将找到一个新的“Stripe:按钮”选项。
使用 Stripe API
您可以通过首先调用 stripe/init
处理程序来访问预初始化您的 Stripe 凭证的 Stripe API。
$stripe = $this->run ('stripe/init');
现在您可以在 Elefant 应用程序中访问完整的 Stripe PHP 库。
在模板中嵌入支付按钮
从视图模板,您可以通过以下标签包含支付按钮
{! stripe/button
?amount=10.00
&description=Item+description
&button=Pay
&address=no
&redirect=/thanks
!}
将
%d
添加到重定向值将在该位置插入支付 ID 到 URL。
创建会员支付或订阅表单
要为网站成员创建支付表单,运行 stripe/payment
处理程序如下
<?php echo $this->run ('stripe/payment', array ( 'amount' => 1000 // in cents 'description' => 'eBook: Become a master prankster', 'callback' => function ($charge, $payment) { info ($charge); info ($payment); } )); ?>
要创建订阅表单,运行 stripe/payment
处理程序如下
<?php echo $this->run ('stripe/payment', array ( 'plan' => 'basic', 'callback' => function ($customer, $payment) { info ($customer); info ($payment); } )); ?>
计划名称应与您在 Stripe 仪表板和 Stripe 设置中创建的计划相匹配。
创建自定义费用处理器
通过 stripe/button
处理程序创建费用后,应用程序可以调用您在 Stripe 支付设置表中设置的自定义费用处理器脚本。此脚本将接收一个 $data['charge']
参数,该参数是调用 $stripe->charges->create()
返回的 Stripe\Charge
对象,您可以使用它来处理应用程序中的新支付,例如提供数字文件下载。
脚本还将接收一个 $data['payment']
参数,该参数是事务的 stripe\Payment
对象。
为了确保您的费用处理器安全,以下是一个示例脚本概要
<?php if (! $this->internal) return $this->error (); info ($data['charge']); info ($data['payment']); ?>
创建自定义 webhooks 处理程序
Stripe 可以配置为在发生事件时向您的网站发送通知,例如退款或创建新的客户账户。您可以在 Stripe 支付设置表单中设置 webhook 处理器。此脚本将接收一个 $data['event']
参数,它是由调用 $stripe->events->retrieve()
返回的 Stripe\Event
对象,您可以使用它来对发生的事件采取行动,例如记录活动或在进行多次失败的账单尝试后禁用账户。
为确保您的 webhook 处理器安全,以下是示例脚本概要:
<?php if (! $this->internal) return $this->error (); info ($data['event']); ?>
请注意,您还必须在 Stripe 控制台中设置您的 webhook 处理器。将其设置为以下 URL(根据您的域名进行调整):
https://www.example.com/stripe/webhook