Direct API

The following sub-sections will outline the various API methods present in the Merchant Warrior Direct API.

  • Endpoints
  • processCard

    The processCard method is the method used to perform a purchase request

  • processAuth

    The processAuth method is used to perform a pre-authorization request

  • processCapture

    The processCapture method is used to perform a capture request

  • processBatch

    The processBatch method enables merchants to securely automate the processing of batch files containing credit card, token transaction data or bank accounts

  • retrieveBatch

    The retrieveBatch method is the method used to retrieve the results of a batch file that has been processed via the processBatch method

  • refundCard

    The refundCard method is used to perform a refund of an existing purchase or capture transaction

  • queryCard

    The queryCard method is used to perform a query of an existing transaction to verify responses or handle timeout scenarios

  • processDDebit

    The processDDebit method is used to perform a direct debit request to debit funds from an Australian or New Zealand bank account.

  • queryDD

    The queryDD method is the method used to perform a query of an existing direct debit transaction

  • queryBIN

    The queryBIN method is used to determine the banking information (Bank Name, Card Type, Card Country etc) related to a credit/debit card's Bank Identification Number

  • getSettlement

    The getSettlement method will return a compressed Zip archive that contains a CSV file with a list of transactions that have settled between the dates specified in the request

  • checkEnrollment

    The checkEnrollment method is the method used to initiate a 3DS authentication

  • checkPARes

    The checkPARes method is the method used to verify a 3DS result

  • addBlacklistedCard

    The addBlacklistedCard method is used to add a card into the merchant blacklist

  • removeBlacklistedCard

    The removeBlacklistedCard method is used to remove a card out of the merchant blacklist

  • queryBlacklistedCard

    The queryBlacklistedCard method is used to query a card info in the merchant black list

Endpoints

Sandbox
POST https://api.merchantwarrior.com/post/ Copy

Production
POST https://base.merchantwarrior.com/post/ Copy

processCard

The processCard method is the method used to perform a purchase request

Required Parameters

Parameter Description
method

This field is case sensitive.
Example: processCard

merchantUUID

The value of this parameter is provided to you by Merchant Warrior.
Example: 123456789abcd

apiKey

The value of this parameter is provided to you by Merchant Warrior.
Example: 1a3b5c

transactionAmount

The amount must be formatted to have two decimal places. Any amounts without two decimal places or amounts less than one cent will be rejected.
Example: 10.00

transactionCurrency

One of the following: AUD, CAD, EUR, GBP, JPY, NZD, SGD, USD. This is provider dependant. Please check with MW before attempting to process transactions in any currency other than AUD. This field is case insensitive.
Example: AUD

transactionProduct

A product (or sale) id or description. We recommend using an order/product id. This field’s primary purpose is to help the transaction be identifiable for reporting and accounting purposes.
Example: ABC4321
Valid length: Up to 255 characters. Some Acquirers limit this field to 40 characters.

customerName

This field can only contain alphanumeric characters, as well as the full stop, comma, apostrophe, ampersand, space and hyphen characters.
Example: Mr. Example Person
Valid length: Between 2 and 255 characters

customerCountry

Two letter ISO 3166-1 alpha-2 country code.
Example: AU
Valid length: 2 characters

customerState

Freeform field, keep consistent for your records and reporting.
Example: Queensland
Valid length: Up to 75 characters

customerCity

Freeform field, keep consistent for your records and reporting.
Example: Brisbane
Valid length: Up to 75 characters

customerAddress

Freeform field.
Example: 123 Test Street
Valid length: Up to 255 characters

customerPostCode

This can also accomodate ZIP/Post codes for international transactions.
Example: 4000
Valid length: Between 4 and 10 characters

paymentCardNumber

Only certain card numbers are deemed valid in the test environment. See Test Data for more information. Do not send separators with the card number (e.g. 1234-5678… or 1234 5678).
Example: 5123456789012346 or 4557012345678902
Valid length: Between 13 and 16 digits

paymentCardExpiry

This must be MMYY format. The month must be zero padded if it is less than 10.
Example: 0513
Valid length: 4 digits

paymentCardName

This must contain at the very least a space and no less than two characters. Only alphanumeric characters, hyphens, spaces and full stops are allowed.
Example: Mr. Example Person or MR E PERSON or Example Person
Valid length: Between 3 and 255 characters

hash

The verification hash is a combination of the MD5 of your API Passphrase, and specific parameters sent in the transaction. See Transaction Type Hash for information on how to construct the hash correctly.
Example: e9ddc296b76b3398934bfc06239073df
Valid length: 32 characters

Optional Parameters

Parameter Description
transactionReferenceID

This is a merchant’s unique reference ID for a transaction sent to Merchant Warrior. The main purpose of this ID is to verify the transaction via the queryCard method in the event a valid response is not received.
Example: A257240023321
Valid length: Up to 40 characters

threeDSToken

This parameter is used to indicate if a transaction has been authenticated. Its value is returned by checkPARes method.

recurringFlag

This parameter is used to indicate if a transaction will be marked as recurring. Its value must be 0 or 1.
Example: 1

mwApplePayToken

This parameter is used to process an Apple Pay transaction. Its value is returned by decryptApplePayToken method.
Note: When including an mwApplePayToken in a processCard request, you should not include any paymentCard* parameters.

customerPhone

Anything other than +,-, space and 0-9 will be stripped.
Example: 0401234567 or 61731234567
Valid length: Up to 25 characters

customerEmail

Must be valid if present. Sending this optional parameter is highly recommended.
Example: [email protected]
Valid length: Up to 255 characters

customerIP

Any valid IPv4 or IPv6 address is accepted. Sending this optional parameter is highly recommended.
Example: 123.456.789.012 or 2001:0db8:85a3:0000:0000:8a2e:0370:7334
Valid length: Up to 39 characters

storeID

The value of this field is the merchant's store name. Please note that you need to contact Merchant Warrior to enable the storeID feature before you can use this parameter.
Example: Test store name

paymentCardCSC

This is also known as the CVN or CVV/2. This is required by some Acquirers if the transaction is initiated by the customer. Please contact Merchant Warrior for more information.
Example: 123
Valid length: Between 3 and 4 characters

custom1

Freeform field. Returned as <custom1> in the XML response.
Valid length: Up to 500 characters

custom2

Freeform field. Returned as <custom2> in the XML response.
Valid length: Up to 500 characters

custom3

Freeform field. Returned as <custom3> in the XML response.
Valid length: Up to 500 characters

Copy
curl -X POST \ 
	-d method="processCard" \
	-d merchantUUID="5265f8eed6a19" \
	-d apiKey="ksmnwxab" \
	-d transactionAmount="1.00" \
	-d transactionCurrency="AUD" \
	-d transactionProduct="Test Product" \
	-d customerName="Test Customer" \
	-d customerCountry="AU" \
	-d customerState="QLD" \
	-d customerCity="Brisbane" \
	-d customerAddress="123 Test Street" \
	-d customerPostCode="4000" \
	-d customerPhone="61731665489" \
	-d customerEmail="[email protected]" \
	-d customerIP="1.1.1.1" \
	-d paymentCardName="Test Customer" \
	-d paymentCardNumber="5123456789012346" \
	-d paymentCardExpiry="0521" \
	-d paymentCardCSC="123" \
	-d hash="b55552ff426d7e3d4885465d27ea0062" https://api.merchantwarrior.com/post/
curl -X POST -d method="processCard" -d merchantUUID="5265f8eed6a19" -d apiKey="ksmnwxab" -d transactionAmount="1.00" -d transactionCurrency="AUD" -d transactionProduct="Test Product" -d customerName="Test Customer" -d customerCountry="AU" -d customerState="QLD" -d customerCity="Brisbane" -d customerAddress="123 Test Street" -d customerPostCode="4000" -d customerPhone="61731665489" -d customerEmail="[email protected]" -d customerIP="1.1.1.1" -d paymentCardName="Test Customer" -d paymentCardNumber="5123456789012346" -d paymentCardExpiry="0521" -d paymentCardCSC="123" -d hash="b55552ff426d7e3d4885465d27ea0062" https://api.merchantwarrior.com/post/
require 'net/http'
require 'uri'

uri = URI.parse("https://api.merchantwarrior.com/post/")
request = Net::HTTP::Post.new(uri)
request.set_form_data(
  'method' => 'processCard',
  'merchantUUID' => '5265f8eed6a19',
  'apiKey' => 'ksmnwxab',
  'transactionAmount' => '1.00',
  'transactionCurrency' => 'AUD',
  'transactionProduct' => 'Test Product',
  'customerName' => 'Test Customer',
  'customerCountry' => 'AU',
  'customerState' => 'QLD',
  'customerCity' => 'Brisbane',
  'customerAddress' => '123 Test Street',
  'customerPostCode' => '4000',
  'customerPhone' => '61731665489',
  'customerEmail' => '[email protected]',
  'customerIP' => '1.1.1.1',
  'paymentCardName' => 'Test Customer',
  'paymentCardNumber' => '5123456789012346',
  'paymentCardExpiry' => '0521',
  'paymentCardCSC' => '123',
  'hash' => 'b55552ff426d7e3d4885465d27ea0062'
)

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http|
  http.request(request)
end

puts response.body
require 'net/http' require 'uri' uri = URI.parse("https://api.merchantwarrior.com/post/") request = Net::HTTP::Post.new(uri) request.set_form_data( 'method' => 'processCard', 'merchantUUID' => '5265f8eed6a19', 'apiKey' => 'ksmnwxab', 'transactionAmount' => '1.00', 'transactionCurrency' => 'AUD', 'transactionProduct' => 'Test Product', 'customerName' => 'Test Customer', 'customerCountry' => 'AU', 'customerState' => 'QLD', 'customerCity' => 'Brisbane', 'customerAddress' => '123 Test Street', 'customerPostCode' => '4000', 'customerPhone' => '61731665489', 'customerEmail' => '[email protected]', 'customerIP' => '1.1.1.1', 'paymentCardName' => 'Test Customer', 'paymentCardNumber' => '5123456789012346', 'paymentCardExpiry' => '0521', 'paymentCardCSC' => '123', 'hash' => 'b55552ff426d7e3d4885465d27ea0062' ) response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http| http.request(request) end puts response.body
import requests

data = {
  'method': 'processCard',
  'merchantUUID': '5265f8eed6a19',
  'apiKey': 'ksmnwxab',
  'transactionAmount': '1.00',
  'transactionCurrency': 'AUD',
  'transactionProduct': 'Test Product',
  'customerName': 'Test Customer',
  'customerCountry': 'AU',
  'customerState': 'QLD',
  'customerCity': 'Brisbane',
  'customerAddress': '123 Test Street',
  'customerPostCode': '4000',
  'customerPhone': '61731665489',
  'customerEmail': '[email protected]',
  'customerIP': '1.1.1.1',
  'paymentCardName': 'Test Customer',
  'paymentCardNumber': '5123456789012346',
  'paymentCardExpiry': '0521',
  'paymentCardCSC': '123',
  'hash': 'b55552ff426d7e3d4885465d27ea0062'
}

r = requests.post('https://api.merchantwarrior.com/post/', data = data)

print(r.text)
import requests data = { 'method': 'processCard', 'merchantUUID': '5265f8eed6a19', 'apiKey': 'ksmnwxab', 'transactionAmount': '1.00', 'transactionCurrency': 'AUD', 'transactionProduct': 'Test Product', 'customerName': 'Test Customer', 'customerCountry': 'AU', 'customerState': 'QLD', 'customerCity': 'Brisbane', 'customerAddress': '123 Test Street', 'customerPostCode': '4000', 'customerPhone': '61731665489', 'customerEmail': '[email protected]', 'customerIP': '1.1.1.1', 'paymentCardName': 'Test Customer', 'paymentCardNumber': '5123456789012346', 'paymentCardExpiry': '0521', 'paymentCardCSC': '123', 'hash': 'b55552ff426d7e3d4885465d27ea0062' } r = requests.post('https://api.merchantwarrior.com/post/', data = data) print(r.text)
<?php
// Setup the POST url
define('MW_API_ENDPOINT', 'https://api.merchantwarrior.com/post/');

// Setup POST data
$postData = array (
  'method' => 'processCard',
  'merchantUUID' => '5265f8eed6a19',
  'apiKey' => 'ksmnwxab',
  'transactionAmount' => '1.00',
  'transactionCurrency' => 'AUD',
  'transactionProduct' => 'Test Product',
  'customerName' => 'Test Customer',
  'customerCountry' => 'AU',
  'customerState' => 'QLD',
  'customerCity' => 'Brisbane',
  'customerAddress' => '123 Test Street',
  'customerPostCode' => '4000',
  'customerPhone' => '61731665489',
  'customerEmail' => '[email protected]',
  'customerIP' => '1.1.1.1',
  'paymentCardName' => 'Test Customer',
  'paymentCardNumber' => '5123456789012346',
  'paymentCardExpiry' => '0521',
  'paymentCardCSC' => '123',
  'hash' => 'b55552ff426d7e3d4885465d27ea0062'
);

// Setup CURL defaults
$curl = curl_init();

// Setup CURL params for this request
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_URL, MW_API_ENDPOINT);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData, '', '&'));

// Run CURL
$response = curl_exec($curl);
$error = curl_error($curl);

// Check for CURL errors
if (isset($error) && strlen($error)) {
	throw new Exception("CURL Error: {$error}");
}

// Parse the XML
$xml = simplexml_load_string($response);

// Convert the result from a SimpleXMLObject into an array
$xml = (array)$xml;

// Validate the response - the only successful code is 0
$status = ((int)$xml['responseCode'] === 0) ? true : false;

// Make the response a little more useable
$result = array (
  'status' => $status, 
  'transactionID' => (isset($xml['transactionID']) ? $xml['transactionID'] : null),
  'responseData' => $xml
);

exit(var_dump($result));
?>
'processCard', 'merchantUUID' => '5265f8eed6a19', 'apiKey' => 'ksmnwxab', 'transactionAmount' => '1.00', 'transactionCurrency' => 'AUD', 'transactionProduct' => 'Test Product', 'customerName' => 'Test Customer', 'customerCountry' => 'AU', 'customerState' => 'QLD', 'customerCity' => 'Brisbane', 'customerAddress' => '123 Test Street', 'customerPostCode' => '4000', 'customerPhone' => '61731665489', 'customerEmail' => '[email protected]', 'customerIP' => '1.1.1.1', 'paymentCardName' => 'Test Customer', 'paymentCardNumber' => '5123456789012346', 'paymentCardExpiry' => '0521', 'paymentCardCSC' => '123', 'hash' => 'b55552ff426d7e3d4885465d27ea0062' ); // Setup CURL defaults $curl = curl_init(); // Setup CURL params for this request curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_URL, MW_API_ENDPOINT); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData, '', '&')); // Run CURL $response = curl_exec($curl); $error = curl_error($curl); // Check for CURL errors if (isset($error) && strlen($error)) { throw new Exception("CURL Error: {$error}"); } // Parse the XML $xml = simplexml_load_string($response); // Convert the result from a SimpleXMLObject into an array $xml = (array)$xml; // Validate the response - the only successful code is 0 $status = ((int)$xml['responseCode'] === 0) ? true : false; // Make the response a little more useable $result = array ( 'status' => $status, 'transactionID' => (isset($xml['transactionID']) ? $xml['transactionID'] : null), 'responseData' => $xml ); exit(var_dump($result)); ?>
using System;
using System.Collections.Generic;
using System.Linq;

public class Program {
    public static void Main(string[] args) {
        using(var client = new System.Net.WebClient()) {
            byte[] response = client.UploadValues("https://api.merchantwarrior.com/post/", 
                    new System.Collections.Specialized.NameValueCollection() {
                        { "method", "processCard" },
                        { "merchantUUID", "578dd399d2373" },
                        { "apiKey", "dyqxkzse" },
                        { "transactionAmount", "1.00" },
                        { "transactionCurrency", "AUD" },
                        { "transactionProduct", "Test Product" },
                        { "customerName", "Test Customer" },
                        { "customerCountry", "AU" },
                        { "customerState", "QLD" },
                        { "customerCity", "Brisbane" },
                        { "customerAddress", "123 Test Street" },
                        { "customerPostCode", "4000" },
                        { "customerPhone", "61731665489" },
                        { "customerEmail", "[email protected]" },
                        { "customerIP", "1.1.1.1" },
                        { "paymentCardName", "Test Customer" },
                        { "paymentCardNumber", "5123456789012346" },
                        { "paymentCardExpiry", "0521" },
                        { "paymentCardCSC", "123" },
                        { "hash", "d0fb5716a2b85c743ed802bd5bd7284b" },
                    });
            String result = System.Text.Encoding.Default.GetString(response);
            Console.WriteLine(result);
        }
    }
}
using System; using System.Collections.Generic; using System.Linq; public class Program { public static void Main(string[] args) { using(var client = new System.Net.WebClient()) { byte[] response = client.UploadValues("https://api.merchantwarrior.com/post/", new System.Collections.Specialized.NameValueCollection() { { "method", "processCard" }, { "merchantUUID", "578dd399d2373" }, { "apiKey", "dyqxkzse" }, { "transactionAmount", "1.00" }, { "transactionCurrency", "AUD" }, { "transactionProduct", "Test Product" }, { "customerName", "Test Customer" }, { "customerCountry", "AU" }, { "customerState", "QLD" }, { "customerCity", "Brisbane" }, { "customerAddress", "123 Test Street" }, { "customerPostCode", "4000" }, { "customerPhone", "61731665489" }, { "customerEmail", "[email protected]" }, { "customerIP", "1.1.1.1" }, { "paymentCardName", "Test Customer" }, { "paymentCardNumber", "5123456789012346" }, { "paymentCardExpiry", "0521" }, { "paymentCardCSC", "123" }, { "hash", "d0fb5716a2b85c743ed802bd5bd7284b" }, }); String result = System.Text.Encoding.Default.GetString(response); Console.WriteLine(result); } } }
Imports System
Imports System.Collections.Generic
Imports System.Linq

Public Module Program
    Public Sub Main(args As String())
        Using client = New System.Net.WebClient()
            Dim response As Byte() = client.UploadValues(
            "https://api.merchantwarrior.com/post/", 
            New System.Collections.Specialized.NameValueCollection() From { _
                {"method", "processCard"}, _
                {"merchantUUID", "578dd399d2373"}, _
                {"apiKey", "dyqxkzse"}, _
                {"transactionAmount", "1.00"}, _
                {"transactionCurrency", "AUD"}, _
                {"transactionProduct", "Test Product"}, _
                {"customerName", "Test Customer"}, _
                {"customerCountry", "AU"}, _
                {"customerState", "QLD"}, _
                {"customerCity", "Brisbane"}, _
                {"customerAddress", "123 Test Street"}, _
                {"customerPostCode", "4000"}, _
                {"customerPhone", "61731665489"}, _
                {"customerEmail", "[email protected]"}, _
                {"customerIP", "1.1.1.1"}, _
                {"paymentCardName", "Test Customer"}, _
                {"paymentCardNumber", "5123456789012346"}, _
                {"paymentCardExpiry", "0521"}, _
                {"paymentCardCSC", "123"}, _
                {"hash", "d0fb5716a2b85c743ed802bd5bd7284b"} _
            })
            Dim result As [String] = System.Text.Encoding.[Default].GetString(response)
            Console.WriteLine(result)
        End Using
    End Sub
End Module
Imports System Imports System.Collections.Generic Imports System.Linq Public Module Program Public Sub Main(args As String()) Using client = New System.Net.WebClient() Dim response As Byte() = client.UploadValues( "https://api.merchantwarrior.com/post/", New System.Collections.Specialized.NameValueCollection() From { _ {"method", "processCard"}, _ {"merchantUUID", "578dd399d2373"}, _ {"apiKey", "dyqxkzse"}, _ {"transactionAmount", "1.00"}, _ {"transactionCurrency", "AUD"}, _ {"transactionProduct", "Test Product"}, _ {"customerName", "Test Customer"}, _ {"customerCountry", "AU"}, _ {"customerState", "QLD"}, _ {"customerCity", "Brisbane"}, _ {"customerAddress", "123 Test Street"}, _ {"customerPostCode", "4000"}, _ {"customerPhone", "61731665489"}, _ {"customerEmail", "[email protected]"}, _ {"customerIP", "1.1.1.1"}, _ {"paymentCardName", "Test Customer"}, _ {"paymentCardNumber", "5123456789012346"}, _ {"paymentCardExpiry", "0521"}, _ {"paymentCardCSC", "123"}, _ {"hash", "d0fb5716a2b85c743ed802bd5bd7284b"} _ }) Dim result As [String] = System.Text.Encoding.[Default].GetString(response) Console.WriteLine(result) End Using End Sub End Module
import java.io.*;
import java.net.*;
import java.util.*;

public class Program{

    public static void main(String[] args) {
        try{
            URL url = new URL("https://api.merchantwarrior.com/post/");
            Map<String, String> params = new LinkedHashMap<>();
            params.put("method", "processCard");
            params.put("merchantUUID", "5265f8eed6a19");
            params.put("apiKey", "ksmnwxab");
            params.put("transactionAmount", "1.00");
            params.put("transactionCurrency", "AUD");
            params.put("transactionProduct", "TestProduct");
            params.put("customerName", "TestCustomer");
            params.put("customerCountry", "AU");
            params.put("customerState", "QLD");
            params.put("customerCity", "Brisbane");
            params.put("customerAddress", "TestStreet");
            params.put("customerPostCode", "4000");
            params.put("customerPhone", "61731665489");
            params.put("customerEmail", "[email protected]");
            params.put("customerIP", "1.1.1.1");
            params.put("paymentCardName", "TestCard");
            params.put("paymentCardNumber", "5123456789012346");
            params.put("paymentCardExpiry", "0521");
            params.put("paymentCardCSC", "123");
            params.put("hash", "b55552ff426d7e3d4885465d27ea0062");
            
            StringBuilder postData = new StringBuilder();
            for (Map.Entry<String, String> param : params.entrySet()) {
              if (postData.length() != 0) 
                postData.append('&');
              postData.append(param.getKey());
              postData.append('=');
              postData.append(param.getValue());
            }
            HttpURLConnection conn = (HttpURLConnection)url.openConnection();
            conn.setRequestMethod("POST");
            conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
            conn.setDoOutput(true);
            
            OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());
            writer.write(postData.toString());
            writer.flush();
            
            BufferedReader reader = new BufferedReader(
            	new InputStreamReader(conn.getInputStream()));
            String line;
            StringBuilder sb = new StringBuilder();
            while((line = reader.readLine()) != null){
            	sb.append(line);
            }
            System.out.println(sb.toString());
            writer.close();
            reader.close();
        }
        catch(Exception ex){
            ex.printStackTrace();
        }
    }
    
}
import java.io.*; import java.net.*; import java.util.*; public class Program{ public static void main(String[] args) { try{ URL url = new URL("https://api.merchantwarrior.com/post/"); Map params = new LinkedHashMap<>(); params.put("method", "processCard"); params.put("merchantUUID", "5265f8eed6a19"); params.put("apiKey", "ksmnwxab"); params.put("transactionAmount", "1.00"); params.put("transactionCurrency", "AUD"); params.put("transactionProduct", "TestProduct"); params.put("customerName", "TestCustomer"); params.put("customerCountry", "AU"); params.put("customerState", "QLD"); params.put("customerCity", "Brisbane"); params.put("customerAddress", "TestStreet"); params.put("customerPostCode", "4000"); params.put("customerPhone", "61731665489"); params.put("customerEmail", "[email protected]"); params.put("customerIP", "1.1.1.1"); params.put("paymentCardName", "TestCard"); params.put("paymentCardNumber", "5123456789012346"); params.put("paymentCardExpiry", "0521"); params.put("paymentCardCSC", "123"); params.put("hash", "b55552ff426d7e3d4885465d27ea0062"); StringBuilder postData = new StringBuilder(); for (Map.Entry param : params.entrySet()) { if (postData.length() != 0) postData.append('&'); postData.append(param.getKey()); postData.append('='); postData.append(param.getValue()); } HttpURLConnection conn = (HttpURLConnection)url.openConnection(); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); conn.setDoOutput(true); OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream()); writer.write(postData.toString()); writer.flush(); BufferedReader reader = new BufferedReader( new InputStreamReader(conn.getInputStream())); String line; StringBuilder sb = new StringBuilder(); while((line = reader.readLine()) != null){ sb.append(line); } System.out.println(sb.toString()); writer.close(); reader.close(); } catch(Exception ex){ ex.printStackTrace(); } } }
Copy
<?xml version="1.0"?>
<mwResponse>
  <custom1/>
  <cardExpiryYear>21</cardExpiryYear>
  <custom2/>
  <custom3/>
  <responseMessage>Transaction approved</responseMessage>
  <transactionReferenceID>12345</transactionReferenceID>
  <cardType>mc</cardType>
  <responseCode>0</responseCode>
  <authCode>731357421</authCode>
  <transactionAmount>1.00</transactionAmount>
  <authResponseCode>08</authResponseCode>
  <transactionID>1336-20be3569-b600-11e6-b9c3-005056b209e0</transactionID>
  <receiptNo>731357421</receiptNo>
  <cardExpiryMonth>05</cardExpiryMonth>
  <customHash>65b172551b7d3a0706c0ce5330c98470</customHash>
  <authSettledDate>2016-11-29</authSettledDate>
  <paymentCardNumber>512345XXXXXX2346</paymentCardNumber>
  <authMessage>Honour with identification</authMessage>
</mwResponse>
21 Transaction approved 12345 mc 0 731357421 1.00 08 1336-20be3569-b600-11e6-b9c3-005056b209e0 731357421 05 65b172551b7d3a0706c0ce5330c98470 2016-11-29 512345XXXXXX2346 Honour with identification
{
    "custom1": [],
    "cardExpiryYear": "21",
    "custom2": [],
    "custom3": [],
    "responseMessage": "Transaction approved",
    "transactionReferenceID": "12345",
    "cardType": "mc",
    "responseCode": "0",
    "authCode": "731357421",
    "transactionAmount": "1.00",
    "authResponseCode": "08",
    "transactionID": "1336-20be3569-b600-11e6-b9c3-005056b209e0",
    "receiptNo": "731357421",
    "cardExpiryMonth": "05",
    "customHash": "65b172551b7d3a0706c0ce5330c98470",
    "authSettledDate": "2016-11-29",
    "paymentCardNumber": "512345XXXXXX2346",
    "authMessage": "Honour with identification"
}
{ "custom1": [], "cardExpiryYear": "21", "custom2": [], "custom3": [], "responseMessage": "Transaction approved", "transactionReferenceID": "12345", "cardType": "mc", "responseCode": "0", "authCode": "731357421", "transactionAmount": "1.00", "authResponseCode": "08", "transactionID": "1336-20be3569-b600-11e6-b9c3-005056b209e0", "receiptNo": "731357421", "cardExpiryMonth": "05", "customHash": "65b172551b7d3a0706c0ce5330c98470", "authSettledDate": "2016-11-29", "paymentCardNumber": "512345XXXXXX2346", "authMessage": "Honour with identification" }
processAuth

The processAuth method is used to perform a pre-authorization request

Required Parameters

Parameter Description
method

This field is case sensitive.
Example: processAuth

merchantUUID

The value of this parameter is provided to you by Merchant Warrior.
Example: 123456789abcd

apiKey

The value of this parameter is provided to you by Merchant Warrior.
Example: 1a3b5c

transactionAmount

The amount must be formatted to have two decimal places. Any amounts without two decimal places or amounts less than one cent will be rejected.
Example: 10.00

transactionCurrency

One of the following: AUD, CAD, EUR, GBP, JPY, NZD, SGD, USD. This is provider dependant. Please check with MW before attempting to process transactions in any currency other than AUD. This field is case insensitive.
Example: AUD

transactionProduct

A product (or sale) id or description. We recommend using an order/product id. This field’s primary purpose is to help the transaction be identifiable for reporting and accounting purposes.
Example: ABC4321
Valid length: Up to 255 characters. Some Acquirers limit this field to 40 characters.

customerName

This field can only contain alphanumeric characters, as well as the full stop, comma, apostrophe, ampersand, space and hyphen characters.
Example: Mr. Example Person
Valid length: Between 2 and 255 characters

customerCountry

Two letter ISO 3166-1 alpha-2 country code.
Example: AU
Valid length: 2 characters

customerState

Freeform field, keep consistent for your records and reporting.
Example: Queensland
Valid length: Up to 75 characters

customerCity

Freeform field, keep consistent for your records and reporting.
Example: Brisbane
Valid length: Up to 75 characters

customerAddress

Freeform field.
Example: 123 Test Street
Valid length: Up to 255 characters

customerPostCode

This can also accomodate ZIP/Post codes for international transactions.
Example: 4000
Valid length: Between 4 and 10 characters

paymentCardNumber

Only certain card numbers are deemed valid in the test environment. See Test Data for more information. Do not send separators with the card number (e.g. 1234-5678… or 1234 5678).
Example: 5123456789012346 or 4557012345678902
Valid length: Between 13 and 16 digits

paymentCardExpiry

This must be MMYY format. The month must be zero padded if it is less than 10.
Example: 0513
Valid length: 4 digits

paymentCardName

This must contain at the very least a space and no less than two characters. Only alphanumeric characters, hyphens, spaces and full stops are allowed.
Example: Mr. Example Person or MR E PERSON or Example Person
Valid length: Between 3 and 255 characters

hash

The verification hash is a combination of the MD5 of your API Passphrase, and specific parameters sent in the transaction. See Transaction Type Hash for information on how to construct the hash correctly.
Example: e9ddc296b76b3398934bfc06239073df
Valid length: 32 characters

Optional Parameters

Parameter Description
transactionReferenceID

This is a merchant’s unique reference ID for a transaction sent to Merchant Warrior. The main purpose of this ID is to verify the transaction via the queryCard method in the event a valid response is not received.
Example: A257240023321
Valid length: Up to 40 characters

threeDSToken

This parameter is used to indicate if a transaction has been authenticated. Its value is returned by checkPARes method.

customerPhone

Anything other than +,-, space and 0-9 will be stripped.
Example: 0401234567 or 61731234567
Valid length: Up to 25 characters

customerEmail

Sending this optional parameter is highly recommended.
Example: [email protected]
Valid length: Up to 255 characters

customerIP

Any valid IPv4 or IPv6 address is accepted. Sending this optional parameter is highly recommended.
Example: 123.456.789.012 or 2001:0db8:85a3:0000:0000:8a2e:0370:7334
Valid length: Up to 39 characters

storeID

The value of this field is the merchant's store name. Please note that you need to contact Merchant Warrior to enable the storeID feature before you can use this parameter.
Example: Test store name

paymentCardCSC

This is also known as the CVN or CVV/2. This is required by some Acquirers if the transaction is initiated by the customer. Please contact Merchant Warrior for more information.
Example: 123
Valid length: Between 3 and 4 characters

custom1

Freeform field. Returned as <custom1> in the XML response.
Valid length: Up to 500 characters

custom2

Freeform field. Returned as <custom2> in the XML response.
Valid length: Up to 500 characters

custom3

Freeform field. Returned as <custom3> in the XML response.
Valid length: Up to 500 characters

Copy
curl -X POST \
	-d method="processAuth" \
	-d merchantUUID="5265f8eed6a19" \
	-d apiKey="ksmnwxab" \
	-d transactionAmount="1.00" \
	-d transactionCurrency="AUD" \
	-d transactionProduct="Test Product" \
	-d customerName="Test Customer" \
	-d customerCountry="AU" \
	-d customerState="QLD" \
	-d customerCity="Brisbane" \
	-d customerAddress="123 Test Street" \
	-d customerPostCode="4000" \
	-d customerPhone="61731665489" \
	-d customerEmail="[email protected]" \
	-d customerIP="1.1.1.1" \
	-d paymentCardName="Test Customer" \
	-d paymentCardNumber="5123456789012346" \
	-d paymentCardExpiry="0521" \
	-d paymentCardCSC="123" \
	-d hash="b55552ff426d7e3d4885465d27ea0062" https://api.merchantwarrior.com/post/
curl -X POST -d method="processAuth" -d merchantUUID="5265f8eed6a19" -d apiKey="ksmnwxab" -d transactionAmount="1.00" -d transactionCurrency="AUD" -d transactionProduct="Test Product" -d customerName="Test Customer" -d customerCountry="AU" -d customerState="QLD" -d customerCity="Brisbane" -d customerAddress="123 Test Street" -d customerPostCode="4000" -d customerPhone="61731665489" -d customerEmail="[email protected]" -d customerIP="1.1.1.1" -d paymentCardName="Test Customer" -d paymentCardNumber="5123456789012346" -d paymentCardExpiry="0521" -d paymentCardCSC="123" -d hash="b55552ff426d7e3d4885465d27ea0062" https://api.merchantwarrior.com/post/
require 'net/http'
require 'uri'

