superbig / craft-vipps
将商业与Vipps集成
Requires
- craftcms/cms: ^3.4.0
- craftcms/commerce: ^3.0.0
This package is auto-updated.
Last update: 2024-09-08 03:01:10 UTC
README
将Craft Commerce与Vipps集成。
要求
此插件需要Craft CMS 3.1.0和Craft Commerce 2.0或更高版本。
安装
要安装插件,请按照以下说明操作。
-
打开您的终端并转到您的Craft项目
cd /path/to/project
-
然后告诉Composer加载插件
composer require superbig/craft-vipps
-
在控制面板中,转到设置→插件,然后点击Vipps的“安装”按钮。
Vipps概述
此插件为您的Craft Commerce商店提供两种支付方式
- 一个正常的Craft Commerce网关,客户在结账时可以选择Vipps
- 快速结账 - 用户轻触熟悉的橙色Vipps结账按钮,直接跳转到Vipps应用程序进行支付。
什么是Vipps?
Vipps是一款移动应用程序,可以轻松地将钱转给他人,在商店、在线商店和账单中支付。
Vipps在挪威有290万用户,每天有数千人使用它在线购物。
配置Vipps
您可以在网关设置屏幕上配置网关,或者在config/目录中创建一个名为commerce-gateways.php
的配置文件。
<?php return [ 'gatewayHandle' => [ 'testMode' => true, 'clientId' => '', 'clientSecret' => '', 'subscriptionKeyAccessToken' => '', 'merchantSerialNumber' => '', 'useBillingPhoneAsVippsPhoneNumber' => true, 'captureOnStatusChange' => true, 'captureStatusUid' => '', // You have access to any properties on the order + // a property called lineItemsText that will list the // line items as text + their quantity 'transactionText' => '{lineItemsText}', // Users will be redirected here on success or when something goes wrong 'fallbackUrl' => \craft\helpers\UrlHelper::siteUrl('/shop/confirmation?order={number}'), // Express checkout 'expressCheckout' => true, 'newCartOnExpressCheckout' => true, ], ];
注意,这里的gatewayHandle
必须与商网关设置中网关的handle相匹配。
有关如何使用配置文件配置网关的更多信息,请参阅Commerce文档。
配置设置概述
这是一个概述,显示了您如何通过Vipps开发者门户获取不同的配置值。
回调URL
请注意,所有传递给Vipps的URL都必须是公开可用的。Vipps将验证URL,如果无法从他们的服务器访问,将返回错误。
使用Vipps
快速结账按钮
Vipps允许客户直接在Vipps中查看和支付订单,从而减少客户完成订单所需的步骤数量。
要显示变体的快速结账按钮
{{ craft.vipps.getExpressFormButton(variant) }}
要显示购物车的快速结账按钮
{{ craft.vipps.getExpressFormButton() }}
自定义快速结账
如果您需要在快速结账流程中执行一些自定义操作,例如允许客户提供备注、选择数量或使用行项目选项
,您可以手动处理输入并将其提交到/vipps/express/checkout
。此端点接收与正常Commerce端点相同的purchasables
输入。
{% set product = craft.products.one() %} {% set variant = product.defaultVariant %} <form method="POST"> <input type="hidden" name="action" value="vipps/express/checkout"> {{ csrfInput() }} <input type="hidden" name="purchasables[0][qty]" value="1"> <input type="text" name="purchasables[0][note]" value="" placeholder="note"> <select name="purchasables[0][options][engraving]"> <option value="happy-birthday">Happy Birthday</option> <option value="good-riddance">Good Riddance</option> </select> <select name="purchasables[0][options][giftwrap]"> <option value="yes">Yes Please</option> <option value="no">No Thanks</option> </select> <input type="hidden" name="purchasables[0][id]" value="{{ variant.id }}"> <input type="submit" value="Vipps Express Checkout"> </form>
有关更多信息,请参阅Commerce文档中的“添加到购物车”。
有关如何使用支付按钮的更多信息,请参阅品牌指南。
获取支持
Discord
通过Craft Discord,在#craft3-help
频道中联系。在以下handle中提及我们的团队成员之一
@superbig
@fred
通过使用#craftcms
标签和提及@sjelfull,在Twitter上引起我们的注意
如果您有任何反馈、评论、问题或建议:请通过邮箱 contact at superbig.co
联系我们。
故障排除
"从Vipps接收到的无效认证令牌" 错误
如果您在日志中看到这个错误,这通常意味着Craft和Vipps之间存在一个层,该层移除了认证头。您应该首先检查您的web服务器或防火墙是否移除了它。
Vipps路线图
一些待办事项和潜在功能的想法
- 支付后处理注册
- 支持通过Vipps进行用户注册
- 支持订阅
- 更好地处理地址和现有客户
由 Superbig 提供