Download the PHP package karser/payum-saferpay without Composer
On this page you can find all versions of the php package karser/payum-saferpay. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download karser/payum-saferpay
More information about karser/payum-saferpay
Files in karser/payum-saferpay
Package payum-saferpay
Short Description Saferpay Payum plugin providing Ecommerce and Business features
License MIT
Informations about the package payum-saferpay
Saferpay Payum Plugin
Introduction
This plugin implements Saferpay specification v1.10, including all features from e-commerce and business licenses. Saferpay e-commerce license provides access to Payment Page interface only. Saferpay Business license provides Transaction Interface, recurring payments, storing cards aliases and etc. For more detailed comparison please refer to Licensing options and Supported payment methods per interface.
Transaction Interface provides two options: an iframe (similar to Payment Page) and submitting the card data directly. The last option is available only if you are PCI compliant.
Here is how Payment Page interface looks like:
Here is how Transaction interface looks like:
Requirements
- PHP 7.3+
- Payum
- Optionally PayumBundle and Symfony 3 or 4+
Features
This plugin supports
- Payment Page interface
- Transaction interface
- Recurring Payments with the referenced transactions Method
- Recurring Payments using an alias
- Aliases support: Add and remove, Capture transaction
- Specifying LIABILITY_SHIFT condition (payment will not be accepted if LiabilityShift is not possible)
- Handling payment notification for Payment Page interface
All features are covered with tests. You can find useful examples in functional tests.
Installation
Configuration
With PayumBundle (Symfony)
First register the gateway factory in your services definition:
Then configure the gateway:
You can use General test account
credentials or create personal test account
here
With Payum
Configure the routes
You can include the default Payum Bundle's routes, although only these routes are actually required by this plugin:
Usage
Capture example
Make sure you defined Payment
and Token
entities like it is described here
Recurring Payments with the referenced transactions Method
-
Capture payment with Recurring or Installment option:
- Capture a new transaction by providing a reference to the previous one:
Recurring Payments using an alias
-
Obtaining the Alias: The user will have to enter their card details in an iframe.
- Capture a new transaction by providing an alias id:
Change Payload Locale
-
Create a custom extension (If you're using the symfony bundle):
- Create service:
Additional Configuration
Depending on given interface, there are several optional options available.
Example:
Payment Page interface
Key | Description |
---|---|
config_set |
This parameter let you define your payment page config (PPConfig) by name. If this parameters is not set, your default PPConfig will be applied if available. When the PPConfig can't be found (e.g. wrong name), the Saferpay basic style will be applied to the payment page. |
payment_methods |
Used to restrict the means of payment which are available to the payer for this transaction. If only one payment method id is set, the payment selection step will be skipped. |
wallets |
Used to control if wallets should be enabled on the payment selection page and to go directly to the given wallet (if exactly one wallet is filled and PaymentMethods is not set). |
notification_merchant_email |
Email addresses to which a confirmation email will be sent to the merchants after successful authorizations. |
notification_payer_email |
Email address to which a confirmation email will be sent to the payer after successful authorizations. |
styling_css_url |
Deprecated |
styling_content_security_enabled |
When enabled, then ContentSecurity/SAQ-A is requested, which leads to the CSS being loaded from the saferpay server. |
styling_theme |
This parameter let you customize the appearance of the displayed payment pages. Per default a lightweight responsive styling will be applied.If you don't want any styling use 'NONE'. |
payer_note |
Text which will be printed on payer's debit note. Supported by SIX Acquiring. No guarantee that it will show up on the payer's debit note, because his bank has to support it too. Please note that maximum allowed characters are rarely supported. It's usually around 10-12. |
Transaction interface
Key | Description |
---|---|
config_set |
This parameter let you define your payment page config (PPConfig) by name. If this parameters is not set, your default PPConfig will be applied if available. When the PPConfig can't be found (e.g. wrong name), the Saferpay basic style will be applied to the payment page. |
payment_methods |
Used to restrict the means of payment which are available to the payer for this transaction. If only one payment method id is set, the payment selection step will be skipped. |
styling_css_url |
Deprecated |
styling_content_security_enabled |
When enabled, then ContentSecurity/SAQ-A is requested, which leads to the CSS being loaded from the saferpay server. |
styling_theme |
This parameter let you customize the appearance of the displayed payment pages. Per default a lightweight responsive styling will be applied. If you don't want any styling use 'NONE'. |
payer_note |
Text which will be printed on payer's debit note. Supported by SIX Acquiring. No guarantee that it will show up on the payer's debit note, because his bank has to support it too. Please note that maximum allowed characters are rarely supported. It's usually around 10-12. |
Testing
ToDo
- Implement separate actions: Authorize, Cancel transaction
- Improve and add more unit tests
- config parameters: LIABILITY_SHIFT condition
Credits
- Dmitrii Poddubnyi [email protected]
License
This plugin is under the MIT license. For the whole copyright, see the LICENSE file distributed with this source code.