uri = URI.parse("https://api.merchantwarrior.com/post/")
request = Net::HTTP::Post.new(uri)
request.set_form_data(
  'method' => 'processAuth',
  'merchantUUID' => '5265f8eed6a19',
  'apiKey' => 'ksmnwxab',
  'transactionAmount' => '1.00',
  'transactionCurrency' => 'AUD',
  'transactionProduct' => 'Test Product',
  'customerName' => 'Test Customer',
  'customerCountry' => 'AU',
  'customerState' => 'QLD',
  'customerCity' => 'Brisbane',
  'customerAddress' => '123 Test Street',
  'customerPostCode' => '4000',
  'customerPhone' => '61731665489',
  'customerEmail' => '[email protected]',
  'customerIP' => '1.1.1.1',
  'paymentCardName' => 'Test Customer',
  'paymentCardNumber' => '5123456789012346',
  'paymentCardExpiry' => '0521',
  'paymentCardCSC' => '123',
  'hash' => 'b55552ff426d7e214885465d27ea006221'
)

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http|
  http.request(request)
end

puts response.body
require 'net/http' require 'uri' uri = URI.parse("https://api.merchantwarrior.com/post/") request = Net::HTTP::Post.new(uri) request.set_form_data( 'method' => 'processAuth', 'merchantUUID' => '5265f8eed6a19', 'apiKey' => 'ksmnwxab', 'transactionAmount' => '1.00', 'transactionCurrency' => 'AUD', 'transactionProduct' => 'Test Product', 'customerName' => 'Test Customer', 'customerCountry' => 'AU', 'customerState' => 'QLD', 'customerCity' => 'Brisbane', 'customerAddress' => '123 Test Street', 'customerPostCode' => '4000', 'customerPhone' => '61731665489', 'customerEmail' => '[email protected]', 'customerIP' => '1.1.1.1', 'paymentCardName' => 'Test Customer', 'paymentCardNumber' => '5123456789012346', 'paymentCardExpiry' => '0521', 'paymentCardCSC' => '123', 'hash' => 'b55552ff426d7e214885465d27ea006221' ) response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http| http.request(request) end puts response.body
import requests

data = {
  'method' : 'processAuth',
  'merchantUUID' : '5265f8eed6a19',
  'apiKey' : 'ksmnwxab',
  'transactionAmount' : '1.00',
  'transactionCurrency' : 'AUD',
  'transactionProduct' : 'Test Product',
  'customerName' : 'Test Customer',
  'customerCountry' : 'AU',
  'customerState' : 'QLD',
  'customerCity' : 'Brisbane',
  'customerAddress' : '123 Test Street',
  'customerPostCode' : '4000',
  'customerPhone' : '61731665489',
  'customerEmail' : '[email protected]',
  'customerIP' : '1.1.1.1',
  'paymentCardName' : 'Test Customer',
  'paymentCardNumber' : '5123456789012346',
  'paymentCardExpiry' : '0521',
  'paymentCardCSC' : '123',
  'hash' : 'b55552ff426d7e3d4885465d27ea0062'
}

r = requests.post('https://api.merchantwarrior.com/post/', data = data)

print(r.text)
import requests data = { 'method' : 'processAuth', 'merchantUUID' : '5265f8eed6a19', 'apiKey' : 'ksmnwxab', 'transactionAmount' : '1.00', 'transactionCurrency' : 'AUD', 'transactionProduct' : 'Test Product', 'customerName' : 'Test Customer', 'customerCountry' : 'AU', 'customerState' : 'QLD', 'customerCity' : 'Brisbane', 'customerAddress' : '123 Test Street', 'customerPostCode' : '4000', 'customerPhone' : '61731665489', 'customerEmail' : '[email protected]', 'customerIP' : '1.1.1.1', 'paymentCardName' : 'Test Customer', 'paymentCardNumber' : '5123456789012346', 'paymentCardExpiry' : '0521', 'paymentCardCSC' : '123', 'hash' : 'b55552ff426d7e3d4885465d27ea0062' } r = requests.post('https://api.merchantwarrior.com/post/', data = data) print(r.text)
<?php
// Setup the POST url
define('MW_API_ENDPOINT', 'https://api.merchantwarrior.com/post/');

// Setup POST data
$postData = array (
  'method' => 'processAuth',
  'merchantUUID' => '5265f8eed6a19',
  'apiKey' => 'ksmnwxab',
  'transactionAmount' => '1.00',
  'transactionCurrency' => 'AUD',
  'transactionProduct' => 'Test Product',
  'customerName' => 'Test Customer',
  'customerCountry' => 'AU',
  'customerState' => 'QLD',
  'customerCity' => 'Brisbane',
  'customerAddress' => '123 Test Street',
  'customerPostCode' => '4000',
  'customerPhone' => '61731665489',
  'customerEmail' => '[email protected]',
  'customerIP' => '1.1.1.1',
  'paymentCardName' => 'Test Customer',
  'paymentCardNumber' => '5123456789012346',
  'paymentCardExpiry' => '0521',
  'paymentCardCSC' => '123',
  'hash' => 'b55552ff426d7e3d4885465d27ea0062'
);

// Setup CURL defaults
$curl = curl_init();

// Setup CURL params for this request
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_URL, MW_API_ENDPOINT);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData, '', '&'));

// Run CURL
$response = curl_exec($curl);
$error = curl_error($curl);

// Check for CURL errors
if (isset($error) && strlen($error)) {
	throw new Exception("CURL Error: {$error}");
}

// Parse the XML
$xml = simplexml_load_string($response);

// Convert the result from a SimpleXMLObject into an array
$xml = (array)$xml;

// Validate the response - the only successful code is 0
$status = ((int)$xml['responseCode'] === 0) ? true : false;

// Make the response a little more useable
$result = array (
  'status' => $status, 
  'transactionID' => (isset($xml['transactionID']) ? $xml['transactionID'] : null),
  'responseData' => $xml
);

exit(var_dump($result));
?>
'processAuth', 'merchantUUID' => '5265f8eed6a19', 'apiKey' => 'ksmnwxab', 'transactionAmount' => '1.00', 'transactionCurrency' => 'AUD', 'transactionProduct' => 'Test Product', 'customerName' => 'Test Customer', 'customerCountry' => 'AU', 'customerState' => 'QLD', 'customerCity' => 'Brisbane', 'customerAddress' => '123 Test Street', 'customerPostCode' => '4000', 'customerPhone' => '61731665489', 'customerEmail' => '[email protected]', 'customerIP' => '1.1.1.1', 'paymentCardName' => 'Test Customer', 'paymentCardNumber' => '5123456789012346', 'paymentCardExpiry' => '0521', 'paymentCardCSC' => '123', 'hash' => 'b55552ff426d7e3d4885465d27ea0062' ); // Setup CURL defaults $curl = curl_init(); // Setup CURL params for this request curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_URL, MW_API_ENDPOINT); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData, '', '&')); // Run CURL $response = curl_exec($curl); $error = curl_error($curl); // Check for CURL errors if (isset($error) && strlen($error)) { throw new Exception("CURL Error: {$error}"); } // Parse the XML $xml = simplexml_load_string($response); // Convert the result from a SimpleXMLObject into an array $xml = (array)$xml; // Validate the response - the only successful code is 0 $status = ((int)$xml['responseCode'] === 0) ? true : false; // Make the response a little more useable $result = array ( 'status' => $status, 'transactionID' => (isset($xml['transactionID']) ? $xml['transactionID'] : null), 'responseData' => $xml ); exit(var_dump($result)); ?>
using System;
using System.Collections.Generic;
using System.Linq;

public class Program {
    public static void Main(string[] args) {
        using(var client = new System.Net.WebClient()) {
            byte[] response = client.UploadValues("https://api.merchantwarrior.com/post/", 
                    new System.Collections.Specialized.NameValueCollection() {
                        { "method", "processAuth" },
                        { "merchantUUID", "578dd399d2373" },
                        { "apiKey", "dyqxkzse" },
                        { "transactionAmount", "1.00" },
                        { "transactionCurrency", "AUD" },
                        { "transactionProduct", "Test Product" },
                        { "customerName", "Test Customer" },
                        { "customerCountry", "AU" },
                        { "customerState", "QLD" },
                        { "customerCity", "Brisbane" },
                        { "customerAddress", "123 Test Street" },
                        { "customerPostCode", "4000" },
                        { "customerPhone", "61731665489" },
                        { "customerEmail", "[email protected]" },
                        { "customerIP", "1.1.1.1" },
                        { "paymentCardName", "Test Customer" },
                        { "paymentCardNumber", "5123456789012346" },
                        { "paymentCardExpiry", "0521" },
                        { "paymentCardCSC", "123" },
                        { "hash", "d0fb5716a2b85c743ed802bd5bd7284b" },
                    });
            String result = System.Text.Encoding.Default.GetString(response);
            Console.WriteLine(result);
		    }
    }
}
using System; using System.Collections.Generic; using System.Linq; public class Program { public static void Main(string[] args) { using(var client = new System.Net.WebClient()) { byte[] response = client.UploadValues("https://api.merchantwarrior.com/post/", new System.Collections.Specialized.NameValueCollection() { { "method", "processAuth" }, { "merchantUUID", "578dd399d2373" }, { "apiKey", "dyqxkzse" }, { "transactionAmount", "1.00" }, { "transactionCurrency", "AUD" }, { "transactionProduct", "Test Product" }, { "customerName", "Test Customer" }, { "customerCountry", "AU" }, { "customerState", "QLD" }, { "customerCity", "Brisbane" }, { "customerAddress", "123 Test Street" }, { "customerPostCode", "4000" }, { "customerPhone", "61731665489" }, { "customerEmail", "[email protected]" }, { "customerIP", "1.1.1.1" }, { "paymentCardName", "Test Customer" }, { "paymentCardNumber", "5123456789012346" }, { "paymentCardExpiry", "0521" }, { "paymentCardCSC", "123" }, { "hash", "d0fb5716a2b85c743ed802bd5bd7284b" }, }); String result = System.Text.Encoding.Default.GetString(response); Console.WriteLine(result); } } }
Imports System
Imports System.Collections.Generic
Imports System.Linq

Public Module Program
    Public Sub Main(args As String())
        Using client = New System.Net.WebClient()
            Dim response As Byte() = client.UploadValues(
            "https://api.merchantwarrior.com/post/",
            New System.Collections.Specialized.NameValueCollection() From { _
                {"method", "processAuth"}, _
                {"merchantUUID", "578dd399d2373"}, _
                {"apiKey", "dyqxkzse"}, _
                {"transactionAmount", "1.00"}, _
                {"transactionCurrency", "AUD"}, _
                {"transactionProduct", "Test Product"}, _
                {"customerName", "Test Customer"}, _
                {"customerCountry", "AU"}, _
                {"customerState", "QLD"}, _
                {"customerCity", "Brisbane"}, _
                {"customerAddress", "123 Test Street"}, _
                {"customerPostCode", "4000"}, _
                {"customerPhone", "61731665489"}, _
                {"customerEmail", "[email protected]"}, _
                {"customerIP", "1.1.1.1"}, _
                {"paymentCardName", "Test Customer"}, _
                {"paymentCardNumber", "5123456789012346"}, _
                {"paymentCardExpiry", "0521"}, _
                {"paymentCardCSC", "123"}, _
                {"hash", "d0fb5716a2b85c743ed802bd5bd7284b"} _
            })
            Dim result As [String] = System.Text.Encoding.[Default].GetString(response)
            Console.WriteLine(result)
        End Using
    End Sub
End Module
Imports System Imports System.Collections.Generic Imports System.Linq Public Module Program Public Sub Main(args As String()) Using client = New System.Net.WebClient() Dim response As Byte() = client.UploadValues( "https://api.merchantwarrior.com/post/", New System.Collections.Specialized.NameValueCollection() From { _ {"method", "processAuth"}, _ {"merchantUUID", "578dd399d2373"}, _ {"apiKey", "dyqxkzse"}, _ {"transactionAmount", "1.00"}, _ {"transactionCurrency", "AUD"}, _ {"transactionProduct", "Test Product"}, _ {"customerName", "Test Customer"}, _ {"customerCountry", "AU"}, _ {"customerState", "QLD"}, _ {"customerCity", "Brisbane"}, _ {"customerAddress", "123 Test Street"}, _ {"customerPostCode", "4000"}, _ {"customerPhone", "61731665489"}, _ {"customerEmail", "[email protected]"}, _ {"customerIP", "1.1.1.1"}, _ {"paymentCardName", "Test Customer"}, _ {"paymentCardNumber", "5123456789012346"}, _ {"paymentCardExpiry", "0521"}, _ {"paymentCardCSC", "123"}, _ {"hash", "d0fb5716a2b85c743ed802bd5bd7284b"} _ }) Dim result As [String] = System.Text.Encoding.[Default].GetString(response) Console.WriteLine(result) End Using End Sub End Module
import java.io.*;
import java.net.*;
import java.util.*;

public class Program{

    public static void main(String[] args) {
        try{
            URL url = new URL("https://api.merchantwarrior.com/post/");
            Map<String, String> params = new LinkedHashMap<>();
            params.put("method", "processAuth");
            params.put("merchantUUID", "5265f8eed6a19");
            params.put("apiKey", "ksmnwxab");
            params.put("transactionAmount", "1.00");
            params.put("transactionCurrency", "AUD");
            params.put("transactionProduct", "TestProduct");
            params.put("customerName", "TestCustomer");
            params.put("customerCountry", "AU");
            params.put("customerState", "QLD");
            params.put("customerCity", "Brisbane");
            params.put("customerAddress", "TestStreet");
            params.put("customerPostCode", "4000");
            params.put("customerPhone", "61731665489");
            params.put("customerEmail", "[email protected]");
            params.put("customerIP", "1.1.1.1");
            params.put("paymentCardName", "TestCard");
            params.put("paymentCardNumber", "5123456789012346");
            params.put("paymentCardExpiry", "0521");
            params.put("paymentCardCSC", "123");
            params.put("hash", "b55552ff426d7e3d4885465d27ea0062");
            
            StringBuilder postData = new StringBuilder();
            for (Map.Entry<String, String> param : params.entrySet()) {
              if (postData.length() != 0) 
                postData.append('&');
              postData.append(param.getKey());
              postData.append('=');
              postData.append(param.getValue());
            }
            HttpURLConnection conn = (HttpURLConnection)url.openConnection();
            conn.setRequestMethod("POST");
            conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
            conn.setDoOutput(true);
            
            OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());
            writer.write(postData.toString());
            writer.flush();
            
            BufferedReader reader = new BufferedReader(
            	new InputStreamReader(conn.getInputStream()));
            String line;
            StringBuilder sb = new StringBuilder();
            while((line = reader.readLine()) != null){
            	sb.append(line);
            }
            System.out.println(sb.toString());
            writer.close();
            reader.close();
        }
        catch(Exception ex){
            ex.printStackTrace();
        }
    }
    
}
Copy
<?xml version="1.0"?>
<mwResponse>
  <custom1/>
  <cardExpiryYear>21</cardExpiryYear>
  <custom2/>
  <custom3/>
  <responseMessage>Transaction approved</responseMessage>
  <transactionReferenceID>12345</transactionReferenceID>
  <cardType>mc</cardType>
  <responseCode>0</responseCode>
  <authCode>731357433</authCode>
  <transactionAmount>1.00</transactionAmount>
  <authResponseCode>08</authResponseCode>
  <transactionID>1336-37edc560-b601-11e6-b9c3-005056b209e0</transactionID>
  <receiptNo>731357433</receiptNo>
  <cardExpiryMonth>05</cardExpiryMonth>
  <customHash>65b172551b7d3a0706c0ce5330c98470</customHash>
  <authSettledDate>2016-11-29</authSettledDate>
  <paymentCardNumber>512345XXXXXX2346</paymentCardNumber>
  <authMessage>Honour with identification</authMessage>
</mwResponse>
21 Transaction approved 12345 mc 0 731357433 1.00 08 1336-37edc560-b601-11e6-b9c3-005056b209e0 731357433 05 65b172551b7d3a0706c0ce5330c98470 2016-11-29 512345XXXXXX2346 Honour with identification
{
    "custom1": [],
    "cardExpiryYear": "21",
    "custom2": [],
    "custom3": [],
    "responseMessage": "Transaction approved",
    "transactionReferenceID": "12345",
    "cardType": "mc",
    "responseCode": "0",
    "authCode": "731357433",
    "transactionAmount": "1.00",
    "authResponseCode": "08",
    "transactionID": "1336-37edc560-b601-11e6-b9c3-005056b209e0",
    "receiptNo": "731357433",
    "cardExpiryMonth": "05",
    "customHash": "65b172551b7d3a0706c0ce5330c98470",
    "authSettledDate": "2016-11-29",
    "paymentCardNumber": "512345XXXXXX2346",
    "authMessage": "Honour with identification"
}
{ "custom1": [], "cardExpiryYear": "21", "custom2": [], "custom3": [], "responseMessage": "Transaction approved", "transactionReferenceID": "12345", "cardType": "mc", "responseCode": "0", "authCode": "731357433", "transactionAmount": "1.00", "authResponseCode": "08", "transactionID": "1336-37edc560-b601-11e6-b9c3-005056b209e0", "receiptNo": "731357433", "cardExpiryMonth": "05", "customHash": "65b172551b7d3a0706c0ce5330c98470", "authSettledDate": "2016-11-29", "paymentCardNumber": "512345XXXXXX2346", "authMessage": "Honour with identification" }
processCapture

The processCapture method is used to perform a capture request

Required Parameters

Parameter Description
method

This field is case sensitive.
Example: processCapture

merchantUUID

The value of this parameter is provided to you by Merchant Warrior.
Example: 123456789abcd

apiKey

The value of this parameter is provided to you by Merchant Warrior.
Example: 1a3b5c

transactionAmount

This amount must be the exact amount submitted with the initial transaction. This is used in the verification hash, and is not the amount that will be refunded.
Example: 10.00

transactionCurrency

One of the following: AUD, CAD, EUR, GBP, JPY, NZD, SGD, USD. This is provider dependant. Please check with MW before attempting to process transactions in any currency other than AUD. This field is case insensitive.
Example: AUD

transactionID

The <transactionID> is provided to you by Merchant Warrior after an initial pre-authorization (processAuth) transaction.
Example: 1-a1c340c8-7c30-11de-8888-000c29753ad4

captureAmount

The amount is in the same format as transactionAmount. It cannot be less than 0.01 or more than the initial transaction amount.
Example: 10.00

hash

The verification hash is a combination of the MD5 of your API Passphrase, and specific parameters sent in the transaction. See Transaction Type Hash for information on how to construct the hash correctly.
Example: e9ddc296b76b3398934bfc06239073df
Valid length: 32 characters

Optional Parameters

Parameter Description
transactionReferenceID

This is a merchant’s unique reference ID for a transaction sent to Merchant Warrior. The main purpose of this ID is to verify the transaction via the queryCard method in the event a valid response is not received.
Example: A257240023321
Valid length: Up to 40 characters

Copy
curl -X POST \
  -d method="processCapture" \
  -d merchantUUID="5265f8eed6a19" \
  -d apiKey="ksmnwxab" \
  -d transactionAmount="1.00" \
  -d transactionCurrency="AUD" \
  -d transactionID="1336-37edc560-b601-11e6-b9c3-005056b209e0"
  -d captureAmount="1.00"
  -d hash="b55552ff426d7e3d4885465d27ea0062" https://api.merchantwarrior.com/post/
curl -X POST -d method="processCapture" -d merchantUUID="5265f8eed6a19" -d apiKey="ksmnwxab" -d transactionAmount="1.00" -d transactionCurrency="AUD" -d transactionID="1336-37edc560-b601-11e6-b9c3-005056b209e0" -d captureAmount="1.00" -d hash="b55552ff426d7e3d4885465d27ea0062" https://api.merchantwarrior.com/post/
require 'net/http'
require 'uri'

uri = URI.parse("https://api.merchantwarrior.com/post/")
request = Net::HTTP::Post.new(uri)
request.set_form_data(
  'method' => 'processCapture',
  'merchantUUID' => '5265f8eed6a19',
  'apiKey' => 'ksmnwxab',
  'transactionAmount' => '1.00',
  'transactionCurrency' => 'AUD',
  'transactionID' => '1336-37edc560-b601-11e6-b9c3-005056b209e0',
  'captureAmount' => '1.00',
  'hash' => 'b55552ff426d7e3d4885465d27ea0062'
)

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http|
  http.request(request)
end

puts response.body
require 'net/http' require 'uri' uri = URI.parse("https://api.merchantwarrior.com/post/") request = Net::HTTP::Post.new(uri) request.set_form_data( 'method' => 'processCapture', 'merchantUUID' => '5265f8eed6a19', 'apiKey' => 'ksmnwxab', 'transactionAmount' => '1.00', 'transactionCurrency' => 'AUD', 'transactionID' => '1336-37edc560-b601-11e6-b9c3-005056b209e0', 'captureAmount' => '1.00', 'hash' => 'b55552ff426d7e3d4885465d27ea0062' ) response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http| http.request(request) end puts response.body
import requests

data = {
  'method' : 'processCapture',
  'merchantUUID' : '5265f8eed6a19',
  'apiKey' : 'ksmnwxab',
  'transactionAmount' : '1.00',
  'transactionCurrency' : 'AUD',
  'transactionID' : '1336-37edc560-b601-11e6-b9c3-005056b209e0',
  'captureAmount' : '1.00',
  'hash' : 'b55552ff426d7e3d4885465d27ea0062'
}

r = requests.post('https://api.merchantwarrior.com/post/', data = data)

print(r.text)
import requests data = { 'method' : 'processCapture', 'merchantUUID' : '5265f8eed6a19', 'apiKey' : 'ksmnwxab', 'transactionAmount' : '1.00', 'transactionCurrency' : 'AUD', 'transactionID' : '1336-37edc560-b601-11e6-b9c3-005056b209e0', 'captureAmount' : '1.00', 'hash' : 'b55552ff426d7e3d4885465d27ea0062' } r = requests.post('https://api.merchantwarrior.com/post/', data = data) print(r.text)
<?php
// Setup the POST url
define('MW_API_ENDPOINT', 'https://api.merchantwarrior.com/post/');

// Setup POST data
$postData = array (
  'method' => 'processCapture',
  'merchantUUID' => '5265f8eed6a19',
  'apiKey' => 'ksmnwxab',
  'transactionAmount' => '1.00',
  'transactionCurrency' => 'AUD',
  'transactionID' => '1336-37edc560-b601-11e6-b9c3-005056b209e0',
  'captureAmount' => '1.00',
  'hash' => 'b55552ff426d7e3d4885465d27ea0062'
);

// Setup CURL defaults
$curl = curl_init();

// Setup CURL params for this request
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_URL, MW_API_ENDPOINT);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData, '', '&'));

// Run CURL
$response = curl_exec($curl);
$error = curl_error($curl);

// Check for CURL errors
if (isset($error) && strlen($error)) {
  throw new Exception("CURL Error: {$error}");
}

// Parse the XML
$xml = simplexml_load_string($response);

// Convert the result from a SimpleXMLObject into an array
$xml = (array)$xml;

// Validate the response - the only successful code is 0
$status = ((int)$xml['responseCode'] === 0) ? true : false;

// Make the response a little more useable
$result = array (
  'status' => $status, 
  'transactionID' => (isset($xml['transactionID']) ? $xml['transactionID'] : null),
  'responseData' => $xml
);

exit(var_dump($result));
?>
'processCapture', 'merchantUUID' => '5265f8eed6a19', 'apiKey' => 'ksmnwxab', 'transactionAmount' => '1.00', 'transactionCurrency' => 'AUD', 'transactionID' => '1336-37edc560-b601-11e6-b9c3-005056b209e0', 'captureAmount' => '1.00', 'hash' => 'b55552ff426d7e3d4885465d27ea0062' ); // Setup CURL defaults $curl = curl_init(); // Setup CURL params for this request curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_URL, MW_API_ENDPOINT); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData, '', '&')); // Run CURL $response = curl_exec($curl); $error = curl_error($curl); // Check for CURL errors if (isset($error) && strlen($error)) { throw new Exception("CURL Error: {$error}"); } // Parse the XML $xml = simplexml_load_string($response); // Convert the result from a SimpleXMLObject into an array $xml = (array)$xml; // Validate the response - the only successful code is 0 $status = ((int)$xml['responseCode'] === 0) ? true : false; // Make the response a little more useable $result = array ( 'status' => $status, 'transactionID' => (isset($xml['transactionID']) ? $xml['transactionID'] : null), 'responseData' => $xml ); exit(var_dump($result)); ?>
using System;
using System.Collections.Generic;
using System.Linq;

public class Program {
    public static void Main(string[] args) {
        using(var client = new System.Net.WebClient()) {
            byte[] response = client.UploadValues("https://api.merchantwarrior.com/post/", 
                    new System.Collections.Specialized.NameValueCollection() {
                        { "method", "processCapture" },
                        { "merchantUUID", "578dd399d2373" },
                        { "apiKey", "dyqxkzse" },
                        { "transactionAmount", "1.00" },
                        { "transactionCurrency", "AUD" },
                        { "transactionID", "1336-37edc560-b601-11e6-b9c3-005056b209e0" },
                        { "captureAmount", "1.00" },                        
                        { "hash", "d0fb5716a2b85c743ed802bd5bd7284b" },
                    });
            String result = System.Text.Encoding.Default.GetString(response);
            Console.WriteLine(result);
    		}
    }
}
using System; using System.Collections.Generic; using System.Linq; public class Program { public static void Main(string[] args) { using(var client = new System.Net.WebClient()) { byte[] response = client.UploadValues("https://api.merchantwarrior.com/post/", new System.Collections.Specialized.NameValueCollection() { { "method", "processCapture" }, { "merchantUUID", "578dd399d2373" }, { "apiKey", "dyqxkzse" }, { "transactionAmount", "1.00" }, { "transactionCurrency", "AUD" }, { "transactionID", "1336-37edc560-b601-11e6-b9c3-005056b209e0" }, { "captureAmount", "1.00" }, { "hash", "d0fb5716a2b85c743ed802bd5bd7284b" }, }); String result = System.Text.Encoding.Default.GetString(response); Console.WriteLine(result); } } }
Imports System
Imports System.Collections.Generic
Imports System.Linq

Public Module Program
    Public Sub Main(args As String())
        Using client = New System.Net.WebClient()
            Dim response As Byte() = client.UploadValues(
            "https://api.merchantwarrior.com/post/",
            New System.Collections.Specialized.NameValueCollection() From { _
                {"method", "processCapture"}, _
                {"merchantUUID", "578dd399d2373"}, _
                {"apiKey", "dyqxkzse"}, _
                {"transactionAmount", "1.00"}, _
                {"transactionCurrency", "AUD"}, _
                {"transactionID", "1336-37edc560-b601-11e6-b9c3-005056b209e0"}, _
                {"captureAmount", "1.00"}, _
                {"hash", "d0fb5716a2b85c743ed802bd5bd7284b"} _
            })
            Dim result As [String] = System.Text.Encoding.[Default].GetString(response)
            Console.WriteLine(result)
        End Using
    End Sub
End Module
Imports System Imports System.Collections.Generic Imports System.Linq Public Module Program Public Sub Main(args As String()) Using client = New System.Net.WebClient() Dim response As Byte() = client.UploadValues( "https://api.merchantwarrior.com/post/", New System.Collections.Specialized.NameValueCollection() From { _ {"method", "processCapture"}, _ {"merchantUUID", "578dd399d2373"}, _ {"apiKey", "dyqxkzse"}, _ {"transactionAmount", "1.00"}, _ {"transactionCurrency", "AUD"}, _ {"transactionID", "1336-37edc560-b601-11e6-b9c3-005056b209e0"}, _ {"captureAmount", "1.00"}, _ {"hash", "d0fb5716a2b85c743ed802bd5bd7284b"} _ }) Dim result As [String] = System.Text.Encoding.[Default].GetString(response) Console.WriteLine(result) End Using End Sub End Module
import java.io.*;
import java.net.*;
import java.util.*;

public class Program{

    public static void main(String[] args) {
        try{
            URL url = new URL("https://api.merchantwarrior.com/post/");
            Map<String, String> params = new LinkedHashMap<>();
            params.put("method", "processCapture");
            params.put("merchantUUID", "5265f8eed6a19");
            params.put("apiKey", "ksmnwxab");
            params.put("transactionAmount", "1.00");
            params.put("transactionCurrency", "AUD");
            params.put("transactionID", "1336-37edc560-b601-11e6-b9c3-005056b209e0");
            params.put("captureAmount", "1.00");
            params.put("hash", "b55552ff426d7e3d4885465d27ea0062");
            
            StringBuilder postData = new StringBuilder();
            for (Map.Entry<String, String> param : params.entrySet()) {
              if (postData.length() != 0) 
                postData.append('&');
              postData.append(param.getKey());
              postData.append('=');
              postData.append(param.getValue());
            }
            HttpURLConnection conn = (HttpURLConnection)url.openConnection();
            conn.setRequestMethod("POST");
            conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
            conn.setDoOutput(true);
            
            OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());
            writer.write(postData.toString());
            writer.flush();
            
            BufferedReader reader = new BufferedReader(
            	new InputStreamReader(conn.getInputStream()));
            String line;
            StringBuilder sb = new StringBuilder();
            while((line = reader.readLine()) != null){
            	sb.append(line);
            }
            System.out.println(sb.toString());
            writer.close();
            reader.close();
        }
        catch(Exception ex){
            ex.printStackTrace();
        }
    }
    
}
import java.io.*; import java.net.*; import java.util.*; public class Program{ public static void main(String[] args) { try{ URL url = new URL("https://api.merchantwarrior.com/post/"); Map params = new LinkedHashMap<>(); params.put("method", "processCapture"); params.put("merchantUUID", "5265f8eed6a19"); params.put("apiKey", "ksmnwxab"); params.put("transactionAmount", "1.00"); params.put("transactionCurrency", "AUD"); params.put("transactionID", "1336-37edc560-b601-11e6-b9c3-005056b209e0"); params.put("captureAmount", "1.00"); params.put("hash", "b55552ff426d7e3d4885465d27ea0062"); StringBuilder postData = new StringBuilder(); for (Map.Entry param : params.entrySet()) { if (postData.length() != 0) postData.append('&'); postData.append(param.getKey()); postData.append('='); postData.append(param.getValue()); } HttpURLConnection conn = (HttpURLConnection)url.openConnection(); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); conn.setDoOutput(true); OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream()); writer.write(postData.toString()); writer.flush(); BufferedReader reader = new BufferedReader( new InputStreamReader(conn.getInputStream())); String line; StringBuilder sb = new StringBuilder(); while((line = reader.readLine()) != null){ sb.append(line); } System.out.println(sb.toString()); writer.close(); reader.close(); } catch(Exception ex){ ex.printStackTrace(); } } }
Copy
<?xml version="1.0"?>
<mwResponse>
  <custom1/>
  <custom2/>
  <custom3/>
  <responseMessage>Transaction approved</responseMessage>
  <responseCode>0</responseCode>
  <authCode>731357526</authCode>
  <authResponseCode>00</authResponseCode>
  <transactionID>1336-fe4d3be6-b604-11e6-b9c3-005056b209e0</transactionID>
  <receiptNo>731357526</receiptNo>
  <customHash>65b172551b7d3a0706c0ce5330c98470</customHash>
  <authSettledDate>2016-11-30</authSettledDate>
  <authMessage>Approved or completed successfully</authMessage>
</mwResponse>
Transaction approved 0 731357526 00 1336-fe4d3be6-b604-11e6-b9c3-005056b209e0 731357526 65b172551b7d3a0706c0ce5330c98470 2016-11-30 Approved or completed successfully
{
    "custom1": [],
    "custom2": [],
    "custom3": [],
    "responseMessage": "Transaction approved",
    "responseCode": "0",
    "authCode": "731357526",
    "authResponseCode": "00",
    "transactionID": "1336-fe4d3be6-b604-11e6-b9c3-005056b209e0",
    "receiptNo": "731357526",
    "customHash": "65b172551b7d3a0706c0ce5330c98470",
    "authSettledDate": "2016-11-30",
    "authMessage": "Approved or completed successfully"
}
{ "custom1": [], "custom2": [], "custom3": [], "responseMessage": "Transaction approved", "responseCode": "0", "authCode": "731357526", "authResponseCode": "00", "transactionID": "1336-fe4d3be6-b604-11e6-b9c3-005056b209e0", "receiptNo": "731357526", "customHash": "65b172551b7d3a0706c0ce5330c98470", "authSettledDate": "2016-11-30", "authMessage": "Approved or completed successfully" }
processBatch


The processBatch method enables merchants to securely automate the processing of batch files containing credit card, token transaction data or bank accounts. This method accepts and processes compressed .csv files directly via the Direct API and should be implemented when automating a large number of transactions is a requirement.

The processBatch method will process a batch file and automatically issue a notification via POST to the merchant’s application when the batch file has completed processing. The batch response file (containing the results to all transactions processed via the original batch file) can be sent (and compressed) with the POST notification if requested by the merchant.

Sample process and response batch files can be found here.

Required Parameters

Parameter Description
method

This field is case sensitive.
Example: processBatch

merchantUUID

The value of this parameter is provided to you by Merchant Warrior.
Example: 123456789abcd

apiKey

The value of this parameter is provided to you by Merchant Warrior.
Example: 1a3b5c

batchNotifyURL

Asynchronous POST notifications will be sent to this URL.
Example: https://www.example.com/notify.php

batchFile

The batch file must be in CSV format (.csv) and compressed (.zip).
Example: Batch.zip

fileHash

The hash of the batch file. See Batch File Hash for information on how to construct the hash correctly.
Example: e9ddc296b76b3398934bfc06239073df
Valid length: 32 characters

urlHash

The hash of the batchNotifyURL. See Batch URL Hash for information on how to construct the hash correctly.
Example: 511999e54b9ad51ce4c28d7f0550ac81
Valid length: 32 characters

Optional Parameters

Parameter Description
batchResponseFileAttach

The value is a boolean to denote whether a response file should be attached with the asynchronous POST notifications.
Example: 1

batchResponseFileCompress

The value is a boolean to denote whether the response file should be compressed (.zip).
Example: 1

Copy
  curl -X POST \
  -F "method=processBatch" \
  -F "merchantUUID=5265f8eed6a19" \
  -F "apiKey=ksmnwxab" \
  -F "batchNotifyURL=https://www.mydomain.com/notify" \
  -F "[email protected]" \
  -F "fileHash=eaf937db33027ba345d0d8a788460b81" \
  -F "urlHash=f06d19d9d7311cdcdfc37534a7fd0ea4" https://api.merchantwarrior.com/post/
curl -X POST -F "method=processBatch" -F "merchantUUID=5265f8eed6a19" -F "apiKey=ksmnwxab" -F "batchNotifyURL=https://www.mydomain.com/notify" -F "[email protected]" -F "fileHash=eaf937db33027ba345d0d8a788460b81" -F "urlHash=f06d19d9d7311cdcdfc37534a7fd0ea4" https://api.merchantwarrior.com/post/
require 'net/http'
require 'uri'

uri = URI.parse("https://api.merchantwarrior.com/post/")
request = Net::HTTP::Post.new(uri)
request.set_form_data(
  'method' => 'processBatch',
  'merchantUUID' => '5265f8eed6a19',
  'apiKey' => 'ksmnwxab',
  'batchNotifyURL' => 'https://www.mydomain.com/notify',
  'batchFile' => '@Batch.zip',
  'fileHash' => 'eaf937db33027ba345d0d8a788460b81',
  'urlHash' => 'f06d19d9d7311cdcdfc37534a7fd0ea4'
)

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http|
  http.request(request)
end

puts response.body
require 'net/http' require 'uri' uri = URI.parse("https://api.merchantwarrior.com/post/") request = Net::HTTP::Post.new(uri) request.set_form_data( 'method' => 'processBatch', 'merchantUUID' => '5265f8eed6a19', 'apiKey' => 'ksmnwxab', 'batchNotifyURL' => 'https://www.mydomain.com/notify', 'batchFile' => '@Batch.zip', 'fileHash' => 'eaf937db33027ba345d0d8a788460b81', 'urlHash' => 'f06d19d9d7311cdcdfc37534a7fd0ea4' ) response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http| http.request(request) end puts response.body
import requests

data = {
  'method' : 'processBatch',
  'merchantUUID' : '5265f8eed6a19',
  'apiKey' : 'ksmnwxab',
  'batchNotifyURL' : 'https://www.mydomain.com/notify',
  'batchFile' : '@Batch.zip',
  'fileHash' : 'eaf937db33027ba345d0d8a788460b81',
  'urlHash' : 'f06d19d9d7311cdcdfc37534a7fd0ea4'
}

r = requests.post('https://api.merchantwarrior.com/post/', data = data)

print(r.text)
import requests data = { 'method' : 'processBatch', 'merchantUUID' : '5265f8eed6a19', 'apiKey' : 'ksmnwxab', 'batchNotifyURL' : 'https://www.mydomain.com/notify', 'batchFile' : '@Batch.zip', 'fileHash' : 'eaf937db33027ba345d0d8a788460b81', 'urlHash' : 'f06d19d9d7311cdcdfc37534a7fd0ea4' } r = requests.post('https://api.merchantwarrior.com/post/', data = data) print(r.text)
<?php
// Setup the POST url
define('MW_API_ENDPOINT', 'https://api.merchantwarrior.com/post/');

// Setup POST data
$postData = array (
  'method' => 'processBatch',
  'merchantUUID' => '5265f8eed6a19',
  'apiKey' => 'ksmnwxab',
  'batchNotifyURL' => 'https://www.mydomain.com/notify',
  'batchFile' => '@Batch.zip',
  'fileHash' => 'eaf937db33027ba345d0d8a788460b81',
  'urlHash' => 'f06d19d9d7311cdcdfc37534a7fd0ea4'
);

// Setup CURL defaults
$curl = curl_init();

// Setup CURL params for this request
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_URL, MW_API_ENDPOINT);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData, '', '&'));

// Run CURL
$response = curl_exec($curl);
$error = curl_error($curl);

// Check for CURL errors
if (isset($error) && strlen($error)) {
  throw new Exception("CURL Error: {$error}");
}

// Parse the XML
$xml = simplexml_load_string($response);

// Convert the result from a SimpleXMLObject into an array
$xml = (array)$xml;

// Validate the response - the only successful code is 0
$status = ((int)$xml['responseCode'] === 0) ? true : false;

// Make the response a little more useable
$result = array (
  'status' => $status, 
  'transactionID' => (isset($xml['transactionID']) ? $xml['transactionID'] : null),
  'responseData' => $xml
);

exit(var_dump($result));
?>
'processBatch', 'merchantUUID' => '5265f8eed6a19', 'apiKey' => 'ksmnwxab', 'batchNotifyURL' => 'https://www.mydomain.com/notify', 'batchFile' => '@Batch.zip', 'fileHash' => 'eaf937db33027ba345d0d8a788460b81', 'urlHash' => 'f06d19d9d7311cdcdfc37534a7fd0ea4' ); // Setup CURL defaults $curl = curl_init(); // Setup CURL params for this request curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_URL, MW_API_ENDPOINT); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData, '', '&')); // Run CURL $response = curl_exec($curl); $error = curl_error($curl); // Check for CURL errors if (isset($error) && strlen($error)) { throw new Exception("CURL Error: {$error}"); } // Parse the XML $xml = simplexml_load_string($response); // Convert the result from a SimpleXMLObject into an array $xml = (array)$xml; // Validate the response - the only successful code is 0 $status = ((int)$xml['responseCode'] === 0) ? true : false; // Make the response a little more useable $result = array ( 'status' => $status, 'transactionID' => (isset($xml['transactionID']) ? $xml['transactionID'] : null), 'responseData' => $xml ); exit(var_dump($result)); ?>
using System;
using System.Collections.Generic;
using System.Linq;

public class Program {
    public static void Main(string[] args) {
        using(var client = new System.Net.WebClient()) {
            byte[] response = client.UploadValues("https://api.merchantwarrior.com/post/", 
                    new System.Collections.Specialized.NameValueCollection() {
                        { "method", "processBatch" },
                        { "merchantUUID", "578dd399d2373" },
                        { "apiKey", "dyqxkzse" },
                        { "batchNotifyURL", "https://www.mydomain.com/notify" },
                        { "batchFile", "@Batch.zip" },
                        { "fileHash", "eaf937db33027ba345d0d8a788460b81" },
                        { "urlHash", "f06d19d9d7311cdcdfc37534a7fd0ea4" },                       
                    });
            String result = System.Text.Encoding.Default.GetString(response);
            Console.WriteLine(result);
    		}
    }
}
using System; using System.Collections.Generic; using System.Linq; public class Program { public static void Main(string[] args) { using(var client = new System.Net.WebClient()) { byte[] response = client.UploadValues("https://api.merchantwarrior.com/post/", new System.Collections.Specialized.NameValueCollection() { { "method", "processBatch" }, { "merchantUUID", "578dd399d2373" }, { "apiKey", "dyqxkzse" }, { "batchNotifyURL", "https://www.mydomain.com/notify" }, { "batchFile", "@Batch.zip" }, { "fileHash", "eaf937db33027ba345d0d8a788460b81" }, { "urlHash", "f06d19d9d7311cdcdfc37534a7fd0ea4" }, }); String result = System.Text.Encoding.Default.GetString(response); Console.WriteLine(result); } } }
Imports System
Imports System.Collections.Generic
Imports System.Linq

Public Module Program
    Public Sub Main(args As String())
        Using client = New System.Net.WebClient()
            Dim response As Byte() = client.UploadValues(
            "https://api.merchantwarrior.com/post/",
            New System.Collections.Specialized.NameValueCollection() From { _
                {"method", "processBatch"}, _
                {"merchantUUID", "578dd399d2373"}, _
                {"apiKey", "dyqxkzse"}, _
                {"batchNotifyURL", "https://www.mydomain.com/notify"}, _
                {"batchFile", "@Batch.zip"}, _
                {"fileHash", "eaf937db33027ba345d0d8a788460b81"}, _
                {"urlHash", "f06d19d9d7311cdcdfc37534a7fd0ea4"} _
            })
            Dim result As [String] = System.Text.Encoding.[Default].GetString(response)
            Console.WriteLine(result)
        End Using
    End Sub
End Module
Imports System Imports System.Collections.Generic Imports System.Linq Public Module Program Public Sub Main(args As String()) Using client = New System.Net.WebClient() Dim response As Byte() = client.UploadValues( "https://api.merchantwarrior.com/post/", New System.Collections.Specialized.NameValueCollection() From { _ {"method", "processBatch"}, _ {"merchantUUID", "578dd399d2373"}, _ {"apiKey", "dyqxkzse"}, _ {"batchNotifyURL", "https://www.mydomain.com/notify"}, _ {"batchFile", "@Batch.zip"}, _ {"fileHash", "eaf937db33027ba345d0d8a788460b81"}, _ {"urlHash", "f06d19d9d7311cdcdfc37534a7fd0ea4"} _ }) Dim result As [String] = System.Text.Encoding.[Default].GetString(response) Console.WriteLine(result) End Using End Sub End Module
import java.io.*;
import java.net.*;
import java.util.*;

public class Program{

    public static void main(String[] args) {
        try{
            URL url = new URL("https://api.merchantwarrior.com/post/");
            Map<String, String> params = new LinkedHashMap<>();
            params.put("method", "processBatch");
            params.put("merchantUUID", "5265f8eed6a19");
            params.put("apiKey", "ksmnwxab");
            params.put("batchNotifyURL", "https://www.mydomain.com/notify");
            params.put("batchFile", "@Batch.zip");
            params.put("fileHash", "eaf937db33027ba345d0d8a788460b81");
            params.put("urlHash", "f06d19d9d7311cdcdfc37534a7fd0ea4");          
            
            StringBuilder postData = new StringBuilder();
            for (Map.Entry<String, String> param : params.entrySet()) {
              if (postData.length() != 0) 
                postData.append('&');
              postData.append(param.getKey());
              postData.append('=');
              postData.append(param.getValue());
            }
            HttpURLConnection conn = (HttpURLConnection)url.openConnection();
            conn.setRequestMethod("POST");
            conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
            conn.setDoOutput(true);
            
            OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());
            writer.write(postData.toString());
            writer.flush();
            
            BufferedReader reader = new BufferedReader(
            	new InputStreamReader(conn.getInputStream()));
            String line;
            StringBuilder sb = new StringBuilder();
            while((line = reader.readLine()) != null){
            	sb.append(line);
            }
            System.out.println(sb.toString());
            writer.close();
            reader.close();
        }
        catch(Exception ex){
            ex.printStackTrace();
        }
    }
    
}
import java.io.*; import java.net.*; import java.util.*; public class Program{ public static void main(String[] args) { try{ URL url = new URL("https://api.merchantwarrior.com/post/"); Map params = new LinkedHashMap<>(); params.put("method", "processBatch"); params.put("merchantUUID", "5265f8eed6a19"); params.put("apiKey", "ksmnwxab"); params.put("batchNotifyURL", "https://www.mydomain.com/notify"); params.put("batchFile", "@Batch.zip"); params.put("fileHash", "eaf937db33027ba345d0d8a788460b81"); params.put("urlHash", "f06d19d9d7311cdcdfc37534a7fd0ea4"); StringBuilder postData = new StringBuilder(); for (Map.Entry param : params.entrySet()) { if (postData.length() != 0) postData.append('&'); postData.append(param.getKey()); postData.append('='); postData.append(param.getValue()); } HttpURLConnection conn = (HttpURLConnection)url.openConnection(); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); conn.setDoOutput(true); OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream()); writer.write(postData.toString()); writer.flush(); BufferedReader reader = new BufferedReader( new InputStreamReader(conn.getInputStream())); String line; StringBuilder sb = new StringBuilder(); while((line = reader.readLine()) != null){ sb.append(line); } System.out.println(sb.toString()); writer.close(); reader.close(); } catch(Exception ex){ ex.printStackTrace(); } } }
Copy
<?xml version="1.0"?>
<mwResponse>
  <responseCode>0</responseCode>
  <responseMessage>Batch has been successfully submitted.</responseMessage>
  <batchUUID>1336583d3a953ce2d</batchUUID>
</mwResponse>
0 Batch has been successfully submitted. 1336583d3a953ce2d
{
    "responseCode": "0",
    "responseMessage": "Batch has been successfully submitted.",
    "batchUUID": "1336583d3a953ce2d"
}
{ "responseCode": "0", "responseMessage": "Batch has been successfully submitted.", "batchUUID": "1336583d3a953ce2d" }
retrieveBatch


The retrieveBatch method is the method used to retrieve the results of a batch file that has been processed via the processBatch method (see above). This method returns a .csv or .zip (depending on whether the merchant requested a compressed response file) file containing the results of all transactions submitted in the original batch file.

Sample process and response batch files can be found here.

Required Parameters

Parameter Description
method

This field is case sensitive.
Example: retrieveBatch

merchantUUID

The value of this parameter is provided to you by Merchant Warrior.
Example: 123456789abcd

apiKey

The value of this parameter is provided to you by Merchant Warrior.
Example: 1a3b5c

batchUUID
hash

The hash of the batchUUID. See Batch Response Hash for information on how to construct the hash correctly.
Example: e9ddc296b76b3398934bfc06239073df
Valid length: 32 characters

Copy
curl -X POST \
  -d method="retrieveBatch" \
  -d merchantUUID="5265f8eed6a19" \
  -d apiKey="ksmnwxab" \
  -d batchUUID="1336583d3a953df2d" \
  -d hash="fb0e9b2a729d0fda759ui658cb8c2b20" https://api.merchantwarrior.com/post/
curl -X POST -d method="retrieveBatch" -d merchantUUID="5265f8eed6a19" -d apiKey="ksmnwxab" -d batchUUID="1336583d3a953df2d" -d hash="fb0e9b2a729d0fda759ui658cb8c2b20" https://api.merchantwarrior.com/post/
require 'net/http'
require 'uri'

uri = URI.parse("https://api.merchantwarrior.com/post/")
request = Net::HTTP::Post.new(uri)
request.set_form_data(
  'method' => 'retrieveBatch',
  'merchantUUID' => '5265f8eed6a19',
  'apiKey' => 'ksmnwxab',
  'batchUUID' => '1336583d3a953df2d',
  'hash' => 'fb0e9b2a729d0fda759ui658cb8c2b20'
)

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http|
  http.request(request)
end

puts response.body
require 'net/http' require 'uri' uri = URI.parse("https://api.merchantwarrior.com/post/") request = Net::HTTP::Post.new(uri) request.set_form_data( 'method' => 'retrieveBatch', 'merchantUUID' => '5265f8eed6a19', 'apiKey' => 'ksmnwxab', 'batchUUID' => '1336583d3a953df2d', 'hash' => 'fb0e9b2a729d0fda759ui658cb8c2b20' ) response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http| http.request(request) end puts response.body
import requests

data = {
  'method' : 'retrieveBatch',
  'merchantUUID' : '5265f8eed6a19',
  'apiKey' : 'ksmnwxab',
  'batchUUID' : '1336583d3a953df2d',
  'hash' : 'fb0e9b2a729d0fda759ui658cb8c2b20'
}

r = requests.post('https://api.merchantwarrior.com/post/', data = data)

print(r.text)
import requests data = { 'method' : 'retrieveBatch', 'merchantUUID' : '5265f8eed6a19', 'apiKey' : 'ksmnwxab', 'batchUUID' : '1336583d3a953df2d', 'hash' : 'fb0e9b2a729d0fda759ui658cb8c2b20' } r = requests.post('https://api.merchantwarrior.com/post/', data = data) print(r.text)
<?php
// Setup the POST url
define('MW_API_ENDPOINT', 'https://api.merchantwarrior.com/post/');

// Setup POST data
$postData = array (
  'method' => 'retrieveBatch',
  'merchantUUID' => '5265f8eed6a19',
  'apiKey' => 'ksmnwxab',
  'batchUUID' => '1336583d3a953df2d',
  'hash' => 'fb0e9b2a729d0fda759ui658cb8c2b20'
);

// Setup CURL defaults
$curl = curl_init();

// Setup CURL params for this request
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_URL, MW_API_ENDPOINT);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData, '', '&'));

// Run CURL
$response = curl_exec($curl);
$error = curl_error($curl);

// Check for CURL errors
if (isset($error) && strlen($error)) {
	throw new Exception("CURL Error: {$error}");
}

// Parse the XML
$xml = simplexml_load_string($response);

// Convert the result from a SimpleXMLObject into an array
$xml = (array)$xml;

// Validate the response - the only successful code is 0
$status = ((int)$xml['responseCode'] === 0) ? true : false;

// Make the response a little more useable
$result = array (
  'status' => $status, 
  'transactionID' => (isset($xml['transactionID']) ? $xml['transactionID'] : null),
  'responseData' => $xml
);

exit(var_dump($result));
?>
'retrieveBatch', 'merchantUUID' => '5265f8eed6a19', 'apiKey' => 'ksmnwxab', 'batchUUID' => '1336583d3a953df2d', 'hash' => 'fb0e9b2a729d0fda759ui658cb8c2b20' ); // Setup CURL defaults $curl = curl_init(); // Setup CURL params for this request curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_URL, MW_API_ENDPOINT); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData, '', '&')); // Run CURL $response = curl_exec($curl); $error = curl_error($curl); // Check for CURL errors if (isset($error) && strlen($error)) { throw new Exception("CURL Error: {$error}"); } // Parse the XML $xml = simplexml_load_string($response); // Convert the result from a SimpleXMLObject into an array $xml = (array)$xml; // Validate the response - the only successful code is 0 $status = ((int)$xml['responseCode'] === 0) ? true : false; // Make the response a little more useable $result = array ( 'status' => $status, 'transactionID' => (isset($xml['transactionID']) ? $xml['transactionID'] : null), 'responseData' => $xml ); exit(var_dump($result)); ?>
using System;
using System.Collections.Generic;
using System.Linq;

public class Program {
    public static void Main(string[] args) {
        using(var client = new System.Net.WebClient()) {
            byte[] response = client.UploadValues("https://api.merchantwarrior.com/post/", 
                    new System.Collections.Specialized.NameValueCollection() {
                        { "method", "retrieveBatch" },
                        { "merchantUUID", "578dd399d2373" },
                        { "apiKey", "dyqxkzse" },
                        { "batchUUID", "1336583d3a953df2d" },                       
                        { "hash", "d0fb5716a2b85c743ed802bd5bd7284b" },
                    });
            String result = System.Text.Encoding.Default.GetString(response);
            Console.WriteLine(result);
		    }
    }
}
using System; using System.Collections.Generic; using System.Linq; public class Program { public static void Main(string[] args) { using(var client = new System.Net.WebClient()) { byte[] response = client.UploadValues("https://api.merchantwarrior.com/post/", new System.Collections.Specialized.NameValueCollection() { { "method", "retrieveBatch" }, { "merchantUUID", "578dd399d2373" }, { "apiKey", "dyqxkzse" }, { "batchUUID", "1336583d3a953df2d" }, { "hash", "d0fb5716a2b85c743ed802bd5bd7284b" }, }); String result = System.Text.Encoding.Default.GetString(response); Console.WriteLine(result); } } }
Imports System
Imports System.Collections.Generic
Imports System.Linq

Public Module Program
    Public Sub Main(args As String())
        Using client = New System.Net.WebClient()
            Dim response As Byte() = client.UploadValues(
            "https://api.merchantwarrior.com/post/", 
            New System.Collections.Specialized.NameValueCollection() From { _
                {"method", "retrieveBatch"}, _
                {"merchantUUID", "578dd399d2373"}, _
                {"apiKey", "dyqxkzse"}, _
                {"batchUUID", "1336583d3a953df2d"}, _
                {"hash", "d0fb5716a2b85c743ed802bd5bd7284b"} _
            })
            Dim result As [String] = System.Text.Encoding.[Default].GetString(response)
            Console.WriteLine(result)
        End Using
    End Sub
End Module
Imports System Imports System.Collections.Generic Imports System.Linq Public Module Program Public Sub Main(args As String()) Using client = New System.Net.WebClient() Dim response As Byte() = client.UploadValues( "https://api.merchantwarrior.com/post/", New System.Collections.Specialized.NameValueCollection() From { _ {"method", "retrieveBatch"}, _ {"merchantUUID", "578dd399d2373"}, _ {"apiKey", "dyqxkzse"}, _ {"batchUUID", "1336583d3a953df2d"}, _ {"hash", "d0fb5716a2b85c743ed802bd5bd7284b"} _ }) Dim result As [String] = System.Text.Encoding.[Default].GetString(response) Console.WriteLine(result) End Using End Sub End Module
import java.io.*;
import java.net.*;
import java.util.*;

public class Program{

    public static void main(String[] args) {
        try{
            URL url = new URL("https://api.merchantwarrior.com/post/");
            Map<String, String> params = new LinkedHashMap<>();
            params.put("method", "retrieveBatch");
            params.put("merchantUUID", "5265f8eed6a19");
            params.put("apiKey", "ksmnwxab");
            params.put("batchUUID", "1336583d3a953df2d");
            params.put("hash", "fb0e9b2a729d0fda759ui658cb8c2b20");
            
            StringBuilder postData = new StringBuilder();
            for (Map.Entry<String, String> param : params.entrySet()) {
              if (postData.length() != 0) 
                postData.append('&');
                postData.append(param.getKey());
                postData.append('=');
                postData.append(param.getValue());
            }
            HttpURLConnection conn = (HttpURLConnection)url.openConnection();
            conn.setRequestMethod("POST");
            conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
            conn.setDoOutput(true);
            
            OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());
            writer.write(postData.toString());
            writer.flush();
            
            BufferedReader reader = new BufferedReader(
            	new InputStreamReader(conn.getInputStream()));
            String line;
            StringBuilder sb = new StringBuilder();
            while((line = reader.readLine()) != null){
            	sb.append(line);
            }
            System.out.println(sb.toString());
            writer.close();
            reader.close();
        }
        catch(Exception ex){
            ex.printStackTrace();
        }
    }
    
}
import java.io.*; import java.net.*; import java.util.*; public class Program{ public static void main(String[] args) { try{ URL url = new URL("https://api.merchantwarrior.com/post/"); Map params = new LinkedHashMap<>(); params.put("method", "retrieveBatch"); params.put("merchantUUID", "5265f8eed6a19"); params.put("apiKey", "ksmnwxab"); params.put("batchUUID", "1336583d3a953df2d"); params.put("hash", "fb0e9b2a729d0fda759ui658cb8c2b20"); StringBuilder postData = new StringBuilder(); for (Map.Entry param : params.entrySet()) { if (postData.length() != 0) postData.append('&'); postData.append(param.getKey()); postData.append('='); postData.append(param.getValue()); } HttpURLConnection conn = (HttpURLConnection)url.openConnection(); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); conn.setDoOutput(true); OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream()); writer.write(postData.toString()); writer.flush(); BufferedReader reader = new BufferedReader( new InputStreamReader(conn.getInputStream())); String line; StringBuilder sb = new StringBuilder(); while((line = reader.readLine()) != null){ sb.append(line); } System.out.println(sb.toString()); writer.close(); reader.close(); } catch(Exception ex){ ex.printStackTrace(); } } }
"Transaction ID","Result","Amount","Currency","Created Date","Created Time","Processed Date","Processed Time","Card Name/Card ID","Card Number/Card Key","Custom 1","Custom 2","Custom 3","Store ID","Type","MW Response","Provider Response"
"1336-45a61a65-b60e-11e6-b9c3-005056b209e0","Fail","23.00","AUD","29/11/2016","18:31:49","29/11/2016","18:31:49","Test Customer","5123xxxxxxxx2346","JaYfKnIbVlAx","NyYiVwKwFcUk","VyJvNpVgWgUu","","purchase","Transaction declined","42 - No universal account"
"1336-45e0d356-b60e-11e6-b9c3-005056b209e0","Fail","58.00","AUD","29/11/2016","18:31:49","29/11/2016","18:31:50","Test Customer","5123xxxxxxxx2346","YvMcYhKwPtNo","ReMkHxIsKaFe","WuYiJhWoOuUq","","purchase","Transaction declined","42 - No universal account"
"1336-460cc7af-b60e-11e6-b9c3-005056b209e0","Fail","95.00","AUD","29/11/2016","18:31:50","29/11/2016","18:31:50","Test Customer","5123xxxxxxxx2346","WmVaZgVcNmIi","BlVkOnKoMsHo","PtEwVqShSnWp","","purchase","Transaction declined","42 - No universal account"
"1336-463779d5-b60e-11e6-b9c3-005056b209e0","Fail","84.00","AUD","29/11/2016","18:31:50","29/11/2016","18:31:50","Test Customer","5123xxxxxxxx2346","WhSkJgUxDaDr","JxMmMrAjUeJp","SpMtMtReQwHo","","purchase","Transaction declined","42 - No universal account"
"1336-465d56ec-b60e-11e6-b9c3-005056b209e0","Fail","36.00","AUD","29/11/2016","18:31:50","29/11/2016","18:31:50","Test Customer","5123xxxxxxxx2346","NpAvSjMjShOo","MsIdHfBdBeVx","TkIlCoQjDvCd","","purchase","Transaction declined","42 - No universal account"
"1336-468b285d-b60e-11e6-b9c3-005056b209e0","Fail","76.00","AUD","29/11/2016","18:31:50","29/11/2016","18:31:51","Test Customer","5123xxxxxxxx2346","ZsVfXdAtWxGd","ZeChZtSlZxLp","QtKhXnSoTjDv","","purchase","Transaction declined","42 - No universal account"
"1336-46b4bf03-b60e-11e6-b9c3-005056b209e0","Fail","41.00","AUD","29/11/2016","18:31:51","29/11/2016","18:31:51","Test Customer","5123xxxxxxxx2346","DbCpNjWsBaSe","XdErQtJkVoUh","AmYdWjSwEmEs","","purchase","Transaction declined","42 - No universal account"
"1336-46e0e0d5-b60e-11e6-b9c3-005056b209e0","Fail","62.00","AUD","29/11/2016","18:31:51","29/11/2016","18:31:51","Test Customer","5123xxxxxxxx2346","IsGhDeYnNyJn","BjQsDcBkCpXo","JgMnRxSgMwIe","","purchase","Transaction declined","42 - No universal account"
"1336-470c772d-b60e-11e6-b9c3-005056b209e0","Fail","27.00","AUD","29/11/2016","18:31:51","29/11/2016","18:31:52","Test Customer","5123xxxxxxxx2346","NaWuNoUmYmCj","OdCoTdJbLkZp","SfEbKqAxNrRx","","purchase","Transaction declined","42 - No universal account"
"1336-4732f831-b60e-11e6-b9c3-005056b209e0","Fail","6.00","AUD","29/11/2016","18:31:52","29/11/2016","18:31:52","Test Customer","5123xxxxxxxx2346","BmAuNyDtSkYt","PyBvKnTyYpZe","JlAdLmXaBnFc","","purchase","Transaction declined","42 - No universal account"
"Transaction ID","Result","Amount","Currency","Created Date","Created Time","Processed Date","Processed Time","Card Name/Card ID","Card Number/Card Key","Custom 1","Custom 2","Custom 3","Store ID","Type","MW Response","Provider Response" "1336-45a61a65-b60e-11e6-b9c3-005056b209e0","Fail","23.00","AUD","29/11/2016","18:31:49","29/11/2016","18:31:49","Test Customer","5123xxxxxxxx2346","JaYfKnIbVlAx","NyYiVwKwFcUk","VyJvNpVgWgUu","","purchase","Transaction declined","42 - No universal account" "1336-45e0d356-b60e-11e6-b9c3-005056b209e0","Fail","58.00","AUD","29/11/2016","18:31:49","29/11/2016","18:31:50","Test Customer","5123xxxxxxxx2346","YvMcYhKwPtNo","ReMkHxIsKaFe","WuYiJhWoOuUq","","purchase","Transaction declined","42 - No universal account" "1336-460cc7af-b60e-11e6-b9c3-005056b209e0","Fail","95.00","AUD","29/11/2016","18:31:50","29/11/2016","18:31:50","Test Customer","5123xxxxxxxx2346","WmVaZgVcNmIi","BlVkOnKoMsHo","PtEwVqShSnWp","","purchase","Transaction declined","42 - No universal account" "1336-463779d5-b60e-11e6-b9c3-005056b209e0","Fail","84.00","AUD","29/11/2016","18:31:50","29/11/2016","18:31:50","Test Customer","5123xxxxxxxx2346","WhSkJgUxDaDr","JxMmMrAjUeJp","SpMtMtReQwHo","","purchase","Transaction declined","42 - No universal account" "1336-465d56ec-b60e-11e6-b9c3-005056b209e0","Fail","36.00","AUD","29/11/2016","18:31:50","29/11/2016","18:31:50","Test Customer","5123xxxxxxxx2346","NpAvSjMjShOo","MsIdHfBdBeVx","TkIlCoQjDvCd","","purchase","Transaction declined","42 - No universal account" "1336-468b285d-b60e-11e6-b9c3-005056b209e0","Fail","76.00","AUD","29/11/2016","18:31:50","29/11/2016","18:31:51","Test Customer","5123xxxxxxxx2346","ZsVfXdAtWxGd","ZeChZtSlZxLp","QtKhXnSoTjDv","","purchase","Transaction declined","42 - No universal account" "1336-46b4bf03-b60e-11e6-b9c3-005056b209e0","Fail","41.00","AUD","29/11/2016","18:31:51","29/11/2016","18:31:51","Test Customer","5123xxxxxxxx2346","DbCpNjWsBaSe","XdErQtJkVoUh","AmYdWjSwEmEs","","purchase","Transaction declined","42 - No universal account" "1336-46e0e0d5-b60e-11e6-b9c3-005056b209e0","Fail","62.00","AUD","29/11/2016","18:31:51","29/11/2016","18:31:51","Test Customer","5123xxxxxxxx2346","IsGhDeYnNyJn","BjQsDcBkCpXo","JgMnRxSgMwIe","","purchase","Transaction declined","42 - No universal account" "1336-470c772d-b60e-11e6-b9c3-005056b209e0","Fail","27.00","AUD","29/11/2016","18:31:51","29/11/2016","18:31:52","Test Customer","5123xxxxxxxx2346","NaWuNoUmYmCj","OdCoTdJbLkZp","SfEbKqAxNrRx","","purchase","Transaction declined","42 - No universal account" "1336-4732f831-b60e-11e6-b9c3-005056b209e0","Fail","6.00","AUD","29/11/2016","18:31:52","29/11/2016","18:31:52","Test Customer","5123xxxxxxxx2346","BmAuNyDtSkYt","PyBvKnTyYpZe","JlAdLmXaBnFc","","purchase","Transaction declined","42 - No universal account"
refundCard

The refundCard method is used to perform a refund of an existing purchase or capture transaction

Required Parameters

Parameter Description
method

This field is case sensitive.
Example: refundCard

merchantUUID

The value of this parameter is provided to you by Merchant Warrior.
Example: 123456789abcd

