superbig/craft-vipps

将商业与Vipps集成

安装: 314

依赖项: 0

建议者: 0

安全: 0

星标: 2

关注者: 4

分支: 1

开放问题: 19

类型:craft-plugin

1.0.8 2021-08-24 09:59 UTC

README

将Craft Commerce与Vipps集成。

Screenshot

要求

此插件需要Craft CMS 3.1.0和Craft Commerce 2.0或更高版本。

安装

要安装插件,请按照以下说明操作。

  1. 打开您的终端并转到您的Craft项目

     cd /path/to/project
    
  2. 然后告诉Composer加载插件

     composer require superbig/craft-vipps
    
  3. 在控制面板中,转到设置→插件,然后点击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

Twitter

通过使用#craftcms标签和提及@sjelfull,在Twitter上引起我们的注意

Email

如果您有任何反馈、评论、问题或建议:请通过邮箱 contact at superbig.co 联系我们。

故障排除

"从Vipps接收到的无效认证令牌" 错误

如果您在日志中看到这个错误,这通常意味着Craft和Vipps之间存在一个层,该层移除了认证头。您应该首先检查您的web服务器或防火墙是否移除了它。

Vipps路线图

一些待办事项和潜在功能的想法

  • 支付后处理注册
  • 支持通过Vipps进行用户注册
  • 支持订阅
  • 更好地处理地址和现有客户

Superbig 提供