Request

Request is a TxnReq (transaction request details) JSON object with the following properties.

POST {{platform.BaseUrl}}/txns/ HTTP/1.1
Authorization: {{platform.Base64Authorisation}}
Content-Type: application/json; charset=utf-8
Host: {{domain}}
Content-Length: 411
Expect: 100-continue
Connection: Keep-Alive

{
  "TxnReq" : {
    "Action" : "payment",
    "Amount" : 19900,
    "AmountOriginal" : 19800,
    "AmountSurcharge" : 100,
    "CardDetails" : {
      "CardHolderName" : "John Smith",
      "CardNumber" : "5123456789012346",
      "{{platform.CVN}}" : "123",
      "ExpiryDate" : "0521"
    },
    "Currency" : "AUD",
    "Customer" : {
      "Address" : {
        "AddressLine1" : "123 Fake Street",
        "AddressLine2" : "",
        "AddressLine3" : "",
        "City" : "Melbourne",
        "CountryCode" : "AUS",
        "PostCode" : "3000",
        "State" : "VIC"
      },
      "ContactDetails" : {
        "EmailAddress" : "john.smith@email.com",
        "FaxNumber" : "",
        "HomePhoneNumber" : "",
        "MobilePhoneNumber" : "",
        "WorkPhoneNumber" : ""
      },
      "CustomerNumber" : "1234",
      "PersonalDetails" : {
        "DateOfBirth" : "",
        "FirstName" : "John",
        "LastName" : "Smith",
        "MiddleName" : "",
        "Salutation" : "Mr"
      },
      "DaysOnFile" : 23,
      "ExistingCustomer" : true
    },
    "{{platform.InternalNote}}" : "test merchant ref",
    "Order" : {
      "BillingAddress" : {
        "Address" : {
          "AddressLine1" : "",
          "AddressLine2" : "",
          "AddressLine3" : "",
          "City" : "",
          "CountryCode" : "",
          "PostCode" : "",
          "State" : ""
        },
        "ContactDetails" : {
          "EmailAddress" : "",
          "FaxNumber" : "",
          "HomePhoneNumber" : "",
          "MobilePhoneNumber" : "",
          "WorkPhoneNumber" : ""
        },
        "PersonalDetails" : {
          "DateOfBirth" : "",
          "FirstName" : "",
          "LastName" : "",
          "MiddleName" : "",
          "Salutation" : ""
        }
      },
      "OrderItems" : [{
        "Comments" : "",
        "Description" : "",
        "GiftMessage" : "",
        "PartNumber" : "",
        "ProductCode" : "",
        "Quantity" : 1,
        "SKU" : "",
        "ShippingMethod" : "",
        "ShippingNumber" : "",
        "UnitPrice" : 100
      }, {
        "Comments" : "",
        "Description" : "",
        "GiftMessage" : "",
        "PartNumber" : "",
        "ProductCode" : "",
        "Quantity" : 1,
        "SKU" : "",
        "ShippingMethod" : "",
        "ShippingNumber" : "",
        "UnitPrice" : 100
      }],
      "ShippingAddress" : {
        "Address" : {
          "AddressLine1" : "",
          "AddressLine2" : "",
          "AddressLine3" : "",
          "City" : "",
          "CountryCode" : "",
          "PostCode" : "",
          "State" : ""
        },
        "ContactDetails" : {
          "EmailAddress" : "",
          "FaxNumber" : "",
          "HomePhoneNumber" : "",
          "MobilePhoneNumber" : "",
          "WorkPhoneNumber" : ""
        },
        "PersonalDetails" : {
          "DateOfBirth" : "",
          "FirstName" : "",
          "LastName" : "",
          "MiddleName" : "",
          "Salutation" : ""
        }
      },
      "ShippingMethod" :  "",
      "OrderRecipients" : [{
          "PersonalDetails" : {
            "DateOfBirth" : "",
            "FirstName" : "",
            "LastName" : "",
            "MiddleName" : "",
            "Salutation" : ""
          },
          "ContactDetails" : {
            "EmailAddress" : "",
            "FaxNumber" : "",
            "HomePhoneNumber" : "",
            "MobilePhoneNumber" : "",
            "WorkPhoneNumber" : ""
          },
          "Address" : {
            "AddressLine1" : "",
            "AddressLine2" : "",
            "AddressLine3" : "",
            "City" : "",
            "CountryCode" : "",
            "PostCode" : "",
            "State" : ""
          }
        },
		{
          "PersonalDetails" : {
            "DateOfBirth" : "",
            "FirstName" : "",
            "LastName" : "",
            "MiddleName" : "",
            "Salutation" : ""
          },
          "ContactDetails" : {
            "EmailAddress" : "",
            "FaxNumber" : "",
            "HomePhoneNumber" : "",
            "MobilePhoneNumber" : "",
            "WorkPhoneNumber" : ""
          },
          "Address" : {
            "AddressLine1" : "",
            "AddressLine2" : "",
            "AddressLine3" : "",
            "City" : "",
            "CountryCode" : "",
            "PostCode" : "",
            "State" : ""
          }
        }]
    },
    "OriginalTxnNumber" : null,
    "{{platform.Reference}}1" : "test {{platform.ReferenceLower}}1",
    "{{platform.Reference}}2" : "test {{platform.ReferenceLower}}2",
    "{{platform.Reference}}3" : "test {{platform.ReferenceLower}}3",
    "EmailAddress" : "user@test.com",
    "{{platform.PaymentReason}}" : null,
    "TestMode" : false,
    "TokenisationMode" : 0,
    "StoreCard" : false,
    "SubType" : "single",
    "Type" : "internet",
    "FraudScreeningRequest" : {
      "PerformFraudScreening" : "true",
      "FraudScreeningDeviceFingerprint" : "ExampleDeviceFingerprint"
    },
    "StatementDescriptor" : {
      "AddressLine1" : "123 Drive Street",
      "AddressLine2" : "",
      "City" : "Melbourne",
      "CompanyName" : "A Company Name",
      "CountryCode" : "AUS",
      "Postcode" : "3000",
      "State" : "Victoria",
      "MerchantName" : "A Merchant Name",
      "PhoneNumber" : "0123456789"
    }
    }
}