apiKey

The value of this parameter is provided to you by Merchant Warrior.
Example: 1a3b5c

transactionAmount

This amount must be the exact amount submitted with the initial transaction. This is used in the verification hash, and is not the amount that will be refunded.
Example: 10.00

transactionCurrency

The currency must match the one submitted with the initial transaction. This is used in the verification hash.
Example: AUD

transactionID

The <transactionID> returned for the initial transaction.
Example: 1-a1c340c8-7c30-11de-8888-000c29753ad4

refundAmount

The amount is in the same format as transactionAmount. It cannot be less than 0.01 or more than the initial transaction amount.
Example: 10.00

hash

The verification hash is a combination of the MD5 of your API Passphrase, and specific parameters sent in the transaction. See Transaction Type Hash for information on how to construct the hash correctly.
Example: e9ddc296b76b3398934bfc06239073df
Valid length: 32 characters

Optional Parameters

Parameter Description
storeID

The value of this field is the merchant's store name. Please note that you need to contact Merchant Warrior to enable the storeID feature before you can use this parameter.
Example: Test store name

transactionReferenceID

This is a merchant’s unique reference ID for a transaction sent to Merchant Warrior. The main purpose of this ID is to verify the transaction via the queryCard method in the event a valid response is not received.
Example: A257240023321
Valid length: Up to 40 characters

Copy
  curl -X POST \
  -d method="refundCard" \
  -d merchantUUID="5265f8eed6a19" \
  -d apiKey="ksmnwxab" \
  -d transactionAmount="1.00" \
  -d transactionCurrency="AUD" \
  -d transactionID="1336-20be3569-b600-11e6-b9c3-005056b209f0" \
  -d refundAmount="1.00" \
  -d hash="b55552ff426d7e3d4635334th7ea0067" https://api.merchantwarrior.com/post/
curl -X POST -d method="refundCard" -d merchantUUID="5265f8eed6a19" -d apiKey="ksmnwxab" -d transactionAmount="1.00" -d transactionCurrency="AUD" -d transactionID="1336-20be3569-b600-11e6-b9c3-005056b209f0" -d refundAmount="1.00" -d hash="b55552ff426d7e3d4635334th7ea0067" https://api.merchantwarrior.com/post/
require 'net/http'
require 'uri'

uri = URI.parse("https://api.merchantwarrior.com/post/")
request = Net::HTTP::Post.new(uri)
request.set_form_data(
  'method' => 'refundCard',
  'merchantUUID' => '5265f8eed6a19',
  'apiKey' => 'ksmnwxab',
  'transactionAmount' => '1.00',
  'transactionCurrency' => 'AUD',
  'transactionID' => '1336-20be3569-b600-11e6-b9c3-005056b209f0',
  'refundAmount' => '1.00',
  'hash' => 'b55552ff426d7e3d4885465d27ea0062'
)

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http|
  http.request(request)
end

puts response.body
require 'net/http' require 'uri' uri = URI.parse("https://api.merchantwarrior.com/post/") request = Net::HTTP::Post.new(uri) request.set_form_data( 'method' => 'refundCard', 'merchantUUID' => '5265f8eed6a19', 'apiKey' => 'ksmnwxab', 'transactionAmount' => '1.00', 'transactionCurrency' => 'AUD', 'transactionID' => '1336-20be3569-b600-11e6-b9c3-005056b209f0', 'refundAmount' => '1.00', 'hash' => 'b55552ff426d7e3d4885465d27ea0062' ) response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http| http.request(request) end puts response.body
import requests

data = {
  'method' : 'refundCard',
  'merchantUUID' : '5265f8eed6a19',
  'apiKey' : 'ksmnwxab',
  'transactionAmount' : '1.00',
  'transactionCurrency' : 'AUD',
  'transactionID' : '1336-20be3569-b600-11e6-b9c3-005056b209f0',
  'refundAmount' : '1.00',
  'hash' : 'b55552ff426d7e3d4885465d27ea0062'
}

r = requests.post('https://api.merchantwarrior.com/post/', data = data)

print(r.text)
import requests data = { 'method' : 'refundCard', 'merchantUUID' : '5265f8eed6a19', 'apiKey' : 'ksmnwxab', 'transactionAmount' : '1.00', 'transactionCurrency' : 'AUD', 'transactionID' : '1336-20be3569-b600-11e6-b9c3-005056b209f0', 'refundAmount' : '1.00', 'hash' : 'b55552ff426d7e3d4885465d27ea0062' } r = requests.post('https://api.merchantwarrior.com/post/', data = data) print(r.text)
<?php
// Setup the POST url
define('MW_API_ENDPOINT', 'https://api.merchantwarrior.com/post/');

// Setup POST data
$postData = array (
  'method' => 'refundCard',
  'merchantUUID' => '5265f8eed6a19',
  'apiKey' => 'ksmnwxab',
  'transactionAmount' => '1.00',
  'transactionCurrency' => 'AUD',
  'transactionID' => '1336-20be3569-b600-11e6-b9c3-005056b209f0',
  'refundAmount' => '1.00',
  'hash' => 'b55552ff426d7e3d4885465d27ea0062'
);

// Setup CURL defaults
$curl = curl_init();

// Setup CURL params for this request
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_URL, MW_API_ENDPOINT);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData, '', '&'));

// Run CURL
$response = curl_exec($curl);
$error = curl_error($curl);

// Check for CURL errors
if (isset($error) && strlen($error)) {
  throw new Exception("CURL Error: {$error}");
}

// Parse the XML
$xml = simplexml_load_string($response);

// Convert the result from a SimpleXMLObject into an array
$xml = (array)$xml;

// Validate the response - the only successful code is 0
$status = ((int)$xml['responseCode'] === 0) ? true : false;

// Make the response a little more useable
$result = array (
  'status' => $status, 
  'transactionID' => (isset($xml['transactionID']) ? $xml['transactionID'] : null),
  'responseData' => $xml
);

exit(var_dump($result));
?>
'refundCard', 'merchantUUID' => '5265f8eed6a19', 'apiKey' => 'ksmnwxab', 'transactionAmount' => '1.00', 'transactionCurrency' => 'AUD', 'transactionID' => '1336-20be3569-b600-11e6-b9c3-005056b209f0', 'refundAmount' => '1.00', 'hash' => 'b55552ff426d7e3d4885465d27ea0062' ); // Setup CURL defaults $curl = curl_init(); // Setup CURL params for this request curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_URL, MW_API_ENDPOINT); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData, '', '&')); // Run CURL $response = curl_exec($curl); $error = curl_error($curl); // Check for CURL errors if (isset($error) && strlen($error)) { throw new Exception("CURL Error: {$error}"); } // Parse the XML $xml = simplexml_load_string($response); // Convert the result from a SimpleXMLObject into an array $xml = (array)$xml; // Validate the response - the only successful code is 0 $status = ((int)$xml['responseCode'] === 0) ? true : false; // Make the response a little more useable $result = array ( 'status' => $status, 'transactionID' => (isset($xml['transactionID']) ? $xml['transactionID'] : null), 'responseData' => $xml ); exit(var_dump($result)); ?>
using System;
using System.Collections.Generic;
using System.Linq;

public class Program {
    public static void Main(string[] args) {
        using(var client = new System.Net.WebClient()) {
            byte[] response = client.UploadValues("https://api.merchantwarrior.com/post/", 
                    new System.Collections.Specialized.NameValueCollection() {
                        { "method", "refundCard" },
                        { "merchantUUID", "578dd399d2373" },
                        { "apiKey", "dyqxkzse" },
                        { "transactionAmount", "1.00" },
                        { "transactionCurrency", "AUD" },
                        { "transactionID", "1336-20be3569-b600-11e6-b9c3-005056b209f0" },
                        { "refundAmount", "1.00" },                       
                        { "hash", "d0fb5716a2b85c743ed802bd5bd7284b" },
                    });
            String result = System.Text.Encoding.Default.GetString(response);
            Console.WriteLine(result);
		    }
    }
}
using System; using System.Collections.Generic; using System.Linq; public class Program { public static void Main(string[] args) { using(var client = new System.Net.WebClient()) { byte[] response = client.UploadValues("https://api.merchantwarrior.com/post/", new System.Collections.Specialized.NameValueCollection() { { "method", "refundCard" }, { "merchantUUID", "578dd399d2373" }, { "apiKey", "dyqxkzse" }, { "transactionAmount", "1.00" }, { "transactionCurrency", "AUD" }, { "transactionID", "1336-20be3569-b600-11e6-b9c3-005056b209f0" }, { "refundAmount", "1.00" }, { "hash", "d0fb5716a2b85c743ed802bd5bd7284b" }, }); String result = System.Text.Encoding.Default.GetString(response); Console.WriteLine(result); } } }
Imports System
Imports System.Collections.Generic
Imports System.Linq

Public Module Program
    Public Sub Main(args As String())
        Using client = New System.Net.WebClient()
            Dim response As Byte() = client.UploadValues(
            "https://api.merchantwarrior.com/post/", 
            New System.Collections.Specialized.NameValueCollection() From { _
                {"method", "refundCard"}, _
                {"merchantUUID", "578dd399d2373"}, _
                {"apiKey", "dyqxkzse"}, _
                {"transactionAmount", "1.00"}, _
                {"transactionCurrency", "AUD"}, _
                {"transactionID", "1336-20be3569-b600-11e6-b9c3-005056b209f0"}, _
                {"refundAmount", "1.00"}, _
                {"hash", "d0fb5716a2b85c743ed802bd5bd7284b"} _
            })
            Dim result As [String] = System.Text.Encoding.[Default].GetString(response)
            Console.WriteLine(result)
        End Using
    End Sub
End Module
Imports System Imports System.Collections.Generic Imports System.Linq Public Module Program Public Sub Main(args As String()) Using client = New System.Net.WebClient() Dim response As Byte() = client.UploadValues( "https://api.merchantwarrior.com/post/", New System.Collections.Specialized.NameValueCollection() From { _ {"method", "refundCard"}, _ {"merchantUUID", "578dd399d2373"}, _ {"apiKey", "dyqxkzse"}, _ {"transactionAmount", "1.00"}, _ {"transactionCurrency", "AUD"}, _ {"transactionID", "1336-20be3569-b600-11e6-b9c3-005056b209f0"}, _ {"refundAmount", "1.00"}, _ {"hash", "d0fb5716a2b85c743ed802bd5bd7284b"} _ }) Dim result As [String] = System.Text.Encoding.[Default].GetString(response) Console.WriteLine(result) End Using End Sub End Module
import java.io.*;
import java.net.*;
import java.util.*;

public class Program{

    public static void main(String[] args) {
        try{
            URL url = new URL("https://api.merchantwarrior.com/post/");
            Map<String, String> params = new LinkedHashMap<>();
            params.put("method", "refundCard");
            params.put("merchantUUID", "5265f8eed6a19");
            params.put("apiKey", "ksmnwxab");
            params.put("transactionAmount", "1.00");
            params.put("transactionCurrency", "AUD");
            params.put("transactionID", "1336-20be3569-b600-11e6-b9c3-005056b209f0");
            params.put("refundAmount", "1.00");           
            params.put("hash", "b55552ff426d7e3d4885465d27ea0062");
            
            StringBuilder postData = new StringBuilder();
            for (Map.Entry<String, String> param : params.entrySet()) {
              if (postData.length() != 0) 
                postData.append('&');
                postData.append(param.getKey());
                postData.append('=');
                postData.append(param.getValue());
            }
            HttpURLConnection conn = (HttpURLConnection)url.openConnection();
            conn.setRequestMethod("POST");
            conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
            conn.setDoOutput(true);
            
            OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());
            writer.write(postData.toString());
            writer.flush();
            
            BufferedReader reader = new BufferedReader(
            	new InputStreamReader(conn.getInputStream()));
            String line;
            StringBuilder sb = new StringBuilder();
            while((line = reader.readLine()) != null){
            	sb.append(line);
            }
            System.out.println(sb.toString());
            writer.close();
            reader.close();
        }
        catch(Exception ex){
            ex.printStackTrace();
        }
    }
    
}
import java.io.*; import java.net.*; import java.util.*; public class Program{ public static void main(String[] args) { try{ URL url = new URL("https://api.merchantwarrior.com/post/"); Map params = new LinkedHashMap<>(); params.put("method", "refundCard"); params.put("merchantUUID", "5265f8eed6a19"); params.put("apiKey", "ksmnwxab"); params.put("transactionAmount", "1.00"); params.put("transactionCurrency", "AUD"); params.put("transactionID", "1336-20be3569-b600-11e6-b9c3-005056b209f0"); params.put("refundAmount", "1.00"); params.put("hash", "b55552ff426d7e3d4885465d27ea0062"); StringBuilder postData = new StringBuilder(); for (Map.Entry param : params.entrySet()) { if (postData.length() != 0) postData.append('&'); postData.append(param.getKey()); postData.append('='); postData.append(param.getValue()); } HttpURLConnection conn = (HttpURLConnection)url.openConnection(); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); conn.setDoOutput(true); OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream()); writer.write(postData.toString()); writer.flush(); BufferedReader reader = new BufferedReader( new InputStreamReader(conn.getInputStream())); String line; StringBuilder sb = new StringBuilder(); while((line = reader.readLine()) != null){ sb.append(line); } System.out.println(sb.toString()); writer.close(); reader.close(); } catch(Exception ex){ ex.printStackTrace(); } } }
Copy
<?xml version="1.0"?>
<mwResponse>
  <custom1/>
  <custom2/>
  <custom3/>
  <responseMessage>Transaction approved</responseMessage>
  <transactionReferenceID>12345</transactionReferenceID>
  <responseCode>0</responseCode>
  <authCode>731357634</authCode>
  <authResponseCode>08</authResponseCode>
  <transactionID>1336-1b7762bc-b610-11e6-b9c3-005056b209e0</transactionID>
  <receiptNo>731357634</receiptNo>
  <customHash>65b172551b7d3a0706c0ce5330c98470</customHash>
  <authSettledDate>2016-11-30</authSettledDate>
  <authMessage>Honour with identification</authMessage>
</mwResponse>
Transaction approved 12345 0 731357634 08 1336-1b7762bc-b610-11e6-b9c3-005056b209e0 731357634 65b172551b7d3a0706c0ce5330c98470 2016-11-30 Honour with identification
{
    "custom1": [],
    "custom2": [],
    "custom3": [],
    "responseMessage": "Transaction approved",
    "transactionReferenceID": "12345",
    "responseCode": "0",
    "authCode": "731357634",
    "authResponseCode": "08",
    "transactionID": "1336-1b7762bc-b610-11e6-b9c3-005056b209e0",
    "receiptNo": "731357634",
    "customHash": "65b172551b7d3a0706c0ce5330c98470",
    "authSettledDate": "2016-11-30",
    "authMessage": "Honour with identification"
}
{ "custom1": [], "custom2": [], "custom3": [], "responseMessage": "Transaction approved", "transactionReferenceID": "12345", "responseCode": "0", "authCode": "731357634", "authResponseCode": "08", "transactionID": "1336-1b7762bc-b610-11e6-b9c3-005056b209e0", "receiptNo": "731357634", "customHash": "65b172551b7d3a0706c0ce5330c98470", "authSettledDate": "2016-11-30", "authMessage": "Honour with identification" }
queryCard

The queryCard method is used to perform a query of an existing transaction to verify responses or handle timeout scenarios

Required Parameters

Parameter Description
method

This field is case sensitive.
Example: queryCard

merchantUUID

The value of this parameter is provided to you by Merchant Warrior.
Example: 123456789abcd

apiKey

The value of this parameter is provided to you by Merchant Warrior.
Example: 1a3b5c

transactionID*

The <transactionID> returned for the initial transaction.
Example: 1-a1c340c8-7c30-11de-8888-000c29753ad4

transactionReferenceID*

The <transactionReferenceID> sent for the initial transaction. This is a merchant’s reference ID for a transaction request sent to Merchant Warrior.
Example: A257240023321

hash

The verification hash is a combination of the MD5 of your API Passphrase, and specific parameters sent in the transaction. See Query Type Hash for information on how to construct the hash correctly.
Example: e9ddc296b76b3398934bfc06239073df
Valid length: 32 characters

Optional Parameters

Parameter Description
extended

Returns additional information stored with the transaction. This must be in boolean format.
Example: 1

Copy
  curl -X POST \
  -d method="queryCard" \
  -d merchantUUID="5265f8eed6a19" \
  -d apiKey="ksmnwxab" \
  -d transactionID="1336-20be3569-b600-11e6-b9c3-005056e109e0" \
  -d hash="11b6a860e5bdf0bd91a503b42346ee1d" https://api.merchantwarrior.com/post/
curl -X POST -d method="queryCard" -d merchantUUID="5265f8eed6a19" -d apiKey="ksmnwxab" -d transactionID="1336-20be3569-b600-11e6-b9c3-005056e109e0" -d hash="11b6a860e5bdf0bd91a503b42346ee1d" https://api.merchantwarrior.com/post/
using System;
using System.Collections.Generic;
using System.Linq;

public class Program {
    public static void Main(string[] args) {
        using(var client = new System.Net.WebClient()) {
            byte[] response = client.UploadValues("https://api.merchantwarrior.com/post/", 
                    new System.Collections.Specialized.NameValueCollection() {
                        { "method", "queryCard" },
                        { "merchantUUID", "578dd399d2373" },
                        { "apiKey", "dyqxkzse" },
                        { "transactionID", "1336-20be3569-b600-11e6-b9c3-005056e109e0" },                      
                        { "hash", "d0fb5716a2b85c743ed802bd5bd7284b" },
                    });
            String result = System.Text.Encoding.Default.GetString(response);
            Console.WriteLine(result);
        }
    }
}
using System; using System.Collections.Generic; using System.Linq; public class Program { public static void Main(string[] args) { using(var client = new System.Net.WebClient()) { byte[] response = client.UploadValues("https://api.merchantwarrior.com/post/", new System.Collections.Specialized.NameValueCollection() { { "method", "queryCard" }, { "merchantUUID", "578dd399d2373" }, { "apiKey", "dyqxkzse" }, { "transactionID", "1336-20be3569-b600-11e6-b9c3-005056e109e0" }, { "hash", "d0fb5716a2b85c743ed802bd5bd7284b" }, }); String result = System.Text.Encoding.Default.GetString(response); Console.WriteLine(result); } } }
Imports System
Imports System.Collections.Generic
Imports System.Linq

Public Module Program
    Public Sub Main(args As String())
        Using client = New System.Net.WebClient()
            Dim response As Byte() = client.UploadValues(
            "https://api.merchantwarrior.com/post/", 
            New System.Collections.Specialized.NameValueCollection() From { _
                {"method", "queryCard"}, _
                {"merchantUUID", "578dd399d2373"}, _
                {"apiKey", "dyqxkzse"}, _
                {"transactionID", "1336-20be3569-b600-11e6-b9c3-005056e109e0"}, _
                {"hash", "d0fb5716a2b85c743ed802bd5bd7284b"} _
            })
            Dim result As [String] = System.Text.Encoding.[Default].GetString(response)
            Console.WriteLine(result)
        End Using
    End Sub
End Module
Imports System Imports System.Collections.Generic Imports System.Linq Public Module Program Public Sub Main(args As String()) Using client = New System.Net.WebClient() Dim response As Byte() = client.UploadValues( "https://api.merchantwarrior.com/post/", New System.Collections.Specialized.NameValueCollection() From { _ {"method", "queryCard"}, _ {"merchantUUID", "578dd399d2373"}, _ {"apiKey", "dyqxkzse"}, _ {"transactionID", "1336-20be3569-b600-11e6-b9c3-005056e109e0"}, _ {"hash", "d0fb5716a2b85c743ed802bd5bd7284b"} _ }) Dim result As [String] = System.Text.Encoding.[Default].GetString(response) Console.WriteLine(result) End Using End Sub End Module
import java.io.*;
import java.net.*;
import java.util.*;

public class Program{

    public static void main(String[] args) {
        try{
            URL url = new URL("https://api.merchantwarrior.com/post/");
            Map<String, String> params = new LinkedHashMap<>();
            params.put("method", "queryCard");
            params.put("merchantUUID", "5265f8eed6a19");
            params.put("apiKey", "ksmnwxab");
            params.put("transactionID", 
              "1336-20be3569-b600-11e6-b9c3-005056e109e0");           
            params.put("hash", "b55552ff426d7e3d4885465d27ea0062");
            
            StringBuilder postData = new StringBuilder();
            for (Map.Entry<String, String> param : params.entrySet()) {
              if (postData.length() != 0) 
                postData.append('&');
                postData.append(param.getKey());
                postData.append('=');
                postData.append(param.getValue());
            }
            HttpURLConnection conn = (HttpURLConnection)url.openConnection();
            conn.setRequestMethod("POST");
            conn.setRequestProperty("Content-Type", 
              "application/x-www-form-urlencoded");
            conn.setDoOutput(true);
            
            OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());
            writer.write(postData.toString());
            writer.flush();
            
            BufferedReader reader = new BufferedReader(
              new InputStreamReader(conn.getInputStream()));
            String line;
            StringBuilder sb = new StringBuilder();
            while((line = reader.readLine()) != null){
              sb.append(line);
            }
            System.out.println(sb.toString());
            writer.close();
            reader.close();
        }
        catch(Exception ex){
            ex.printStackTrace();
        }
    }
    
}
import java.io.*; import java.net.*; import java.util.*; public class Program{ public static void main(String[] args) { try{ URL url = new URL("https://api.merchantwarrior.com/post/"); Map params = new LinkedHashMap<>(); params.put("method", "queryCard"); params.put("merchantUUID", "5265f8eed6a19"); params.put("apiKey", "ksmnwxab"); params.put("transactionID", "1336-20be3569-b600-11e6-b9c3-005056e109e0"); params.put("hash", "b55552ff426d7e3d4885465d27ea0062"); StringBuilder postData = new StringBuilder(); for (Map.Entry param : params.entrySet()) { if (postData.length() != 0) postData.append('&'); postData.append(param.getKey()); postData.append('='); postData.append(param.getValue()); } HttpURLConnection conn = (HttpURLConnection)url.openConnection(); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); conn.setDoOutput(true); OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream()); writer.write(postData.toString()); writer.flush(); BufferedReader reader = new BufferedReader( new InputStreamReader(conn.getInputStream())); String line; StringBuilder sb = new StringBuilder(); while((line = reader.readLine()) != null){ sb.append(line); } System.out.println(sb.toString()); writer.close(); reader.close(); } catch(Exception ex){ ex.printStackTrace(); } } }
require 'net/http'
require 'uri'

uri = URI.parse("https://api.merchantwarrior.com/post/")
request = Net::HTTP::Post.new(uri)
request.set_form_data(
  'method' => 'queryCard',
  'merchantUUID' => '5265f8eed6a19',
  'apiKey' => 'ksmnwxab',
  'transactionID' => '1336-20be3569-b600-11e6-b9c3-005056e109e0',
  'hash' => '11b6a860e5bdf0bd91a503b42346ee1d'
)

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http|
  http.request(request)
end

puts response.body
require 'net/http' require 'uri' uri = URI.parse("https://api.merchantwarrior.com/post/") request = Net::HTTP::Post.new(uri) request.set_form_data( 'method' => 'queryCard', 'merchantUUID' => '5265f8eed6a19', 'apiKey' => 'ksmnwxab', 'transactionID' => '1336-20be3569-b600-11e6-b9c3-005056e109e0', 'hash' => '11b6a860e5bdf0bd91a503b42346ee1d' ) response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http| http.request(request) end puts response.body
import requests

data = {
  'method' : 'queryCard',
  'merchantUUID' : '5265f8eed6a19',
  'apiKey' : 'ksmnwxab',
  'transactionID' : '1336-20be3569-b600-11e6-b9c3-005056e109e0',
  'hash' : '11b6a860e5bdf0bd91a503b42346ee1d'
}

r = requests.post('https://api.merchantwarrior.com/post/', data = data)

print(r.text)
import requests data = { 'method' : 'queryCard', 'merchantUUID' : '5265f8eed6a19', 'apiKey' : 'ksmnwxab', 'transactionID' : '1336-20be3569-b600-11e6-b9c3-005056e109e0', 'hash' : '11b6a860e5bdf0bd91a503b42346ee1d' } r = requests.post('https://api.merchantwarrior.com/post/', data = data) print(r.text)
<?php
// Setup the POST url
define('MW_API_ENDPOINT', 'https://api.merchantwarrior.com/post/');

// Setup POST data
$postData = array (
  'method' => 'queryCard',
  'merchantUUID' => '5265f8eed6a19',
  'apiKey' => 'ksmnwxab',
  'transactionID' => '1336-20be3569-b600-11e6-b9c3-005056e109e0',
  'hash' => '11b6a860e5bdf0bd91a503b42346ee1d'
);

// Setup CURL defaults
$curl = curl_init();

// Setup CURL params for this request
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_URL, MW_API_ENDPOINT);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData, '', '&'));

// Run CURL
$response = curl_exec($curl);
$error = curl_error($curl);

// Check for CURL errors
if (isset($error) && strlen($error)) {
  throw new Exception("CURL Error: {$error}");
}

// Parse the XML
$xml = simplexml_load_string($response);

// Convert the result from a SimpleXMLObject into an array
$xml = (array)$xml;

// Validate the response - the only successful code is 0
$status = ((int)$xml['responseCode'] === 0) ? true : false;

// Make the response a little more useable
$result = array (
  'status' => $status, 
  'transactionID' => (isset($xml['transactionID']) ? $xml['transactionID'] : null),
  'responseData' => $xml
);

exit(var_dump($result));
?>
'queryCard', 'merchantUUID' => '5265f8eed6a19', 'apiKey' => 'ksmnwxab', 'transactionID' => '1336-20be3569-b600-11e6-b9c3-005056e109e0', 'hash' => '11b6a860e5bdf0bd91a503b42346ee1d' ); // Setup CURL defaults $curl = curl_init(); // Setup CURL params for this request curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_URL, MW_API_ENDPOINT); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData, '', '&')); // Run CURL $response = curl_exec($curl); $error = curl_error($curl); // Check for CURL errors if (isset($error) && strlen($error)) { throw new Exception("CURL Error: {$error}"); } // Parse the XML $xml = simplexml_load_string($response); // Convert the result from a SimpleXMLObject into an array $xml = (array)$xml; // Validate the response - the only successful code is 0 $status = ((int)$xml['responseCode'] === 0) ? true : false; // Make the response a little more useable $result = array ( 'status' => $status, 'transactionID' => (isset($xml['transactionID']) ? $xml['transactionID'] : null), 'responseData' => $xml ); exit(var_dump($result)); ?>
  curl -X POST \
  -d method="queryCard" \
  -d merchantUUID="5265f8eed6a19" \
  -d apiKey="ksmnwxab" \
  -d transactionID="1336-20be3569-b600-11e6-b9c3-005056b209e0" \
  -d extended="1" \
  -d hash="11b6a860e5bdf0bd91a503b42346ee1d" https://api.merchantwarrior.com/post/
curl -X POST -d method="queryCard" -d merchantUUID="5265f8eed6a19" -d apiKey="ksmnwxab" -d transactionID="1336-20be3569-b600-11e6-b9c3-005056b209e0" -d extended="1" -d hash="11b6a860e5bdf0bd91a503b42346ee1d" https://api.merchantwarrior.com/post/
<?php
// Setup the POST url
define('MW_API_ENDPOINT', 'https://api.merchantwarrior.com/post/');

// Setup POST data
$postData = array (
  'method' => 'queryCard',
  'merchantUUID' => '5265f8eed6a19',
  'apiKey' => 'ksmnwxab',
  'transactionID' => '1336-20be3569-b600-11e6-b9c3-005056e109e0',
  'extended' => '1',
  'hash' => '11b6a860e5bdf0bd91a503b42346ee1d'
);

// Setup CURL defaults
$curl = curl_init();

// Setup CURL params for this request
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_URL, MW_API_ENDPOINT);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData, '', '&'));

// Run CURL
$response = curl_exec($curl);
$error = curl_error($curl);

// Check for CURL errors
if (isset($error) && strlen($error)) {
  throw new Exception("CURL Error: {$error}");
}

// Parse the XML
$xml = simplexml_load_string($response);

// Convert the result from a SimpleXMLObject into an array
$xml = (array)$xml;

// Validate the response - the only successful code is 0
$status = ((int)$xml['responseCode'] === 0) ? true : false;

// Make the response a little more useable
$result = array (
  'status' => $status, 
  'transactionID' => (isset($xml['transactionID']) ? $xml['transactionID'] : null),
  'responseData' => $xml
);

exit(var_dump($result));
'queryCard', 'merchantUUID' => '5265f8eed6a19', 'apiKey' => 'ksmnwxab', 'transactionID' => '1336-20be3569-b600-11e6-b9c3-005056e109e0', 'extended' => '1', 'hash' => '11b6a860e5bdf0bd91a503b42346ee1d' ); // Setup CURL defaults $curl = curl_init(); // Setup CURL params for this request curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_URL, MW_API_ENDPOINT); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData, '', '&')); // Run CURL $response = curl_exec($curl); $error = curl_error($curl); // Check for CURL errors if (isset($error) && strlen($error)) { throw new Exception("CURL Error: {$error}"); } // Parse the XML $xml = simplexml_load_string($response); // Convert the result from a SimpleXMLObject into an array $xml = (array)$xml; // Validate the response - the only successful code is 0 $status = ((int)$xml['responseCode'] === 0) ? true : false; // Make the response a little more useable $result = array ( 'status' => $status, 'transactionID' => (isset($xml['transactionID']) ? $xml['transactionID'] : null), 'responseData' => $xml ); exit(var_dump($result));
using System;
using System.Collections.Generic;
using System.Linq;

public class Program {
    public static void Main(string[] args) {
        using(var client = new System.Net.WebClient()) {
            byte[] response = client.UploadValues("https://api.merchantwarrior.com/post/", 
                    new System.Collections.Specialized.NameValueCollection() {
                        { "method", "queryCard" },
                        { "merchantUUID", "578dd399d2373" },
                        { "apiKey", "dyqxkzse" },
                        { "transactionID", "1336-20be3569-b600-11e6-b9c3-005056e109e0" },
                        { "extended", "1" },                    
                        { "hash", "d0fb5716a2b85c743ed802bd5bd7284b" },
                    });
            String result = System.Text.Encoding.Default.GetString(response);
            Console.WriteLine(result);
		    }
    }
}
using System; using System.Collections.Generic; using System.Linq; public class Program { public static void Main(string[] args) { using(var client = new System.Net.WebClient()) { byte[] response = client.UploadValues("https://api.merchantwarrior.com/post/", new System.Collections.Specialized.NameValueCollection() { { "method", "queryCard" }, { "merchantUUID", "578dd399d2373" }, { "apiKey", "dyqxkzse" }, { "transactionID", "1336-20be3569-b600-11e6-b9c3-005056e109e0" }, { "extended", "1" }, { "hash", "d0fb5716a2b85c743ed802bd5bd7284b" }, }); String result = System.Text.Encoding.Default.GetString(response); Console.WriteLine(result); } } }
Imports System
Imports System.Collections.Generic
Imports System.Linq

Public Module Program
    Public Sub Main(args As String())
        Using client = New System.Net.WebClient()
            Dim response As Byte() = client.UploadValues(
            "https://api.merchantwarrior.com/post/", 
            New System.Collections.Specialized.NameValueCollection() From { _
                {"method", "queryCard"}, _
                {"merchantUUID", "578dd399d2373"}, _
                {"apiKey", "dyqxkzse"}, _
                {"transactionID", "1336-20be3569-b600-11e6-b9c3-005056e109e0"}, _
                {"extended", "1"} _
                {"hash", "d0fb5716a2b85c743ed802bd5bd7284b"} _
            })
            Dim result As [String] = System.Text.Encoding.[Default].GetString(response)
            Console.WriteLine(result)
        End Using
    End Sub
End Module
Imports System Imports System.Collections.Generic Imports System.Linq Public Module Program Public Sub Main(args As String()) Using client = New System.Net.WebClient() Dim response As Byte() = client.UploadValues( "https://api.merchantwarrior.com/post/", New System.Collections.Specialized.NameValueCollection() From { _ {"method", "queryCard"}, _ {"merchantUUID", "578dd399d2373"}, _ {"apiKey", "dyqxkzse"}, _ {"transactionID", "1336-20be3569-b600-11e6-b9c3-005056e109e0"}, _ {"extended", "1"} _ {"hash", "d0fb5716a2b85c743ed802bd5bd7284b"} _ }) Dim result As [String] = System.Text.Encoding.[Default].GetString(response) Console.WriteLine(result) End Using End Sub End Module
import java.io.*;
import java.net.*;
import java.util.*;

