smile / hipay-sylius-plugin
此包已被废弃且不再维护。未建议替代包。
Sylius 的一个插件,用于添加支付方式 Hipay。
1.0.0-beta5
2022-02-22 16:09 UTC
Requires
- php: >=7.4
- ext-json: *
- hipay/hipay-fullservice-sdk-php: ^2.8
- sylius/sylius: ~1.9
- symfony/console: ~4.0||~5.0
- symfony/framework-bundle: ~4.0||~5.0
This package is auto-updated.
Last update: 2022-02-25 10:16:09 UTC
README
➡️ 由于无法投入更多时间,该项目现在已被废弃,但“beta”代码将保持在线,以帮助您将 Hipay 支付方式集成到您的项目中。请注意,项目仍不稳定,可能存在未发现的漏洞。
此插件旨在通过 Payum 在 Sylius 中添加新的网关以支持 Hipay 支付。
安装
$ composer require smile/hipay-sylius-plugin
在您的应用程序 Kernel 中启用它。
<?php // config/bundles.php return [ //... Smile\HipaySyliusPlugin\SmileHipaySyliusPlugin::class => ['dev' => true, 'test' => true], ];
导入路由
# config/routes.yaml sylius_hipay_routing: resource: "@SmileHipaySyliusPlugin/config/routing.yaml"
配置您的凭证。在第一个名为 api 的节点中,您必须填写主要账户凭证。在第二个名为 api_moto 的节点中,您必须填写 Mo/To 账户凭证。
# config/packages/sylius_hipay.yaml sylius_hipay: # The "api" key works for credit cards (as hosted field) but also for paiement 3x/4x api: api_private_username: 'Username for api' api_private_password: 'Password for api' api_secret_passphrase: 'Secret Passphrase for api' stage: 'stage or prod' locale: 'fr' # notify_url: '' # Optional; for development purpose, e.g a link to a requestbin listener. do_refunds: true # The "api_moto" key is a dedicated creddential for Mo/To paiements api_moto: api_private_username: 'Username for api Mo/TO' api_private_password: 'Password for api Mo/TO' api_secret_passphrase: 'Secret Passphrase for api Mo/TO' stage: 'stage or prod' locale: 'fr' # notify_url: '' # Optional; for development purpose, e.g a link to a requestbin listener. do_refunds: true
配置
覆盖 twig 文件
在文件末尾添加块 JavaScript,在您的其他覆盖块之后
# templates/bundles/SyliusShopBundle/Order/show.html.twig
{% block javascripts %}
{{ parent() }}
{% include '@SmileHipaySyliusPlugin/Scripts/hipay_scripts.html.twig' %}
{% endblock %}
# templates/bundles/SyliusShopBundle/Checkout/selectPayment.html.twig
{% block javascripts %}
{{ parent() }}
{% include '@SmileHipaySyliusPlugin/Scripts/hipay_scripts.html.twig' %}
{% endblock %}
您可以通过覆盖此文件来激活 Hipay 字段,并为 cartAmount(在后台办公室配置)添加限制。
# templates/bundles/SyliusShopBundle/Checkout/SelectPayment/_choice.html.twig
{% set cartAmount = order.total / 100 %}
{% set cartAmountMin = method.gatewayConfig.config.cartAmountMin ?? null %}
{% set cartAmountMax = method.gatewayConfig.config.cartAmountMax ?? null %}
{% if (cartAmountMin is null or cartAmountMin <= cartAmount) and (cartAmountMax is null or cartAmountMax >= cartAmount) %}
<div class="item" {{ sylius_test_html_attribute('payment-item') }}>
<div class="field">
<div class="ui radio checkbox" {{ sylius_test_html_attribute('payment-method-checkbox') }}>
{{ form_widget(form, sylius_test_form_attribute('payment-method-select')) }}
</div>
</div>
<div class="content">
<a class="header">{{ form_label(form, null, {'label_attr': {'data-test-payment-method-label': ''}}) }}</a>
{% if method.description is not null %}
<div class="description">
<p>{{ method.description }}</p>
</div>
{% endif %}
{{ include('@SmileHipaySyliusPlugin/Payment/hipay_gateways.html.twig') }}
{% if method.gatewayConfig.factoryName == 'sylius.pay_pal' %}
{{ render(controller('Sylius\\PayPalPlugin\\Controller\\PayPalButtonsController:renderPaymentPageButtonsAction', {'orderId': order.id})) }}
{% endif %}
</div>
</div>
{% endif %}