'Render the payment page to a response.  This is an HTML form
that triggers a POST request to `callback_url`.
The POST params are described in the CyberSource documentation:
http://apps.cybersource.com/library/documentation/dev_guides/Secure_Acceptance_WM/Secure_Acceptance_WM.pdf
To figure out the POST params to send to the callback,
we either:
1) Use fake static data (e.g. always send user name "John Doe")
2) Use the same info we received (e.g. send the same `amount`)
3) Dynamically calculate signatures using a shared secret'

def _payment_page_response(self, post_params):

    callback_url = post_params.get('override_custom_receipt_page', '/shoppingcart/postpay_callback/')
    post_params_success = self.response_post_params(post_params)
    post_params_decline = self.response_post_params(post_params)
    del post_params_decline['auth_amount']
    post_params_decline['decision'] = 'DECLINE'
    context_dict = {'callback_url': callback_url, 'post_params_success': post_params_success, 'post_params_decline': post_params_decline}
    return render_to_response('shoppingcart/test/fake_payment_page.html', context_dict)