public class Program{

    public static void main(String[] args) {
        try{
            URL url = new URL("https://api.merchantwarrior.com/post/");
            Map<String, String> params = new LinkedHashMap<>();
            params.put("method", "queryCard");
            params.put("merchantUUID", "5265f8eed6a19");
            params.put("apiKey", "ksmnwxab");
            params.put("transactionID", 
            	"1336-20be3569-b600-11e6-b9c3-005056e109e0");
            params.put("extended", "1");
            params.put("hash", "b55552ff426d7e3d4885465d27ea0062");
            
            StringBuilder postData = new StringBuilder();
            for (Map.Entry<String, String> param : params.entrySet()) {
              if (postData.length() != 0) 
                postData.append('&');
                postData.append(param.getKey());
                postData.append('=');
                postData.append(param.getValue());
            }
            HttpURLConnection conn = (HttpURLConnection)url.openConnection();
            conn.setRequestMethod("POST");
            conn.setRequestProperty("Content-Type", 
            	"application/x-www-form-urlencoded");
            conn.setDoOutput(true);
            
            OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());
            writer.write(postData.toString());
            writer.flush();
            
            BufferedReader reader = new BufferedReader(
            	new InputStreamReader(conn.getInputStream()));
            String line;
            StringBuilder sb = new StringBuilder();
            while((line = reader.readLine()) != null){
            	sb.append(line);
            }
            System.out.println(sb.toString());
            writer.close();
            reader.close();
        }
        catch(Exception ex){
            ex.printStackTrace();
        }
    }
    
}
import java.io.*; import java.net.*; import java.util.*; public class Program{ public static void main(String[] args) { try{ URL url = new URL("https://api.merchantwarrior.com/post/"); Map params = new LinkedHashMap<>(); params.put("method", "queryCard"); params.put("merchantUUID", "5265f8eed6a19"); params.put("apiKey", "ksmnwxab"); params.put("transactionID", "1336-20be3569-b600-11e6-b9c3-005056e109e0"); params.put("extended", "1"); params.put("hash", "b55552ff426d7e3d4885465d27ea0062"); StringBuilder postData = new StringBuilder(); for (Map.Entry param : params.entrySet()) { if (postData.length() != 0) postData.append('&'); postData.append(param.getKey()); postData.append('='); postData.append(param.getValue()); } HttpURLConnection conn = (HttpURLConnection)url.openConnection(); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); conn.setDoOutput(true); OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream()); writer.write(postData.toString()); writer.flush(); BufferedReader reader = new BufferedReader( new InputStreamReader(conn.getInputStream())); String line; StringBuilder sb = new StringBuilder(); while((line = reader.readLine()) != null){ sb.append(line); } System.out.println(sb.toString()); writer.close(); reader.close(); } catch(Exception ex){ ex.printStackTrace(); } } }
require 'net/http'
require 'uri'

uri = URI.parse("https://api.merchantwarrior.com/post/")
request = Net::HTTP::Post.new(uri)
request.set_form_data(
  'method' => 'queryCard',
  'merchantUUID' => '5265f8eed6a19',
  'apiKey' => 'ksmnwxab',
  'transactionID' => '1336-20be3569-b600-11e6-b9c3-005056e109e0',
  'extended' => '1',
  'hash' => '11b6a860e5bdf0bd91a503b42346ee1d'
)

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http|
  http.request(request)
end

puts response.body
require 'net/http' require 'uri' uri = URI.parse("https://api.merchantwarrior.com/post/") request = Net::HTTP::Post.new(uri) request.set_form_data( 'method' => 'queryCard', 'merchantUUID' => '5265f8eed6a19', 'apiKey' => 'ksmnwxab', 'transactionID' => '1336-20be3569-b600-11e6-b9c3-005056e109e0', 'extended' => '1', 'hash' => '11b6a860e5bdf0bd91a503b42346ee1d' ) response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http| http.request(request) end puts response.body
import requests

data = {
  'method' : 'queryCard',
  'merchantUUID' : '5265f8eed6a19',
  'apiKey' : 'ksmnwxab',
  'transactionID' : '1336-20be3569-b600-11e6-b9c3-005056e109e0',
  'extended' : '1',
  'hash' : '11b6a860e5bdf0bd91a503b42346ee1d'
}

r = requests.post('https://api.merchantwarrior.com/post/', data = data)

print(r.text)
import requests data = { 'method' : 'queryCard', 'merchantUUID' : '5265f8eed6a19', 'apiKey' : 'ksmnwxab', 'transactionID' : '1336-20be3569-b600-11e6-b9c3-005056e109e0', 'extended' : '1', 'hash' : '11b6a860e5bdf0bd91a503b42346ee1d' } r = requests.post('https://api.merchantwarrior.com/post/', data = data) print(r.text)
Copy
<?xml version="1.0"?>
<mwResponse>
  <custom1/>
  <custom2/>
  <custom3/>
  <responseMessage>Transaction approved</responseMessage>
  <refundTotal>1.00</refundTotal>
  <responseCode>0</responseCode>
  <authCode>731357421</authCode>
  <authResponseCode>08</authResponseCode>
  <transactionID>1336-20be3569-b600-11e6-b9c3-005056e109e0</transactionID>
  <receiptNo>731357421</receiptNo>
  <customHash>65b172551b7d3a0706c0ce5330c98470</customHash>
  <authSettledDate>2016-11-29</authSettledDate>
  <authMessage>Honour with identification</authMessage>
</mwResponse>
Transaction approved 1.00 0 731357421 08 1336-20be3569-b600-11e6-b9c3-005056e109e0 731357421 65b172551b7d3a0706c0ce5330c98470 2016-11-29 Honour with identification
{
    "custom1": [],
    "custom2": [],
    "custom3": [],
    "responseMessage": "Transaction approved",
    "refundTotal": "1.00",
    "responseCode": "0",
    "authCode": "731357421",
    "authResponseCode": "08",
    "transactionID": "1336-20be3569-b600-11e6-b9c3-005056e109e0",
    "receiptNo": "731357421",
    "customHash": "65b172551b7d3a0706c0ce5330c98470",
    "authSettledDate": "2016-11-29",
    "authMessage": "Honour with identification"
}
{ "custom1": [], "custom2": [], "custom3": [], "responseMessage": "Transaction approved", "refundTotal": "1.00", "responseCode": "0", "authCode": "731357421", "authResponseCode": "08", "transactionID": "1336-20be3569-b600-11e6-b9c3-005056e109e0", "receiptNo": "731357421", "customHash": "65b172551b7d3a0706c0ce5330c98470", "authSettledDate": "2016-11-29", "authMessage": "Honour with identification" }
<?xml version="1.0"?>
<mwResponse>
  <custom1/>
  <custom2/>
  <custom3/>
  <responseMessage>Transaction approved</responseMessage>
  <transactionReferenceID>12345</transactionReferenceID>
  <customerCity>Brisbane</customerCity>
  <customerName>Test Customer</customerName>
  <customerPostcode>4000</customerPostcode>
  <refundTotal>1.00</refundTotal>
  <responseCode>0</responseCode>
  <cardNumberLast>0004</cardNumberLast>
  <transactionCurrency>AUD</transactionCurrency>
  <customerPhone>61731665489</customerPhone>
  <transactionProduct>Test Product</transactionProduct>
  <customerState>QLD</customerState>
  <authCode>731357421</authCode>
  <transactionAmount>1.00</transactionAmount>
  <customerAddress>123 Test Street</customerAddress>
  <authResponseCode>08</authResponseCode>
  <cardNumberFirst>4564</cardNumberFirst>
  <customerCountry>AU</customerCountry>
  <transactionID>1336-20be3569-b600-11e6-b9c3-005056b209e0</transactionID>
  <receiptNo>731357421</receiptNo>
  <cardName>Test Customer</cardName>
  <customerEmail>[email protected]</customerEmail>
  <customHash>65b172551b7d3a0706c0ce5330c98470</customHash>
  <authSettledDate>2016-11-29</authSettledDate>
  <authMessage>Honour with identification</authMessage>
</mwResponse>
Transaction approved 12345 Brisbane Test Customer 4000 1.00 0 0004 AUD 61731665489 Test Product QLD 731357421 1.00 123 Test Street 08 4564 AU 1336-20be3569-b600-11e6-b9c3-005056b209e0 731357421 Test Customer [email protected] 65b172551b7d3a0706c0ce5330c98470 2016-11-29 Honour with identification
{
    "custom1": [],
    "custom2": [],
    "custom3": [],
    "responseMessage": "Transaction approved",
    "transactionReferenceID": "12345",
    "customerCity": "Brisbane",
    "customerName": "Test Customer",
    "customerPostcode": "4000",
    "refundTotal": "1.00",
    "responseCode": "0",
    "cardNumberLast": "0004",
    "transactionCurrency": "AUD",
    "customerPhone": "61731665489",
    "transactionProduct": "Test Product",
    "customerState": "QLD",
    "authCode": "731357421",
    "transactionAmount": "1.00",
    "customerAddress": "123 Test Street",
    "authResponseCode": "08",
    "cardNumberFirst": "4564",
    "customerCountry": "AU",
    "transactionID": "1336-20be3569-b600-11e6-b9c3-005056b209e0",
    "receiptNo": "731357421",
    "cardName": "Test Customer",
    "customerEmail": "[email protected]",
    "customHash": "65b172551b7d3a0706c0ce5330c98470",
    "authSettledDate": "2016-11-29",
    "authMessage": "Honour with identification"
}
{ "custom1": [], "custom2": [], "custom3": [], "responseMessage": "Transaction approved", "transactionReferenceID": "12345", "customerCity": "Brisbane", "customerName": "Test Customer", "customerPostcode": "4000", "refundTotal": "1.00", "responseCode": "0", "cardNumberLast": "0004", "transactionCurrency": "AUD", "customerPhone": "61731665489", "transactionProduct": "Test Product", "customerState": "QLD", "authCode": "731357421", "transactionAmount": "1.00", "customerAddress": "123 Test Street", "authResponseCode": "08", "cardNumberFirst": "4564", "customerCountry": "AU", "transactionID": "1336-20be3569-b600-11e6-b9c3-005056b209e0", "receiptNo": "731357421", "cardName": "Test Customer", "customerEmail": "[email protected]", "customHash": "65b172551b7d3a0706c0ce5330c98470", "authSettledDate": "2016-11-29", "authMessage": "Honour with identification" }
processDDebit

The processDDebit method is used to perform a direct debit request to debit funds from an Australian or New Zealand bank account.

Required Parameters

Parameter Description
method

This field is case sensitive.
Example: processDDebit

merchantUUID

The value of this parameter is provided to you by Merchant Warrior.
Example: 123456789abcd

apiKey

The value of this parameter is provided to you by Merchant Warrior.
Example: 1a3b5c

transactionAmount

The amount must be formatted to have two decimal places. Any amounts without two decimal places or amounts less than one cent will be rejected.
Example: 10.00

transactionCurrency

One of the following: AUD, CAD, EUR, GBP, JPY, NZD, SGD, USD. This is provider dependant. Please check with MW before attempting to process transactions in any currency other than AUD. This field is case insensitive.
Example: AUD

transactionProduct

A product (or sale) id or description. We recommend using an order/product id. This field’s primary purpose is to help the transaction be identifiable for reporting and accounting purposes.
Example: ABC4321
Valid length: Up to 255 characters

customerName

This field can only contain alphanumeric characters, as well as the full stop, comma, aposprophe, ampersand, space and hyphen characters.
Example: Mr. Example Person
Valid length: Between 2 and 255 characters

customerCountry

Two letter ISO 3166-1 alpha-2 country code.
Example: AU
Valid length: 2 characters

customerState

Freeform field, keep consistent for your records and reporting.
Example: Queensland
Valid length: Up to 75 characters

customerCity

Freeform field, keep consistent for your records and reporting.
Example: Brisbane
Valid length: Up to 75 characters

customerAddress

Freeform field.
Example: 123 Test Street
Valid length: Up to 255 characters

customerPostCode

This can also accomodate ZIP/Post codes for international transactions.
Example: 4000
Valid length: Between 4 and 10 characters

paymentAccountBSB

This field must contain 6 digits.
Example: 011123
Valid length: 6 digits

paymentAccountNumber

This must be a valid account number.
Example: 123456789
Valid length: 4-10 digits

paymentAccountName

This must contain at the very least a space and no less than two characters. Only alphanumeric characters, hyphens, spaces and full stops are allowed.
Example: Mr. Example Person or MR E PERSON or Example Person
Valid length: Between 3 and 32 characters

hash

The verification hash is a combination of the MD5 of your API Passphrase, and specific parameters sent in the transaction. See Transaction Type Hash for information on how to construct the hash correctly.
Example: e9ddc296b76b3398934bfc06239073df
Valid length: 32 characters

Optional Parameters

Parameter Description
transactionReferenceID

This is a merchant’s unique reference ID for a transaction sent to Merchant Warrior. The main purpose of this ID is to verify the transaction via the queryCard method in the event a valid response is not received.
Example: A257240023321
Valid length: Up to 40 characters

customerPhone

Anything other than +,-, space and 0-9 will be stripped.
Example: 0401234567 or 61731234567
Valid length: Up to 25 characters

customerEmail

Sending this optional parameter is highly recommended.
Example: [email protected]
Valid length: Up to 255 characters

customerIP

Any valid IPv4 or IPv6 address is accepted. Sending this optional parameter is highly recommended.
Example: 123.456.789.012 or 2001:0db8:85a3:0000:0000:8a2e:0370:7334
Valid length: Up to 39 characters

storeID

The value of this field is the merchant's store name. Please note that you need to contact Merchant Warrior to enable the storeID feature before you can use this parameter.
Example: Test store name

custom1

Freeform field. Returned as <custom1> in the XML response.
Valid length: Up to 500 characters

custom2

Freeform field. Returned as <custom2> in the XML response.
Valid length: Up to 500 characters

custom3

Freeform field. Returned as <custom3> in the XML response.
Valid length: Up to 500 characters

Copy
  curl -X POST \
  -d method="processDDebit" \
  -d merchantUUID="5265f8eed6a19" \
  -d apiKey="ksmnwxab" \
  -d transactionAmount="1.00" \
  -d transactionCurrency="AUD" \
  -d transactionProduct="A1234" \
  -d customerName="Test Customer" \
  -d customerCountry="AU" \
  -d customerState="QLD" \
  -d customerCity="Brisbane" \
  -d customerAddress="123 Test Street" \
  -d customerPostCode="4000" \
  -d customerPhone="61731665489" \
  -d customerEmail="[email protected]" \
  -d customerIP="1.1.1.1" \
  -d paymentAccountBSB="014667" \
  -d paymentAccountNumber="12345678" \
  -d paymentAccountName="Test Customer" \
  -d hash="f518187f47bc52fe5a76a18593df72c9" https://api.merchantwarrior.com/post/
curl -X POST -d method="processDDebit" -d merchantUUID="5265f8eed6a19" -d apiKey="ksmnwxab" -d transactionAmount="1.00" -d transactionCurrency="AUD" -d transactionProduct="A1234" -d customerName="Test Customer" -d customerCountry="AU" -d customerState="QLD" -d customerCity="Brisbane" -d customerAddress="123 Test Street" -d customerPostCode="4000" -d customerPhone="61731665489" -d customerEmail="[email protected]" -d customerIP="1.1.1.1" -d paymentAccountBSB="014667" -d paymentAccountNumber="12345678" -d paymentAccountName="Test Customer" -d hash="f518187f47bc52fe5a76a18593df72c9" https://api.merchantwarrior.com/post/
require 'net/http'
require 'uri'

uri = URI.parse("https://api.merchantwarrior.com/post/")
request = Net::HTTP::Post.new(uri)
request.set_form_data(
  'method' => 'processDDebit',
  'merchantUUID' => '5265f8eed6a19',
  'apiKey' => 'ksmnwxab',
  'transactionAmount' => '1.00',
  'transactionCurrency' => 'AUD',
  'transactionProduct' => 'A1234',
  'customerName' => 'Test Customer',
  'customerCountry' => 'AU',
  'customerState' => 'QLD',
  'customerCity' => 'Brisbane',
  'customerAddress' => '123 Test Street',
  'customerPostCode' => '4000',
  'customerPhone' => '61731665489',
  'customerEmail' => '[email protected]',
  'customerIP' => '1.1.1.1',
  'paymentAccountBSB' => '014667',
  'paymentAccountNumber' => '12345678',
  'paymentAccountName' => 'Test Customer',
  'hash' => 'f518187f47bc52fe5a76a18593df72c9'
)

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http|
  http.request(request)
end

puts response.body
require 'net/http' require 'uri' uri = URI.parse("https://api.merchantwarrior.com/post/") request = Net::HTTP::Post.new(uri) request.set_form_data( 'method' => 'processDDebit', 'merchantUUID' => '5265f8eed6a19', 'apiKey' => 'ksmnwxab', 'transactionAmount' => '1.00', 'transactionCurrency' => 'AUD', 'transactionProduct' => 'A1234', 'customerName' => 'Test Customer', 'customerCountry' => 'AU', 'customerState' => 'QLD', 'customerCity' => 'Brisbane', 'customerAddress' => '123 Test Street', 'customerPostCode' => '4000', 'customerPhone' => '61731665489', 'customerEmail' => '[email protected]', 'customerIP' => '1.1.1.1', 'paymentAccountBSB' => '014667', 'paymentAccountNumber' => '12345678', 'paymentAccountName' => 'Test Customer', 'hash' => 'f518187f47bc52fe5a76a18593df72c9' ) response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http| http.request(request) end puts response.body
import requests

data = {
  'method' : 'processDDebit',
  'merchantUUID' : '5265f8eed6a19',
  'apiKey' : 'ksmnwxab',
  'transactionAmount' : '1.00',
  'transactionCurrency' : 'AUD',
  'transactionProduct' : 'A1234',
  'customerName' : 'Test Customer',
  'customerCountry' : 'AU',
  'customerState' : 'QLD',
  'customerCity' : 'Brisbane',
  'customerAddress' : '123 Test Street',
  'customerPostCode' : '4000',
  'customerPhone' : '61731665489',
  'customerEmail' : '[email protected]',
  'customerIP' : '1.1.1.1',
  'paymentAccountBSB' : '014667',
  'paymentAccountNumber' : '12345678',
  'paymentAccountName' : 'Test Customer',
  'hash' : 'f518187f47bc52fe5a76a18593df72c9'
}

r = requests.post('https://api.merchantwarrior.com/post/', data = data)

print(r.text)
import requests data = { 'method' : 'processDDebit', 'merchantUUID' : '5265f8eed6a19', 'apiKey' : 'ksmnwxab', 'transactionAmount' : '1.00', 'transactionCurrency' : 'AUD', 'transactionProduct' : 'A1234', 'customerName' : 'Test Customer', 'customerCountry' : 'AU', 'customerState' : 'QLD', 'customerCity' : 'Brisbane', 'customerAddress' : '123 Test Street', 'customerPostCode' : '4000', 'customerPhone' : '61731665489', 'customerEmail' : '[email protected]', 'customerIP' : '1.1.1.1', 'paymentAccountBSB' : '014667', 'paymentAccountNumber' : '12345678', 'paymentAccountName' : 'Test Customer', 'hash' : 'f518187f47bc52fe5a76a18593df72c9' } r = requests.post('https://api.merchantwarrior.com/post/', data = data) print(r.text)
<?php
// Setup the POST url
define('MW_API_ENDPOINT', 'https://api.merchantwarrior.com/post/');

// Setup POST data
$postData = array (
  'method' => 'processDDebit',
  'merchantUUID' => '5265f8eed6a19',
  'apiKey' => 'ksmnwxab',
  'transactionAmount' => '1.00',
  'transactionCurrency' => 'AUD',
  'transactionProduct' => 'A1234',
  'customerName' => 'Test Customer',
  'customerCountry' => 'AU',
  'customerState' => 'QLD',
  'customerCity' => 'Brisbane',
  'customerAddress' => '123 Test Street',
  'customerPostCode' => '4000',
  'customerPhone' => '61731665489',
  'customerEmail' => '[email protected]',
  'customerIP' => '1.1.1.1',
  'paymentAccountBSB' => '014667',
  'paymentAccountNumber' => '12345678',
  'paymentAccountName' => 'Test Customer',
  'hash' => 'f518187f47bc52fe5a76a18593df72c9'
);

// Setup CURL defaults
$curl = curl_init();

// Setup CURL params for this request
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_URL, MW_API_ENDPOINT);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData, '', '&'));

// Run CURL
$response = curl_exec($curl);
$error = curl_error($curl);

// Check for CURL errors
if (isset($error) && strlen($error)) {
  throw new Exception("CURL Error: {$error}");
}

// Parse the XML
$xml = simplexml_load_string($response);

// Convert the result from a SimpleXMLObject into an array
$xml = (array)$xml;

// Validate the response - the only successful code is 0
$status = ((int)$xml['responseCode'] === 0) ? true : false;

// Make the response a little more useable
$result = array (
  'status' => $status, 
  'transactionID' => (isset($xml['transactionID']) ? $xml['transactionID'] : null),
  'responseData' => $xml
);

exit(var_dump($result));
?>
'processDDebit', 'merchantUUID' => '5265f8eed6a19', 'apiKey' => 'ksmnwxab', 'transactionAmount' => '1.00', 'transactionCurrency' => 'AUD', 'transactionProduct' => 'A1234', 'customerName' => 'Test Customer', 'customerCountry' => 'AU', 'customerState' => 'QLD', 'customerCity' => 'Brisbane', 'customerAddress' => '123 Test Street', 'customerPostCode' => '4000', 'customerPhone' => '61731665489', 'customerEmail' => '[email protected]', 'customerIP' => '1.1.1.1', 'paymentAccountBSB' => '014667', 'paymentAccountNumber' => '12345678', 'paymentAccountName' => 'Test Customer', 'hash' => 'f518187f47bc52fe5a76a18593df72c9' ); // Setup CURL defaults $curl = curl_init(); // Setup CURL params for this request curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_URL, MW_API_ENDPOINT); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData, '', '&')); // Run CURL $response = curl_exec($curl); $error = curl_error($curl); // Check for CURL errors if (isset($error) && strlen($error)) { throw new Exception("CURL Error: {$error}"); } // Parse the XML $xml = simplexml_load_string($response); // Convert the result from a SimpleXMLObject into an array $xml = (array)$xml; // Validate the response - the only successful code is 0 $status = ((int)$xml['responseCode'] === 0) ? true : false; // Make the response a little more useable $result = array ( 'status' => $status, 'transactionID' => (isset($xml['transactionID']) ? $xml['transactionID'] : null), 'responseData' => $xml ); exit(var_dump($result)); ?>
using System;
using System.Collections.Generic;
using System.Linq;

public class Program {
    public static void Main(string[] args) {
        using(var client = new System.Net.WebClient()) {
            byte[] response = client.UploadValues("https://api.merchantwarrior.com/post/", 
                    new System.Collections.Specialized.NameValueCollection() {
                        { "method", "processDDebit" },
                        { "merchantUUID", "578dd399d2373" },
                        { "apiKey", "dyqxkzse" },
                        { "transactionAmount", "1.00" },
                        { "transactionCurrency", "AUD" },
                        { "transactionProduct", "Test Product" },
                        { "customerName", "Test Customer" },
                        { "customerCountry", "AU" },
                        { "customerState", "QLD" },
                        { "customerCity", "Brisbane" },
                        { "customerAddress", "123 Test Street" },
                        { "customerPostCode", "4000" },
                        { "customerPhone", "61731665489" },
                        { "customerEmail", "[email protected]" },
                        { "customerIP", "1.1.1.1" },
                        { "paymentAccountBSB", "014667" },
                        { "paymentAccountNumber", "12345678" },
                        { "paymentAccountName", "Test Customer" },
                        { "hash", "d0fb5716a2b85c743ed802bd5bd7284b" },
                    });
            String result = System.Text.Encoding.Default.GetString(response);
            Console.WriteLine(result);
		    }
    }
}
using System; using System.Collections.Generic; using System.Linq; public class Program { public static void Main(string[] args) { using(var client = new System.Net.WebClient()) { byte[] response = client.UploadValues("https://api.merchantwarrior.com/post/", new System.Collections.Specialized.NameValueCollection() { { "method", "processDDebit" }, { "merchantUUID", "578dd399d2373" }, { "apiKey", "dyqxkzse" }, { "transactionAmount", "1.00" }, { "transactionCurrency", "AUD" }, { "transactionProduct", "Test Product" }, { "customerName", "Test Customer" }, { "customerCountry", "AU" }, { "customerState", "QLD" }, { "customerCity", "Brisbane" }, { "customerAddress", "123 Test Street" }, { "customerPostCode", "4000" }, { "customerPhone", "61731665489" }, { "customerEmail", "[email protected]" }, { "customerIP", "1.1.1.1" }, { "paymentAccountBSB", "014667" }, { "paymentAccountNumber", "12345678" }, { "paymentAccountName", "Test Customer" }, { "hash", "d0fb5716a2b85c743ed802bd5bd7284b" }, }); String result = System.Text.Encoding.Default.GetString(response); Console.WriteLine(result); } } }
Imports System
Imports System.Collections.Generic
Imports System.Linq

Public Module Program
    Public Sub Main(args As String())
        Using client = New System.Net.WebClient()
            Dim response As Byte() = client.UploadValues(
            "https://api.merchantwarrior.com/post/", 
            New System.Collections.Specialized.NameValueCollection() From { _
                {"method", "processDDebit"}, _
                {"merchantUUID", "578dd399d2373"}, _
                {"apiKey", "dyqxkzse"}, _
                {"transactionAmount", "1.00"}, _
                {"transactionCurrency", "AUD"}, _
                {"transactionProduct", "Test Product"}, _
                {"customerName", "Test Customer"}, _
                {"customerCountry", "AU"}, _
                {"customerState", "QLD"}, _
                {"customerCity", "Brisbane"}, _
                {"customerAddress", "123 Test Street"}, _
                {"customerPostCode", "4000"}, _
                {"customerPhone", "61731665489"}, _
                {"customerEmail", "[email protected]"}, _
                {"customerIP", "1.1.1.1"}, _
                {"paymentAccountBSB", "014667"}, _
                {"paymentAccountNumber", "12345678"}, _
                {"paymentAccountName", "Test Customer"}, _
                {"hash", "d0fb5716a2b85c743ed802bd5bd7284b"} _
            })
            Dim result As [String] = System.Text.Encoding.[Default].GetString(response)
            Console.WriteLine(result)
        End Using
    End Sub
End Module
Imports System Imports System.Collections.Generic Imports System.Linq Public Module Program Public Sub Main(args As String()) Using client = New System.Net.WebClient() Dim response As Byte() = client.UploadValues( "https://api.merchantwarrior.com/post/", New System.Collections.Specialized.NameValueCollection() From { _ {"method", "processDDebit"}, _ {"merchantUUID", "578dd399d2373"}, _ {"apiKey", "dyqxkzse"}, _ {"transactionAmount", "1.00"}, _ {"transactionCurrency", "AUD"}, _ {"transactionProduct", "Test Product"}, _ {"customerName", "Test Customer"}, _ {"customerCountry", "AU"}, _ {"customerState", "QLD"}, _ {"customerCity", "Brisbane"}, _ {"customerAddress", "123 Test Street"}, _ {"customerPostCode", "4000"}, _ {"customerPhone", "61731665489"}, _ {"customerEmail", "[email protected]"}, _ {"customerIP", "1.1.1.1"}, _ {"paymentAccountBSB", "014667"}, _ {"paymentAccountNumber", "12345678"}, _ {"paymentAccountName", "Test Customer"}, _ {"hash", "d0fb5716a2b85c743ed802bd5bd7284b"} _ }) Dim result As [String] = System.Text.Encoding.[Default].GetString(response) Console.WriteLine(result) End Using End Sub End Module
import java.io.*;
import java.net.*;
import java.util.*;

public class Program{

    public static void main(String[] args) {
        try{
            URL url = new URL("https://api.merchantwarrior.com/post/");
            Map<String, String> params = new LinkedHashMap<>();
            params.put("method", "processDDebit");
            params.put("merchantUUID", "5265f8eed6a19");
            params.put("apiKey", "ksmnwxab");
            params.put("transactionAmount", "1.00");
            params.put("transactionCurrency", "AUD");
            params.put("transactionProduct", "TestProduct");
            params.put("customerName", "TestCustomer");
            params.put("customerCountry", "AU");
            params.put("customerState", "QLD");
            params.put("customerCity", "Brisbane");
            params.put("customerAddress", "TestStreet");
            params.put("customerPostCode", "4000");
            params.put("customerPhone", "61731665489");
            params.put("customerEmail", "[email protected]");
            params.put("customerIP", "1.1.1.1");
            params.put("paymentAccountBSB", "014667");
            params.put("paymentAccountNumber", "12345678");
            params.put("paymentAccountName", "TestCustomer");
            params.put("hash", "b55552ff426d7e3d4885465d27ea0062");
            
            StringBuilder postData = new StringBuilder();
            for (Map.Entry<String, String> param : params.entrySet()) {
              if (postData.length() != 0) 
                postData.append('&');
              postData.append(param.getKey());
              postData.append('=');
              postData.append(param.getValue());
            }
            HttpURLConnection conn = (HttpURLConnection)url.openConnection();
            conn.setRequestMethod("POST");
            conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
            conn.setDoOutput(true);
            
            OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());
            writer.write(postData.toString());
            writer.flush();
            
            BufferedReader reader = new BufferedReader(
            	new InputStreamReader(conn.getInputStream()));
            String line;
            StringBuilder sb = new StringBuilder();
            while((line = reader.readLine()) != null){
            	sb.append(line);
            }
            System.out.println(sb.toString());
            writer.close();
            reader.close();
        }
        catch(Exception ex){
            ex.printStackTrace();
        }
    }
    
}
import java.io.*; import java.net.*; import java.util.*; public class Program{ public static void main(String[] args) { try{ URL url = new URL("https://api.merchantwarrior.com/post/"); Map params = new LinkedHashMap<>(); params.put("method", "processDDebit"); params.put("merchantUUID", "5265f8eed6a19"); params.put("apiKey", "ksmnwxab"); params.put("transactionAmount", "1.00"); params.put("transactionCurrency", "AUD"); params.put("transactionProduct", "TestProduct"); params.put("customerName", "TestCustomer"); params.put("customerCountry", "AU"); params.put("customerState", "QLD"); params.put("customerCity", "Brisbane"); params.put("customerAddress", "TestStreet"); params.put("customerPostCode", "4000"); params.put("customerPhone", "61731665489"); params.put("customerEmail", "[email protected]"); params.put("customerIP", "1.1.1.1"); params.put("paymentAccountBSB", "014667"); params.put("paymentAccountNumber", "12345678"); params.put("paymentAccountName", "TestCustomer"); params.put("hash", "b55552ff426d7e3d4885465d27ea0062"); StringBuilder postData = new StringBuilder(); for (Map.Entry param : params.entrySet()) { if (postData.length() != 0) postData.append('&'); postData.append(param.getKey()); postData.append('='); postData.append(param.getValue()); } HttpURLConnection conn = (HttpURLConnection)url.openConnection(); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); conn.setDoOutput(true); OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream()); writer.write(postData.toString()); writer.flush(); BufferedReader reader = new BufferedReader( new InputStreamReader(conn.getInputStream())); String line; StringBuilder sb = new StringBuilder(); while((line = reader.readLine()) != null){ sb.append(line); } System.out.println(sb.toString()); writer.close(); reader.close(); } catch(Exception ex){ ex.printStackTrace(); } } }
<?php
$passphrase = 'YOURPASSPHRASE';
$uploadDir = '/tmp/';

if(!empty($_SERVER['HTTP_MWFILEHASH']) && !empty($_FILES) && !empty($_FILES['file_contents']) && !empty($_FILES['file_contents']['name'])) {
    $responseHash = $_SERVER['HTTP_MWFILEHASH'];
    $filePath = $_FILES['file_contents']['tmp_name'];
	$fileName = $_FILES['file_contents']['name'];
	$testHash = md5(strtolower(md5($passphrase).md5_file($filePath)));
	if($responseHash == $testHash) {
        //fileHash valid
        $tmpPath = $_FILES['file_contents']['tmp_name'];
        $uploadPath = $uploadDir . $fileName;
        if(move_uploaded_file($tmpPath, $uploadPath)) {
            //Do something with file
            //File retrievable from $uploadPath
        }
        else {
            //file invalid
        }
		
	} else {
        //fileHash invalid
	}
}
exit();


