Contents

Payment facilitator

 

This page outlines the specification for payment facilitator fields.

Info
The fields described on this page are only supported by certain acquirers (and can only be processed with Mastercard transactions). For further information, please contact our Support team.

 

Before getting started, you will need to contact our Support team and request that the payment facilitator functionality is enabled on your account. Then you can update your requests using the following specification.

 

Process overview

There are two methods that can be used to include payment facilitator fields in requests submitted to the acquiring bank:

 

Using this method, the payment facilitator fields are automatically included in transactions processed on your account, with no additional configuration required. To configure your account to use this method, contact our Support team, requesting that the payment facilitator functionality is enabled on your account, along with your preferred default values.

 

Using this method allows you to specify different values on a request-by-request basis. To configure your account to use this method, contact our Support team and request that the payment facilitator functionality is enabled on your account. Then you can update your requests using the following specification.

 

Submitting payment facilitator fields in a request

Warning
Failure to meet these requirements will result in an invalid field error being returned (30000).

 

The following is an example of a request where payment facilitator fields are included:


#!/usr/bin/python
import securetrading

stconfig = securetrading.Config()
stconfig.username = "webservices@example.com"
stconfig.password = "Password1^"
st = securetrading.Api(stconfig)

auth = {
  "sitereference": "test_site12345",
  "requesttypedescriptions": ["AUTH"],
  "accounttypedescription": "ECOM",
  "currencyiso3a": "GBP",
  "baseamount": "1050",
  "orderreference": "My_Order_123",
  "chargedescription": "TEST DESCRIPTOR",
  "facilitatorid": "98765432198",
  "facilitatorname": "FACILITATORS",
  "independentsalesorgid": "12345678912",
  "submerchantid": "000000000000000",
  "cachetoken": "token_posted_by_st.js"
}

strequest = securetrading.Request()
strequest.update(auth)
stresponse = st.process(strequest) #stresponse contains the transaction response
<?php

if (!($autoload = realpath(__DIR__ . '/../../../autoload.php')) && !($autoload = realpath(__DIR__ . '/../vendor/autoload.php'))) {
  throw new Exception('Composer autoloader file could not be found.');
}
require_once($autoload);

$configData = array(
  'username' => 'webservices@example.com',
  'password' => 'Password1^',
);

$requestData = array(
  'sitereference' => 'test_site12345', 
  'requesttypedescriptions' => array('AUTH'),
  'accounttypedescription' => 'ECOM',
  'currencyiso3a' => 'GBP',
  'baseamount' => '1050',
  'orderreference' => 'My_Order_123',
  'chargedescription' => 'TEST DESCRIPTOR',
  'facilitatorid' => '98765432198',
  'facilitatorname' => 'FACILITATORS',
  'independentsalesorgid' => '12345678912',
  'submerchantid' => '000000000000000',
  'cachetoken' => 'token_posted_by_st.js'
);

$api = Securetradingapi($configData);
$response = $api->process($requestData);
var_dump($response->toArray());

?>
curl --user webservices@example.com:Password1^ https://webservices.securetrading.net/json/ -H "Content-type: application/json" -H "Accept: application/json" -X POST -d '{
"alias":"webservices@example.com",
"version": "1.00",
"request": [{
  "currencyiso3a": "GBP",
  "requesttypedescriptions": ["AUTH"],
  "sitereference": "test_site12345",
  "baseamount": "1050",
  "orderreference": "My_Order_123",
  "accounttypedescription": "ECOM",
  "chargedescription": "TEST DESCRIPTOR",
  "facilitatorid": "98765432198",
  "facilitatorname": "FACILITATORS",
  "independentsalesorgid": "12345678912",
  "submerchantid": "000000000000000",
  "cachetoken": "token_posted_by_st.js"
}]}'

 

Field specification

Field name Type Length Request Response Description
chargedescription Alphanumeric including spaces and special characters 25 The charge description is a field that we provide to the acquiring bank during a transaction. It is a basic description of the transaction that is shown on the customer’s bank statement.

Click here for further information.

facilitatorid Numeric 11 The payment facilitator id assigned by Mastercard at time of registration.
facilitatorname Alphanumeric including spaces and special characters 3, 7 or 12 ONLY The payment facilitator name agreed with Mastercard.
independentsalesorgid Numeric 11 The ISO (Independent Sales Organisation) id assigned by Mastercard at time of registration.
submerchantid Alphanumeric including spaces and special characters 15 Value assigned by the payment facilitator when involved in the transaction.

 

Info
The following payment facilitator field combinations are valid for a request:

An invalid combination of facilitator fields sent in the request will result in an invalid field error (30000).

 

Additional notes

Supported request types

The payment facilitator fields can be submitted in the following requests:

Click here for a full list of request types.

 

Inheriting from parent requests

If you do not submit the payment facilitator fields in a request, and a parent transaction reference is specified, the payment facilitator fields are inherited from said parent, unless the parent request type is AUTH or REFUND.