include ("./API/{{platform.NAMESPACE}}.php");
		
{{platform.NAMESPACE}}\URLDirectory::setBaseURL("reserved","{{platform.BaseUrl}}");	
$credentials = new {{platform.NAMESPACE}}\Credentials("APIUserName", "Passw0rd", "{{platform.Example_Membership_Id}}",{{platform.NAMESPACE}}\Mode::Live);

$txn = new {{platform.NAMESPACE}}\Transaction();
$cardDetails = new {{platform.NAMESPACE}}\CardDetails();
$order = new {{platform.NAMESPACE}}\Order();
$shippingAddress = new {{platform.NAMESPACE}}\OrderAddress();
$billingAddress = new {{platform.NAMESPACE}}\OrderAddress();
$address = new {{platform.NAMESPACE}}\Address();
$customer = new {{platform.NAMESPACE}}\Customer(); 
$personalDetails = new {{platform.NAMESPACE}}\PersonalDetails(); 
$contactDetails = new {{platform.NAMESPACE}}\ContactDetails();
$order_item_1 = new {{platform.NAMESPACE}}\OrderItem();
$order_recipient_1 = new {{platform.NAMESPACE}}\OrderRecipient();
$fraudScreening = new {{platform.NAMESPACE}}\FraudScreeningRequest();
$statementDescriptor = new {{platform.NAMESPACE}}\StatementDescriptor();

$txn->setAction({{platform.NAMESPACE}}\Actions::Payment);
$txn->setCredentials($credentials);
$txn->setAmount(20000);
$txn->setCurrency("AUD");
$txn->set{{platform.InternalNote}}("{{platform.InternalSpaceNote}}");
$txn->set{{platform.Reference}}1("My Customer Reference");
$txn->set{{platform.Reference}}2("Medium");
$txn->set{{platform.Reference}}3("Large");
$txn->setStoreCard(FALSE);
$txn->setSubType("single");
$txn->setType({{platform.NAMESPACE}}\TransactionType::Internet);

$cardDetails->setCardHolderName("MR C CARDHOLDER");
$cardDetails->setCardNumber("4444333322221111");
$cardDetails->setCVN("678");
$cardDetails->setExpiryDate("0521");

$txn->setCardDetails($cardDetails);

$address->setAddressLine1("123 Fake Street");
$address->setCity("Melbourne");
$address->setCountryCode("AUS");
$address->setPostCode("3000");
$address->setState("Vic");

