UnionPay SecurePay

Payment Method String upopsecurepay
Available Countries AE, AT, AU, AZ, BD, BE, BN, BY, CA, CN, DE, ES, FI, FR, GB, GE, HK, HU, ID, IE, IT, JP, KE, KG, KH, KR, KZ, LB, LI, LK, LT, LU, MG, MN, MO, MT, MU, MV, MX, MY, NL, NP, NZ, PA, PF, PH, PT, RU, SC, SG, SI, SK, SR, TH, TJ, TZ, US, VN
Available Currencies AUD, CAD, CHF, CNY, EUR, GBP, HKD, JPY, NZD, SGD, USD
Min Transaction Amount
1,00 RMB/CNY
Max Transaction Amount
300,000 RMB/transaction; 500,000 RMB/card/day
Supports Refunds
Full and Partial
Chargebacks
Yes
Sandbox
No

Sample request

HTTP POST (HPP)

<form method="POST" action="https://pay.sandbox.realexpayments.com/pay">
<input type="hidden" name="TIMESTAMP" value ="{{ timestamp }}">
<input type="hidden" name="MERCHANT_ID" value ="{{merchantId}}">
<input type="hidden" name="ACCOUNT" value ="internet">
<input type="hidden" name="ORDER_ID" value ="20230202170122-63dbec62c02a5">
<input type="hidden" name="AMOUNT" value ="3800">
<input type="hidden" name="CURRENCY" value ="EUR">
<input type="hidden" name="SHA1HASH" value ="7656a9e2ffa1db445f180daafd65bbfa89ffdaa1">
<input type="hidden" name="AUTO_SETTLE_FLAG" value ="1">
<input type="hidden" name="HPP_VERSION" value ="2">
<input type="hidden" name="HPP_CUSTOMER_COUNTRY" value ="ES">
<input type="hidden" name="HPP_CUSTOMER_FIRSTNAME" value ="James">
<input type="hidden" name="HPP_CUSTOMER_LASTNAME" value ="Mason">
<input type="hidden" name="MERCHANT_RESPONSE_URL" value =”https://www.example.com/statusUrl”>
<input type="hidden" name="HPP_TX_STATUS_URL" value =”https://www.example.com/statusUrl”>
<input type="hidden" name="HPP_ADDRESS_MATCH_INDICATOR" value ="false">
<input type="hidden" name="HPP_BILLING_STREET1" value ="Flat 123">
<input type="hidden" name="HPP_BILLING_CITY" value ="Halifax">
<input type="hidden" name="HPP_BILLING_POSTALCODE" value ="E77 4QJ">
<input type="hidden" name="HPP_BILLING_COUNTRY" value ="826">
<input type="hidden" name="HPP_LANG" value ="EN">
<input type="hidden" name="HPP_CHALLENGE_REQUEST_INDICATOR" value ="NO_PREFERENCE">
<input type="hidden" name="HPP_CUSTOMER_EMAIL" value ="james.mason@example.com">
<input type="hidden" name="COMMENT1" value="Mobile Channel">
<input type="hidden" name="COMMENT2" value="Down Payment">
<input type="hidden" name="CARD_PAYMENT_BUTTON" value="Pay Now">
<input type="submit" value="Click here to Purchase">
</form>

XML

<?xml version='1.0' encoding='UTF-8'?>			
<request type='payment-set' timestamp='{{timestamp}}'>			
	<merchantid>Merchant ID</merchantid>		
	<account>internet</account>		
	<amount currency='EUR'>3800</amount>	
	<autosettle flag='1' />		
	<orderid>N6qsk4kYRZihmPrTXWYS6g</orderid>		
	<paymentmethod>unionpay</paymentmethod>		
	<paymentmethoddetails>		
		<returnurl>https://www.example.com/returnUrl</returnurl>	
		<errorurl>https://www.example.com/errorUrl</errorurl>	
		<statusupdateurl>https://www.example.com/statusUrl</statusupdateurl>	
		<descriptor>Test Transaction</descriptor>	
		<country>ES </country>	
		<accountholdername>James Mason</accountholdername>	
	</paymentmethoddetails>		
	<comments>		
		<comment id='1'>Mobile Channel</comment>	
		<comment id='2'>Down Payment</comment>	
	</comments>		
	<sha1hash>82f3d22c04292f8673bc1e0fb8ecf0c54e38065c</sha1hash>		
</request>	

JSON

{                        
        "account_name": "{{acc_name}}",                
        "type": "SALE",                
        "channel": "CNP",                
        "amount": "3800",                
        "currency": "EUR",                
        "reference": "{{reference}}",                
        "country": "ES",                
        "payment_method": {                
                "entry_mode": "ECOM",        
                "apm": {        
                        "provider": "upopsecurepay"
                }        
        },                
        "notifications": {                
        "return_url": "<Replace with your own endpoints>",                
        "status_url": "<Replace with your own endpoints>"                
        },                
        "payer": {}                
}    

Sample Request

Additional Fields Syntax

Type indicates whether the element is Mandatory (M), Optional (O), or Conditional (C) - dependent on another field.

Name Type Format Length Description
Locale O ([a-z]+)\_([A-Z]) 5

Locale identifiers for the payment page, specified as Language_Region tags.
The following values are supported:
zh_CN, zh-CN (Simplified Chinese)
zh_TW, zh-TW (Traditional Chinese)
en_US, en-US (English)
ja_JP, ja-JP (Japanese)
ko_KR, ko-KR (Korean)