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

##
# BluePay Perl 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>";

use strict;
use CGI;
use lib '..';
use bluepay;

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

my $response = new CGI;
my $response_params = $response->Vars;

if (defined $response_params->{BP_STAMP}){ # Check whether BP_STAMP is provided

my $bp = BluePay->new(
    $account_id,
    $secret_key,
    $mode
);

my $bp_stamp_string = '';
foreach my $field (split(' ', $response_params->{BP_STAMP_DEF})){ # Split BP_STAMP_DEF on whitespace
$bp_stamp_string .= $response_params->{$field}; # Concatenate values used to calculate expected BP_STAMP
}

    my $expected_stamp = uc($bp->generate_tps($bp_stamp_string, $response_params->{TPS_HASH_TYPE})); # Calculate expected BP_STAMP using hash function specified in response

    if ($expected_stamp eq  $response_params->{BP_STAMP}){ # Compare expected BP_STAMP with received BP_STAMP
    # Validate BP_STAMP and reads the response results
        print "VALID BP_STAMP: TRUE<br/>";
    foreach my $key (keys $response_params){
    print $key . ': ' . $response_params->{$key} . "<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.