Return Funds to a Customer
This code steps you through the process of refunding payments that have been made on settled transactions.
There are three outcomes when processing credit card transactions:
Refunds can only be run on 'Approved' transactions that have been settled. 'Declined' transactions cannot be refunded. As a result, in order to test the refund process, you must first pass an odd dollar amount. This will return the transaction with an 'Approved' status. Then, you can test a refund for the transaction.
An error could result from a variety of conditions such as missing data, invalid card numbers, and expiration dates provided in invalid formats.
The following sample code calls a routine from our Code Library.
' * Bluepay VB.NET Sample code.
' * This code sample runs a $3.00 Credit Card Sale transaction
' * against a customer using test payment information. If
' * approved, a 2nd transaction is run to refund the customer
' * for $1.75.
' * If using TEST mode, odd dollar amounts will return
' * an approval and even dollar amounts will return a decline.
Public Class ReturnFunds
Public Shared Sub run()
Dim accountID As String = "Merchant's Account ID Here"
Dim secretKey As String = "Merchant's Secret Key Here"
Dim mode As String = "TEST"
Dim payment As BluePay = New BluePay(
address1:="12345 Test St.",
If payment.isSuccessfulTransaction() Then
Dim paymentReturn As BluePay = New BluePay(
' Creates a refund transaction against previous sale
paymentReturn.refund(transactionID:= payment.GetTransID(), amount:="1.75")
Console.Write("Transaction Status: " + paymentReturn.getStatus() + Environment.NewLine)
Console.Write("Transaction Message: " + paymentReturn.getMessage() + Environment.NewLine)
Console.Write("Transaction ID: " + paymentReturn.getTransID() + Environment.NewLine)
Console.Write("AVS Result: " + paymentReturn.getAVS() + Environment.NewLine)
Console.Write("CVV2 Result: " + paymentReturn.getCVV2() + Environment.NewLine)
Console.Write("Masked Payment Account: " + paymentReturn.getMaskedPaymentAccount() + Environment.NewLine)
Console.Write("Card Type: " + paymentReturn.getCardType() + Environment.NewLine)
Console.Write("Authorization Code: " + paymentReturn.getAuthCode() + Environment.NewLine)
Console.Write("Transaction Error: " + payment.getMessage() + Environment.NewLine)