Payment channel options
'Payment Channel Options' allows merchant to choose specific payment channels the customers are allowed to make payment with.
Download Sample Code
Environment
Please refer Demo & Live Endpoint.
Set account credentials
<?php
//Merchant's account information
$merchant_id = "JT01"; //Get MerchantID when opening account with 2C2P
$secret_key = "7jYcp4FxFdf0"; //Get SecretKey from 2C2P PGW Dashboard
Set transaction information
//Transaction information
$payment_description = '2 days 1 night hotel room';
$order_id = time();
$currency = "702";
$amount = '000000002500';
Set specific payment channel options
//Payment Options
$payment_option = "ALL"; //Customer Payment Options
Refer to Payment channel options code
Set payment request information
'payment_option' parameter must be included in hash compute value
Construct payment backend request form
//Request information
$version = "8.5";
$payment_url = "https://demo2.2c2p.com/2C2PFrontEnd/RedirectV3/payment";
$result_url_1 = "http://localhost/devPortal/V3_UI_PHP_JT01_devPortal/result.php";
//Construct signature string
$params = $version . $merchant_id . $payment_description . $order_id . $invoice_no .
$currency . $amount . $customer_email . $pay_category_id . $promotion . $user_defined_1 .
$user_defined_2 . $user_defined_3 . $user_defined_4 . $user_defined_5 . $result_url_1 .
$result_url_2 . $enable_store_card . $stored_card_unique_id . $request_3ds . $recurring .
$order_prefix . $recurring_amount . $allow_accumulate . $max_accumulate_amount .
$recurring_interval . $recurring_count . $charge_next_date. $charge_on_date . $payment_option .
$ipp_interest_type . $payment_expiry . $default_lang . $statement_descriptor . $use_storedcard_only .
$tokenize_without_authorization . $product . $ipp_period_filter . $sub_merchant_list . $qr_type .
$custom_route_id . $airline_transaction . $airline_passenger_list . $address_list;
$hash_value = hash_hmac('sha256',$params, $secret_key,false); //Compute hash value
Construct payment request form
echo 'Payment information:';
echo '<html>
<body>
<form id="myform" method="post" action="'.$payment_url.'">
<input type="hidden" name="version" value="'.$version.'"/>
<input type="hidden" name="merchant_id" value="'.$merchant_id.'"/>
<input type="hidden" name="currency" value="'.$currency.'"/>
<input type="hidden" name="result_url_1" value="'.$result_url_1.'"/>
<input type="hidden" name="enable_store_card" value="'.$enable_store_card.'"/>
<input type="hidden" name="request_3ds" value="'.$request_3ds.'"/>
<input type="hidden" name="payment_option" value="'.$payment_option.'"/>
<input type="hidden" name="hash_value" value="'.$hash_value.'"/>
PRODUCT INFO : <input type="text" name="payment_description" value="'.$payment_description.'" readonly/><br/>
ORDER NO : <input type="text" name="order_id" value="'.$order_id.'" readonly/><br/>
AMOUNT: <input type="text" name="amount" value="'.$amount.'" readonly/><br/>
<input type="submit" name="submit" value="Confirm" />
</form>
Submit payment request form
<script type="text/javascript">
document.forms.myform.submit();
</script>
</body>
</html>';
?>
Complete Code
Copy & Paste below code to 'demo.php' file, and put this file in your Web Server.
<?php
//Merchant's account information
$merchant_id = "JT01"; //Get MerchantID when opening account with 2C2P
$secret_key = "7jYcp4FxFdf0"; //Get SecretKey from 2C2P PGW Dashboard
//Transaction information
$payment_description = '2 days 1 night hotel room';
$order_id = time();
$currency = "702";
$amount = '000000002500';
//Payment Options
$payment_option = "ALL"; //Customer Payment Options
//Request information
$version = "8.5";
$payment_url = "https://demo2.2c2p.com/2C2PFrontEnd/RedirectV3/payment";
$result_url_1 = "http://localhost/devPortal/V3_UI_PHP_JT01_devPortal/result.php";
//Construct signature string
$params = $version . $merchant_id . $payment_description . $order_id . $invoice_no .
$currency . $amount . $customer_email . $pay_category_id . $promotion . $user_defined_1 .
$user_defined_2 . $user_defined_3 . $user_defined_4 . $user_defined_5 . $result_url_1 .
$result_url_2 . $enable_store_card . $stored_card_unique_id . $request_3ds . $recurring .
$order_prefix . $recurring_amount . $allow_accumulate . $max_accumulate_amount .
$recurring_interval . $recurring_count . $charge_next_date. $charge_on_date . $payment_option .
$ipp_interest_type . $payment_expiry . $default_lang . $statement_descriptor . $use_storedcard_only .
$tokenize_without_authorization . $product . $ipp_period_filter . $sub_merchant_list . $qr_type .
$custom_route_id . $airline_transaction . $airline_passenger_list . $address_list;
$hash_value = hash_hmac('sha256',$params, $secret_key,false); //Compute hash value
echo 'Payment information:';
echo '<html>
<body>
<form id="myform" method="post" action="'.$payment_url.'">
<input type="hidden" name="version" value="'.$version.'"/>
<input type="hidden" name="merchant_id" value="'.$merchant_id.'"/>
<input type="hidden" name="currency" value="'.$currency.'"/>
<input type="hidden" name="result_url_1" value="'.$result_url_1.'"/>
<input type="hidden" name="enable_store_card" value="'.$enable_store_card.'"/>
<input type="hidden" name="request_3ds" value="'.$request_3ds.'"/>
<input type="hidden" name="payment_option" value="'.$payment_option.'"/>
<input type="hidden" name="hash_value" value="'.$hash_value.'"/>
PRODUCT INFO : <input type="text" name="payment_description" value="'.$payment_description.'" readonly/><br/>
ORDER NO : <input type="text" name="order_id" value="'.$order_id.'" readonly/><br/>
AMOUNT: <input type="text" name="amount" value="'.$amount.'" readonly/><br/>
<input type="submit" name="submit" value="Confirm" />
</form>
<script type="text/javascript">
document.forms.myform.submit();
</script>
</body>
</html>';
?>
Updated almost 3 years ago