# 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