sofort2-bundle
Symfony2 Bundle for Sofort PHP Library 2.x, (*1)
Installation
### Add bundle
AppKernel.php:, (*2)
public function registerBundles()
{
$bundles = array(
...
new Sofort\SofortBundle(),
...
}
### Add controller routing
routing.yml:
``` yml
sofort_controller:
resource: "@SofortBundle/Controller/"
type: annotation
prefix: /sofort, (*3)
### Optionally add test config key
parameters.yml
``` yml
sofort:
test_key: 'XXX:XXX:XXXXXXXXXXXX'
Usage
Manager
``` php
$manager = $container->get('sofort.manager')
$manager->setConfigKey($sofortConfigKey);, (*4)
### request create transaction
``` php
// Prepares model
$model = new PaymentRequestModel();
$model
->setAmount(0.1)
->setReason('test reason')
->setCountry('DE')
->setName('Max Mustermann')
->setAccountNumber('88888888')
->setBankCode('12345678');
// Call manager
$event = $manager->createTransaction($model);
When calling $manager->createTransaction($model), the 'sofort.transaction.created' event is fired with TransactionCreateEvent argument., (*5)
The argument contains $response and $transactionId properties, (*6)
request transaction details
php
$response = $manager->requestTransaction($transactionId);
, (*7)
The $response is ant instance of SofortLibTransactionData., (*8)
On successfull details retrieve, the event SofortEvents::DETAILS is fired with TransactionDetailsEvent as argument, (*9)
SofortLibTransactionData methods available:, (*10)
- getAmount
- getAmountRefunded
- getCount
- getPaymentMethod
- getConsumerProtection
- getStatus
- getStatusReason
- getStatusModifiedTime
- getLanguageCode
- getCurrency
- getTransaction
- getReason
- getUserVariable
- getTime
- getProjectId
- getRecipientHolder
- getRecipientAccountNumber
- getRecipientBankCode
- getRecipientCountryCode
- getRecipientBankName
- getRecipientBic
- getRecipientIban
- getSenderHolder
- getSenderAccountNumber
- getSenderBankCode
- getSenderCountryCode
- getSenderBankName
- getSenderBic
- getSenderIban