Developer

IPP (Installment payment plan)

Follow

Preapre Payment Request

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  = '000000102500';

Set IPP interest type

	//Payment Options
	$payment_option = "I";	//Customer Payment Options
	$request_3ds = "N";	//For test purpose, disable 3DS

	//IPP Options
	$ipp_interest_type = "M";	//Interest type

Set payment request information

	//Request information
	$version = "7.2";	
	$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;
	
	$hash_value = hash_hmac('sha1',$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="payment_option" value="'.$payment_option.'"/>
		<input type="hidden" name="ipp_interest_type" value="'.$ipp_interest_type.'"/>
		<input type="hidden" name="request_3ds" value="'.$request_3ds.'"/>
		<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 your working 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  = '000000102500';

	//Payment Options
	$payment_option = "I";	//Customer Payment Options
	$request_3ds = "N";	//For test purpose, disable 3DS

	//IPP Options
	$ipp_interest_type = "M";	//Interest type

	//Request information
	$version = "7.2";	
	$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;
	
	$hash_value = hash_hmac('sha1',$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="payment_option" value="'.$payment_option.'"/>
		<input type="hidden" name="ipp_interest_type" value="'.$ipp_interest_type.'"/>
		<input type="hidden" name="request_3ds" value="'.$request_3ds.'"/>
		<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>';	 
?>

Test Card Number:

BANK Card NO Expiry CVV2/CVC2
UOB (Singapore) 4381 7416 0311 3325 12/2020 123
UOB (Thailand) 4033 7521 2116 8867 12/2020 123
CITIBANK 4555 9644 5613 5654 12/2020 123
HSBC 4181 3146 8524 2438 12/2020 123
KBANK 4023 3921 7448 4564 12/2020 123
MAYBANK 5452 9800 8501 7452 12/2020 123
 

 

 

Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request

Comments

Please sign in to leave a comment.