?>
Copy
<?xml version="1.0"?>
<mwResponse>
  <custom1>1</custom1>
  <custom2>2</custom2>
  <custom3>3</custom3>
  <responseMessage>Transaction pending</responseMessage>
  <transactionReferenceID>12345</transactionReferenceID>
  <responseCode>10</responseCode>
  <settlementDate>2016-12-05</settlementDate>
  <transactionID>1336-d2b4ccfc-b612-11e6-b9c3-005056b209e0</transactionID>
  <customHash>f696e286657237370aa37cfdd9a8c61c</customHash>
</mwResponse>
1 2 3 Transaction pending 12345 10 2016-12-05 1336-d2b4ccfc-b612-11e6-b9c3-005056b209e0 f696e286657237370aa37cfdd9a8c61c
{
    "custom1": "1",
    "custom2": "2",
    "custom3": "3",
    "responseMessage": "Transaction pending",
    "transactionReferenceID": "12345",
    "responseCode": "10",
    "settlementDate": "2016-12-05",
    "transactionID": "1336-d2b4ccfc-b612-11e6-b9c3-005056b209e0",
    "customHash": "f696e286657237370aa37cfdd9a8c61c"
}
{ "custom1": "1", "custom2": "2", "custom3": "3", "responseMessage": "Transaction pending", "transactionReferenceID": "12345", "responseCode": "10", "settlementDate": "2016-12-05", "transactionID": "1336-d2b4ccfc-b612-11e6-b9c3-005056b209e0", "customHash": "f696e286657237370aa37cfdd9a8c61c" }
queryDD


The queryDD method is the method used to perform a query of an existing direct debit transaction. If you wish to verify the status of a transaction or lost the original response or never receive a response, you can use this method. This method will query the internal MW records and return the available stored data for the transaction.

Required Parameters

Parameter Description
method

This field is case sensitive.
Example: queryDD

merchantUUID

The value of this parameter is provided to you by Merchant Warrior.
Example: 123456789abcd

apiKey

The value of this parameter is provided to you by Merchant Warrior.
Example: 1a3b5c

transactionID*

The <transactionID> returned for the initial transaction.
Example: 1-a1c340c8-7c30-11de-8888-000c29753ad4

transactionReferenceID*

The <transactionReferenceID> sent for the initial transaction. This is a merchant’s reference ID for a transaction request sent to Merchant Warrior.
Example: A257240023321

hash

The verification hash is a combination of the MD5 of your API Passphrase, and specific parameters sent in the transaction. See Query Type Hash for information on how to construct the hash correctly.
Example: e9ddc296b76b3398934bfc06239073df
Valid length: 32 characters

Optional Parameters

Parameter Description
extended

Returns additional information stored with the transaction. This must be in boolean format.
Example: 1

Copy
  curl -X POST \
  -d method="queryDD" \
  -d merchantUUID="5265f8eed6a19" \
  -d apiKey="ksmnwxab" \
  -d transactionID="1336-d2b4ccfc-b612-11e6-b9c3-005056b209e0" \
  -d hash="6e3c0ac9fef871a7c43ef5f0e63d6a6b" https://api.merchantwarrior.com/post/
curl -X POST -d method="queryDD" -d merchantUUID="5265f8eed6a19" -d apiKey="ksmnwxab" -d transactionID="1336-d2b4ccfc-b612-11e6-b9c3-005056b209e0" -d hash="6e3c0ac9fef871a7c43ef5f0e63d6a6b" https://api.merchantwarrior.com/post/
require 'net/http'
require 'uri'

uri = URI.parse("https://api.merchantwarrior.com/post/")
request = Net::HTTP::Post.new(uri)
request.set_form_data(
  'method' => 'queryDD',
  'merchantUUID' => '5265f8eed6a19',
  'apiKey' => 'ksmnwxab',
  'transactionID' => '1336-d2b4ccfc-b612-11e6-b9c3-005056b209e0',
  'hash' => '6e3c0ac9fef871a7c43ef5f0e63d6a6b'
)

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http|
  http.request(request)
end

puts response.body
require 'net/http' require 'uri' uri = URI.parse("https://api.merchantwarrior.com/post/") request = Net::HTTP::Post.new(uri) request.set_form_data( 'method' => 'queryDD', 'merchantUUID' => '5265f8eed6a19', 'apiKey' => 'ksmnwxab', 'transactionID' => '1336-d2b4ccfc-b612-11e6-b9c3-005056b209e0', 'hash' => '6e3c0ac9fef871a7c43ef5f0e63d6a6b' ) response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http| http.request(request) end puts response.body
import requests

data = {
  'method' : 'queryDD',
  'merchantUUID' : '5265f8eed6a19',
  'apiKey' : 'ksmnwxab',
  'transactionID' : '1336-d2b4ccfc-b612-11e6-b9c3-005056b209e0',
  'hash' : '6e3c0ac9fef871a7c43ef5f0e63d6a6b'
}

r = requests.post('https://api.merchantwarrior.com/post/', data = data)

print(r.text)
import requests data = { 'method' : 'queryDD', 'merchantUUID' : '5265f8eed6a19', 'apiKey' : 'ksmnwxab', 'transactionID' : '1336-d2b4ccfc-b612-11e6-b9c3-005056b209e0', 'hash' : '6e3c0ac9fef871a7c43ef5f0e63d6a6b' } r = requests.post('https://api.merchantwarrior.com/post/', data = data) print(r.text)
<?php
// Setup the POST url
define('MW_API_ENDPOINT', 'https://api.merchantwarrior.com/post/');

// Setup POST data
$postData = array (
  'method' => 'queryDD',
  'merchantUUID' => '5265f8eed6a19',
  'apiKey' => 'ksmnwxab',
  'transactionID' => '1336-d2b4ccfc-b612-11e6-b9c3-005056b209e0',
  'hash' => '6e3c0ac9fef871a7c43ef5f0e63d6a6b'
);

// Setup CURL defaults
$curl = curl_init();

// Setup CURL params for this request
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_URL, MW_API_ENDPOINT);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData, '', '&'));

// Run CURL
$response = curl_exec($curl);
$error = curl_error($curl);

// Check for CURL errors
if (isset($error) && strlen($error)) {
  throw new Exception("CURL Error: {$error}");
}

// Parse the XML
$xml = simplexml_load_string($response);

// Convert the result from a SimpleXMLObject into an array
$xml = (array)$xml;

// Validate the response - the only successful code is 0
$status = ((int)$xml['responseCode'] === 0) ? true : false;

// Make the response a little more useable
$result = array (
  'status' => $status, 
  'transactionID' => (isset($xml['transactionID']) ? $xml['transactionID'] : null),
  'responseData' => $xml
);

exit(var_dump($result));
?>
'queryDD', 'merchantUUID' => '5265f8eed6a19', 'apiKey' => 'ksmnwxab', 'transactionID' => '1336-d2b4ccfc-b612-11e6-b9c3-005056b209e0', 'hash' => '6e3c0ac9fef871a7c43ef5f0e63d6a6b' ); // Setup CURL defaults $curl = curl_init(); // Setup CURL params for this request curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_URL, MW_API_ENDPOINT); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData, '', '&')); // Run CURL $response = curl_exec($curl); $error = curl_error($curl); // Check for CURL errors if (isset($error) && strlen($error)) { throw new Exception("CURL Error: {$error}"); } // Parse the XML $xml = simplexml_load_string($response); // Convert the result from a SimpleXMLObject into an array $xml = (array)$xml; // Validate the response - the only successful code is 0 $status = ((int)$xml['responseCode'] === 0) ? true : false; // Make the response a little more useable $result = array ( 'status' => $status, 'transactionID' => (isset($xml['transactionID']) ? $xml['transactionID'] : null), 'responseData' => $xml ); exit(var_dump($result)); ?>
using System;
using System.Collections.Generic;
using System.Linq;

public class Program {
    public static void Main(string[] args) {
        using(var client = new System.Net.WebClient()) {
            byte[] response = client.UploadValues("https://api.merchantwarrior.com/post/", 
                    new System.Collections.Specialized.NameValueCollection() {
                        { "method", "queryDD" },
                        { "merchantUUID", "578dd399d2373" },
                        { "apiKey", "dyqxkzse" },
                        { "transactionID", "1336-d2b4ccfc-b612-11e6-b9c3-005056b209e0" },                        
                        { "hash", "d0fb5716a2b85c743ed802bd5bd7284b" },
                    });
            String result = System.Text.Encoding.Default.GetString(response);
            Console.WriteLine(result);
		    }
    }
}
using System; using System.Collections.Generic; using System.Linq; public class Program { public static void Main(string[] args) { using(var client = new System.Net.WebClient()) { byte[] response = client.UploadValues("https://api.merchantwarrior.com/post/", new System.Collections.Specialized.NameValueCollection() { { "method", "queryDD" }, { "merchantUUID", "578dd399d2373" }, { "apiKey", "dyqxkzse" }, { "transactionID", "1336-d2b4ccfc-b612-11e6-b9c3-005056b209e0" }, { "hash", "d0fb5716a2b85c743ed802bd5bd7284b" }, }); String result = System.Text.Encoding.Default.GetString(response); Console.WriteLine(result); } } }
Imports System
Imports System.Collections.Generic
Imports System.Linq

Public Module Program
    Public Sub Main(args As String())
        Using client = New System.Net.WebClient()
            Dim response As Byte() = client.UploadValues(
            "https://api.merchantwarrior.com/post/", 
            New System.Collections.Specialized.NameValueCollection() From { _
                {"method", "queryDD"}, _
                {"merchantUUID", "578dd399d2373"}, _
                {"apiKey", "dyqxkzse"}, _
                {"transactionID", "1336-d2b4ccfc-b612-11e6-b9c3-005056b209e0"}, _
                {"hash", "d0fb5716a2b85c743ed802bd5bd7284b"} _
            })
            Dim result As [String] = System.Text.Encoding.[Default].GetString(response)
            Console.WriteLine(result)
        End Using
    End Sub
End Module
Imports System Imports System.Collections.Generic Imports System.Linq Public Module Program Public Sub Main(args As String()) Using client = New System.Net.WebClient() Dim response As Byte() = client.UploadValues( "https://api.merchantwarrior.com/post/", New System.Collections.Specialized.NameValueCollection() From { _ {"method", "queryDD"}, _ {"merchantUUID", "578dd399d2373"}, _ {"apiKey", "dyqxkzse"}, _ {"transactionID", "1336-d2b4ccfc-b612-11e6-b9c3-005056b209e0"}, _ {"hash", "d0fb5716a2b85c743ed802bd5bd7284b"} _ }) Dim result As [String] = System.Text.Encoding.[Default].GetString(response) Console.WriteLine(result) End Using End Sub End Module
import java.io.*;
import java.net.*;
import java.util.*;

public class Program{

    public static void main(String[] args) {
        try{
            URL url = new URL("https://api.merchantwarrior.com/post/");
            Map<String, String> params = new LinkedHashMap<>();
            params.put("method", "queryDD");
            params.put("merchantUUID", "5265f8eed6a19");
            params.put("apiKey", "ksmnwxab");
            params.put("transactionID", "1336-d2b4ccfc-b612-11e6-b9c3-005056b209e0");
            params.put("hash", "b55552ff426d7e3d4885465d27ea0062");
            
            StringBuilder postData = new StringBuilder();
            for (Map.Entry<String, String> param : params.entrySet()) {
              if (postData.length() != 0) 
                  postData.append('&');
                  postData.append(param.getKey());
                  postData.append('=');
                  postData.append(param.getValue());
            }
            HttpURLConnection conn = (HttpURLConnection)url.openConnection();
            conn.setRequestMethod("POST");
            conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
            conn.setDoOutput(true);
            
            OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());
            writer.write(postData.toString());
            writer.flush();
            
            BufferedReader reader = new BufferedReader(
            	new InputStreamReader(conn.getInputStream()));
            String line;
            StringBuilder sb = new StringBuilder();
            while((line = reader.readLine()) != null){
            	sb.append(line);
            }
            System.out.println(sb.toString());
            writer.close();
            reader.close();
        }
        catch(Exception ex){
            ex.printStackTrace();
        }
    }
    
}
import java.io.*; import java.net.*; import java.util.*; public class Program{ public static void main(String[] args) { try{ URL url = new URL("https://api.merchantwarrior.com/post/"); Map params = new LinkedHashMap<>(); params.put("method", "queryDD"); params.put("merchantUUID", "5265f8eed6a19"); params.put("apiKey", "ksmnwxab"); params.put("transactionID", "1336-d2b4ccfc-b612-11e6-b9c3-005056b209e0"); params.put("hash", "b55552ff426d7e3d4885465d27ea0062"); StringBuilder postData = new StringBuilder(); for (Map.Entry param : params.entrySet()) { if (postData.length() != 0) postData.append('&'); postData.append(param.getKey()); postData.append('='); postData.append(param.getValue()); } HttpURLConnection conn = (HttpURLConnection)url.openConnection(); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); conn.setDoOutput(true); OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream()); writer.write(postData.toString()); writer.flush(); BufferedReader reader = new BufferedReader( new InputStreamReader(conn.getInputStream())); String line; StringBuilder sb = new StringBuilder(); while((line = reader.readLine()) != null){ sb.append(line); } System.out.println(sb.toString()); writer.close(); reader.close(); } catch(Exception ex){ ex.printStackTrace(); } } }
Copy
<?xml version="1.0"?>
<mwResponse>
  <responseCode>10</responseCode>
  <responseMessage>Transaction pending</responseMessage>
  <transactionID>1336-d2b4ccfc-b612-11e6-b9c3-005056b209e0</transactionID>
  <settlementDate/>
  <custom1/>
  <custom2/>
  <custom3/>
  <customHash>9e71fc2a99a71b722ead746b776b25ac</customHash>
</mwResponse>
10 Transaction pending 1336-d2b4ccfc-b612-11e6-b9c3-005056b209e0 9e71fc2a99a71b722ead746b776b25ac
{
    "responseCode": "10",
    "responseMessage": "Transaction pending",
    "transactionID": "1336-d2b4ccfc-b612-11e6-b9c3-005056b209e0",
    "settlementDate": [],
    "custom1": [],
    "custom2": [],
    "custom3": [],
    "customHash": "9e71fc2a99a71b722ead746b776b25ac"
}
{ "responseCode": "10", "responseMessage": "Transaction pending", "transactionID": "1336-d2b4ccfc-b612-11e6-b9c3-005056b209e0", "settlementDate": [], "custom1": [], "custom2": [], "custom3": [], "customHash": "9e71fc2a99a71b722ead746b776b25ac" }
queryBIN


The queryBIN method is used to determine the banking information (Bank Name, Card Type, Card Country etc) related to a credit/debit card's Bank Identification Number (BIN).

Required Parameters

Parameter Description
method

This field is case sensitive.
Example: queryBIN

merchantUUID

The value of this parameter is provided to you by Merchant Warrior.
Example: 123456789abcd

apiKey

The value of this parameter is provided to you by Merchant Warrior.
Example: 1a3b5c

bin

The six digit BIN of the credit/debit card.
Example: 512346

binHash

The verification hash is a combination of the MD5 of your API Passphrase, and specific parameters sent in the transaction. See BIN Hash for information on how to construct the hash correctly.
Example: e9ddc296b76b3398934bfc06239073df
Valid length: 32 characters

Copy
  curl -X POST \
  -d method="queryBIN" \
  -d merchantUUID="5265f8eed6a19" \
  -d apiKey="ksmnwxab" \
  -d bin="512346" \
  -d binHash="6e3c0ac9fef871a7c43ef5f0e63d6a6b" https://api.merchantwarrior.com/post/
curl -X POST -d method="queryBIN" -d merchantUUID="5265f8eed6a19" -d apiKey="ksmnwxab" -d bin="512346" -d binHash="6e3c0ac9fef871a7c43ef5f0e63d6a6b" https://api.merchantwarrior.com/post/
require 'net/http'
require 'uri'

uri = URI.parse("https://api.merchantwarrior.com/post/")
request = Net::HTTP::Post.new(uri)
request.set_form_data(
  'method' => 'queryBIN',
  'merchantUUID' => '5265f8eed6a19',
  'apiKey' => 'ksmnwxab',
  'bin' => '512346',
  'binHash' => '6e3c0ac9fef871a7c43ef5f0e63d6a6b'
)

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http|
  http.request(request)
end

puts response.body
require 'net/http' require 'uri' uri = URI.parse("https://api.merchantwarrior.com/post/") request = Net::HTTP::Post.new(uri) request.set_form_data( 'method' => 'queryBIN', 'merchantUUID' => '5265f8eed6a19', 'apiKey' => 'ksmnwxab', 'bin' => '512346', 'binHash' => '6e3c0ac9fef871a7c43ef5f0e63d6a6b' ) response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http| http.request(request) end puts response.body
import requests

data = {
  'method' : 'queryBIN',
  'merchantUUID' : '5265f8eed6a19',
  'apiKey' : 'ksmnwxab',
  'bin' : '512346',
  'binHash' : '6e3c0ac9fef871a7c43ef5f0e63d6a6b'
}

r = requests.post('https://api.merchantwarrior.com/post/', data = data)

print(r.text)
import requests data = { 'method' : 'queryBIN', 'merchantUUID' : '5265f8eed6a19', 'apiKey' : 'ksmnwxab', 'bin' : '512346', 'binHash' : '6e3c0ac9fef871a7c43ef5f0e63d6a6b' } r = requests.post('https://api.merchantwarrior.com/post/', data = data) print(r.text)
<?php
// Setup the POST url
define('MW_API_ENDPOINT', 'https://api.merchantwarrior.com/post/');

// Setup POST data
$postData = array (
  'method' => 'queryBIN',
  'merchantUUID' => '5265f8eed6a19',
  'apiKey' => 'ksmnwxab',
  'bin' => '512346',
  'binHash' => '6e3c0ac9fef871a7c43ef5f0e63d6a6b'
);

// Setup CURL defaults
$curl = curl_init();

// Setup CURL params for this request
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_URL, MW_API_ENDPOINT);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData, '', '&'));

// Run CURL
$response = curl_exec($curl);
$error = curl_error($curl);

// Check for CURL errors
if (isset($error) && strlen($error)) {
  throw new Exception("CURL Error: {$error}");
}

// Parse the XML
$xml = simplexml_load_string($response);

// Convert the result from a SimpleXMLObject into an array
$xml = (array)$xml;

// Validate the response - the only successful code is 0
$status = ((int)$xml['responseCode'] === 0) ? true : false;

// Make the response a little more useable
$result = array (
  'status' => $status, 
  'bin' => (isset($xml['bin']) ? $xml['bin'] : null),
  'responseData' => $xml
);

exit(var_dump($result));
?>
'queryBIN', 'merchantUUID' => '5265f8eed6a19', 'apiKey' => 'ksmnwxab', 'bin' => '512346', 'binHash' => '6e3c0ac9fef871a7c43ef5f0e63d6a6b' ); // Setup CURL defaults $curl = curl_init(); // Setup CURL params for this request curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_URL, MW_API_ENDPOINT); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData, '', '&')); // Run CURL $response = curl_exec($curl); $error = curl_error($curl); // Check for CURL errors if (isset($error) && strlen($error)) { throw new Exception("CURL Error: {$error}"); } // Parse the XML $xml = simplexml_load_string($response); // Convert the result from a SimpleXMLObject into an array $xml = (array)$xml; // Validate the response - the only successful code is 0 $status = ((int)$xml['responseCode'] === 0) ? true : false; // Make the response a little more useable $result = array ( 'status' => $status, 'bin' => (isset($xml['bin']) ? $xml['bin'] : null), 'responseData' => $xml ); exit(var_dump($result)); ?>
using System;
using System.Collections.Generic;
using System.Linq;

public class Program {
    public static void Main(string[] args) {
        using(var client = new System.Net.WebClient()) {
            byte[] response = client.UploadValues("https://api.merchantwarrior.com/post/", 
                    new System.Collections.Specialized.NameValueCollection() {
                        { "method", "queryBIN" },
                        { "merchantUUID", "578dd399d2373" },
                        { "apiKey", "dyqxkzse" },
                        { "bin", "512346" },                        
                        { "binHash", "d0fb5716a2b85c743ed802bd5bd7284b" },
                    });
            String result = System.Text.Encoding.Default.GetString(response);
            Console.WriteLine(result);
		    }
    }
}
using System; using System.Collections.Generic; using System.Linq; public class Program { public static void Main(string[] args) { using(var client = new System.Net.WebClient()) { byte[] response = client.UploadValues("https://api.merchantwarrior.com/post/", new System.Collections.Specialized.NameValueCollection() { { "method", "queryBIN" }, { "merchantUUID", "578dd399d2373" }, { "apiKey", "dyqxkzse" }, { "bin", "512346" }, { "binHash", "d0fb5716a2b85c743ed802bd5bd7284b" }, }); String result = System.Text.Encoding.Default.GetString(response); Console.WriteLine(result); } } }
Imports System
Imports System.Collections.Generic
Imports System.Linq

Public Module Program
    Public Sub Main(args As String())
        Using client = New System.Net.WebClient()
            Dim response As Byte() = client.UploadValues(
            "https://api.merchantwarrior.com/post/", 
            New System.Collections.Specialized.NameValueCollection() From { _
                {"method", "queryBIN"}, _
                {"merchantUUID", "578dd399d2373"}, _
                {"apiKey", "dyqxkzse"}, _
                {"bin", "512346"}, _
                {"binHash", "d0fb5716a2b85c743ed802bd5bd7284b"} _
            })
            Dim result As [String] = System.Text.Encoding.[Default].GetString(response)
            Console.WriteLine(result)
        End Using
    End Sub
End Module
Imports System Imports System.Collections.Generic Imports System.Linq Public Module Program Public Sub Main(args As String()) Using client = New System.Net.WebClient() Dim response As Byte() = client.UploadValues( "https://api.merchantwarrior.com/post/", New System.Collections.Specialized.NameValueCollection() From { _ {"method", "queryBIN"}, _ {"merchantUUID", "578dd399d2373"}, _ {"apiKey", "dyqxkzse"}, _ {"bin", "512346"}, _ {"binHash", "d0fb5716a2b85c743ed802bd5bd7284b"} _ }) Dim result As [String] = System.Text.Encoding.[Default].GetString(response) Console.WriteLine(result) End Using End Sub End Module
import java.io.*;
import java.net.*;
import java.util.*;

public class Program{

    public static void main(String[] args) {
        try{
            URL url = new URL("https://api.merchantwarrior.com/post/");
            Map<String, String> params = new LinkedHashMap<>();
            params.put("method", "queryBIN");
            params.put("merchantUUID", "5265f8eed6a19");
            params.put("apiKey", "ksmnwxab");
            params.put("bin", "512346");
            params.put("binHash", "b55552ff426d7e3d4885465d27ea0062");
            
            StringBuilder postData = new StringBuilder();
            for (Map.Entry<String, String> param : params.entrySet()) {
              if (postData.length() != 0) 
                  postData.append('&');
                  postData.append(param.getKey());
                  postData.append('=');
                  postData.append(param.getValue());
            }
            HttpURLConnection conn = (HttpURLConnection)url.openConnection();
            conn.setRequestMethod("POST");
            conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
            conn.setDoOutput(true);
            
            OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());
            writer.write(postData.toString());
            writer.flush();
            
            BufferedReader reader = new BufferedReader(
            	new InputStreamReader(conn.getInputStream()));
            String line;
            StringBuilder sb = new StringBuilder();
            while((line = reader.readLine()) != null){
            	sb.append(line);
            }
            System.out.println(sb.toString());
            writer.close();
            reader.close();
        }
        catch(Exception ex){
            ex.printStackTrace();
        }
    }
    
}
import java.io.*; import java.net.*; import java.util.*; public class Program{ public static void main(String[] args) { try{ URL url = new URL("https://api.merchantwarrior.com/post/"); Map params = new LinkedHashMap<>(); params.put("method", "queryBIN"); params.put("merchantUUID", "5265f8eed6a19"); params.put("apiKey", "ksmnwxab"); params.put("bin", "512346"); params.put("binHash", "b55552ff426d7e3d4885465d27ea0062"); StringBuilder postData = new StringBuilder(); for (Map.Entry param : params.entrySet()) { if (postData.length() != 0) postData.append('&'); postData.append(param.getKey()); postData.append('='); postData.append(param.getValue()); } HttpURLConnection conn = (HttpURLConnection)url.openConnection(); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); conn.setDoOutput(true); OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream()); writer.write(postData.toString()); writer.flush(); BufferedReader reader = new BufferedReader( new InputStreamReader(conn.getInputStream())); String line; StringBuilder sb = new StringBuilder(); while((line = reader.readLine()) != null){ sb.append(line); } System.out.println(sb.toString()); writer.close(); reader.close(); } catch(Exception ex){ ex.printStackTrace(); } } }
Copy
<?xml version="1.0"?>
<mwResponse>
  <rate/>
  <recurring_rate/>
  <responseMessage>Operation successful</responseMessage>
  <bin>456442</bin>
  <brand>VISA</brand>
  <name>CLASSIC</name>
  <responseCode>0</responseCode>
  <bank_name>COMMONWEALTH BANK OF AUSTRALIA</bank_name>
  <country>AU</country>
  <type>CREDIT</type>
</mwResponse>
Operation successful 456442 VISA CLASSIC 0 COMMONWEALTH BANK OF AUSTRALIA AU CREDIT
{
    "rate": [],
    "recurring_rate": [],
    "responseMessage": "Operation successful",
    "bin": "456442",
    "brand": "VISA",
    "name": "CLASSIC",
    "responseCode": "0",
    "bank_name": "COMMONWEALTH BANK OF AUSTRALIA",
    "country": "AU",
    "type": "CREDIT"
}
{ "rate": [], "recurring_rate": [], "responseMessage": "Operation successful", "bin": "456442", "brand": "VISA", "name": "CLASSIC", "responseCode": "0", "bank_name": "COMMONWEALTH BANK OF AUSTRALIA", "country": "AU", "type": "CREDIT" }
getSettlement


The getSettlement method will return a compressed Zip archive that contains a CSV file with a list of transactions that have settled between the dates specified in the request.

Required Parameters

Parameter Description
method

This field is case sensitive.
Example: getSettlement

merchantUUID

The value of this parameter is provided to you by Merchant Warrior.
Example: 123456789abcd

apiKey

The value of this parameter is provided to you by Merchant Warrior.
Example: 1a3b5c

settlementFrom

The settlement start range date. This parameter cannot be greater than the settlementTo parameter.
Example: 2017-05-01

settlementTo

The settlement end range date. The parameter cannot be a future date. The maximum value for this parameter is today's date.
Example: 2017-05-02

hash

The verification hash is a combination of the MD5 of your API Passphrase, and specific parameters sent in the transaction. See Settlement Type Hash for information on how to construct the hash correctly.
Example: f7a04ace7b0c5bf8f24a49bfc73d3805
Valid length: 32 characters

Copy
  curl -X POST \
  -d method="getSettlement" \
  -d merchantUUID="5265f8eed6a19" \
  -d apiKey="ksmnwxab" \
  -d settlementFrom="2017-05-01" \
  -d settlementTo="2017-05-02" \
  -d hash="11b6a860e5bdf0bd91a503b42346ee1d" https://api.merchantwarrior.com/post/
curl -X POST -d method="getSettlement" -d merchantUUID="5265f8eed6a19" -d apiKey="ksmnwxab" -d settlementFrom="2017-05-01" -d settlementTo="2017-05-02" -d hash="11b6a860e5bdf0bd91a503b42346ee1d" https://api.merchantwarrior.com/post/
using System;
using System.Collections.Generic;
using System.Linq;

public class Program {
    public static void Main(string[] args) {
        using(var client = new System.Net.WebClient()) {
            byte[] response = client.UploadValues("https://api.merchantwarrior.com/post/", 
                    new System.Collections.Specialized.NameValueCollection() {
                        { "method", "getSettlement" },
                        { "merchantUUID", "578dd399d2373" },
                        { "apiKey", "dyqxkzse" },
                        { "settlementFrom", "2017-05-01" }, 
                        { "settlementTo", "2017-05-02" },                     
                        { "hash", "d0fb5716a2b85c743ed802bd5bd7284b" },
                    });
            String result = System.Text.Encoding.Default.GetString(response);
            Console.WriteLine(result);
        }
    }
}
using System; using System.Collections.Generic; using System.Linq; public class Program { public static void Main(string[] args) { using(var client = new System.Net.WebClient()) { byte[] response = client.UploadValues("https://api.merchantwarrior.com/post/", new System.Collections.Specialized.NameValueCollection() { { "method", "getSettlement" }, { "merchantUUID", "578dd399d2373" }, { "apiKey", "dyqxkzse" }, { "settlementFrom", "2017-05-01" }, { "settlementTo", "2017-05-02" }, { "hash", "d0fb5716a2b85c743ed802bd5bd7284b" }, }); String result = System.Text.Encoding.Default.GetString(response); Console.WriteLine(result); } } }
Imports System
Imports System.Collections.Generic
Imports System.Linq

Public Module Program
    Public Sub Main(args As String())
        Using client = New System.Net.WebClient()
            Dim response As Byte() = client.UploadValues(
            "https://api.merchantwarrior.com/post/", 
            New System.Collections.Specialized.NameValueCollection() From { _
                {"method", "getSettlement"}, _
                {"merchantUUID", "578dd399d2373"}, _
                {"apiKey", "dyqxkzse"}, _
                {"settlementFrom", "2017-05-01"},
                {"settlementTo", "2017-05-02"}, _
                {"hash", "d0fb5716a2b85c743ed802bd5bd7284b"} _
            })
            Dim result As [String] = System.Text.Encoding.[Default].GetString(response)
            Console.WriteLine(result)
        End Using
    End Sub
End Module
Imports System Imports System.Collections.Generic Imports System.Linq Public Module Program Public Sub Main(args As String()) Using client = New System.Net.WebClient() Dim response As Byte() = client.UploadValues( "https://api.merchantwarrior.com/post/", New System.Collections.Specialized.NameValueCollection() From { _ {"method", "getSettlement"}, _ {"merchantUUID", "578dd399d2373"}, _ {"apiKey", "dyqxkzse"}, _ {"settlementFrom", "2017-05-01"}, {"settlementTo", "2017-05-02"}, _ {"hash", "d0fb5716a2b85c743ed802bd5bd7284b"} _ }) Dim result As [String] = System.Text.Encoding.[Default].GetString(response) Console.WriteLine(result) End Using End Sub End Module
import java.io.*;
import java.net.*;
import java.util.*;

public class Program{

    public static void main(String[] args) {
        try{
            URL url = new URL("https://api.merchantwarrior.com/post/");
            Map<String, String> params = new LinkedHashMap<>();
            params.put("method", "getSettlement");
            params.put("merchantUUID", "5265f8eed6a19");
            params.put("apiKey", "ksmnwxab");
            params.put("settlementFrom", "2017-05-01");
            params.put("settlementTo", "2017-05-02");           
            params.put("hash", "b55552ff426d7e3d4885465d27ea0062");
            
            StringBuilder postData = new StringBuilder();
            for (Map.Entry<String, String> param : params.entrySet()) {
              if (postData.length() != 0) 
                postData.append('&');
                postData.append(param.getKey());
                postData.append('=');
                postData.append(param.getValue());
            }
            HttpURLConnection conn = (HttpURLConnection)url.openConnection();
            conn.setRequestMethod("POST");
            conn.setRequestProperty("Content-Type", 
              "application/x-www-form-urlencoded");
            conn.setDoOutput(true);
            
            OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());
            writer.write(postData.toString());
            writer.flush();
            
            BufferedReader reader = new BufferedReader(
              new InputStreamReader(conn.getInputStream()));
            String line;
            StringBuilder sb = new StringBuilder();
            while((line = reader.readLine()) != null){
              sb.append(line);
            }
            System.out.println(sb.toString());
            writer.close();
            reader.close();
        }
        catch(Exception ex){
            ex.printStackTrace();
        }
    }
    
}
import java.io.*; import java.net.*; import java.util.*; public class Program{ public static void main(String[] args) { try{ URL url = new URL("https://api.merchantwarrior.com/post/"); Map params = new LinkedHashMap<>(); params.put("method", "getSettlement"); params.put("merchantUUID", "5265f8eed6a19"); params.put("apiKey", "ksmnwxab"); params.put("settlementFrom", "2017-05-01"); params.put("settlementTo", "2017-05-02"); params.put("hash", "b55552ff426d7e3d4885465d27ea0062"); StringBuilder postData = new StringBuilder(); for (Map.Entry param : params.entrySet()) { if (postData.length() != 0) postData.append('&'); postData.append(param.getKey()); postData.append('='); postData.append(param.getValue()); } HttpURLConnection conn = (HttpURLConnection)url.openConnection(); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); conn.setDoOutput(true); OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream()); writer.write(postData.toString()); writer.flush(); BufferedReader reader = new BufferedReader( new InputStreamReader(conn.getInputStream())); String line; StringBuilder sb = new StringBuilder(); while((line = reader.readLine()) != null){ sb.append(line); } System.out.println(sb.toString()); writer.close(); reader.close(); } catch(Exception ex){ ex.printStackTrace(); } } }
require 'net/http'
require 'uri'