$contactDetails->setEmailAddress("example@email.com");

$personalDetails->setDateOfBirth("1900-01-01");
$personalDetails->setFirstName("John");
$personalDetails->setLastName("Smith");
$personalDetails->setSalutation("Mr");

$billingAddress->setAddress($address);
$billingAddress->setContactDetails($contactDetails);
$billingAddress->setPersonalDetails($personalDetails);

$shippingAddress->setAddress($address);
$shippingAddress->setContactDetails($contactDetails);
$shippingAddress->setPersonalDetails($personalDetails);

$order_item_1->setDescription("an item");
$order_item_1->setQuantity(1);
$order_item_1->setUnitPrice(1000);

$orderItems = array($order_item_1);

$order_recipient_1->setAddress($address);
$order_recipient_1->setContactDetails($contactDetails);
$order_recipient_1->setPersonalDetails($personalDetails);

$orderRecipients = array($order_recipient_1);

$order->setBillingAddress($billingAddress);
$order->setOrderItems($orderItems);
$order->setOrderRecipients($orderRecipients);
$order->setShippingAddress($shippingAddress);
$order->setShippingMethod("boat");

$txn->setOrder($order);

$customer->setCustomerNumber("1234");
$customer->setAddress($address);
$customer->setExistingCustomer(false);
$customer->setContactDetails($contactDetails);
$customer->setPersonalDetails($personalDetails);
$customer->setCustomerNumber("1");
$customer->setDaysOnFile(1);

$txn->setCustomer($customer);

$fraudScreening->setPerformFraudScreening(true);
$fraudScreening->setDeviceFingerprint("ExampleDeviceFingerprint");

$txn->setFraudScreeningRequest($fraudScreening);

$statementDescriptor->setAddressLine1("123 Drive Street");
$statementDescriptor->setAddressLine2("");
$statementDescriptor->setCity("Melbourne");
$statementDescriptor->setCompanyName("A Company Name");
$statementDescriptor->setCountryCode("AUS");
$statementDescriptor->setMerchantName("A Merchant Name");
$statementDescriptor->setPhoneNumber("0123456789");
$statementDescriptor->setPostCode("3000");
$statementDescriptor->setState("Victoria");

$txn->setStatementDescriptor($statementDescriptor);

$txn->setTokenisationMode(3);
$txn->setTimeout(93121);

$response = $txn->submit();
from {{platform.NAMESPACE}}.Requests import Credentials, TransactionRequest, Customer,\
    PersonalDetails, ContactDetails, Address, Order, OrderAddress, OrderItem,\
    OrderRecipient, FraudScreeningRequest
    
from {{platform.NAMESPACE}}.Utils import CardDetails

credentials = Credentials("APIUserName", "Passw0rd", "{{platform.Example_Membership_Id}}")

request = TransactionRequest(credentials)

request.base_url = "{{platform.BaseUrl}}"

request.card_details = CardDetails(
    card_holder_name = "MR C CARDHOLDER", 
    expiry_date = "0521",
    card_number = "4444333322221111", 
    cvn = "123")

request.customer = Customer()
    
request.customer.address = Address()
request.customer.address.address_line1 = "123 Fake Street"
request.customer.address.city = "Melbourne"
request.customer.address.country_code = "AUS"
request.customer.address.post_code = "3000"
request.customer.address.state = "VIC"

request.customer.contact_details = ContactDetails()
request.customer.contact_details.email_address = "example@email.com"
request.customer.contact_details.home_phone_number = "93123456"
request.customer.contact_details.mobile_phone_number = "0412345678"
request.customer.contact_details.work_phone_number = "0412345678"

request.customer.personal_details = PersonalDetails()
request.customer.personal_details.date_of_birth = "1900-01-01"
request.customer.personal_details.first_name = "John"
request.customer.personal_details.last_name = "Smith"
request.customer.personal_details.middle_name = "C"
request.customer.personal_details.salutation = "Mr"

request.customer.customer_number = "1234"
request.customer.existing_customer = False
request.customer.days_on_file = 0

request.order = Order()
request.order.billing_address = OrderAddress()
request.order.billing_address.address = Address()
request.order.billing_address.address.address_line1 = "123 Fake Street"
request.order.billing_address.address.city = "Melbourne"
request.order.billing_address.address.country_code = "AUS"
request.order.billing_address.address.post_code = "3000"
request.order.billing_address.address.state = "VIC"

