oryx喜爱者 / 礼品卡比例价值Payone连接器
GiftCardProportionalValuePayoneConnector 模块。
2.0.1
2023-01-30 06:05 UTC
Requires
- php: >=8.0
- fond-of-oryx/gift-card-proportional-value: ^1.1.0 || ^2.0.0
- fond-of-oryx/gift-card-proportional-value-extension: ^1.0.0 || ^2.0.0
- myclabs/deep-copy: ^1.10.0
- spryker-eco/payone: dev-master-fondof as 4.4.2
Requires (Dev)
README
在我们的案例中,如果使用了礼品卡,我们需要按顺序为每个商品计算比例礼品卡价值。对于使用Payone支付的订单和兑换的礼品卡,spryker-eco/payone
会将礼品卡金额按商品金额的比例分割。例如,您订购了三个商品,每个商品的总价为39.90欧元,您使用了一张20欧元的礼品卡。这20欧元将按33,333.3333%的比例分割。一个比例金额将是6.66欧元,两个是6.67欧元。另一个例子,您购买了两个商品,一个商品10欧元,一个商品30欧元,您使用了一张20欧元的礼品卡。这个比例金额对于这个商品将是10欧元的商品5欧元和30欧元的商品15欧元。
为此,我们使用了spryker-eco/payone包的计算方法,但必须创建一个分支(https://github.com/fond-of/payone/tree/feature/add-service)并将计算方法从外部访问。一个PR也开放了(spryker-eco/payone#81),我们希望他们能尽快接受。目前,这个包需要这个分支!
此包为fond-of-oryx/gift-card-proportional-value
提供了一个计算插件。
安装
...
"repositories": [
{
"type": "vcs",
"url": "https://github.com/fond-of/payone"
}
],
"require": {
...
"spryker-eco/payone": "dev-master-fondof as 4.4.2",
...
},
...
...
composer require fond-of-oryx/gift-card-proportional-value-payone-connector
配置
<?php
namespace Pyz\Zed\GiftCardProportionalValue;
use FondOfOryx\Zed\GiftCardProportionalValue\GiftCardProportionalValueDependencyProvider as FooGiftCardProportionalValueDependencyProvider;
use FondOfOryx\Zed\GiftCardProportionalValuePayoneConnector\Communication\Plugin\GiftCardProportionalValue\PayoneProportionalValueCalculationPlugin;
class GiftCardProportionalValueDependencyProvider extends FooGiftCardProportionalValueDependencyProvider
{
/**
* @return array|\FondOfOryx\Zed\GiftCardProportionalValueExtension\Dependency\Plugin\ProportionalValueCalculationPluginInterface[]
*/
protected function getProportionalValueCalulationPlugins(): array
{
$plugins = [
new PayoneProportionalValueCalculationPlugin(),
];
return array_merge(parent::getProportionalValueCalulationPlugins(), $plugins);
}
}
您必须在配置中允许某些Payone支付方式(默认为空)
$config[GiftCardProportionalValuePayoneConnectorConstants::LISTENING_PAYMENT_METHODS] = [
PayoneApiConstants::PAYMENT_METHOD_CREDITCARD,
PayoneApiConstants::PAYMENT_METHOD_E_WALLET,
];
或监听每个Payone支付方式。默认设置为false
$config[GiftCardProportionalValuePayoneConnectorConstants::LISTENING_TO_ALL_PAYONE_METHODS] = true;