= sfPaymentSIPS plugin = The `sfPaymentSIPS` is a symfony plugin that provides SIPS payment module for Symfony applications. Additional checkings and return code handling are done to provide a better comfort with API calls. == Installation == * Install the plugin {{{ symfony plugin-install http://plugins.symfony-project.com/sfPaymentSIPSPlugin }}} * Clear your cache {{{ symfony cc }}} === Usage === * Merchant parameters Edit the app.yml and add these parameters with your information : - default currency - default language - your merchant ID - path to the request/response binaries {{{ all: sips_payment: currency: EUR country: fr merchant_id: 011223344551111 bin: request: c:/cyberplus/payment/bin/request.exe response: c:/cyberplus/payment/bin/response.exe }}} * Symfony specific The plugin provides the ability to redirect to your own actions once the payment return has been checked. In your app.yml, simply add the module/action for both return cases (good or error) : {{{ all: sips_payment: action_ok: payment/index action_nok: payment/error }}} * Transferring information to the SIPS payment Once you're ready to transfer information to the payment, set a redirect to sfPaymentSIPS/request in your module and provide three parameters through sfUser object : {{{ $this->getUser()->setParameter('amount', '14.00', 'sips_payment'); $this->getUser()->setParameter('currency', 'USD', 'sips_payment'); $this->getUser()->setParameter('order_id', '4', 'sips_payment'); $this->forward('sfPaymentSIPS', 'request'); }}} * Handling SIPS payment return sfPaymentSIPS/response handles the bank return code and transfers to the module/Action you have specified. In your custom action, it is possible to get the instance of the sfPaymentSIPS class containing the detailed bank information, with ability to get a verbose message as specified in the original documentation. {{{ $sipsPayment = $this->getUser()->getParameter('payment', null, 'sips_payment'); }}} * Further information Please refer to the SIPS documentation provided by Atos. === Known limitations === * Only compliant with version 6 of the SIPS module * Does not handle the subscription system * Does not handle the payment in N times (Transaction management) * Allow to set more SIPS variables through YAML file