request.order.billing_address.contact_details = ContactDetails()
request.order.billing_address.contact_details.email_address = "example@email.com"
request.order.billing_address.contact_details.home_phone_number = "93123456"
request.order.billing_address.contact_details.mobile_phone_number = "0412345678"
request.order.billing_address.contact_details.work_phone_number = "0412345678"

request.order.billing_address.personal_details = PersonalDetails()
request.order.billing_address.personal_details.date_of_birth = "1900-01-01"
request.order.billing_address.personal_details.first_name = "John"
request.order.billing_address.personal_details.last_name = "Smith"
request.order.billing_address.personal_details.middle_name = "C"
request.order.billing_address.personal_details.salutation = "Mr"

request.order.shipping_address = OrderAddress()
request.order.shipping_address.address = Address()
request.order.shipping_address.address.address_line1 = "123 Fake Street"
request.order.shipping_address.address.city = "Melbourne"
request.order.shipping_address.address.country_code = "AUS"
request.order.shipping_address.address.post_code = "3000"
request.order.shipping_address.address.state = "VIC"

request.order.shipping_address.contact_details = ContactDetails()
request.order.shipping_address.contact_details.email_address = "example@email.com"
request.order.shipping_address.contact_details.home_phone_number = "93123456"
request.order.shipping_address.contact_details.mobile_phone_number = "0412345678"
request.order.shipping_address.contact_details.work_phone_number = "0412345678"

request.order.shipping_address.personal_details = PersonalDetails()
request.order.shipping_address.personal_details.date_of_birth = "1900-01-01"
request.order.shipping_address.personal_details.first_name = "John"
request.order.shipping_address.personal_details.last_name = "Smith"
request.order.shipping_address.personal_details.middle_name = "C"
request.order.shipping_address.personal_details.salutation = "Mr"
request.order.shipping_method = "boat"

order_receipient_1 = OrderRecipient()
order_receipient_1.address = Address()
order_receipient_1.address.address_line1 = "123 Fake Street"
order_receipient_1.address.city = "Melbourne"
order_receipient_1.address.country_code = "AUS"
order_receipient_1.address.post_code = "3000"
order_receipient_1.address.state = "VIC"
order_receipient_1.contact_details = ContactDetails()
order_receipient_1.contact_details.email_address = "example@email.com"
order_receipient_1.contact_details.home_phone_number = "93123456"
order_receipient_1.contact_details.mobile_phone_number = "0412345678"
order_receipient_1.contact_details.work_phone_number = "0412345678"
order_receipient_1.personal_details = PersonalDetails()
order_receipient_1.personal_details.date_of_birth = "1900-01-01"
order_receipient_1.personal_details.first_name = "John"
order_receipient_1.personal_details.last_name = "Smith"
order_receipient_1.personal_details.middle_name = "C"
order_receipient_1.personal_details.salutation = "Mr"
request.order.order_recipients = [order_receipient_1]

order_item_1 = OrderItem()
order_item_1.comments = "Order item comment"
order_item_1.description = "Test Order Item 1"
order_item_1.gift_message = "Test gift message"
order_item_1.quantity = 1
order_item_1.unit_price = 1000
request.order.order_items = [order_item_1]

request.fraud_screening_request = FraudScreeningRequest()
request.fraud_screening_request.perform_fraud_screening = True
request.fraud_screening_request.device_fingerprint = "ExampleDeviceFingerprint"

statement_descriptor = StatementDescriptor()
statement_descriptor.address_line1 = "123 Drive Street"
statement_descriptor.address_line2 = ""
statement_descriptor.city = "Melbourne"
statement_descriptor.company_name = "A Company Name"
statement_descriptor.country_code = "AUS"
statement_descriptor.merchant_name = "A Merchant Name"
statement_descriptor.phone_number = "0123456789"
statement_descriptor.post_code = "3000"
statement_descriptor.state = "Victoria"
request.statement_descriptor = statement_descriptor

request.store_card = True
request.action = "payment"
request.amount = 200
request.currency = "AUD"
request.{{platform.ReferenceLower}}1 = "Ref One"
request.sub_type = "recurring"
request.type = "internet"
request.tokenisation_mode = 3
request.timeout = 90000

