Multi-payment Templates (including Gift Cards)
This guide details how to build a multi-payment setup template to be used with the Realex payment method.
Introduction
To take multiple payments for a single order, primary and additional payment details must be submitted to the Aurora payment setup process.
Realex has been implemented using a PCI compliant HPP (Hosted Payment Page) payment process and as such only additional payment details should be submitted, which should also include a payment amount for each additional payment. Aurora will determine the outstanding order amount and initialise the Realex HPP process accordingly.
Additional Payment Data Structure
Additional payments are submitted using the following request data structure:
Name | Description | Example |
---|---|---|
additional_payments[x][transaction_type] | The Aurora payment transaction type identifier. | Givex GiftCard |
additional_payments[x][amount] | The payment amount. | 123.56 |
additional_payments[x][card_number] | The card number. | 4000 0000 1234 5678 |
additional_payments[x][expiry_month] | The card export month. | 06 |
additional_payments[x][expiry_year] | The card export year. | 2020 |
additional_payments[x][cvv] | The card CVV. | 123 |
Where "x" is the additional payment number or index.
Example HTML Form
The following HTML example shows how multiple additional payments can be submitted to the Aurora payment setup process.
<form action="/checkout/payment-setup">
<h2>Payment 1.</h2>
<input type="hidden" name="additional_payments[0][transaction_type]" value="Givex GiftCard" />
<div>
<labelAmount:</label>
<input type="text" name="additional_payments[0][amount]" value="" />
</div>
<div>
<label>Card Number:</label>
<input type="text" name="additional_payments[0][card_number]" value="" />
</div>
<div>
<label>Card Expiry:</label>
<select name="additional_payments[0][expiry_month]">
<option value="">MM</option>
<option value="01">1</option>
<option value="02">2</option>
<option value="03">3</option>
<option value="04">4</option>
<option value="05">5</option>
<option value="06">6</option>
<option value="07">7</option>
<option value="08">8</option>
<option value="09">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>
<select name="additional_payments[0][expiry_year]">
<option value="">YYYY</option>
<option value="2017">2017</option>
<option value="2018">2018</option>
<option value="2019">2019</option>
<option value="2020">2020</option>
<option value="2021">2021</option>
<option value="2022">2022</option>
<option value="2023">2023</option>
<option value="2024">2024</option>
<option value="2025">2025</option>
<option value="2026">2026</option>
<option value="2027">2027</option>
</select>
</div>
<div>
<label>CVV Number:</label>
<input type="text" name="additional_payments[0][cvv]" value="" size="3" />
</div>
<div>
<label>Amount to Redeem:</label>
<input type="hidden" name="additional_payments[0][amount]" value="0" />
<span>0.00</span>
</div>
<h2>Payment 2.</h2>
<input type="hidden" name="additional_payments[1][transaction_type]" value="Givex GiftCard" />
<div>
<labelAmount:</label>
<input type="text" name="additional_payments[1][amount]" value="" />
</div>
<div>
<label>Card Number:</label>
<input type="text" name="additional_payments[1][card_number]" value="" />
</div>
<div>
<label>Card Expiry:</label>
<select name="additional_payments[1][expiry_month]">
<option value="">MM</option>
<option value="01">1</option>
<option value="02">2</option>
<option value="03">3</option>
<option value="04">4</option>
<option value="05">5</option>
<option value="06">6</option>
<option value="07">7</option>
<option value="08">8</option>
<option value="09">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>
<select name="additional_payments[1][expiry_year]">
<option value="">YYYY</option>
<option value="2017">2017</option>
<option value="2018">2018</option>
<option value="2019">2019</option>
<option value="2020">2020</option>
<option value="2021">2021</option>
<option value="2022">2022</option>
<option value="2023">2023</option>
<option value="2024">2024</option>
<option value="2025">2025</option>
<option value="2026">2026</option>
<option value="2027">2027</option>
</select>
</div>
<div>
<label>CVV Number:</label>
<input type="text" name="additional_payments[1][cvv]" value="" size="3" />
</div>
<div>
<label>Amount to Redeem:</label>
<input type="hidden" name="additional_payments[1][amount]" value="0" />
<span>0.00</span>
</div>
</form>
Get Balance AJAX Interface
To validate a balance driven additional payment method such as a Givex Gift Card, please use the following AJAX endpoint:
/checkout/payment-balance
Request data structure:
Name | Description | Example |
---|---|---|
payment_type | The Aurora payment process type. | hcc |
transaction_type | The Aurora payment transaction type identifier. | Givex GiftCard |
card_number | The card number. | 4000 0000 1234 5678 |
expiry_month | The card export month. | 06 |
expiry_year | The card export year. | 2020 |
cvv | The card CVV. | 123 |
Example Template Code
<script type="text/javascript">
var request_data = {
payment_type: 'hcc',
transaction_type: 'Givex GiftCard',
card_number: card_number.val(),
expiry_month: expiry_month.val(),
expiry_year: expiry_year.val(),
cvv: cvv.val()
};
$.get('/checkout/payment-balance', request_data, function(response) {
if (response.balance > 0) {
alert('Card is valid');
} else {
alert('Card is not valid or has no balance');
}
}, 'json');
</script>
Example Realex Payment Setup Template
Refer the Example Realex Payment Setup Template support article for more details.
Updated over 2 years ago