uri = URI.parse("https://api.merchantwarrior.com/post/")
request = Net::HTTP::Post.new(uri)
request.set_form_data(
  'method' => 'getSettlement',
  'merchantUUID' => '5265f8eed6a19',
  'apiKey' => 'ksmnwxab',
  'settlementFrom' => '2017-05-01',
  'settlementTo' => '2017-05-02',
  'hash' => '11b6a860e5bdf0bd91a503b42346ee1d'
)

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http|
  http.request(request)
end

puts response.body
require 'net/http' require 'uri' uri = URI.parse("https://api.merchantwarrior.com/post/") request = Net::HTTP::Post.new(uri) request.set_form_data( 'method' => 'getSettlement', 'merchantUUID' => '5265f8eed6a19', 'apiKey' => 'ksmnwxab', 'settlementFrom' => '2017-05-01', 'settlementTo' => '2017-05-02', 'hash' => '11b6a860e5bdf0bd91a503b42346ee1d' ) response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http| http.request(request) end puts response.body
import requests

data = {
  'method' : 'getSettlement',
  'merchantUUID' : '5265f8eed6a19',
  'apiKey' : 'ksmnwxab',
  'settlementFrom' : '2017-05-01',
  'settlementTo' : '2017-05-02',
  'hash' : '11b6a860e5bdf0bd91a503b42346ee1d'
}

r = requests.post('https://api.merchantwarrior.com/post/', data = data)

print(r.text)
import requests data = { 'method' : 'getSettlement', 'merchantUUID' : '5265f8eed6a19', 'apiKey' : 'ksmnwxab', 'settlementFrom' : '2017-05-01', 'settlementTo' : '2017-05-02', 'hash' : '11b6a860e5bdf0bd91a503b42346ee1d' } r = requests.post('https://api.merchantwarrior.com/post/', data = data) print(r.text)
<?php
// Setup the POST url
define('MW_API_ENDPOINT', 'https://api.merchantwarrior.com/post/');

// Setup POST data
$postData = array (
  'method' => 'getSettlement',
  'merchantUUID' => '5265f8eed6a19',
  'apiKey' => 'ksmnwxab',
  'settlementFrom' => '2017-04-25',
  'settlementTo' => '2017-04-30',
  'hash' => '11b6a860e5bdf0bd91a503b42346ee1d'
);


// Setup CURL defaults
$curl = curl_init();

$tmpFile = '/tmp/settlement.zip';
$tmpZip = fopen($tmpFile, 'w+');

// Setup CURL params for this request
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_URL, MW_API_ENDPOINT);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_FILE, $tmpZip);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData, '', '&'));

// Run CURL
$response = curl_exec($curl);
$error = curl_error($curl);

// Check for CURL errors
if (isset($error) && strlen($error)) {
  throw new Exception("CURL Error: {$error}");
}

curl_close($curl);
fclose($tmpZip);

// Example of outputting Zip contents

$zip = zip_open($tmpFile);

if ($zip)
  {
  while ($zip_entry = zip_read($zip))
    {
    echo "Filename: " . zip_entry_name($zip_entry) . "\n\n";

    if (zip_entry_open($zip, $zip_entry))
      {
      $contents = zip_entry_read($zip_entry);
      echo "$contents\n\n";
      zip_entry_close($zip_entry);
      }
  }

zip_close($zip);

// Delete zip file when finished with it
unlink($tmpFile);
}

?>
'getSettlement', 'merchantUUID' => '5265f8eed6a19', 'apiKey' => 'ksmnwxab', 'settlementFrom' => '2017-04-25', 'settlementTo' => '2017-04-30', 'hash' => '11b6a860e5bdf0bd91a503b42346ee1d' ); // Setup CURL defaults $curl = curl_init(); $tmpFile = '/tmp/settlement.zip'; $tmpZip = fopen($tmpFile, 'w+'); // Setup CURL params for this request curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_URL, MW_API_ENDPOINT); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_FILE, $tmpZip); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData, '', '&')); // Run CURL $response = curl_exec($curl); $error = curl_error($curl); // Check for CURL errors if (isset($error) && strlen($error)) { throw new Exception("CURL Error: {$error}"); } curl_close($curl); fclose($tmpZip); // Example of outputting Zip contents $zip = zip_open($tmpFile); if ($zip) { while ($zip_entry = zip_read($zip)) { echo "Filename: " . zip_entry_name($zip_entry) . "\n\n"; if (zip_entry_open($zip, $zip_entry)) { $contents = zip_entry_read($zip_entry); echo "$contents\n\n"; zip_entry_close($zip_entry); } } zip_close($zip); // Delete zip file when finished with it unlink($tmpFile); } ?>
Copy
<?xml version="1.0"?>
<mwResponse/>
[]
[]
checkEnrollment

The checkEnrollment method is the method used to initiate a 3DS authentication

Required Parameters

Parameter Description
method

This field is case sensitive.
Example: checkEnrollment

merchantUUID

The value of this parameter is provided to you by Merchant Warrior.
Example: 123456789abcd

apiKey

The value of this parameter is provided to you by Merchant Warrior.
Example: 1a3b5c

transactionAmount

The amount must be formatted to have two decimal places. Any amounts without two decimal places or amounts less than one cent will be rejected.
Example: 10.00

transactionCurrency

One of the following: AUD, CAD, EUR, GBP, JPY, NZD, SGD, USD. This is provider dependant. Please check with MW before attempting to process transactions in any currency other than AUD. This field is case insensitive.
Example: AUD

transactionProduct

A product (or sale) id or description. We recommend using an order/product id. This field’s primary purpose is to help the transaction be identifiable for reporting and accounting purposes.
Example: ABC4321
Valid length: Up to 255 characters. Some Acquirers limit this field to 40 characters.

paymentCardNumber

Only certain card numbers are deemed valid in the test environment. See Test Data for more information. Do not send separators with the card number (e.g. 1234-5678… or 1234 5678).
Example: 5123456789012346 or 4557012345678902
Valid length: Between 13 and 16 digits

paymentCardExpiry

This must be MMYY format. The month must be zero padded if it is less than 10.
Example: 0513
Valid length: 4 digits

paymentCardName

This must contain at the very least a space and no less than two characters. Only alphanumeric characters, hyphens, spaces and full stops are allowed.
Example: Mr. Example Person or MR E PERSON or Example Person
Valid length: Between 3 and 255 characters

hash

The verification hash is a combination of the MD5 of your API Passphrase, and specific parameters sent in the transaction. See Transaction Type Hash for information on how to construct the hash correctly.
Example: e9ddc296b76b3398934bfc06239073df
Valid length: 32 characters

Optional Parameters

Parameter Description
customerIP

Any valid IPv4 or IPv6 address is accepted. Sending this optional parameter is highly recommended.
Example: 123.456.789.012 or 2001:0db8:85a3:0000:0000:8a2e:0370:7334
Valid length: Up to 39 characters

paymentCardCSC

This is also known as the CVN or CVV/2. This is required by some Acquirers if the transaction is initiated by the customer. Please contact Merchant Warrior for more information.
Example: 123
Valid length: Between 3 and 4 characters

Copy
curl -X POST \ 
	-d method="checkEnrollment" \
	-d merchantUUID="5265f8eed6a19" \
	-d apiKey="ksmnwxab" \
	-d transactionAmount="1.00" \
	-d transactionCurrency="AUD" \
	-d transactionProduct="Test Product" \	
	-d customerIP="1.1.1.1" \
	-d paymentCardName="Test Customer" \
	-d paymentCardNumber="5123456789012346" \
	-d paymentCardExpiry="0521" \
	-d hash="b55552ff426d7e3d4885465d27ea0062" https://api.merchantwarrior.com/post/
curl -X POST -d method="checkEnrollment" -d merchantUUID="5265f8eed6a19" -d apiKey="ksmnwxab" -d transactionAmount="1.00" -d transactionCurrency="AUD" -d transactionProduct="Test Product" -d customerIP="1.1.1.1" -d paymentCardName="Test Customer" -d paymentCardNumber="5123456789012346" -d paymentCardExpiry="0521" -d hash="b55552ff426d7e3d4885465d27ea0062" https://api.merchantwarrior.com/post/
require 'net/http'
require 'uri'

uri = URI.parse("https://api.merchantwarrior.com/post/")
request = Net::HTTP::Post.new(uri)
request.set_form_data(
  'method' => 'checkEnrollment',
  'merchantUUID' => '5265f8eed6a19',
  'apiKey' => 'ksmnwxab',
  'transactionAmount' => '1.00',
  'transactionCurrency' => 'AUD',
  'transactionProduct' => 'Test Product',
  'customerIP' => '1.1.1.1',
  'paymentCardName' => 'Test Customer',
  'paymentCardNumber' => '5123456789012346',
  'paymentCardExpiry' => '0521',
  'hash' => 'b55552ff426d7e3d4885465d27ea0062'
)

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http|
  http.request(request)
end

puts response.body
require 'net/http' require 'uri' uri = URI.parse("https://api.merchantwarrior.com/post/") request = Net::HTTP::Post.new(uri) request.set_form_data( 'method' => 'checkEnrollment', 'merchantUUID' => '5265f8eed6a19', 'apiKey' => 'ksmnwxab', 'transactionAmount' => '1.00', 'transactionCurrency' => 'AUD', 'transactionProduct' => 'Test Product', 'customerIP' => '1.1.1.1', 'paymentCardName' => 'Test Customer', 'paymentCardNumber' => '5123456789012346', 'paymentCardExpiry' => '0521', 'hash' => 'b55552ff426d7e3d4885465d27ea0062' ) response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http| http.request(request) end puts response.body
import requests

data = {
  'method': 'checkEnrollment',
  'merchantUUID': '5265f8eed6a19',
  'apiKey': 'ksmnwxab',
  'transactionAmount': '1.00',
  'transactionCurrency': 'AUD',
  'transactionProduct': 'Test Product',
  'customerIP': '1.1.1.1',
  'paymentCardName': 'Test Customer',
  'paymentCardNumber': '5123456789012346',
  'paymentCardExpiry': '0521',
  'hash': 'b55552ff426d7e3d4885465d27ea0062'
}

r = requests.post('https://api.merchantwarrior.com/post/', data = data)

print(r.text)
import requests data = { 'method': 'checkEnrollment', 'merchantUUID': '5265f8eed6a19', 'apiKey': 'ksmnwxab', 'transactionAmount': '1.00', 'transactionCurrency': 'AUD', 'transactionProduct': 'Test Product', 'customerIP': '1.1.1.1', 'paymentCardName': 'Test Customer', 'paymentCardNumber': '5123456789012346', 'paymentCardExpiry': '0521', 'hash': 'b55552ff426d7e3d4885465d27ea0062' } r = requests.post('https://api.merchantwarrior.com/post/', data = data) print(r.text)
<?php
// Setup the POST url
define('MW_API_ENDPOINT', 'https://api.merchantwarrior.com/post/');

// Setup POST data
$postData = array (
  'method' => 'checkEnrollment',
  'merchantUUID' => '5265f8eed6a19',
  'apiKey' => 'ksmnwxab',
  'transactionAmount' => '1.00',
  'transactionCurrency' => 'AUD',
  'transactionProduct' => 'Test Product',
  'customerIP' => '1.1.1.1',
  'paymentCardName' => 'Test Customer',
  'paymentCardNumber' => '5123456789012346',
  'paymentCardExpiry' => '0521',
  'hash' => 'b55552ff426d7e3d4885465d27ea0062'
);

// Setup CURL defaults
$curl = curl_init();

// Setup CURL params for this request
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_URL, MW_API_ENDPOINT);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData, '', '&'));

// Run CURL
$response = curl_exec($curl);
$error = curl_error($curl);

// Check for CURL errors
if (isset($error) && strlen($error)) {
	throw new Exception("CURL Error: {$error}");
}

// Parse the XML
$xml = simplexml_load_string($response);

// Convert the result from a SimpleXMLObject into an array
$xml = (array)$xml;

// Validate the response - the only successful code is 0
$status = ((int)$xml['responseCode'] === 0) ? true : false;

// Make the response a little more useable
$result = array (
  'status' => $status, 
  'transactionID' => (isset($xml['transactionID']) ? $xml['transactionID'] : null),
  'responseData' => $xml
);

exit(var_dump($result));
?>
'checkEnrollment', 'merchantUUID' => '5265f8eed6a19', 'apiKey' => 'ksmnwxab', 'transactionAmount' => '1.00', 'transactionCurrency' => 'AUD', 'transactionProduct' => 'Test Product', 'customerIP' => '1.1.1.1', 'paymentCardName' => 'Test Customer', 'paymentCardNumber' => '5123456789012346', 'paymentCardExpiry' => '0521', 'hash' => 'b55552ff426d7e3d4885465d27ea0062' ); // Setup CURL defaults $curl = curl_init(); // Setup CURL params for this request curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_URL, MW_API_ENDPOINT); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData, '', '&')); // Run CURL $response = curl_exec($curl); $error = curl_error($curl); // Check for CURL errors if (isset($error) && strlen($error)) { throw new Exception("CURL Error: {$error}"); } // Parse the XML $xml = simplexml_load_string($response); // Convert the result from a SimpleXMLObject into an array $xml = (array)$xml; // Validate the response - the only successful code is 0 $status = ((int)$xml['responseCode'] === 0) ? true : false; // Make the response a little more useable $result = array ( 'status' => $status, 'transactionID' => (isset($xml['transactionID']) ? $xml['transactionID'] : null), 'responseData' => $xml ); exit(var_dump($result)); ?>
using System;
using System.Collections.Generic;
using System.Linq;

public class Program {
    public static void Main(string[] args) {
        using(var client = new System.Net.WebClient()) {
            byte[] response = client.UploadValues("https://api.merchantwarrior.com/post/", 
                    new System.Collections.Specialized.NameValueCollection() {
                        { "method", "checkEnrollment" },
                        { "merchantUUID", "578dd399d2373" },
                        { "apiKey", "dyqxkzse" },
                        { "transactionAmount", "1.00" },
                        { "transactionCurrency", "AUD" },
                        { "transactionProduct", "Test Product" },                       
                        { "customerIP", "1.1.1.1" },
                        { "paymentCardName", "Test Customer" },
                        { "paymentCardNumber", "5123456789012346" },
                        { "paymentCardExpiry", "0521" },
                        { "hash", "d0fb5716a2b85c743ed802bd5bd7284b" },
                    });
            String result = System.Text.Encoding.Default.GetString(response);
            Console.WriteLine(result);
        }
    }
}
using System; using System.Collections.Generic; using System.Linq; public class Program { public static void Main(string[] args) { using(var client = new System.Net.WebClient()) { byte[] response = client.UploadValues("https://api.merchantwarrior.com/post/", new System.Collections.Specialized.NameValueCollection() { { "method", "checkEnrollment" }, { "merchantUUID", "578dd399d2373" }, { "apiKey", "dyqxkzse" }, { "transactionAmount", "1.00" }, { "transactionCurrency", "AUD" }, { "transactionProduct", "Test Product" }, { "customerIP", "1.1.1.1" }, { "paymentCardName", "Test Customer" }, { "paymentCardNumber", "5123456789012346" }, { "paymentCardExpiry", "0521" }, { "hash", "d0fb5716a2b85c743ed802bd5bd7284b" }, }); String result = System.Text.Encoding.Default.GetString(response); Console.WriteLine(result); } } }
Imports System
Imports System.Collections.Generic
Imports System.Linq

Public Module Program
    Public Sub Main(args As String())
        Using client = New System.Net.WebClient()
            Dim response As Byte() = client.UploadValues(
            "https://api.merchantwarrior.com/post/", 
            New System.Collections.Specialized.NameValueCollection() From { _
                {"method", "checkEnrollment"}, _
                {"merchantUUID", "578dd399d2373"}, _
                {"apiKey", "dyqxkzse"}, _
                {"transactionAmount", "1.00"}, _
                {"transactionCurrency", "AUD"}, _
                {"transactionProduct", "Test Product"}, _                
                {"customerIP", "1.1.1.1"}, _
                {"paymentCardName", "Test Customer"}, _
                {"paymentCardNumber", "5123456789012346"}, _
                {"paymentCardExpiry", "0521"}, _
                {"hash", "d0fb5716a2b85c743ed802bd5bd7284b"} _
            })
            Dim result As [String] = System.Text.Encoding.[Default].GetString(response)
            Console.WriteLine(result)
        End Using
    End Sub
End Module
Imports System Imports System.Collections.Generic Imports System.Linq Public Module Program Public Sub Main(args As String()) Using client = New System.Net.WebClient() Dim response As Byte() = client.UploadValues( "https://api.merchantwarrior.com/post/", New System.Collections.Specialized.NameValueCollection() From { _ {"method", "checkEnrollment"}, _ {"merchantUUID", "578dd399d2373"}, _ {"apiKey", "dyqxkzse"}, _ {"transactionAmount", "1.00"}, _ {"transactionCurrency", "AUD"}, _ {"transactionProduct", "Test Product"}, _ {"customerIP", "1.1.1.1"}, _ {"paymentCardName", "Test Customer"}, _ {"paymentCardNumber", "5123456789012346"}, _ {"paymentCardExpiry", "0521"}, _ {"hash", "d0fb5716a2b85c743ed802bd5bd7284b"} _ }) Dim result As [String] = System.Text.Encoding.[Default].GetString(response) Console.WriteLine(result) End Using End Sub End Module
import java.io.*;
import java.net.*;
import java.util.*;

public class Program{

    public static void main(String[] args) {
        try{
            URL url = new URL("https://api.merchantwarrior.com/post/");
            Map<String, String> params = new LinkedHashMap<>();
            params.put("method", "checkEnrollment");
            params.put("merchantUUID", "5265f8eed6a19");
            params.put("apiKey", "ksmnwxab");
            params.put("transactionAmount", "1.00");
            params.put("transactionCurrency", "AUD");
            params.put("transactionProduct", "TestProduct");            
            params.put("customerIP", "1.1.1.1");
            params.put("paymentCardName", "TestCard");
            params.put("paymentCardNumber", "5123456789012346");
            params.put("paymentCardExpiry", "0521");
            params.put("hash", "b55552ff426d7e3d4885465d27ea0062");
            
            StringBuilder postData = new StringBuilder();
            for (Map.Entry<String, String> param : params.entrySet()) {
              if (postData.length() != 0) 
                postData.append('&');
              postData.append(param.getKey());
              postData.append('=');
              postData.append(param.getValue());
            }
            HttpURLConnection conn = (HttpURLConnection)url.openConnection();
            conn.setRequestMethod("POST");
            conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
            conn.setDoOutput(true);
            
            OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());
            writer.write(postData.toString());
            writer.flush();
            
            BufferedReader reader = new BufferedReader(
            	new InputStreamReader(conn.getInputStream()));
            String line;
            StringBuilder sb = new StringBuilder();
            while((line = reader.readLine()) != null){
            	sb.append(line);
            }
            System.out.println(sb.toString());
            writer.close();
            reader.close();
        }
        catch(Exception ex){
            ex.printStackTrace();
        }
    }
    
}
import java.io.*; import java.net.*; import java.util.*; public class Program{ public static void main(String[] args) { try{ URL url = new URL("https://api.merchantwarrior.com/post/"); Map params = new LinkedHashMap<>(); params.put("method", "checkEnrollment"); params.put("merchantUUID", "5265f8eed6a19"); params.put("apiKey", "ksmnwxab"); params.put("transactionAmount", "1.00"); params.put("transactionCurrency", "AUD"); params.put("transactionProduct", "TestProduct"); params.put("customerIP", "1.1.1.1"); params.put("paymentCardName", "TestCard"); params.put("paymentCardNumber", "5123456789012346"); params.put("paymentCardExpiry", "0521"); params.put("hash", "b55552ff426d7e3d4885465d27ea0062"); StringBuilder postData = new StringBuilder(); for (Map.Entry param : params.entrySet()) { if (postData.length() != 0) postData.append('&'); postData.append(param.getKey()); postData.append('='); postData.append(param.getValue()); } HttpURLConnection conn = (HttpURLConnection)url.openConnection(); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); conn.setDoOutput(true); OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream()); writer.write(postData.toString()); writer.flush(); BufferedReader reader = new BufferedReader( new InputStreamReader(conn.getInputStream())); String line; StringBuilder sb = new StringBuilder(); while((line = reader.readLine()) != null){ sb.append(line); } System.out.println(sb.toString()); writer.close(); reader.close(); } catch(Exception ex){ ex.printStackTrace(); } } }
Copy
<?xml version="1.0"?>
<mwResponse>
  <responseCode>0</responseCode>
  <responseMessage>Operation successful</responseMessage>
  <acsURL>https://example.aspx?ReqType=0</acsURL>
  <paReq>eNpVUsFu2zAMvesrchjQ</paReq>
  <enrolled>Y</enrolled>
  <eci>5</eci>
</mwResponse>
0 Operation successful https://example.aspx?ReqType=0 eNpVUsFu2zAMvesrchjQ Y 5
{
    "responseCode": "0",
    "responseMessage": "Operation successful",
    "acsURL": "https:\/\/example.aspx?ReqType=0",
    "paReq": "eNpVUsFu2zAMvesrchjQ",
    "enrolled": "Y",
    "eci": "5"
}
{ "responseCode": "0", "responseMessage": "Operation successful", "acsURL": "https:\/\/example.aspx?ReqType=0", "paReq": "eNpVUsFu2zAMvesrchjQ", "enrolled": "Y", "eci": "5" }
checkPARes

The checkPARes method is the method used to verify a 3DS result

Required Parameters

Parameter Description
method

This field is case sensitive.
Example: checkPARes

merchantUUID

The value of this parameter is provided to you by Merchant Warrior.
Example: 123456789abcd

apiKey

The value of this parameter is provided to you by Merchant Warrior.
Example: 1a3b5c

PARes

The value of this parameter is returned by Customer's issuer bank.
Example: eJzNWVmvm9iy/it

Copy
curl -X POST \ 
	-d method="checkPARes" \
	-d merchantUUID="5265f8eed6a19" \
	-d apiKey="ksmnwxab" \
	-d PARes="eJzNWVmvm9iy/it" https://api.merchantwarrior.com/post/
curl -X POST -d method="checkPARes" -d merchantUUID="5265f8eed6a19" -d apiKey="ksmnwxab" -d PARes="eJzNWVmvm9iy/it" https://api.merchantwarrior.com/post/
require 'net/http'
require 'uri'

uri = URI.parse("https://api.merchantwarrior.com/post/")
request = Net::HTTP::Post.new(uri)
request.set_form_data(
  'method' => 'checkPARes',
  'merchantUUID' => '5265f8eed6a19',
  'apiKey' => 'ksmnwxab',
  'PARes' => 'eJzNWVmvm9iy/it'
)

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http|
  http.request(request)
end

puts response.body
require 'net/http' require 'uri' uri = URI.parse("https://api.merchantwarrior.com/post/") request = Net::HTTP::Post.new(uri) request.set_form_data( 'method' => 'checkPARes', 'merchantUUID' => '5265f8eed6a19', 'apiKey' => 'ksmnwxab', 'PARes' => 'eJzNWVmvm9iy/it' ) response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http| http.request(request) end puts response.body
import requests

data = {
  'method': 'checkPARes',
  'merchantUUID': '5265f8eed6a19',
  'apiKey': 'ksmnwxab',
  'PARes': 'eJzNWVmvm9iy/it'
}

r = requests.post('https://api.merchantwarrior.com/post/', data = data)

print(r.text)
import requests data = { 'method': 'checkPARes', 'merchantUUID': '5265f8eed6a19', 'apiKey': 'ksmnwxab', 'PARes': 'eJzNWVmvm9iy/it' } r = requests.post('https://api.merchantwarrior.com/post/', data = data) print(r.text)
<?php
// Setup the POST url
define('MW_API_ENDPOINT', 'https://api.merchantwarrior.com/post/');

// Setup POST data
$postData = array (
  'method' => 'checkPARes',
  'merchantUUID' => '5265f8eed6a19',
  'apiKey' => 'ksmnwxab',
  'PARes' => 'eJzNWVmvm9iy/it'
);

// Setup CURL defaults
$curl = curl_init();

// Setup CURL params for this request
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_URL, MW_API_ENDPOINT);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData, '', '&'));

// Run CURL
$response = curl_exec($curl);
$error = curl_error($curl);

// Check for CURL errors
if (isset($error) && strlen($error)) {
	throw new Exception("CURL Error: {$error}");
}

// Parse the XML
$xml = simplexml_load_string($response);

// Convert the result from a SimpleXMLObject into an array
$xml = (array)$xml;

// Validate the response - the only successful code is 0
$status = ((int)$xml['responseCode'] === 0) ? true : false;

// Make the response a little more useable
$result = array (
  'status' => $status, 
  'transactionID' => (isset($xml['transactionID']) ? $xml['transactionID'] : null),
  'responseData' => $xml
);

exit(var_dump($result));
?>
'checkPARes', 'merchantUUID' => '5265f8eed6a19', 'apiKey' => 'ksmnwxab', 'PARes' => 'eJzNWVmvm9iy/it' ); // Setup CURL defaults $curl = curl_init(); // Setup CURL params for this request curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_URL, MW_API_ENDPOINT); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData, '', '&')); // Run CURL $response = curl_exec($curl); $error = curl_error($curl); // Check for CURL errors if (isset($error) && strlen($error)) { throw new Exception("CURL Error: {$error}"); } // Parse the XML $xml = simplexml_load_string($response); // Convert the result from a SimpleXMLObject into an array $xml = (array)$xml; // Validate the response - the only successful code is 0 $status = ((int)$xml['responseCode'] === 0) ? true : false; // Make the response a little more useable $result = array ( 'status' => $status, 'transactionID' => (isset($xml['transactionID']) ? $xml['transactionID'] : null), 'responseData' => $xml ); exit(var_dump($result)); ?>
using System;
using System.Collections.Generic;
using System.Linq;

public class Program {
    public static void Main(string[] args) {
        using(var client = new System.Net.WebClient()) {
            byte[] response = client.UploadValues("https://api.merchantwarrior.com/post/", 
                    new System.Collections.Specialized.NameValueCollection() {
                        { "method", "checkPARes" },
                        { "merchantUUID", "578dd399d2373" },
                        { "apiKey", "dyqxkzse" },
                        { "PARes", "eJzNWVmvm9iy/it" },
                    });
            String result = System.Text.Encoding.Default.GetString(response);
            Console.WriteLine(result);
        }
    }
}
using System; using System.Collections.Generic; using System.Linq; public class Program { public static void Main(string[] args) { using(var client = new System.Net.WebClient()) { byte[] response = client.UploadValues("https://api.merchantwarrior.com/post/", new System.Collections.Specialized.NameValueCollection() { { "method", "checkPARes" }, { "merchantUUID", "578dd399d2373" }, { "apiKey", "dyqxkzse" }, { "PARes", "eJzNWVmvm9iy/it" }, }); String result = System.Text.Encoding.Default.GetString(response); Console.WriteLine(result); } } }
Imports System
Imports System.Collections.Generic
Imports System.Linq

Public Module Program
    Public Sub Main(args As String())
        Using client = New System.Net.WebClient()
            Dim response As Byte() = client.UploadValues(
            "https://api.merchantwarrior.com/post/", 
            New System.Collections.Specialized.NameValueCollection() From { _
                {"method", "checkPARes"}, _
                {"merchantUUID", "578dd399d2373"}, _
                {"apiKey", "dyqxkzse"}, _
                {"PARes", "eJzNWVmvm9iy/it"} _
            })
            Dim result As [String] = System.Text.Encoding.[Default].GetString(response)
            Console.WriteLine(result)
        End Using
    End Sub
End Module
Imports System Imports System.Collections.Generic Imports System.Linq Public Module Program Public Sub Main(args As String()) Using client = New System.Net.WebClient() Dim response As Byte() = client.UploadValues( "https://api.merchantwarrior.com/post/", New System.Collections.Specialized.NameValueCollection() From { _ {"method", "checkPARes"}, _ {"merchantUUID", "578dd399d2373"}, _ {"apiKey", "dyqxkzse"}, _ {"PARes", "eJzNWVmvm9iy/it"} _ }) Dim result As [String] = System.Text.Encoding.[Default].GetString(response) Console.WriteLine(result) End Using End Sub End Module
import java.io.*;
import java.net.*;
import java.util.*;

public class Program{

    public static void main(String[] args) {
        try{
            URL url = new URL("https://api.merchantwarrior.com/post/");
            Map<String, String> params = new LinkedHashMap<>();
            params.put("method", "checkPARes");
            params.put("merchantUUID", "5265f8eed6a19");
            params.put("apiKey", "ksmnwxab");
            params.put("PARes", "eJzNWVmvm9iy/it");
            
            StringBuilder postData = new StringBuilder();
            for (Map.Entry<String, String> param : params.entrySet()) {
              if (postData.length() != 0) 
                postData.append('&');
              postData.append(param.getKey());
              postData.append('=');
              postData.append(param.getValue());
            }
            HttpURLConnection conn = (HttpURLConnection)url.openConnection();
            conn.setRequestMethod("POST");
            conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
            conn.setDoOutput(true);
            
            OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());
            writer.write(postData.toString());
            writer.flush();
            
            BufferedReader reader = new BufferedReader(
            	new InputStreamReader(conn.getInputStream()));
            String line;
            StringBuilder sb = new StringBuilder();
            while((line = reader.readLine()) != null){
            	sb.append(line);
            }
            System.out.println(sb.toString());
            writer.close();
            reader.close();
        }
        catch(Exception ex){
            ex.printStackTrace();
        }
    }
    
}
import java.io.*; import java.net.*; import java.util.*; public class Program{ public static void main(String[] args) { try{ URL url = new URL("https://api.merchantwarrior.com/post/"); Map params = new LinkedHashMap<>(); params.put("method", "checkPARes"); params.put("merchantUUID", "5265f8eed6a19"); params.put("apiKey", "ksmnwxab"); params.put("PARes", "eJzNWVmvm9iy/it"); StringBuilder postData = new StringBuilder(); for (Map.Entry param : params.entrySet()) { if (postData.length() != 0) postData.append('&'); postData.append(param.getKey()); postData.append('='); postData.append(param.getValue()); } HttpURLConnection conn = (HttpURLConnection)url.openConnection(); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); conn.setDoOutput(true); OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream()); writer.write(postData.toString()); writer.flush(); BufferedReader reader = new BufferedReader( new InputStreamReader(conn.getInputStream())); String line; StringBuilder sb = new StringBuilder(); while((line = reader.readLine()) != null){ sb.append(line); } System.out.println(sb.toString()); writer.close(); reader.close(); } catch(Exception ex){ ex.printStackTrace(); } } }
Copy
<?xml version="1.0"?>
<mwResponse>
  <responseCode>0</responseCode>
  <responseMessage>Operation successful</responseMessage>
  <threeDSToken>8e86aef68037e8849980</threeDSToken>
  <threeDSResult>N</threeDSResult>
  <threeDSEci>7</threeDSEci>
  <threeDSXid>857e2347c329eec31c75</threeDSXid>
  <threeDSCavv/>
</mwResponse>
0 Operation successful 8e86aef68037e8849980 N 7 857e2347c329eec31c75
{
    "responseCode": "0",
    "responseMessage": "Operation successful",
    "threeDSToken": "8e86aef68037e8849980",
    "threeDSResult": "N",
    "threeDSEci": "7",
    "threeDSXid": "857e2347c329eec31c75",
    "threeDSCavv": []
}
{ "responseCode": "0", "responseMessage": "Operation successful", "threeDSToken": "8e86aef68037e8849980", "threeDSResult": "N", "threeDSEci": "7", "threeDSXid": "857e2347c329eec31c75", "threeDSCavv": [] }
addBlacklistedCard

The addBlacklistedCard method is used to add a card into the merchant blacklist

Required Parameters

Parameter Description
method

This field is case sensitive.
Example: addBlacklistedCard

merchantUUID

The value of this parameter is provided to you by Merchant Warrior.
Example: 123456789abcd

apiKey

The value of this parameter is provided to you by Merchant Warrior.
Example: 1a3b5c

cardName

The name of card holder.
Example: NUFM56937091
Maximum length: 255 digits

cardNumber

The full card number.
Example: 4557012345678902
Valid length: Between 13 and 16 digits

cardExpiryMonth

This must be MM format. The month must be zero padded if it is less than 10.
Example: 05
Valid length: 2 digits