response = request.submit()
require_relative "API/{{platform.NAMESPACE}}"

cred = {{platform.NAMESPACE}}::Credentials.new("APIUserName", "Passw0rd", "{{platform.Example_Membership_Id}}")

req = {{platform.NAMESPACE}}::TransactionRequest.new()
  
cc = {{platform.NAMESPACE}}::CardDetails.new()
cc.card_holder_name = "MR C CARDHOLDER"
cc.card_number = "4444333322221111"
cc.expiry_date = "0521"
cc.cvn = "123" 

ad = {{platform.NAMESPACE}}::Address.new()
ad.address_line_1 = "123 Fake Street"
ad.city = "Melbourne"
ad.country_code = "AUS"
ad.post_code = "3000"
ad.state = "VIC"

cd = {{platform.NAMESPACE}}::ContactDetails.new()
cd.email_address = "example@email.com"

pd = {{platform.NAMESPACE}}::PersonalDetails.new()
pd.date_of_birth = "1900-01-01"
pd.first_name = "John"
pd.last_name = "Smith"
pd.salutation = "Mr"

ba = {{platform.NAMESPACE}}::OrderAddress.new()
ba.address = ad;
ba.contact_details = cd
ba.personal_details = pd

sa = {{platform.NAMESPACE}}::OrderAddress.new()
sa.address = ad;
sa.contact_details = cd
sa.personal_details = pd

or_item_1 = {{platform.NAMESPACE}}::OrderItem.new()
or_item_1.description = "an item"
or_item_1.quantity = 1
or_item_1.unit_price = 1000

order_items = [or_item_1]

order_recipient_1 = {{platform.NAMESPACE}}::OrderRecipient.new()
order_recipient_1.address = ad;
order_recipient_1.contact_details = cd
order_recipient_1.personal_details = pd

order_recipients = [order_recipient_1]

order = {{platform.NAMESPACE}}::Order.new()
order.billing_address = ba
order.shipping_address = sa
order.order_items = order_items
order.shipping_method = "Boat"
order.order_recipients = order_recipients

fs = {{platform.NAMESPACE}}::FraudScreeningRequest.new()

fs.perform_fraud_screening = true
fs.device_fingerprint = "ExampleDeviceFingerprint"

cust = {{platform.NAMESPACE}}::Customer.new()
cust.customer_number = "1234"
cust.address = ad
cust.existing_customer = false
cust.contact_details = cd
cust.personal_details = pd
cust.customer_number = "1"
cust.days_on_file = 1

sd = {{platform.NAMESPACE}}::StatementDescriptor.new()
sd.address_line_1 = "123 Drive Street"
sd.address_line_2 = ""
sd.city = "Melbourne"
sd.company_name = "A Company Name"
sd.country_code = "AUS"
sd.merchant_name = "A Merchant Name"
sd.phone_number = "0123456789"
sd.post_code = "3000"
sd.state = "Victoria"

req.base_url = "{{platform.BaseUrl}}"
req.{{platform.ReferenceLower}}1  = "Test Ref 1"
req.currency = "AUD"
req.action = "payment"
req.amount = 1000
req.type = "internet"
req.subtype = "single"
req.store_card = true
req.card_details = cc
req.credentials = cred
req.order = order
req.fraud_screening_request = fs
req.statement_descriptor = sd
req.customer = cust
req.tokenisation_mode = 3
req.timeout = 90000

response = req.submit()
import com.{{platform.NAMESPACE}}.api.*;
import java.math.BigDecimal;

Credentials credentials = new Credentials("APIUserName", "Passw0rd", "{{platform.Example_Membership_Id}}");
CreditCardDetails cc = new CreditCardDetails();
Sender s = new Sender();

cc.setCardNumber("4444333322221111");
cc.setExpiryDate("0521");
cc.setCVN("123");
cc.setCardHolderName("MR C CARDHOLDER");
		
TxnRequest txn = new TxnRequest(credentials);
TxnResp resp;
		
txn.setBaseUrl("{{platform.BaseUrl}}");
txn.setAction("payment");
txn.setAmount((long) 1000);
txn.set{{platform.Reference}}1("Test Ref 1");
txn.setType("internet");
txn.setTestMode(false);
txn.setSubType("single");
txn.setCurrency("AUD");
txn.setStoreCard(false);
txn.setAmountOriginal((long) 0);
txn.setAmountSurcharge((long) 0);
txn.setCardDetails(cc);
txn.setCredentials(credentials);
txn.setTokenisationMode(TokenisationMode.TOKENISE);
		
Address ad = new Address();
ad.setAddressLine1("123 Fake Street");
ad.setCity("Melbourne");
ad.setCountryCode("AUS");
ad.setPostCode("3000");
ad.setState("VIC");

ContactDetails cd = new ContactDetails();
cd.setEmailAddress("example@email.com");

PersonalDetails pd = new PersonalDetails();
pd.setDateOfBirth("1900-01-01");
pd.setFirstName("John");
pd.setLastName("Smith");
pd.setSalutation("Mr");

OrderAddress ba = new OrderAddress();
ba.setAddress(ad);
ba.setContactDetails(cd);
ba.setPersonalDetails(pd);

OrderAddress sa = new OrderAddress();
sa.setAddress(ad);
sa.setContactDetails(cd);
sa.setPersonalDetails(pd);

OrderItem or_item_1 = new OrderItem();
or_item_1.setDescription("an item");
or_item_1.setQuantity(new BigDecimal(1));
or_item_1.setUnitPrice((long)1000);

ArrayOfOrderItem order_items = new ArrayOfOrderItem();
order_items.getOrderItem().add(or_item_1);

OrderRecipient order_recipient_1 = new OrderRecipient();
order_recipient_1.setAddress(ad);
order_recipient_1.setContactDetails(cd);
order_recipient_1.setPersonalDetails(pd);

ArrayOfOrderRecipient order_recipients = new ArrayOfOrderRecipient();
order_recipients.getOrderRecipient().add(order_recipient_1);

Order or = new Order();
or.setBillingAddress(ba);
or.setShippingAddress(sa);
or.setOrderItems(order_items);
or.setOrderRecipients(order_recipients);
or.setShippingMethod("Boat");

txn.setOrder(or);

Customer cust = new Customer();
cust.setCustomerNumber("1234");
cust.setAddress(ad);
cust.setExistingCustomer(false);
cust.setContactDetails(cd);
cust.setPersonalDetails(pd);
cust.setDaysOnFile(1);

txn.setCustomer(cust);

FraudScreeningRequest fs = new FraudScreeningRequest();
fs.setPerformFraudScreening(true);
fs.setDeviceFingerprint("ExampleDeviceFingerprint");

txn.setFraudScreeningRequest(fs);

StatementDescriptor sd = new StatementDescriptor();
sd.setAddressLine1("123 Drive Street");
sd.setAddressLine2("");
sd.setCity("Melbourne");
sd.setCompanyName("A Company Name");
sd.setCountryCode("AUS");
sd.setMerchantName("A Merchant Name");
sd.setPhoneNumber("0123456789");
sd.setPostCode("3000");
sd.setState("Victoria");

txn.setStatementDescriptor(sd);

resp = s.submit(txn);
use {{platform.NAMESPACE}}::API;
use Data::Inspect qw(p);

${{platform.NAMESPACE}}::Sender::base_url = "{{platform.BaseUrl}}";

my $cred = {{platform.NAMESPACE}}::Credentials->new(
username => 'APIUserName', 
password => 'Passw0rd', 
{{platform.Membership_Id}} => "{{platform.Example_Membership_Id}}"
);

my $cc = {{platform.NAMESPACE}}::CardDetails->new(
card_number => "4444333322221111", 
expiry_date => "0521",
cvn => "123",
card_holder_name => "MR C CARDHOLDER"
);

my $address = {{platform.NAMESPACE}}::Address->new(
address_line_1 =>"123 Fake Stree", 
address_line_2 => "", 
address_line_3 => "", 
city => "Melbourne", 
country_code => "AUS", 
post_code => "1234", 
state => "VIC");

my $contact_details = {{platform.NAMESPACE}}::ContactDetails->new(
email_address => 'example@email.com', 
fax_number => "0123456789",
home_phone_number => "0123456789",
mobile_phone_number => "0123456789",
work_phone_number=> "0123456789");

my $personal_details = {{platform.NAMESPACE}}::PersonalDetails->new(
date_of_birth => "1900-01-01", 
first_name => "John", 
last_name => "Smith", 
middle_name => "", 
salutation => "Mr");

