承接 dvsa/mot-cpms-forms 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

dvsa/mot-cpms-forms

Composer 安装命令:

composer require dvsa/mot-cpms-forms

包简介

Module that provides re-usable HTML Forms that can be used by scheme to process payments.

README 文档

README

Introduction

A module to provide re-usable HTML Forms that can be used by scheme to process payments.

Installation

Main Setup

With composer

The recommended way to install is through Composer.

composer require dvsa/mot-cpms-forms

Post installation

  1. Enable it in your application.config.php file.

    <?php
    return array(
        'modules' => array(
            // ...
            'CpmsForms',
        ),
        // ...
    );
  2. Copy configuration file to your autoload config folder (optional)

    cp vendor/dvsa/mot-cpms-forms/config/cpms-forms.global.php.dist config/autoload/cpms-forms.global.php

Usage

For payment form generation please use controller plugin:

$form = $this->getCpmsPaymentForm($payment);

The plugin takes one argument, which must be an object that implements one of the following interfaces:

  • CpmsForms\Payment\CardPaymentInterface
  • CpmsForms\Payment\StoredCardPaymentInterface
  • CpmsForms\Payment\DirectDebitPaymentInterface
  • CpmsForms\Payment\CashPaymentInterface
  • CpmsForms\Payment\ChequePaymentInterface
  • CpmsForms\Payment\ChipPinPaymentInterface
  • CpmsForms\Payment\PostalOrderPaymentInterface

As it might be obvious, payment interface determines required data, that needs to be provided by scheme and tells Form Factory Service to build specific for that interface form.

Each payment type always requires common information (amount, user id, etc.), so it's convenient to use CpmsForms\Payment\BasePaymentTrait trait in your payment classes.

The cpms-forms plugin validates post data and redirects to cpms-forms controller for processing. In regard to redirection, the proper usage should be:

$form = $this->getCpmsPaymentForm($payment);
if ($form instanceof \Laminas\Http\Response) {
    return $form;
}

The form should be passed to ViewModel and be rendered via view cpms-forms helper plugin:

<?php echo $this->renderCpmsForm($form); ?>

Configuration

View scripts

If custom view script is needed to render payment form, please add this in your configuration file:

<?php
return [
    'cpms_forms' => [
        'partials' => [
            'form' => 'custom-path/custom-script.phtml',
        ],
    ],
];

It's also possible to provide view script for specific payment type:

return [
    'cpms_forms' => [
        'partials' => [
            'form' => 'custom-path/custom-script.phtml',
            'stored_card' => 'custom-path/stored-card-script.phtml',
        ],
    ],
];

Form customization

Custom form class can be provided for specific payment type. This class must extends CpmsForms\Form\PaymentForm class to be considered as a valid. See example:

return [
    'cpms_forms' => [
        'payment_types' => [
            'direct_debit' => [
                'form' => 'Scheme\Form\CustomDirectDebitPaymentForm'
            ],
        ],
    ],
];

Form elements can be also customized. The following example sets html class of mandate_collection_day element and adds e-mail field:

return [
    'cpms_forms' => [
        'payment_types' => [
            'direct_debit' => [
                'form_elements' => [
                    'mandate_collection_day' => [
                        'attributes' => [
                            'class' => 'form-control olcs-form-element',
                        ],
                    ],
                    [
                        'name' => 'email',
                        'attributes' => [
                            'type'  => 'email',
                            'class' => 'form-control',
                        ],
                        'options' => [
                            'label' => 'Customer E-mail',
                            'required' => true,
                        ],
                    ]
                ],
            ],
        ],
    ],
];

For more options, payment types and form elements please see config/module.config.php

Contributing

Please refer to our Contribution Guide.

TO DO

  • Check if client is authorized to use a payment type
  • Implement event manager for pre and post payment actions
  • Integrate CPMS Miscellaneous Payments Module

dvsa/mot-cpms-forms 适用场景与选型建议

dvsa/mot-cpms-forms 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 7.83k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2023 年 06 月 28 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 dvsa/mot-cpms-forms 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 dvsa/mot-cpms-forms 我们能提供哪些服务?
定制开发 / 二次开发

基于 dvsa/mot-cpms-forms 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 7.83k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 5
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 6
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: proprietary
  • 更新时间: 2023-06-28