Download the PHP package thanpa/paycenter-bundle without Composer
On this page you can find all versions of the php package thanpa/paycenter-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download thanpa/paycenter-bundle
More information about thanpa/paycenter-bundle
Files in thanpa/paycenter-bundle
Package paycenter-bundle
Short Description Piraeus bank paycenter bundle
License MIT
Homepage https://github.com/thanpa/PaycenterBundle
Informations about the package paycenter-bundle
PaycenterBundle
Piraeus bank paycenter bundle
Installation
Step 1: Download the Bundle
Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:
This command requires you to have Composer installed globally, as explained in the installation chapter of the Composer documentation.
Step 2: Enable the Bundle
Then, enable the bundle by adding it to the list of registered bundles
in the app/AppKernel.php
file of your project:
Step 3: Configuration
- Add following to your without changing its values
- Add following to your , replace placeholder values to bank provided values.
Add following code to your :
Step 4: Update database
This bundle supports Doctrine, please run the following command:
If you're using DoctrineMigrationsBundle run:
Parameters:
- : your Acquirer Id (provided by bank)
- : Your Merchant Id (provided by bank)
- : Your Pos Id (provided by bank)
- : Your API username (provided by bank)
- : Your API password (provided by bank)
- : use for no parameters, or add your parameters: . Make sure not to include ? as first character.
Payment Success / Failure Pages:
Please note you need to inform your bank of your payment success/fail urls. Let them know you'd like API responses to be ed back to your site.
- Create a new controller in your application named .
- You need to implement methods defined in .
Your code should look like this:
Payment Success Page
Payment Failed Page
Back Link Page
class has access methods you can use to get response information.
NOTE:
- bank requires you to persist the response in your system for future reference (saved in table thanpa_payment_response)
- for success calls the extract method of the payment_response service will also calculate the hash to ensure this is a valid response from the bank.
Add the following to your (adjust the paths, and controller path to match your application):
How to use this bundle:
In your application, when there's a new order created, you should have a unique identifier used as order reference (usually a 5 characters string). You can also use order id if you don't have an order reference.
Step 1: Save order object in database
When your order is created, it should be saved as "payment pending".
Step 2: Get a new ticket from bank's API
This is when you should call the ticket mechanism.
If request to bank's API succeeded you should now have a new ticket in , and saved in your database.
Step 3: Redirect user to secure payment environment
In your controller, redirect user to route (as defined previously):
This should show a form with hidden fields and will be submitted automatically (requires user to have Javascript enabled). After the form is submitted, user is redirected to bank's secure environment to complete the payment.
Step 4: User is redirected to your site after payment is completed successfully/failed/cancelled
- If user does not complete payment and clicks "Cancel" he/she is redirected to the specified url you provided to bank (this is not configurable in the bundle).
- If payment is successfully completed, user is redirected to your route.
- If payment has failed, user is redirected to your route.
- If user clicked "cancel" then user is redirected to your route.
NOTE: I strongly suggest you read bank's API manual to fully understand how it works.
How to run tests
You need phpunit installed on your system.
You can modify to match your needs. By default a code coverage log will be generated in directory.
All versions of paycenter-bundle with dependencies
symfony/framework-bundle Version ~2.3|~3.0
guzzlehttp/guzzle Version ^6.2