Use Alipay
Last updated: 14-Dec-2023
Rate this article:
Overview
Alipay is a third-party online payment solution, allowing customers to make and receive payments on the Internet. Alipay's market share of online payments exceeds 54% in China.
Supported currencies
Alipay supports USD and CNY transactions.
Workflow
- Shoppers select Alipay as a payment option in the checkout interface you provide to them.
- Create the order object. Use “ALIPAY” as the type of the PaymentDetails object.
- Use the placeOrder method to send the data to 2Checkout.
- Once you place the order, 2Checkout logs it into the system. At this point, the status of the order is PENDING.
- 2Checkout returns an Order object as the output of the placeOrder method.
- Use the Redirect Object in the PaymentMethod object of the response to create a redirect URL for your shoppers. Using the provided URL, make a request using the provided method (usually a GET request) and add the parameters (located in the Params object) as key-value pairs to URL of the request.
Parameters
Parameters | Type/Description |
---|---|
sessionID |
Required (string) |
|
Session identifier, the output of the Login method. Include sessionID into all your requests. 2Checkout throws an exception if the values are incorrect. The sessionID expires in 10 minutes. |
Required (Object) |
|
|
Object designed to collect all data necessary for an order, including billing, product/subscription plan and payment details. See code sample for more details. |
Request Example
<?php
require ('PATH_TO_AUTH');
$defaultCountry = "cn";
$Currency = "USD";
$Order = new stdClass();
$Order->RefNo = NULL;
$Order->Currency = $Currency ;
// $Order->Currency = 'ron' ;
$Order->Country = $defaultCountry;
$Order->Language = 'EN';
$Order->CustomerIP = '10.5.22.197';
$Order->ExternalReference = NULL;
$Order->Source = NULL;
$Order->Affiliate = new stdClass();
$Order->Affiliate->AffiliateCode = 'Partner123'
$Order->Affiliate->AffiliateSource = 'MobilePlatform'
$Order->CustomerReference = NULL;
$Order->Items = array();
$Order->Items[0] = new stdClass();
$Order->Items[0]->Code = $productCode;
$Order->Items[0]->Quantity = $productQuantity;
$Order->Items[0]->PriceOptions = NULL;
$Order->Items[0]->SKU = NULL;
$Order->Items[0]->Price = NULL;
$Order->Items[0]->CrossSell = NULL;
$Order->Items[0]->Trial = false;
$Order->Items[0]->AdditionalFields = NULL;
$Order->Items[0]->SubscriptionStartDate = NULL; //If empty or null, subscriptions become active when purchase is made.
$Order->BillingDetails = new stdClass();
$Order->BillingDetails->IsCompany = false;
$Order->BillingDetails->Address1 = 'Xian Jing Blvd 77';
$Order->BillingDetails->Address2 = 'floor 1';
$Order->BillingDetails->City = 'Shanghai';
$Order->BillingDetails->State = '';
$Order->BillingDetails->CountryCode = 'CN';
$Order->BillingDetails->Phone = '010-6552-9988';
$Order->BillingDetails->Email = 'hujianbing@336699.cn';
$Order->BillingDetails->FirstName = 'Hu';
$Order->BillingDetails->LastName = 'Jianbing';
$Order->BillingDetails->Zip = '334321';
$Order->DeliveryDetails = new stdClass();
$Order->DeliveryDetails->Address1 = 'Xian Jing Blvd 77';
$Order->DeliveryDetails->Address2 = 'floor 1';
$Order->DeliveryDetails->City = 'Shanghai';
$Order->DeliveryDetails->State = $state;
$Order->DeliveryDetails->CountryCode = 'CN';
$Order->DeliveryDetails->Phone = '010-6552-9988';
$Order->DeliveryDetails->Email = 'hujianbing@336699.cn';
$Order->DeliveryDetails->FirstName = 'Hu';
$Order->DeliveryDetails->LastName = 'Jianbing';
$Order->DeliveryDetails->Zip = '334321';
$Order->PaymentDetails = new stdClass ();
$Order->PaymentDetails->Type = 'ALIPAY';
$Order->PaymentDetails->Currency = $Currency ;
$Order->PaymentDetails->HadPayPalToken = false;
$Order->PaymentDetails->CustomerIP = '10.5.22.197';
$Order->PaymentDetails->PaymentMethod = new stdClass ();
$Order->PaymentDetails->PaymentMethod->ReturnURL = 'https://yourreturnurl.com';
$Order->PaymentDetails->PaymentMethod->CancelURL= 'https://yourcancelurl.com ';
$jsonRpcRequest = new stdClass();
$jsonRpcRequest->jsonrpc = '2.0';
$jsonRpcRequest->method = 'placeOrder';
$jsonRpcRequest->params = array($sessionID, $Order);
$jsonRpcRequest->id = $i++;
var_dump (callRPC($jsonRpcRequest, $host, true));
Response Parameters
Parameter | Type/Description |
---|---|
Object |
|
Object containing order information. |
Response Example
{
"RefNo": "189698901",
"OrderNo": 0,
"ExternalReference": null,
"ShopperRefNo": null,
"Status": "PENDING",
"ApproveStatus": "WAITING",
"VendorApproveStatus": "OK",
"MerchantCode": "251772850506",
"Language": "en",
"OrderDate": "2022-08-23 14:32:21",
"FinishDate": null,
"Source": "testAPI.com",
"WSOrder": null,
"Affiliate": {
"AffiliateCode": null,
"AffiliateSource": null,
"AffiliateName": null,
"AffiliateUrl": null
},
"HasShipping": true,
"BillingDetails": {
"FiscalCode": null,
"TaxOffice": null,
"Phone": "010-6552-9988",
"FirstName": "John",
"LastName": "Doe",
"Company": null,
"Email": "test@verifone.com",
"Address1": "Test Address",
"Address2": null,
"City": "Shanghai",
"Zip": "35005",
"CountryCode": "cn",
"State": null
},
"DeliveryDetails": {
"Phone": "010-6552-9988",
"FirstName": "John",
"LastName": "Doe",
"Company": null,
"Email": "test@verifone.com",
"Address1": "Test Address",
"Address2": null,
"City": "Shanghai",
"Zip": "35005",
"CountryCode": "cn",
"State": null
},
"PaymentDetails": {
"Type": "ALIPAY",
"Currency": "cny",
"PaymentMethod": {
"Amount": "243",
"Currency": "cny",
"Redirect": {
"Url": "https://intlmapi.alipay.com/gateway.do?_input_charset=utf-8¤cy=USD¬ify_url=https%3A%2F%2Fsecure.2checkout.com%2Falipay%2Fipn.php&out_trade_no=189698901&partner=2088201540985859&refer_url=1.TEST.MOR.com&return_url=https%3A%2F%2Fsecure.2checkout.com%2Forder%2Fgateway_return.php&rmb_fee=243&service=create_forex_trade&subject=2Checkout%E7%92%81%E3%88%A0%E5%B4%9F+%E9%8D%97%E6%9B%9E%E5%BD%BF%3A+%23189698901&trade_information%5Bbusiness_type%5D=4&trade_information%5Bgoods_info%5D=LPUJL13OZ6%5E1&trade_information%5Btotal_quantity%5D=1&sign=1c6c63019202662f10a96b528f8ee1a4&sign_type=MD5",
"Method": "GET",
"Params": {
"_input_charset": "utf-8",
"currency": "USD",
"notify_url": "https://secure.2checkout.com/alipay/ipn.php",
"out_trade_no": "189698901",
"partner": "2088201540985859",
"refer_url": "1.TEST.MOR.com",
"return_url": "https://secure.2checkout.com/order/gateway_return.php",
"rmb_fee": "243",
"service": "create_forex_trade",
"subject": "2Checkout璁㈠崟 鍗曞彿: #189698901",
"trade_information": {
"business_type": "4",
"goods_info": "LPUJL13OZ6^1",
"total_quantity": "1"
},
"sign": "1c6c63019202662f10a96b528f8ee1a4",
"sign_type": "MD5"
},
"FullHtml": "<!DOCTYPE html>\n<html lang=\"EN\"><body><script type=\"text/javascript\">window.location.replace(\"https://intlmapi.alipay.com/gateway.do?_input_charset=utf-8¤cy=USD¬ify_url=https%3A%2F%2Fsecure.2checkout.com%2Falipay%2Fipn.php&out_trade_no=189698901&partner=2088201540985859&refer_url=1.TEST.MOR.com&return_url=https%3A%2F%2Fsecure.2checkout.com%2Forder%2Fgateway_return.php&rmb_fee=243&service=create_forex_trade&subject=2Checkout%E7%92%81%E3%88%A0%E5%B4%9F+%E9%8D%97%E6%9B%9E%E5%BD%BF%3A+%23189698901&trade_information%5Bbusiness_type%5D=4&trade_information%5Bgoods_info%5D=LPUJL13OZ6%5E1&trade_information%5Btotal_quantity%5D=1&sign=1c6c63019202662f10a96b528f8ee1a4&sign_type=MD5\");</script></body></html>"
},
"ReturnURL": https://yourreturnurl.com,
"CancelURL": https://yourcancelurl.com,
"RecurringEnabled": false,
"Vendor3DSReturnURL": null,
"Vendor3DSCancelURL": null,
"InstallmentsNumber": null
},
"CustomerIP": "91.220.121.21"
},
"DeliveryInformation": {
"ShippingMethod": {
"Code": null,
"TrackingUrl": null,
"TrackingNumber": null,
"Comment": null
}
},
"CustomerDetails": null,
"Origin": "API",
"AvangateCommission": 18,
"OrderFlow": "REGULAR",
"GiftDetails": null,
"PODetails": null,
"ExtraInformation": null,
"PartnerCode": null,
"PartnerMargin": null,
"PartnerMarginPercent": null,
"ExtraMargin": null,
"ExtraMarginPercent": null,
"ExtraDiscount": null,
"ExtraDiscountPercent": null,
"LocalTime": null,
"TestOrder": false,
"FxRate": 0.14024803891494,
"FxMarkup": 4,
"PayoutCurrency": "USD",
"DeliveryFinalized": false,
"Errors": null,
"Items": [
{
"ProductDetails": {
"Name": "Test Product",
"ShortDescription": "<p>Join all your clouds in a big one</p>",
"Tangible": false,
"IsDynamic": false,
"ExtraInfo": null,
"RenewalStatus": false,
"Subscriptions": null,
"DeliveryInformation": {
"Delivery": "BY_AVANGATE",
"DownloadFile": null,
"DeliveryDescription": "",
"CodesDescription": "",
"Codes": []
}
},
"PriceOptions": [],
"Price": {
"UnitNetPrice": 243,
"UnitGrossPrice": 243,
"UnitVAT": 0,
"UnitDiscount": 0,
"UnitNetDiscountedPrice": 243,
"UnitGrossDiscountedPrice": 243,
"UnitAffiliateCommission": 0,
"ItemUnitNetPrice": null,
"ItemUnitGrossPrice": null,
"ItemNetPrice": null,
"ItemGrossPrice": null,
"VATPercent": 0,
"HandlingFeeNetPrice": 0,
"HandlingFeeGrossPrice": 0,
"Currency": "cny",
"NetPrice": 243,
"GrossPrice": 243,
"NetDiscountedPrice": 243,
"GrossDiscountedPrice": 243,
"Discount": 0,
"VAT": 0,
"AffiliateCommission": 0
},
"LineItemReference": "281d818c9b23daf15405807916e95dac5423d043",
"PurchaseType": "PRODUCT",
"Code": "LPUJL13OZ6",
"ExternalReference": "",
"Quantity": 1,
"SKU": null,
"CrossSell": null,
"Trial": null,
"AdditionalFields": null,
"Promotion": null,
"RecurringOptions": null,
"SubscriptionStartDate": null,
"SubscriptionCustomSettings": null,
"UpSell": null
}
],
"Promotions": [],
"AdditionalFields": null,
"Currency": "cny",
"NetPrice": 243,
"GrossPrice": 243,
"NetDiscountedPrice": 243,
"GrossDiscountedPrice": 243,
"Discount": 0,
"VAT": 0,
"AffiliateCommission": 0,
"CustomParameters": null,
"Refunds": null
}
For more on how to redirect shoppers to the payment method page to finalize the payment, read here.
Rate this article: