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/ruby

##
# BluePay Ruby 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.
##

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

require_relative "bluepay.rb"
require "cgi"

ACCOUNT_ID = "Merchant's Account ID Here"
SECRET_KEY = "Merchant's Secret Key Here"
MODE = "TEST"

response = CGI.new

if response["BP_STAMP"] # Check whether BP_STAMP is provided

  bp = BluePay.new(account_id: ACCOUNT_ID, secret_key: SECRET_KEY, mode: MODE)

  bp_stamp_string = ''
  response["BP_STAMP_DEF"].split(' ').each do |field| # Split BP_STAMP_DEF on whitespace
    bp_stamp_string += response[field] # Concatenate values used to calculate expected BP_STAMP
  end
  expected_stamp = bp.create_tps_hash(bp_stamp_string, response["TPS_HASH_TYPE"]).upcase # Calculate expected BP_STAMP using hash function specified in response

  if expected_stamp == response["BP_STAMP"] # Compare expected BP_STAMP with received BP_STAMP
    # Validate BP_STAMP and reads the response results
    print "VALID BP_STAMP: TRUE<br/>"
    response.params.each{|k,v| print "#{k}: #{v[0]}<br/>"}
  else
    print "ERROR: BP_STAMP VALUES DO NOT MATCH<br/>"
  end

else
  print "ERROR: BP_STAMP NOT FOUND. CHECK MESSAGE & RESPONSEVERSION<br/>"
end

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
  • Best in Biz Awards 2018 Silver Winner Badge for Business Development Department of the Year
  • TSG Gateway Awards 2019 BluePay
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.