my $customer = {{platform.NAMESPACE}}::Customer->new(
address => $address, 
contact_details => $contact_details, 
customer_number => "1234", 
personal_details => $personal_details,
days_on_file => 1);

my $shipping_address = {{platform.NAMESPACE}}::OrderAddress->new(
address => $address, 
contact_details => $contact_details,
personal_details => $personal_details);

my $billing_address = {{platform.NAMESPACE}}::OrderAddress->new(address => $address, 
contact_details => $contact_details, 
personal_details =>$ personal_details);

my $item = {{platform.NAMESPACE}}::OrderItem->new(
description => "An item of some description",
part_number  => "1",  
quantity => "4", 
shipping_number => "1234", 
unit_price => 1099);

my @itemArray = ($item);

my $order = {{platform.NAMESPACE}}::Order->new(
shipping_address => $shipping_address, 
billing_address => $billing_address);

@{$order->{order_items}} = @itemArray;

my $fraud_screening = {{platform.NAMESPACE}}::FraudScreeningRequest->new(
perform_fraud_screening => 1,
device_fingerprint => "ExampleDeviceFingerprint");

my $statement_descriptor = {{platform.NAMESPACE}}::StatementDescriptor->new(
address_line1 => "123 Drive Street",
address_line2 => "",
city => "Melbourne",
company_name => "A Company Name",
country_code => "AUS",
merchant_name => "A Merchant Name",
phone_number => "0123456789",
post_code => "3000",
state => "Victoria"
);

my $req;

$req = {{platform.NAMESPACE}}::TransactionRequest->new(
action => "payment", 
amount => 2000, 
currency => "AUD", 
credentials => $cred, 
card_details => $cc, 
order => $order,
customer => $customer,
{{platform.ReferenceLower}}1 => "Perl Test 1", 
type => "internet", 
sub_type => "single", 
{{platform.Internal_Note}} => "Perl {{platform.InternalSpaceNote}} 1",
tokenisation_mode => 3,
fraud_screening_request => $fraud_screening,
statement_descriptor => $statement_descriptor
);

$result = $req->submit();
using {{platform.NAMESPACE}}.API.Client;
using API.Client.Common;
using API.Client.Common.Helpers;

var txnClient = ClientFactory.
GetClientInstance<TxnClient>(new JsonWebClientHelper(),
"{{platform.BaseUrl}}",
"APIUserName",
"{{platform.Example_Membership_Id}}",
"Passw0rd",
null);

var apiReq = new ProcessTxnReq()
{
 TxnReq = new TxnRequest()
 {
    Action = "payment",
    Amount = 1000,
    AmountOriginal = 0,
    AmountSurcharge = 0,
    CardDetails = new CreditCardDetails()
    {
        CardNumber = "4444333322221111",
        ExpiryDate = "0521",
        {{platform.CVN}} = "123",
        CardHolderName = "MR C CARDHOLDER"
    },
    Currency = "AUD",
    {{platform.InternalNote}} = "test merchant ref",
    OriginalTxnNumber = null,
    {{platform.Reference}}1 = "{{platform.Reference}} 1",
    {{platform.Reference}}2 = "{{platform.Reference}} 2",
    {{platform.Reference}}3 = "{{platform.Reference}} 3",
    {{platform.PaymentReason}} = null,
    StoreCard = false,
    SubType = "single",
    Type = "internet",
    TokenisationMode = 3,
    TestMode = false,
    EmailAddress = "customer@email.address",
    StatementDescriptor = new StatementDescriptor()
    {
        AddressLine1 = "123 Drive Street",
        AddressLine2 = "",
        City = "Melbourne",
        CompanyName = "A Company Name",
        CountryCode = "AUS",
        MerchantName = "A Merchant Name",
        PhoneNumber = "0123456789",
        PostCode = "3000",
        State = "Victoria"
    }
 }
};

var response = txnClient.ProcessTxn(apiReq);
var {{platform.NAMESPACE}} = require("./{{platform.NAMESPACE}}_API/index.js");
var api = new {{platform.NAMESPACE}}();

var cc = new api.CardDetails({
CardNumber: "4444333322221111", 
ExpiryDate : "0521", 
CardHolderName : "MR C CARDHOLDER", 
{{platform.CVN}} : "123"});

