BP_STAMP Validation

This code is intended to be used to validate the value of the BP_STAMP that's returned after a transaction. This value is used as a security check to ensure that the response received from a transaction is authentic and has not been altered in any way.

The following sample code calls a routine from our Code Library.
Download BluePay.php
Or, download via GitHub

#!/usr/bin/python

##
# BluePay Python Sample code.
#
# This code sample reads the values from a BP10emu redirect
# and authenticates the message using the the BP_STAMP
# provided in the response. Point the REDIRECT_URL of your
# BP10emu request to the location of this script on your server.
##

from __future__ import print_function
import os.path, sys
sys.path.append(os.path.join(os.path.dirname(os.path.realpath(__file__)), os.pardir))
from BluePay import BluePay
import cgi

print("Content-type:text/html\r\n\r\n")
print("<html><head></head><body>")

response = cgi.FieldStorage()

account_id = "Merchant's Account ID Here"
secret_key = "Merchant's Secret Key Here"
mode = "TEST" 


if "BP_STAMP" in response: # Check whether BP_STAMP is provided

    bp = BluePay(
        account_id = account_id,
        secret_key = secret_key,
        mode = mode
    )

    bp_stamp_string = ''
    for field in response["BP_STAMP_DEF"].value.split(' '): # Split BP_STAMP_DEF on whitespace
        bp_stamp_string += response[field].value # Concatenate values used to calculate expected BP_STAMP

    expected_stamp = bp.create_tps_hash(bp_stamp_string, response["TPS_HASH_TYPE"].value).upper() # Calculate expected BP_STAMP using hash function specified in response
    if expected_stamp == response['BP_STAMP'].value: # Compare expected BP_STAMP with received BP_STAMP
        # Validate BP_STAMP and reads the response results
        print("VALID BP_STAMP: TRUE<br/>")
        for key in response.keys():
            print(key + ': ' + response[key].value + "<br/>")
    else:
        print("ERROR: BP_STAMP VALUES DO NOT MATCH<br/>")
   
else:
    print("ERROR: BP_STAMP NOT FOUND. CHECK MESSAGE & RESPONSEVERSION<br/>")

print("</body></html>")

Can’t find what you’re
looking for? We can help.

Contact 800-350-2684 for Integration Support.

  • Microsoft Gold Partner Badge
  • Susan G. Komen for the Cure Supporter
  • 2018 American Business Awards Gold Stevie® Winner Badge for Best Payment and Electronic Commerce Solution
  • 2018 CNP Awards Customer Choice Winner Badge for Best E-Commerce Platform/Gateway
  • 2017 TSG Gateway Awards Winner Badge for Best Onboarding Process
  • Best in Biz Awards 2018 Silver Winner Badge for Business Development Department of the Year
BluePay Processing, LLC is a registered ISO of Wells Fargo Bank, N.A., Concord, CA, 94524 U.S.A.
BluePay Canada ULC, is a Registered ISO/MSP of Peoples Trust Company, Vancouver, Canada.