cardExpiryYear

This must be YY format.
Example: 13
Valid length: 2 digits

secureHash

The verification hash is a combination of the full parameters sent in the request and the MD5 of your API Passphrase. See Secure Hash for information on how to construct the hash correctly.
Example: e9ddc296b76b3398934bfc06239073df
Valid length: 32 characters

Copy
curl -X POST \
  -d method="addBlacklistedCard" \
  -d merchantUUID="5265f8eed6a19" \
  -d apiKey="ksmnwxab" \
  -d cardName="Test Customer" \
  -d cardNumber="5123456789012346" \
  -d cardExpiryMonth="05" \
  -d cardExpiryYear="17" https://api.merchantwarrior.com/post/
curl -X POST -d method="addBlacklistedCard" -d merchantUUID="5265f8eed6a19" -d apiKey="ksmnwxab" -d cardName="Test Customer" -d cardNumber="5123456789012346" -d cardExpiryMonth="05" -d cardExpiryYear="17" https://api.merchantwarrior.com/post/
require 'net/http'
require 'uri'

uri = URI.parse("https://api.merchantwarrior.com/post/")
request = Net::HTTP::Post.new(uri)
request.set_form_data(
  'method' => 'addBlacklistedCard',
  'merchantUUID' => '5265f8eed6a19',
  'apiKey' => 'ksmnwxab',
  'cardName' => 'Test Customer',
  'cardNumber' => '5123456789012346',
  'cardExpiryMonth' => '05',
  'cardExpiryYear' => '17'
)

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http|
  http.request(request)
end

puts response.body
require 'net/http' require 'uri' uri = URI.parse("https://api.merchantwarrior.com/post/") request = Net::HTTP::Post.new(uri) request.set_form_data( 'method' => 'addBlacklistedCard', 'merchantUUID' => '5265f8eed6a19', 'apiKey' => 'ksmnwxab', 'cardName' => 'Test Customer', 'cardNumber' => '5123456789012346', 'cardExpiryMonth' => '05', 'cardExpiryYear' => '17' ) response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http| http.request(request) end puts response.body
import requests

data = {
  'method' : 'addBlacklistedCard',
  'merchantUUID' : '5265f8eed6a19',
  'apiKey' : 'ksmnwxab',
  'cardName' : 'Test Customer',
  'cardNumber' : '5123456789012346',
  'cardExpiryMonth' : '05',
  'cardExpiryYear' : '17'
}

r = requests.post('https://api.merchantwarrior.com/post/', data = data)

print(r.text)
import requests data = { 'method' : 'addBlacklistedCard', 'merchantUUID' : '5265f8eed6a19', 'apiKey' : 'ksmnwxab', 'cardName' : 'Test Customer', 'cardNumber' : '5123456789012346', 'cardExpiryMonth' : '05', 'cardExpiryYear' : '17' } r = requests.post('https://api.merchantwarrior.com/post/', data = data) print(r.text)
<?php
// Setup the POST url
define('MW_API_ENDPOINT', 'https://api.merchantwarrior.com/post/');

// Setup POST data
$postData = array (
  'method' => 'addBlacklistedCard',
  'merchantUUID' => '5265f8eed6a19',
  'apiKey' => 'ksmnwxab',
  'cardName' => 'Test Customer',
  'cardNumber' => '5123456789012346',
  'cardExpiryMonth' => '05',
  'cardExpiryYear' => '17'
);

// Setup CURL defaults
$curl = curl_init();

// Setup CURL params for this request
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_URL, MW_API_ENDPOINT);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData, '', '&'));

// Run CURL
$response = curl_exec($curl);
$error = curl_error($curl);

// Check for CURL errors
if (isset($error) && strlen($error)) {
  throw new Exception("CURL Error: {$error}");
}

// Parse the XML
$xml = simplexml_load_string($response);

// Convert the result from a SimpleXMLObject into an array
$xml = (array)$xml;

// Validate the response - the only successful code is 0
$status = ((int)$xml['responseCode'] === 0) ? true : false;

// Make the response a little more useable
$result = array (
  'status' => $status, 
  'transactionID' => (isset($xml['transactionID']) ? $xml['transactionID'] : null),
  'responseData' => $xml
);

exit(var_dump($result));
?>
'addBlacklistedCard', 'merchantUUID' => '5265f8eed6a19', 'apiKey' => 'ksmnwxab', 'cardName' => 'Test Customer', 'cardNumber' => '5123456789012346', 'cardExpiryMonth' => '05', 'cardExpiryYear' => '17' ); // Setup CURL defaults $curl = curl_init(); // Setup CURL params for this request curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_URL, MW_API_ENDPOINT); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData, '', '&')); // Run CURL $response = curl_exec($curl); $error = curl_error($curl); // Check for CURL errors if (isset($error) && strlen($error)) { throw new Exception("CURL Error: {$error}"); } // Parse the XML $xml = simplexml_load_string($response); // Convert the result from a SimpleXMLObject into an array $xml = (array)$xml; // Validate the response - the only successful code is 0 $status = ((int)$xml['responseCode'] === 0) ? true : false; // Make the response a little more useable $result = array ( 'status' => $status, 'transactionID' => (isset($xml['transactionID']) ? $xml['transactionID'] : null), 'responseData' => $xml ); exit(var_dump($result)); ?>
using System;
using System.Collections.Generic;
using System.Linq;

public class Program {
    public static void Main(string[] args) {
        using(var client = new System.Net.WebClient()) {
            byte[] response = client.UploadValues("https://api.merchantwarrior.com/post/", 
                    new System.Collections.Specialized.NameValueCollection() {
                        { "method", "addBlacklistedCard" },
                        { "merchantUUID", "578dd399d2373" },
                        { "apiKey", "dyqxkzse" },
                        { "cardName", "Test Customer" },
                        { "cardNumber", "5123456789012346" },
                        { "cardExpiryMonth", "05" },
                        { "cardExpiryYear", "17" },
                    });
            String result = System.Text.Encoding.Default.GetString(response);
            Console.WriteLine(result);
		}
    }
}
using System; using System.Collections.Generic; using System.Linq; public class Program { public static void Main(string[] args) { using(var client = new System.Net.WebClient()) { byte[] response = client.UploadValues("https://api.merchantwarrior.com/post/", new System.Collections.Specialized.NameValueCollection() { { "method", "addBlacklistedCard" }, { "merchantUUID", "578dd399d2373" }, { "apiKey", "dyqxkzse" }, { "cardName", "Test Customer" }, { "cardNumber", "5123456789012346" }, { "cardExpiryMonth", "05" }, { "cardExpiryYear", "17" }, }); String result = System.Text.Encoding.Default.GetString(response); Console.WriteLine(result); } } }
Imports System
Imports System.Collections.Generic
Imports System.Linq

Public Module Program
    Public Sub Main(args As String())
        Using client = New System.Net.WebClient()
            Dim response As Byte() = client.UploadValues(
            "https://api.merchantwarrior.com/post/",
            New System.Collections.Specialized.NameValueCollection() From { _
                {"method", "addBlacklistedCard"}, _
                {"merchantUUID", "578dd399d2373"}, _
                {"apiKey", "dyqxkzse"}, _
                {"cardName", "Test Customer"}, _
                {"cardNumber", "5123456789012346"}, _
                {"cardExpiryMonth", "05"}, _
                {"cardExpiryYear", "17"} _
            })
            Dim result As [String] = System.Text.Encoding.[Default].GetString(response)
            Console.WriteLine(result)
        End Using
    End Sub
End Module
Imports System Imports System.Collections.Generic Imports System.Linq Public Module Program Public Sub Main(args As String()) Using client = New System.Net.WebClient() Dim response As Byte() = client.UploadValues( "https://api.merchantwarrior.com/post/", New System.Collections.Specialized.NameValueCollection() From { _ {"method", "addBlacklistedCard"}, _ {"merchantUUID", "578dd399d2373"}, _ {"apiKey", "dyqxkzse"}, _ {"cardName", "Test Customer"}, _ {"cardNumber", "5123456789012346"}, _ {"cardExpiryMonth", "05"}, _ {"cardExpiryYear", "17"} _ }) Dim result As [String] = System.Text.Encoding.[Default].GetString(response) Console.WriteLine(result) End Using End Sub End Module
import java.io.*;
import java.net.*;
import java.util.*;

public class Program{

    public static void main(String[] args) {
        try{
            URL url = new URL("https://api.merchantwarrior.com/post/");
            Map<String, String> params = new LinkedHashMap<>();
            params.put("method", "addBlacklistedCard");
            params.put("merchantUUID", "5265f8eed6a19");
            params.put("apiKey", "ksmnwxab");
            params.put("cardName", "TestCustomer");
            params.put("cardNumber", "5123456789012346");
            params.put("cardExpiryMonth", "05");
            params.put("cardExpiryYear", "17");            
            
            StringBuilder postData = new StringBuilder();
            for (Map.Entry<String, String> param : params.entrySet()) {
              if (postData.length() != 0) 
                postData.append('&');
              postData.append(param.getKey());
              postData.append('=');
              postData.append(param.getValue());
            }
            HttpURLConnection conn = (HttpURLConnection)url.openConnection();
            conn.setRequestMethod("POST");
            conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
            conn.setDoOutput(true);
            
            OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());
            writer.write(postData.toString());
            writer.flush();
            
            BufferedReader reader = new BufferedReader(
            	new InputStreamReader(conn.getInputStream()));
            String line;
            StringBuilder sb = new StringBuilder();
            while((line = reader.readLine()) != null){
            	sb.append(line);
            }
            System.out.println(sb.toString());
            writer.close();
            reader.close();
        }
        catch(Exception ex){
            ex.printStackTrace();
        }
    }
    
}
import java.io.*; import java.net.*; import java.util.*; public class Program{ public static void main(String[] args) { try{ URL url = new URL("https://api.merchantwarrior.com/post/"); Map params = new LinkedHashMap<>(); params.put("method", "addBlacklistedCard"); params.put("merchantUUID", "5265f8eed6a19"); params.put("apiKey", "ksmnwxab"); params.put("cardName", "TestCustomer"); params.put("cardNumber", "5123456789012346"); params.put("cardExpiryMonth", "05"); params.put("cardExpiryYear", "17"); StringBuilder postData = new StringBuilder(); for (Map.Entry param : params.entrySet()) { if (postData.length() != 0) postData.append('&'); postData.append(param.getKey()); postData.append('='); postData.append(param.getValue()); } HttpURLConnection conn = (HttpURLConnection)url.openConnection(); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); conn.setDoOutput(true); OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream()); writer.write(postData.toString()); writer.flush(); BufferedReader reader = new BufferedReader( new InputStreamReader(conn.getInputStream())); String line; StringBuilder sb = new StringBuilder(); while((line = reader.readLine()) != null){ sb.append(line); } System.out.println(sb.toString()); writer.close(); reader.close(); } catch(Exception ex){ ex.printStackTrace(); } } }
Copy
<?xml version="1.0"?>
<mwResponse>
  <responseCode>0</responseCode>
  <responseMessage>Operation successful</responseMessage>
  <cardID>5bee5e25c09bb</cardID>
  <cardNumberFirst>512345</cardNumberFirst>
  <cardNumberLast>2346</cardNumberLast>
  <cardExpiryMonth>05</cardExpiryMonth>
  <cardExpiryYear>21</cardExpiryYear>
</mwResponse>
0 Operation successful 5bee5e25c09bb 512345 2346 05 21
{
    "responseCode": "0",
    "responseMessage": "Operation successful",
    "cardID": "5bee5e25c09bb",
    "cardNumberFirst": "512345",
    "cardNumberLast": "2346",
    "cardExpiryMonth": "05",
    "cardExpiryYear": "21"
}
{ "responseCode": "0", "responseMessage": "Operation successful", "cardID": "5bee5e25c09bb", "cardNumberFirst": "512345", "cardNumberLast": "2346", "cardExpiryMonth": "05", "cardExpiryYear": "21" }
removeBlacklistedCard

The removeBlacklistedCard method is used to remove a card out of the merchant blacklist

Required Parameters

Parameter Description
method

This field is case sensitive.
Example: addBlacklistedCard

merchantUUID

The value of this parameter is provided to you by Merchant Warrior.
Example: 123456789abcd

apiKey

The value of this parameter is provided to you by Merchant Warrior.
Example: 1a3b5c

cardID

A unique alphanumeric string returned by addBlacklistedCard, used to identify a specific card.
Example: 5bee5e25c09bb

Copy
curl -X POST \
  -d method="removeBlacklistedCard" \
  -d merchantUUID="5265f8eed6a19" \
  -d apiKey="ksmnwxab" \
  -d cardID="5bee5e25c09bb" https://api.merchantwarrior.com/post/
curl -X POST -d method="removeBlacklistedCard" -d merchantUUID="5265f8eed6a19" -d apiKey="ksmnwxab" -d cardID="5bee5e25c09bb" https://api.merchantwarrior.com/post/
require 'net/http'
require 'uri'

uri = URI.parse("https://api.merchantwarrior.com/post/")
request = Net::HTTP::Post.new(uri)
request.set_form_data(
  'method' => 'removeBlacklistedCard',
  'merchantUUID' => '5265f8eed6a19',
  'apiKey' => 'ksmnwxab',
  'cardID' => '5bee5e25c09bb'
)

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http|
  http.request(request)
end

puts response.body
require 'net/http' require 'uri' uri = URI.parse("https://api.merchantwarrior.com/post/") request = Net::HTTP::Post.new(uri) request.set_form_data( 'method' => 'removeBlacklistedCard', 'merchantUUID' => '5265f8eed6a19', 'apiKey' => 'ksmnwxab', 'cardID' => '5bee5e25c09bb' ) response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http| http.request(request) end puts response.body
import requests

data = {
  'method' : 'removeBlacklistedCard',
  'merchantUUID' : '5265f8eed6a19',
  'apiKey' : 'ksmnwxab',
  'cardID' : '5bee5e25c09bb'
}

r = requests.post('https://api.merchantwarrior.com/post/', data = data)

print(r.text)
import requests data = { 'method' : 'removeBlacklistedCard', 'merchantUUID' : '5265f8eed6a19', 'apiKey' : 'ksmnwxab', 'cardID' : '5bee5e25c09bb' } r = requests.post('https://api.merchantwarrior.com/post/', data = data) print(r.text)
<?php
// Setup the POST url
define('MW_API_ENDPOINT', 'https://api.merchantwarrior.com/post/');

// Setup POST data
$postData = array (
  'method' => 'removeBlacklistedCard',
  'merchantUUID' => '5265f8eed6a19',
  'apiKey' => 'ksmnwxab',
  'cardID' => '5bee5e25c09bb'
);

// Setup CURL defaults
$curl = curl_init();

// Setup CURL params for this request
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_URL, MW_API_ENDPOINT);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData, '', '&'));

// Run CURL
$response = curl_exec($curl);
$error = curl_error($curl);

// Check for CURL errors
if (isset($error) && strlen($error)) {
  throw new Exception("CURL Error: {$error}");
}

// Parse the XML
$xml = simplexml_load_string($response);

// Convert the result from a SimpleXMLObject into an array
$xml = (array)$xml;

// Validate the response - the only successful code is 0
$status = ((int)$xml['responseCode'] === 0) ? true : false;

// Make the response a little more useable
$result = array (
  'status' => $status, 
  'transactionID' => (isset($xml['transactionID']) ? $xml['transactionID'] : null),
  'responseData' => $xml
);

exit(var_dump($result));
?>
'removeBlacklistedCard', 'merchantUUID' => '5265f8eed6a19', 'apiKey' => 'ksmnwxab', 'cardID' => '5bee5e25c09bb' ); // Setup CURL defaults $curl = curl_init(); // Setup CURL params for this request curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_URL, MW_API_ENDPOINT); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData, '', '&')); // Run CURL $response = curl_exec($curl); $error = curl_error($curl); // Check for CURL errors if (isset($error) && strlen($error)) { throw new Exception("CURL Error: {$error}"); } // Parse the XML $xml = simplexml_load_string($response); // Convert the result from a SimpleXMLObject into an array $xml = (array)$xml; // Validate the response - the only successful code is 0 $status = ((int)$xml['responseCode'] === 0) ? true : false; // Make the response a little more useable $result = array ( 'status' => $status, 'transactionID' => (isset($xml['transactionID']) ? $xml['transactionID'] : null), 'responseData' => $xml ); exit(var_dump($result)); ?>
using System;
using System.Collections.Generic;
using System.Linq;

public class Program {
    public static void Main(string[] args) {
        using(var client = new System.Net.WebClient()) {
            byte[] response = client.UploadValues("https://api.merchantwarrior.com/post/", 
                    new System.Collections.Specialized.NameValueCollection() {
                        { "method", "removeBlacklistedCard" },
                        { "merchantUUID", "578dd399d2373" },
                        { "apiKey", "dyqxkzse" },
                        { "cardID", "5bee5e25c09bb" },
                    });
            String result = System.Text.Encoding.Default.GetString(response);
            Console.WriteLine(result);
		}
    }
}
using System; using System.Collections.Generic; using System.Linq; public class Program { public static void Main(string[] args) { using(var client = new System.Net.WebClient()) { byte[] response = client.UploadValues("https://api.merchantwarrior.com/post/", new System.Collections.Specialized.NameValueCollection() { { "method", "removeBlacklistedCard" }, { "merchantUUID", "578dd399d2373" }, { "apiKey", "dyqxkzse" }, { "cardID", "5bee5e25c09bb" }, }); String result = System.Text.Encoding.Default.GetString(response); Console.WriteLine(result); } } }
Imports System
Imports System.Collections.Generic
Imports System.Linq

Public Module Program
    Public Sub Main(args As String())
        Using client = New System.Net.WebClient()
            Dim response As Byte() = client.UploadValues(
            "https://api.merchantwarrior.com/post/",
            New System.Collections.Specialized.NameValueCollection() From { _
                {"method", "removeBlacklistedCard"}, _
                {"merchantUUID", "578dd399d2373"}, _
                {"apiKey", "dyqxkzse"}, _
                {"cardID", "5bee5e25c09bb"} _
            })
            Dim result As [String] = System.Text.Encoding.[Default].GetString(response)
            Console.WriteLine(result)
        End Using
    End Sub
End Module
Imports System Imports System.Collections.Generic Imports System.Linq Public Module Program Public Sub Main(args As String()) Using client = New System.Net.WebClient() Dim response As Byte() = client.UploadValues( "https://api.merchantwarrior.com/post/", New System.Collections.Specialized.NameValueCollection() From { _ {"method", "removeBlacklistedCard"}, _ {"merchantUUID", "578dd399d2373"}, _ {"apiKey", "dyqxkzse"}, _ {"cardID", "5bee5e25c09bb"} _ }) Dim result As [String] = System.Text.Encoding.[Default].GetString(response) Console.WriteLine(result) End Using End Sub End Module
import java.io.*;
import java.net.*;
import java.util.*;

public class Program{

    public static void main(String[] args) {
        try{
            URL url = new URL("https://api.merchantwarrior.com/post/");
            Map<String, String> params = new LinkedHashMap<>();
            params.put("method", "removeBlacklistedCard");
            params.put("merchantUUID", "5265f8eed6a19");
            params.put("apiKey", "ksmnwxab");
            params.put("cardID", "5bee5e25c09bb");            
            
            StringBuilder postData = new StringBuilder();
            for (Map.Entry<String, String> param : params.entrySet()) {
              if (postData.length() != 0) 
                postData.append('&');
              postData.append(param.getKey());
              postData.append('=');
              postData.append(param.getValue());
            }
            HttpURLConnection conn = (HttpURLConnection)url.openConnection();
            conn.setRequestMethod("POST");
            conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
            conn.setDoOutput(true);
            
            OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());
            writer.write(postData.toString());
            writer.flush();
            
            BufferedReader reader = new BufferedReader(
            	new InputStreamReader(conn.getInputStream()));
            String line;
            StringBuilder sb = new StringBuilder();
            while((line = reader.readLine()) != null){
            	sb.append(line);
            }
            System.out.println(sb.toString());
            writer.close();
            reader.close();
        }
        catch(Exception ex){
            ex.printStackTrace();
        }
    }
    
}
import java.io.*; import java.net.*; import java.util.*; public class Program{ public static void main(String[] args) { try{ URL url = new URL("https://api.merchantwarrior.com/post/"); Map params = new LinkedHashMap<>(); params.put("method", "removeBlacklistedCard"); params.put("merchantUUID", "5265f8eed6a19"); params.put("apiKey", "ksmnwxab"); params.put("cardID", "5bee5e25c09bb"); StringBuilder postData = new StringBuilder(); for (Map.Entry param : params.entrySet()) { if (postData.length() != 0) postData.append('&'); postData.append(param.getKey()); postData.append('='); postData.append(param.getValue()); } HttpURLConnection conn = (HttpURLConnection)url.openConnection(); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); conn.setDoOutput(true); OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream()); writer.write(postData.toString()); writer.flush(); BufferedReader reader = new BufferedReader( new InputStreamReader(conn.getInputStream())); String line; StringBuilder sb = new StringBuilder(); while((line = reader.readLine()) != null){ sb.append(line); } System.out.println(sb.toString()); writer.close(); reader.close(); } catch(Exception ex){ ex.printStackTrace(); } } }
Copy
<?xml version="1.0"?>
<mwResponse>
  <responseCode>0</responseCode>
  <responseMessage>Operation successful</responseMessage>
  <cardName>Bob Jones</cardName>
  <cardNumberFirst>512345</cardNumberFirst>
  <cardNumberLast>2346</cardNumberLast>
  <cardExpiryMonth>05</cardExpiryMonth>
  <cardExpiryYear>21</cardExpiryYear>
</mwResponse>
0 Operation successful Bob Jones 512345 2346 05 21
{
    "responseCode": "0",
    "responseMessage": "Operation successful",
    "cardName": "Bob Jones",
    "cardNumberFirst": "512345",
    "cardNumberLast": "2346",
    "cardExpiryMonth": "05",
    "cardExpiryYear": "21"
}
{ "responseCode": "0", "responseMessage": "Operation successful", "cardName": "Bob Jones", "cardNumberFirst": "512345", "cardNumberLast": "2346", "cardExpiryMonth": "05", "cardExpiryYear": "21" }
queryBlacklistedCard

The queryBlacklistedCard method is used to query a card info in the merchant black list

Required Parameters

Parameter Description
method

This field is case sensitive.
Example: queryBlacklistedCard

merchantUUID

The value of this parameter is provided to you by Merchant Warrior.
Example: 123456789abcd

apiKey

The value of this parameter is provided to you by Merchant Warrior.
Example: 1a3b5c

cardID

A unique alphanumeric string returned by addBlacklistedCard, used to identify a specific card.
Example: 5bee5e25c09bb

Optional Parameters

Parameter Description
global

The value indicates the query is based on your black card list or Merchant Warrior global black list. Must be 0 or 1.
Example: 1

Copy
curl -X POST \
  -d method="queryBlacklistedCard" \
  -d merchantUUID="5265f8eed6a19" \
  -d apiKey="ksmnwxab" \
  -d cardID="5bee5e25c09bb" https://api.merchantwarrior.com/post/
curl -X POST -d method="queryBlacklistedCard" -d merchantUUID="5265f8eed6a19" -d apiKey="ksmnwxab" -d cardID="5bee5e25c09bb" https://api.merchantwarrior.com/post/
require 'net/http'
require 'uri'

uri = URI.parse("https://api.merchantwarrior.com/post/")
request = Net::HTTP::Post.new(uri)
request.set_form_data(
  'method' => 'queryBlacklistedCard',
  'merchantUUID' => '5265f8eed6a19',
  'apiKey' => 'ksmnwxab',
  'cardID' => '5bee5e25c09bb'
)

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http|
  http.request(request)
end

puts response.body
require 'net/http' require 'uri' uri = URI.parse("https://api.merchantwarrior.com/post/") request = Net::HTTP::Post.new(uri) request.set_form_data( 'method' => 'queryBlacklistedCard', 'merchantUUID' => '5265f8eed6a19', 'apiKey' => 'ksmnwxab', 'cardID' => '5bee5e25c09bb' ) response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http| http.request(request) end puts response.body
import requests

data = {
  'method' : 'queryBlacklistedCard',
  'merchantUUID' : '5265f8eed6a19',
  'apiKey' : 'ksmnwxab',
  'cardID' : '5bee5e25c09bb'
}

r = requests.post('https://api.merchantwarrior.com/post/', data = data)

print(r.text)
import requests data = { 'method' : 'queryBlacklistedCard', 'merchantUUID' : '5265f8eed6a19', 'apiKey' : 'ksmnwxab', 'cardID' : '5bee5e25c09bb' } r = requests.post('https://api.merchantwarrior.com/post/', data = data) print(r.text)
<?php
// Setup the POST url
define('MW_API_ENDPOINT', 'https://api.merchantwarrior.com/post/');

// Setup POST data
$postData = array (
  'method' => 'queryBlacklistedCard',
  'merchantUUID' => '5265f8eed6a19',
  'apiKey' => 'ksmnwxab',
  'cardID' => '5bee5e25c09bb'
);

// Setup CURL defaults
$curl = curl_init();

// Setup CURL params for this request
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_URL, MW_API_ENDPOINT);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData, '', '&'));

// Run CURL
$response = curl_exec($curl);
$error = curl_error($curl);

// Check for CURL errors
if (isset($error) && strlen($error)) {
  throw new Exception("CURL Error: {$error}");
}

// Parse the XML
$xml = simplexml_load_string($response);

// Convert the result from a SimpleXMLObject into an array
$xml = (array)$xml;

// Validate the response - the only successful code is 0
$status = ((int)$xml['responseCode'] === 0) ? true : false;

// Make the response a little more useable
$result = array (
  'status' => $status, 
  'transactionID' => (isset($xml['transactionID']) ? $xml['transactionID'] : null),
  'responseData' => $xml
);

exit(var_dump($result));
?>
'queryBlacklistedCard', 'merchantUUID' => '5265f8eed6a19', 'apiKey' => 'ksmnwxab', 'cardID' => '5bee5e25c09bb' ); // Setup CURL defaults $curl = curl_init(); // Setup CURL params for this request curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_URL, MW_API_ENDPOINT); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData, '', '&')); // Run CURL $response = curl_exec($curl); $error = curl_error($curl); // Check for CURL errors if (isset($error) && strlen($error)) { throw new Exception("CURL Error: {$error}"); } // Parse the XML $xml = simplexml_load_string($response); // Convert the result from a SimpleXMLObject into an array $xml = (array)$xml; // Validate the response - the only successful code is 0 $status = ((int)$xml['responseCode'] === 0) ? true : false; // Make the response a little more useable $result = array ( 'status' => $status, 'transactionID' => (isset($xml['transactionID']) ? $xml['transactionID'] : null), 'responseData' => $xml ); exit(var_dump($result)); ?>
using System;
using System.Collections.Generic;
using System.Linq;

public class Program {
    public static void Main(string[] args) {
        using(var client = new System.Net.WebClient()) {
            byte[] response = client.UploadValues("https://api.merchantwarrior.com/post/", 
                    new System.Collections.Specialized.NameValueCollection() {
                        { "method", "queryBlacklistedCard" },
                        { "merchantUUID", "578dd399d2373" },
                        { "apiKey", "dyqxkzse" },
                        { "cardID", "5bee5e25c09bb" },
                    });
            String result = System.Text.Encoding.Default.GetString(response);
            Console.WriteLine(result);
		}
    }
}
using System; using System.Collections.Generic; using System.Linq; public class Program { public static void Main(string[] args) { using(var client = new System.Net.WebClient()) { byte[] response = client.UploadValues("https://api.merchantwarrior.com/post/", new System.Collections.Specialized.NameValueCollection() { { "method", "queryBlacklistedCard" }, { "merchantUUID", "578dd399d2373" }, { "apiKey", "dyqxkzse" }, { "cardID", "5bee5e25c09bb" }, }); String result = System.Text.Encoding.Default.GetString(response); Console.WriteLine(result); } } }
Imports System
Imports System.Collections.Generic
Imports System.Linq

Public Module Program
    Public Sub Main(args As String())
        Using client = New System.Net.WebClient()
            Dim response As Byte() = client.UploadValues(
            "https://api.merchantwarrior.com/post/",
            New System.Collections.Specialized.NameValueCollection() From { _
                {"method", "queryBlacklistedCard"}, _
                {"merchantUUID", "578dd399d2373"}, _
                {"apiKey", "dyqxkzse"}, _
                {"cardID", "5bee5e25c09bb"} _
            })
            Dim result As [String] = System.Text.Encoding.[Default].GetString(response)
            Console.WriteLine(result)
        End Using
    End Sub
End Module
Imports System Imports System.Collections.Generic Imports System.Linq Public Module Program Public Sub Main(args As String()) Using client = New System.Net.WebClient() Dim response As Byte() = client.UploadValues( "https://api.merchantwarrior.com/post/", New System.Collections.Specialized.NameValueCollection() From { _ {"method", "queryBlacklistedCard"}, _ {"merchantUUID", "578dd399d2373"}, _ {"apiKey", "dyqxkzse"}, _ {"cardID", "5bee5e25c09bb"} _ }) Dim result As [String] = System.Text.Encoding.[Default].GetString(response) Console.WriteLine(result) End Using End Sub End Module
import java.io.*;
import java.net.*;
import java.util.*;

public class Program{

    public static void main(String[] args) {
        try{
            URL url = new URL("https://api.merchantwarrior.com/post/");
            Map<String, String> params = new LinkedHashMap<>();
            params.put("method", "removeBlacklistedCard");
            params.put("merchantUUID", "5265f8eed6a19");
            params.put("apiKey", "ksmnwxab");
            params.put("cardID", "5bee5e25c09bb");            
            
            StringBuilder postData = new StringBuilder();
            for (Map.Entry<String, String> param : params.entrySet()) {
              if (postData.length() != 0) 
                postData.append('&');
              postData.append(param.getKey());
              postData.append('=');
              postData.append(param.getValue());
            }
            HttpURLConnection conn = (HttpURLConnection)url.openConnection();
            conn.setRequestMethod("POST");
            conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
            conn.setDoOutput(true);
            
            OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());
            writer.write(postData.toString());
            writer.flush();
            
            BufferedReader reader = new BufferedReader(
            	new InputStreamReader(conn.getInputStream()));
            String line;
            StringBuilder sb = new StringBuilder();
            while((line = reader.readLine()) != null){
            	sb.append(line);
            }
            System.out.println(sb.toString());
            writer.close();
            reader.close();
        }
        catch(Exception ex){
            ex.printStackTrace();
        }
    }
    
}
import java.io.*; import java.net.*; import java.util.*; public class Program{ public static void main(String[] args) { try{ URL url = new URL("https://api.merchantwarrior.com/post/"); Map params = new LinkedHashMap<>(); params.put("method", "removeBlacklistedCard"); params.put("merchantUUID", "5265f8eed6a19"); params.put("apiKey", "ksmnwxab"); params.put("cardID", "5bee5e25c09bb"); StringBuilder postData = new StringBuilder(); for (Map.Entry param : params.entrySet()) { if (postData.length() != 0) postData.append('&'); postData.append(param.getKey()); postData.append('='); postData.append(param.getValue()); } HttpURLConnection conn = (HttpURLConnection)url.openConnection(); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); conn.setDoOutput(true); OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream()); writer.write(postData.toString()); writer.flush(); BufferedReader reader = new BufferedReader( new InputStreamReader(conn.getInputStream())); String line; StringBuilder sb = new StringBuilder(); while((line = reader.readLine()) != null){ sb.append(line); } System.out.println(sb.toString()); writer.close(); reader.close(); } catch(Exception ex){ ex.printStackTrace(); } } }
Copy
<?xml version="1.0"?>
<mwResponse>
  <responseCode>0</responseCode>
  <responseMessage>Operation successful</responseMessage>
  <cardName>Bob Jones</cardName>
  <cardNumberFirst>512345</cardNumberFirst>
  <cardNumberLast>2346</cardNumberLast>
  <cardExpiryMonth>05</cardExpiryMonth>
  <cardExpiryYear>21</cardExpiryYear>
</mwResponse>
0 Operation successful Bob Jones 512345 2346 05 21
{
    "responseCode": "0",
    "responseMessage": "Operation successful",
    "cardName": "Bob Jones",
    "cardNumberFirst": "512345",
    "cardNumberLast": "2346",
    "cardExpiryMonth": "05",
    "cardExpiryYear": "21"
}
{ "responseCode": "0", "responseMessage": "Operation successful", "cardName": "Bob Jones", "cardNumberFirst": "512345", "cardNumberLast": "2346", "cardExpiryMonth": "05", "cardExpiryYear": "21" }