var ad = new api.Address({
    AddressLine1 : "123 Fake Street",
    AddressLine2 : "",
    AddressLine3 : "",
    City : "Melbourne",
    CountryCode : "AUS",
    PostCode : "3000",
    State : "VIC"
});

var cd = new api.ContactDetails({
    EmailAddress : "john.smith@email.com"
});

var pd = new api.PersonalDetails({
    DateOfBirth : "",
    FirstName : "John",
    LastName : "Smith",
    MiddleName : "",
    Salutation : "Mr"
});
     
var cust = new api.Customer({
    Address: ad,
    ContactDetails: cd,
    CustomerNumber: "1234",
    PersonalDetails: pd
});     

var ba = new api.OrderAddress({
    Address: ad,
    ContactDetails: cd,
    PersonalDetails: pd
});

var sa = new api.OrderAddress({
    Address: ad,
    ContactDetails: cd,
    PersonalDetails: pd
});

var order_item = new api.OrderItem({
    Description : "An Item",
    Quantity : 1,
    UnitPrice : 100
});

var order_items = [order_item];

var order_recipient = new api.OrderRecipient({
    Address: ad,
    ContactDetails: cd,
    PersonalDetails: pd
});

var order_recipients = [order_recipient];

var order = new api.Order({
    BillingAddress: ba,
    OrderItems: order_items,
    ShippingAddress: sa,
    ShippingMethod: "Boat",
    OrderRecipients: order_recipients
});

var fs = new api.FraudScreeningRequest({
    PerformFraudScreening: true,
    DeviceFingerprint: "ExampleDeviceFingerprint"
});

var sd = new api.StatementDescriptor({
    AddressLine1 : "123 Drive Street",
    AddressLine2 : "",
    City : "Melbourne",
    CompanyName : "A Company Name",
    CountryCode : "AUS",
    MerchantName : "A Merchant Name",
    PhoneNumber : "0123456789",
    PostCode : "3000",
    State : "Victoria"
});

var req = new api.TxnRequest({ 
Action : "payment", 
Amount: 2100, 
CardDetails : cc, 
{{platform.Reference}}1: "NodeJS Test Transaction 1", 
Currency: "AUD", 
Order: order,
Customer: cust,
FraudScreeningRequest: fs,
Type: "internet", 
SubType: "single", 
StoreCard : true,
StatementDescriptor : sd});

req.baseUrl("{{platform.BaseUrl}}");

var creds = req.credentials({
Username : "APIUserName", 
Password: "Passw0rd", 
{{platform.MembershipId}} : "{{platform.Example_Membership_Id}}"});
	
var resp = req.submit(ResponseHandler, // Custom Callback Function
function(code, body) { console.log(code + " : " + body); }, // Error Callback Function
creds);
//Configure the ApiConfig.java file to input your API user and Merchant credentials
import main.java.com.{{platform.Name_Space_Lower}}.android.api.ApiManager;

String paymentAction = "payment";
float txnAmount = 25.50f;
String crn1 = "A CRN";
String crn2 = "A CRN";
String crn3 = "A CRN";
String paymentCurrency = "AUD";
String cardHolderName = "MR C Cardholder";
String cardNumber = "5123456789012346";
String expiryDate = "9900";

String response = ApiManager.processTransactionWithAction(paymentAction,
                    txnAmount, crn1, crn2, crn3,
                    paymentCurrency, cardHolderName, cardNumber,
                    expiryDate);
//Configure the {{platform.NAMESPACE}}ApiConfig.h file to input your API user and Merchant credentials
#import <Foundation/Foundation.h>
#import <bPointSDK/bPointSDK.h>

NSString* paymentType = @"payment";
GCFLoat txnAmmount = 25.50f;
NSString* crn1 = @"A CRN";
NSString* crn2 = @"A CRN";
NSString* crn3 = @"A CRN";
NSString* cardNumber = @"5123456789012346";
NSString* expiryDate = @"9900";
NSString* cardHolderName = @"MR C Cardholder";
NSString* currency = @"AUD";

[[{{platform.NAMESPACE}}Transaction shared{{platform.NAMESPACE}}Transaction] processTransactionWithAction:paymentType invoiceAmount:txnAmmount invoiceNumber:crn1 invoiceDueDate:crn2 invoiceOrderNumber:crn3 currency:currency cardHolderName:cardHolderName card{{platform.Token}}:cardNumber cardExpiryDate:expiryDate UsingDelegate:self];