Releases: rezzza/PaymentBe2billBundle
Deprecate php <5.6 and fix a rounding issue
Updated CA bundle
Merge pull request #31 from rezzza/ssl/updateCAbundle Update thawte_CA_Bundle.pem
ALIAS works with 3DS
If Be2Bill returns an alias on 3ds callback request, we save it in FinancialTransaction as extendedData
Stacking guzzle exceptions
Merge pull request #28 from tyx/fix/branch-alias fix branch alias in composer
v1.4.0: Merge pull request #26 from tyx/feature/notification
- Client use Guzzle to perform http request
- Hash generation move to dedicated class
- Value Object for ExecCode to make easier mapping
- Hash Validation when creating a Be2BillRequest
- Reduce the API exposed by Client\Client
- Simplification in Callback\Controller thanks to seperation Domain <=> Infra
3DS Activation Behavior - redacted
Merge pull request #23 from shouze/hotfix/force_3ds Fixing the force 3DS behavior
Support Alias creation
If Be2Bill return an alias
for CREATE_ALIAS
request, we save it in FinancialTransaction
as extendedData
.
3D Secure: callback controller addition
namespace Acme\DemoBundle\Controller;
use Rezzza\PaymentBe2billBundle\Callback\Callback3dsRequest;
use Symfony\Component\HttpFoundation\Request;
class SomeController
{
public function callbackAction(Request $request)
{
$callbackRequest = Callback3dsRequest::createFromRequest($request);
try {
$this
->get('payment.be2bill.callback.3ds_controller')
->approveAndDeposit($callbackRequest);
} catch (\Exception $e) {
// Maybe you can log the exception somewhere
}
// Do some stuff with the values
$callbackRequest->getOrderId();
$callbackRequest->getTransactionId();
}
}
The handler will fetch the corresponding FinancialTransation
from the TransactionId
sent by Be2bill in their callback, update the models states and save them.
3D Secure addition
You can easily configure display mode like this:
rezzza_payment_be2bill:
default_3ds_display_mode: main / top / popup
To use 3DSecure, extra data parameters can be added to the payment https://github.com/rezzza/payment.vlr/blob/master/src/Vlr/ChargeBundle/Backend/Be2bill.php#L99.
3DSECURE
=yes
(required to enable 3DS)3DSECUREDISPLAYMODE
=main
/top
/popup
(optional, will default to the Bundle configuration)
When the deposit is made, if the transaction is secure, it will throw a SecureActionRequiredException
that will be caught by the Plugin controller https://github.com/schmittjoh/JMSPaymentCoreBundle/blob/master/PluginController/PluginController.php#L403-L420. The transaction will be pending until the callback is received.
The html needed to display the form can then be accessed with:
$html = $result->getPluginException()->getHtml();