
Direct Refunds and the Merchant Banks (specifically concerning the online gambling industry)
The important thing to note with Direct Refunds is that the bank are not familiar with this term, they use the following terminology:
Barclays Merchant Services:
BMS are able to process Direct Refund transactions.
These would be in the format of Visa transactions being returned to the cardholder as an Original Credit Transaction (OCT).
NatWest Streamline:
Sage Pay is not integrated with Streamline for Direct Refunds.However, Streamline is partaking in the PoW scheme (see notes below), and therefore this could potentially be something that Sage Pay is able to offer at a later date once the pilot scheme has been completed. More details will be provided when they are available.
Lloyds TSB & Bank of Scotland:
HSBC:
Sage Pay is not set up to process Direct Refund transactions with HSBC at this time. Currently there is no time scale for any future integration.
Notes on the previous information:
Original Credit Transaction requires an OCT M/N from their merchant bank.
PoW stands for Payment of Winnings, and is a scheme being piloted by the merchant banks and Mastercard. It will require integration with the banks on our behalf, testing and etc. Live Service will be notifying Customer Service if and when testing with the banks begins.
There are limits posed on PoW transactions, these include, but are not limited to: A maximum value of 5,000 Euros, vendor & PSP must be audited under the 'Cardnet gaming audit', Cards and I.P. addresses from the following countries must be blocked, and proof of these being blocked must be supplied once a month in the form of a report to the banks:
In Summary:
|
Visa (OCT) |
Mastercard (PoW) |
|---|---|---|
Barclays Merchant Services |
||
Streamline |
||
Lloyds TSB Cardnet |
||
Bank of Scotland |
||
HSBC |
How to process a Direct Refund transaction:
If you wish to REFUND transactions, they must have been taken via the Sage Pay systems in the first place, however in some circumstances this is not the case as the vendor may have taken the original payment via a PDQ machine or using a different payment processor. DIRECTREFUND is like a MANUAL payment but credits the supplied card instead of debiting it. This part of the protocol is never enabled by default because of the associated risks of fraud.
A Direct Refund is performed via a HTTPS POST sent to the Direct Refund service directrefund.vsp. The details should be URL encoded Name=Value fields separated by ‘&’ characters.
Request format (continued overleaf)
VPSProtocol |
Alphanumeric. Fixed 4 characters. |
“2.23” in this release |
Default or incorrect value is taken to be 2.23 |
TxType |
Alphanumeric |
“DIRECTREFUND” |
Should be in capital letters. |
Vendor |
Alphanumeric |
Vendor Login Name |
Used to authenticate your site. This should contain the Vendor Name supplied by Sage Pay when your account was created. |
VendorTxCode |
Alphanumeric |
Vendor Transaction Code |
This should be your own reference code to the transaction. Your servers should provide a completely unique VendorTxCode for each transaction. |
Amount |
Numeric. |
Amount for the Transaction containing minor digits formatted to 2 decimal places where appropriate. |
Must be positive and numeric, and may include a decimal place where appropriate. Minor digits should be formatted to two decimal places. e.g. 5.10, or 3.29. Values such as 3.235 and 2.3 will be rejected. |
Currency |
Alphanumeric |
Three-letter currency code to ISO 4217 Examples: “GBP”, “EUR” and “USD” |
The currency must be supported by one of your merchant accounts or the transaction will be rejected. |
Description |
Alphanumeric |
Free text description of the reason for the refund. |
The description of good purchased is displayed in My Sage Pay for your future reference. |
CardHolder |
Alphanumeric |
The card holder’s name |
This should be the name displayed on the card. |
CardNumber |
Alphanumeric |
The credit or debit card number with no spaces. |
The full card number is required. |
Optional: |
Numeric |
The Start date (required for some Maestro, Solo and Amex) in MMYY format |
The start date MUST be in MMYY format i.e. 0699 for June 1999. No / or – characters should be included. |
ExpiryDate |
Numeric |
The Expiry date (required for ALL cards) in MMYY format |
The expiry date MUST be in MMYY format i.e. 1206 for December 2006. No / or – characters should be included. |
Optional: |
Numeric |
The card Issue Number (some Maestro and Solo cards only) |
The issue number MUST be entered EXACTLY as it appears on the card. e.g. some cards have issue number “4” others have “04”. |
CardType |
Alphanumeric |
“VISA”, ”MC”, ”DELTA”, “SOLO”, “MAESTRO”, “UKE”, “AMEX”, “DC” or “JCB” |
MC is MasterCard, UKE is Visa Electron. AMEX and DC (DINERS) can only be accepted if you have additional merchant accounts with those acquirers. |
Optional: |
Alphanumeric |
E = Use the e-commerce merchant account. (default) C = Use the continuous authority merchant account (if present). |
This optional flag is used to tell the Sage Pay System which merchant account to use for this transaction in situations where more than one type of merchant account is set up for your Sage Pay vendor account. If omitted, the system will use E, then M then C by default. |
Direct Refund results
This is the response part of the Refund POST originated by the request shown above. Encoding is as Name=Value fields separated by carriage-return-linefeeds (CRLF).
Response format:
Name |
Format |
Values |
Comments |
VPSProtocol |
Alphanumeric. Fixed 4 characters. |
Version number of the protocol of the system. This release will return “2.23” |
This will match the protocol version supplied in A13. |
Status |
Alphanumeric |
“OK” – The refund was accepted by Sage Pay and funds will be returned to the customer. |
If the status is not OK, the StatusDetail field will give more information about the problem. |
StatusDetail |
Alphanumeric Max 255 characters |
Human-readable text providing extra detail for the Status message. |
Always check StatusDetail is the Status is not OK |
VPSTxId |
Alphanumeric |
Sage Pay ID to uniquely identify the Transaction on our system. |
Only present if Status is OK. |
TxAuthNo |
Numeric |
The Sage Pay authorisation code (also called VPSAuthCode) for this transaction. |
Only present if Status is OK. |