'Calculate the POST params we want to send back to the client.'

@classmethod
def response_post_params(cls, post_params):

    if (cls.PAYMENT_STATUS_RESPONSE == 'success'):
        decision = 'ACCEPT'
    elif (cls.PAYMENT_STATUS_RESPONSE == 'decline'):
        decision = 'DECLINE'
    else:
        decision = 'REJECT'
    resp_params = {'decision': decision, 'req_amount': post_params.get('amount'), 'auth_amount': post_params.get('amount'), 'req_reference_number': post_params.get('reference_number'), 'req_transaction_uuid': post_params.get('transaction_uuid'), 'req_access_key': post_params.get('access_key'), 'req_transaction_type': post_params.get('transaction_type'), 'req_override_custom_receipt_page': post_params.get('override_custom_receipt_page'), 'req_payment_method': post_params.get('payment_method'), 'req_currency': post_params.get('currency'), 'req_locale': post_params.get('locale'), 'signed_date_time': post_params.get('signed_date_time'), 'req_bill_to_address_city': 'Boston', 'req_card_number': 'xxxxxxxxxxxx1111', 'req_bill_to_address_state': 'MA', 'req_bill_to_address_line1': '123    Fake    Street', 'utf8': u'\u2713', 'reason_code': '100', 'req_card_expiry_date': '01-2018', 'req_bill_to_forename': 'John', 'req_bill_to_surname': 'Doe', 'auth_code': '888888', 'req_bill_to_address_postal_code': '02139', 'message': 'Request    was    processed    successfully.', 'auth_response': '100', 'auth_trans_ref_no': '84997128QYI23CJT', 'auth_time': '2014-08-18T110622Z', 'bill_trans_ref_no': '84997128QYI23CJT', 'auth_avs_code': 'X', 'req_bill_to_email': 'john@example.com', 'auth_avs_code_raw': 'I1', 'req_profile_id': '0000001', 'req_card_type': '001', 'req_bill_to_address_country': 'US', 'transaction_id': '4083599817820176195662'}
    signed_fields = ['transaction_id', 'decision', 'req_access_key', 'req_profile_id', 'req_transaction_uuid', 'req_transaction_type', 'req_reference_number', 'req_amount', 'req_currency', 'req_locale', 'req_payment_method', 'req_override_custom_receipt_page', 'req_bill_to_forename', 'req_bill_to_surname', 'req_bill_to_email', 'req_bill_to_address_line1', 'req_bill_to_address_city', 'req_bill_to_address_state', 'req_bill_to_address_country', 'req_bill_to_address_postal_code', 'req_card_number', 'req_card_type', 'req_card_expiry_date', 'message', 'reason_code', 'auth_avs_code', 'auth_avs_code_raw', 'auth_response', 'auth_amount', 'auth_code', 'auth_trans_ref_no', 'auth_time', 'bill_trans_ref_no', 'signed_field_names', 'signed_date_time']
    if (decision in ['DECLINE', 'CANCEL', 'ERROR']):
        signed_fields.remove('auth_amount')
        del resp_params['auth_amount']
    resp_params['signed_field_names'] = ','.join(signed_fields)
    hash_val = ','.join(['{0}={1}'.format(key, resp_params[key]) for key in signed_fields])
    resp_params['signature'] = processor_hash(hash_val)
    return resp_params
