- 翻译公司资讯
-
世联翻译公司完成电子系统“手机网页支付接入与使用规则”英文翻
发布时间:2019-09-05 09:01 点击:
世联翻译公司完成电子系统“手机网页支付接入与使用规则”英文翻译
1 Document Description1.1 Document DescriptionThis document is the affiliated document of Mobile Phone Webpage Instant Fastpay Interface, which describe what requires attention during the technological access and using process, to help commercial tenants avoid risks.Please contact the related technology support if you have any questions after reading.1.2 Business termsTable 1-1 Business TermsTerms DescriptionDemand The process of transmitting the data requiring for delivery to theReturn Alipay will send feedbacks to the commercial user websites after Alipay processes them according to the obtained data.Sensitive words With sensitively–political tendency, tendency of violence, unhealthy or uncivilized words.2 Attribution of liabilityAll the rules involved in the document are the preventive measures against the main risks during the access and using process of interface. All the commercial users shall care about them. Please strictly follow the interface technological files (Mobile Phone Webpage Instant Fastpay Interface.pdf), example codes, and the access and using rules of this file(Mobile Phone Webpage Access and Using Rules.pdf). Otherwise, they caused risks, assets loss or expanded cases shall be shouldered by the commercial users.3 Technology access rulesTable 3-1 Technological access rulesTypes Details ReasonsAccount No. Configured cooperator ID and safety checking key must be guaranteed matching with the signing information. Prevent abnormal using of interface or assets lossIt is obligatory to protect the cooperator’s ID, safety verifying code key, private and public secrete key of commercial tenants and privacy of Alipay public key. Prevent the signed account information being stolen, loss in capital and despitefully utilized by othersAfter testing, change the testing account number as the signed account number. When using testing account number, the handling charge shall be deducted as per 3%.Safety Commercial tenants must access Alipay interface in the way of DNS analysis. DNS cache shall not be set up. Alipay IP shall not be bound. Where the Alipay IP must be bound in view of their own safety, commercial tenants must put on records of the technical supporters of Alipay. Once the IP address changes, the commercial address cannot request or access Alipay so that commercial user business cannot be used directly.Composition Mobile phone webpage payment product shall be composed of two interfaces, mobile phone webpage instant fastpay authorized interface (alipay.wap.trade.create.direct) and mobile phone webpage instant fastpay transaction interface (alipay.wap.auth.authandexecute) If any interface absent, the product can not be normally used.It is obligatory to first call mobile phone webpage instant fastpay authorized interface (alipay.wap.trade.create.direct) and then call mobile phone webpage instant fastpay transaction interface (alipay.wap.auth.authandexecute), so as to complete payment. Mobile phone webpage instant fastpay transaction interface (alipay.wap.auth.authandexecute) must rely on authorized token(request_token) to complete payment; the authorized token shall be got from mobile phone webpage instant fastpay authorized interface (alipay.wap.trade.create.direct).Signature logic in case of request All the required parameters shall be sequenced as per the format of parameter name=parameter value in the order of lexicographic order of first character. The character strings to be signed shall be spliced according to the rules of “Parameter name 1=Parameter value 1& Parameter name 2= Parameter value 2&….& Parameter value N= Parameter value N”. Avoid reporting abnormal error, like incorrect signature.When signing the parameters for the request, these parameters must originate from the request parameter list and remove the parameters sign in the list. Avoid reporting abnormal error, like incorrect signature.When signing the requested parameters, as for the parameters of “NULL” in the request parameter list, if selecting to use them, then the parameter value shall not be NULL or NULL value. Avoid reporting abnormal error. All kinds of error code requires error code list table.Parameter setting Among the request parameter list, the parameters “Not FULL” must be configured. Avoid abnormal using of interfaceAmong the variant parameters requiring multiple selection of NULL in the request parameter list, it is must to configure one at least. Avoid abnormal using of interfaceIt is mandatory to configure as per the format of all parameters in the request parameter list. Avoid abnormal using of interfaceIt is mandatory to set up the request parameters “_input_charset” (encoding format). That is, the parameter shall not be NULL and this parameter shall be added into the signature operation. And the value can only be set as “utf-8”. That is, this product does not support GBK coding format. Avoid reporting abnormal error, like incorrect signature.“seller_email” is the Alipay account number for payment and shall be the same as the Alipay account number corresponding to “partner”. That is, charging Alipay account number must be the one in signature. Avoid signed Alipay account number appears the possibility of assets loss.Signature ways only support RSA and MD5. In case of using RSA signature, the signature way shall be set as 0001. Avoid unsuccessful signatureNode information in parameter “req_data” must be set up as per XML node format, without the requirement of order. The node information which can not be empty must be set up. The node which can be empty supports “no-setting”, and also supports empty value for set conditions. If setting does not meet XML format or neglects “non-empty” node information, request reports no errors, when returning, Alipay would present 004, “req_data illegal”.Interface structure The gateway of Alipay must be used to send request message to the Alipay as per the following request gateway:http://wappaygw.alipay.com/service/rest.htm。 Avoid being angled by phishing website.In the request sending to Alipay, the request parameters not only contain the parameters of signature, but also contain parameter “sign”. Avoid reporting abnormal error, like incorrect signature.Request issued to Alipay, if using “form” table sheet delivery, it shall be edited as per the following request,“action” value must be “http://wappaygw.alipay.com/service/rest.htm?_input_charset=the value”,for example: http://wappaygw.alipay.com/service/rest.htm?_input_charset=utf-8. It is not allowed to be written as complete request link address, that is, prohibit http://wappaygw.alipay.com/service/rest.htm? with the request parameter data for Alipay.Between <form> and </form> requires containing all parameters issuing to Alipay. And each parameter format shall be <input type="hidden" name="parameter name" value=" parameter value " />;Among the numerous request parameters, request parameter “_input_charset” (encoding format) must be appeared in “form” table list, that is, “form” table list mut contain <input type="hidden" name="_input_charset" value="parameter value">;Data contains between <form> and </form> shall only be the parameters sending request to Alipay. Prohibit self naming by commercial tenants. It does not require other data in parameter request list table at the interface technology file.Property “method ” in “form” table list can be selected as,”get” and “post”. However, Mobile phone webpage instant fastpay transaction interface(alipay.wap.auth.authandexecute) only supports “get” method.Avoid reporting error in request Alipay. The error code is incorrect signature. Mobile phone webpage instant fastpay transaction interface (alipay.wap.auth.authandexecute); if use POST submitting, page will display as empty.Data transmission It is a mandatory to us https protocol. Avoid abnormal using of interfaceIn Mobile phone webpage instant fastpay authorized interface(alipay.wap.trade.create.direct), it is suggested to use analog remote delivery way to submit information and get returning information. Moreover, the submitting way only supports “POST”. Avoid reporting abnormal error (like, incorrect signature) and failing to get authorized token.In Mobile phone webpage instant fastpay transaction interface(alipay.wap.auth.authandexecute), the submitting way only supports GET。 If submitting by “POST”, then page will display EMPTY.Notifying returning verification Among the synchronous notices of webpage skipping of Mobile phone webpage instant fastpay transaction interface(alipay.wap.auth.authandexecute), when signing the notified parameters, these parameters must be come from the parameters notified by Alipay, remove the parameter “sign” in list table. Firstly, rank these data according to “Parameter name=parameter value” in the order of letter a to z, then splice as per the rule of “Parameter name1= parameter value 1& Parameter name 2= Parameter value 2&… & Parameter name N=Parameter value N”. Compare the obtained signing results with the obtained parameter “sign” value. Verify the returned signature.In the asynchronous server notice of Mobile phone webpage instant fastpay transaction interface(alipay.wap.auth.authandexecute), require XML analysis of parameter “notify_data” under clear text status, so as to get the value of node “notify_id”.Avoid the failure to normally get notice ID (notify_id), and cause whether the verification fails sent by Alipay.In the asynchronous server notice of Mobile phone webpage instant fastpay transaction interface(alipay.wap.auth.authandexecute),if asynchronous server notifying path, then the parameter “notify_id” obtained must be used to request Alipay, so as to obtain whether it is the verification result issued by Alipay. The request links ishttps://mapi.alipay.com/gateway.do?partner=cooperator ID ID¬ify_id=Notify ID value.Verify whether it is the request sent by Alipay.In the asynchronous server notice of Mobile phone webpage instant fastpay transaction interface(alipay.wap.auth.authandexecute), asynchronous server parameter under clear test status (except parameter sign) does not require ordering, but directly follow the notified returning parameter order, then splice as per the rule of “Parameter name1= parameter value 1& Parameter name 2= Parameter value 2&… & Parameter name N=Parameter value N”, so as to get the character string to be signed.Avoid incorrect verified signatureReturning data processing Alipay issues notice actively. When commercial tenants receive the notified data, it must return to Aliapy “success” character string. It is not allowed to return other redundant characters. If the commercial tenans return the information without success” to Alipay, then Alipay issues notice 7 times repetitively at utmost.It is a must to guarantee that the set notifying path can be obtained by access to Internet smoothly. Avoid failure to receive the notice issued by Alipay.In Mobile phone webpage instant fastpay authorized interface(alipay.wap.trade.create.direct), it requires to decode the obtained returned data (URLDECODE), then complete character string cut for these data, and obtain the value of parameter “res_data”. Then, if the signature way of “sec_id” set at the interface is 0001(RSA), it requires RSA decryption for parameter “res_data”. This step is not required if the signature way “sec_id” is MD 5. At last, make XML analysis for “res_data” parameter value of clear text, so as to get the authorized token “request_token”. Returned data is a string of encoded character string. Require operating steps for character string like decoding (URLDECODE), cutting, RSA decryption, XML analysis. Issues appeared at any step make authorized token “request_token’ unavailable.In the webpage synchronous notice of Mobile phone webpage instant fastpay transaction interface(alipay.wap.auth.authandexecute), the returned data can be obtained in the way of “GET”. Webpage skipping synchronous notice returns information in pure URL with parameter mode.In asynchronous server notice of Mobile phone webpage instant fastpay transaction interface(alipay.wap.auth.authandexecute), if the signing way “sec_id” sets(RSA),then the parameter “notify_data” shall be decrypted for RSA to get clear text..If the signing way “sec_id” sets MD5, decryption is not required.If the signing way if 0001(RSA), the parameter “notify_data” is in ciphertext status, requiring for decryption.Among the server asynchronous notice of Mobile phone webpage instant fastpay transaction interface(alipay.wap.auth.authandexecute),if intending to get the required information, it is required to analyze “notify_data” of XML to get child node information. Parameter “notify_data” is the character string of XML format.It is obligatory to process the returned data. It benefits the commercial tenants to learn about the using conditions of interface and the follow-up business operation of commercial tenants.Among the server asynchronous notifying webpage document, it requires all the businesses of commercial tenants to be completed before executing the action of printing “success”. Avoid abnormal asynchronous notification; if failing to receive the notification or business process is not completed, tell Alipay system has been processed completely.It is suggested each refunding operation shall be recorded to the log operation database of the commercial user website. It is used to check or trail after the business processing conditions when necessary.Interface environment Interface cannot be embedded in “iframe” framework. Avoid abnormal using of interfaceError code processing Request error For example, “seller_account_name” does not meet the email box format; request parameter does not meet the setting rules, like request parameter absence.To guarantee user account safety, prohibit non-mobile phone accessThis transaction is not created or executed on true phones. This condition generally appears on the commercial tenants testing phase. Report errors when request for Alipay through pc browser.Automatically formulated interface code rules If code illustrations provided by Alipay are not used, then it is mandatory to process chapters and the document technology interface rules, interface using rules and testing flow rules to formulate the interface code meeting the commercial user website project according to the signature mechanism and notification returning data in technological document. Avoid abnormal using of interface4 Interface access rulesTable 4-1 Interface using rulesType Standardization ReasonsIn using As for a same commercial tenants order not creating Alipay transaction, support repetitive calling Mobile phone webpage instant fastpay authorized interface (alipay.wap.trade.create.direct), but the value of “req_id” must be the only one. Request value of “req_id” must be the only one.As for a same commercial tenants order not creating Alipay transaction, support repetitive calling Mobile phone webpage instant fastpay authorized interface(alipay.wap.trade.create.direct), and the returned authorized token each time is valid. The validity period shall be 24 hours.When Alipay system fails to create Alipay transaction for commercial tenants, commercial tenants can repetitively call the order Mobile phone webpage instant fastpay authorized interface(alipay.wap.trade.create.direct),the returned authorized token each time is not the same.Mobile phone webpage instant fastpay transaction interface(alipay.wap.auth.authandexecute) supports repetitive calling, with the premise that basic transaction information (buyer, seller, transaction amount, overtime time, and goods name, etc.) keep identical in many times of calling and transaction does not complete the payment.Prevent failed paymentMobile phone webpage instant fastpay transaction interface(alipay.wap.auth.authandexecute) support a same token (authorized token) being repetitive calling, but it is required to guarantee that the transaction corresponding token (authorized token) has not been confirmed. That is, the transaction has not been created in Alipay.Avoid the error of “unconformity of the buyer”When filling the buyer’s Alipay account number, it shall not be the same as the buyer’s Alipay account number.Avoid reporting error, like error code, failure in creating transactionCustomer terminal internally embedded “webview” for realizing. It requires for opening “js” and “css” settings. Avoid abnormal compatibility or interface distribution and messy code due to internally embedding.Special characters shall not exist in affecting the request format in the request parameter, for example, the special characters of “url” and “xml” format.Avoid the failure of transactionThe business judgment basis for suggesting commercial tenants is based on “notify_url” (asynchronous notification of server). “call_back_url” webpage files are only sued for interface display.Avoid asynchronous commercial tenants order data with Alipay transaction dataAmong the numerous Alipay channels supported by this interface, once deposit card and credit card payment once enter the mobile phone E-bank interface webpage, Alipay can not control the payment efficiency of orders. The running of all E-bank systems and interaction between all E-bank and Alipay cause the unequal speed of payment due to network or other factors.Matters needing attention for business application Commissions deducting modes of Alipay commission payment include the following two modes.(1) Real-time deducting mode: generally deduct fees from account charging fees, or adopt deduction of the designated fixed Alipay account deducting;(2) Monthly settling-charging fee mode: real-time transaction does not deduct the commissions. They are settled once according to the month-ending bill. In the real-time deducting mode, the deducting record can be inquired in the account details of Alipay account number; but in monthly settling-charging fee mode, the deducting details can not be inquired immediately.In the process of integrate interface, if commercial tenants use “seller_email” as the money collecting account, then when it is required to alter the Alipay account name, the commercial tenants must make corresponding in the procedure.Avoid the errors of not existing sellers’ account during the payment process.In testing In the debugging phase, it is suggested to use 1 fen (RMB 0.01 Yuan) for testing. Lower the testing costNetwork Guarantee network smooth Prevent all kinds of abnormal conditions in the synchronous order during payment of completing payment.5 Detailed explanation of integration flow5.1 Integration preparation1. Confirm whether the mobile phone has opened the webpage payment function or not.Use agreement-signed Alipay account number to log on https://b.alipay.com/order/serviceIndex.htm. “Completed” of order status indicates that the payment right of mobile phone webpage has been opened as the following figure.If it can not be confirmed, it is suggested to connect the company’s business personnel who sign the agreement with Alipay.2. Confirm the Alipay account number of concluding agreementWhen integrating, it is required to use the related information of Alipay account number of signing agreement, including Alipay logging account number, cooperator ID (PID), transaction safety verification code (KEY). The obtaining method refers to “7.1 How to get PID and secret key”.3. Confirm he development language of websiteDevelopment language refers to develop website with a designated language. The code examples provided by Alipay presently include “PHP”, “ASP.NET” and “JAVA”.4. Confirming the website encoding formatIn order to inquiry what kind of encoding format the website uses, click right-hand button of mouse on the website webpage, find “coding”, open the extending arrow and look through. The defaulted selected code is the encoding format of website. The code examples provided by Alipay only contains “UTF-8” presently.5. Confirming the signature of websiteSignature way refers to the method providing encryption and decryption for the character string. The code examples provided by Alipay only contains RSA and MD5.6. Confirming the development environment● Debugging environment of computerAll kinds of corresponding environment and debugging tools of all development languages;● Debugging environment of server-- All kinds of corresponding environment of all development language in servers, for example, SSL service supporting PHP development language and CURL server;-- The channels and rights uploading the local files to the server, like FTP, SFTP transmission.5.2 Integration5.2.1 Configuration running of interface codesDecompress the interface data compression files downloaded (File name: WS_WAP_PAYWAP.zip), select JAVA according to the conditions of commercial tennats(File name: WS_WAP_PAYWAP-JAVA-UTF-8), PHP(File name: WS_WAP_PAYWAP-PHP-UTF-8), C#(File name:WS_WAP_PAYWAP-CSHARP-UTF-8, any one of the illustrated file folder of three development language codes.1. JAVA configuration flow(Take “eclipse” as the example)Step 1: Code introductionStart JAVA development software, introduce “src\com” file folder, “WebRoot\mages” file folder, “WebRoot\log” file folder, “WebRoot\WEB-INF\lib” file folder, “WebRoot\alipayapi.jsp”, “WebRoot\call_back_url.jsp” and “WebRoot\notify_url.jsp” in WS_WAP_PAYWAP-JAVA-UTF-8” file folder into the development environment. The files in “src\com” file folder are class file, which can not be mixing-used with other interfaces of Alipay PO terminal.Step 2 Configuring the basic informationIn the JAVA development environment, open “AlipayConfig.java” file under “src\com\alipay\config” class, configure the basic information parameters of partner (cooperator identity ID), “key” (transaction safety check code), “private_key” (private key of commercial tenants), “public_key” (public key of Alipay) and “sign_type” (type of signature).Table 5-1 JAVA basic information configurationParameters Meaningpartner Cooperator ID, Character string headed by 2088 and composed of 16-bit digits. Please refer to “7.1 how to get PID and secret key”.key Transaction safety check code, 32-bit character string composed of numbers and letters; when “sign_type” is set up as MD5, the parameter setting is valid. Please refer to “7.1 how to get PID and secret key”.private_key Private key of commercial tenants; when “sign_type” is set up as 00001, the parameter setting is valid. Please refer to “7.2 Generation and use of RSA secret key”.public_key Public key of Alipay; when “sign_type” is set up as 00001, the parameter setting is valid. Please refer to “7.2 Generation and use of RSA secret key”.sign_type Signature way; only support two ways of signature in the mobile phone webpage payment interface, MD5 and RSA; the set values to the parameter are MD5 and 0001 respectively.input_charset Character encoding format; only support “utf-9” in the mobile phone webpage payment interface, no need for alteration.Step 3 Configuring business informationOpen “alipayapi.jsp” file and configure the several common business parameter information, like “req_id” (request number), “notify_url” (asynchronous notifying webpage path of server), “call_back_url” (synchronous notifying webpage path of page skipping), “seller_email” (seller’s Alipay account), “out_trade_no” (commercial tenant order number), “subject” (order name), “total_fee” (payment amount). Please refer to “7.3 business data transmission” and “7.4 How to increase business parameter expansion”Step 4 Compiling the business logic of synchronous notifying businessOpen “call_back_url.jsp” file. Write the business logic code of commercial tenants of business logic procedure coding at the designated position of note “// Please add the business logic program code of commercial tenants”. Please refer to “7.5 How to Upgrade Order.”Step 5: Compiling asynchronous notifying business logicOpen “notify_url.jsp” file (“notify_url.jsp” requires guaranteeing no any HTML code). Write the business logic code of commercial tenants of business logic procedure coding at the designated position of note “// Please add the business logic program code of commercial tenants”. Please refer to “7.5 How to Upgrade Order.” The signature way of “00001” requires decryption beforehand; the signature way of “MD 5” does not require decryption beforehand. After decryption, XML analysis is required for obtaining parameter information.2. PHP configuration flowStep 1: Code introductionStart PHP development software, introduce other files except “readme.txt”” and “openssl” file folder in “WS_WAP_PAYWAP-CSHARP-UTF-8” into the development environment. The files in “lib” file folder are class file, which can not be mixing-used with other interfaces of Alipay PO terminal.Step 2 Configuring the basic informationIn the PHP development environment, open “alipay.config.php” file to configure the basic information parameters of partner (cooperator identity ID), “key” (transaction safety check code), “private_key” (private key of commercial tenants), “public_key” (public key of Alipay) and “sign_type” (type of signature).Table 5-2 PHP basic information configurationParameters Meaningpartner Cooperator ID, Character string headed by 2088 and composed of 16-bit digits. Please refer to “7.1 how to get PID and secret key”.key Transaction safety check code, 32-bit character string composed of numbers and letters; when “sign_type” is set up as MD5, the parameter setting is valid. Please refer to “7.1 how to get PID and secret key”.private_key Private key of commercial tenants; when “sign_type” is set up as 00001, the parameter setting is valid. Please refer to “7.2 Generation and use of RSA secret key”.public_key Public key of Alipay; when “sign_type” is set up as 00001, the parameter setting is valid. Please refer to “7.2 Generation and use of RSA secret key”.sign_type Signature way; only support two ways of signature in the mobile phone webpage payment interface, MD5 and RSA; the set values to the parameter are MD5 and 0001 respectively.input_charset Character encoding format; only support “utf-9” in the mobile phone webpage payment interface, no need for alteration.cacert “ca” certificate path address is used for “ssl” check in “curl”. It is required to guarantee “cacert.pem” under the current file folder contents, no need for alteration.transport Visiting mode; confirm whether supporting “ssl” visiting according to the own server; if supporting, please select “https”; if not supporting, please select “http”. When this parameter is only related to synchronous notice and asynchronous notice, testify whether it is the Alipay request address in the request function sent by Alipay, no need for alteration.Step 3 Configuring business informationOpen “alipayapi.jsp” file and configure the several common business parameter information, like “req_id” (request number), “notify_url” (asynchronous notifying webpage path of server), “call_back_url” (synchronous notifying webpage path of page skipping), “seller_email” (seller’s Alipay account), “out_trade_no” (commercial tenant order number), “subject” (order name), “total_fee” (payment amount). Please refer to “7.3 business data transmission” and “7.4 How to increase business parameter expansion”Step 4 compiling the business logic of synchronous notifying businessOpen “call_back_url.jsp” file. Write the business logic code of commercial tenants of business logic procedure coding at the designated position of note “// Please add the business logic program code of commercial tenants”. Please refer to “7.5 How to Upgrade Order.”Step 5: Compiling asynchronous notifying business logicOpen “notify_url.php” file (“notify_url.jsp” requires guaranteeing no any HTML code). Write the business logic code of commercial tenants of business logic procedure coding at the designated position of note “// Please add the business logic program code of commercial tenants”. Please refer to “7.5 How to Upgrade Order.” The signature way of “00001” requires decryption beforehand; the signature way of “MD 5” does not require decryption beforehand. After decryption, XML analysis is required for obtaining parameter information.3. ASP.NET(C#) configuration flowStep 1: Code introductionStart .NET development software, introduce other files except “WebRoot\mages” file folder in “WS_WAP_PAYWAP-CSHARP-UTF-8” into the development environment. To prevent occupying the name of “default.aspx”, the core code in the files “default.aspx” and “default.aspx.cs” can be copied to new page files. Files in “app_code” is class file, which can not be mixing-used with other interfaces of Alipay PO terminal.Step 2 Configuring the basic informationIn the .NET development environment, open “AlipayConfig.cs” file under “app_code” class to configure the basic information parameters of partner (cooperator identity ID), “key” (transaction safety check code), “private_key” (private key of commercial tenants), “public_key” (public key of Alipay) and “sign_type” (type of signature).Table 5-3 ASP.NET(C#)basic information configurationParameters Meaningpartner Cooperator ID, Character string headed by 2088 and composed of 16-bit digits. Please refer to “7.1 how to get PID and secret key”.key Transaction safety check code, 32-bit character string composed of numbers and letters; when “sign_type” is set up as MD5, the parameter setting is valid. Please refer to “7.1 how to get PID and secret key”.private_key Private key of commercial tenants; when “sign_type” is set up as 00001, the parameter setting is valid. Please refer to “7.2 Generation and use of RSA secret key”.public_key Public key of Alipay; when “sign_type” is set up as 00001, the parameter setting is valid. Please refer to “7.2 Generation and use of RSA secret key”.sign_type Signature way; only support two ways of signature in the mobile phone webpage payment interface, MD5 and RSA; the set values to the parameter are MD5 and 0001 respectively.input_charset Character encoding format; only support “utf-9” in the mobile phone webpage payment interface, no need for alteration.Step 3 Configuring business informationOpen “alipayapi.jsp” file and configure the several common business parameter information, like “req_id” (request number), “notify_url” (asynchronous notifying webpage path of server), “call_back_url” (synchronous notifying webpage path of page skipping), “seller_email” (seller’s Alipay account), “out_trade_no” (commercial tenant order number), “subject” (order name), “total_fee” (payment amount). Please refer to “7.3 business data transmission” and “7.4 How to increase business parameter expansion”Step 4 compiling the business logic of synchronous notifying businessOpen “call_back_url.aspx” and “call_back_url.aspx.cs” file. “call_back_url.aspx” can display some information for users’ inquiry at the front-terminal page; “call_back_url.aspx.cs” works as the backstage business encoding place.Write the business logic code of commercial tenants of business logic procedure coding at the designated position of note “// Please add the business logic program code of commercial tenants”. Please refer to “7.5 How to Upgrade Order.”Step 5: Compiling asynchronous notifying business logicOpen “notify_url.aspx.cs” file (“notify_url.jsp” requires guaranteeing no any HTML code). Write the business logic code of commercial tenants of business logic procedure coding at the designated position of note “// Please add the business logic program code of commercial tenants”. Please refer to “7.5 How to Upgrade Order.” The signature way of “00001” requires decryption beforehand; the signature way of “MD 5” does not require decryption beforehand. After decryption, XML analysis is required for obtaining parameter information.5.2.2 Detailed illustration of interface code examples running1. JAVA(Take eclipse as the example )Step 1: After commercial tenants configure the parameter data for the request of Mobile phone webpage instant fastpay authorized interface (alipay.wap.trade.create.direct), combine them into array “sParaTempToken” and then make empty-value filtering for the array (Calling function “paraFilter” in “AlipayCore” class).{req_data=<direct_trade_create_req><notify_url>http://www.xxx.com/WS_WAP_PAYWAP-JAVA-UTF-8/notify_url.jsp</notify_url><call_back_url>http://127.0.0.1:8080/WS_WAP_PAYWAP-JAVA-UTF-8/call_back_url.jsp</call_back_url><seller_account_name>alipayrisk10@alipay.com</seller_account_name><out_trade_no>cs201306170001</out_trade_no><subject>Testing</subject><total_fee>0.01</total_fee></direct_trade_create_req>, service=alipay.wap.trade.create.direct, sec_id=0001, partner=2088501624560335, _input_charset=utf-8, req_id=201306170001, v=2.0, format=xml}Step 2:Rank the first letter of the array parameter in ascending order. The array is to be signed. Convert the array to be signed as character string to be signed (Call function “createLinkString” in “AlipayCore” clss). The rule of ranking refers to “Signing logic” in reference “3 Technology Interface Rules”_input_charset=utf-8&format=xml&partner=2088501624560335&req_data=<direct_trade_create_req><notify_url>http://www.xxx.com/WS_WAP_PAYWAP-JAVA-UTF-8/notify_url.jsp</notify_url><call_back_url>http://127.0.0.1:8080/WS_WAP_PAYWAP-JAVA-UTF-8/call_back_url.jsp</call_back_url><seller_account_name>alipayrisk10@alipay.com</seller_account_name><out_trade_no>cs201306170001</out_trade_no><subject>Testing</subject><total_fee>0.01</total_fee></direct_trade_create_req>&req_id=201306170001&sec_id=0001&service=alipay.wap.trade.create.direct&v=2.0Step 3:Sign the character string (call function “buildRequestMysign” in “AlipaySubmit” class), the rules refer to “Signing logic for request” in reference “3 Technology Interface Rules”O8DH9HG2yRkbUrIz0jtKaPZRcWqqgcuGEtI6576Yibh60iX7azXTq2D4ZYWaX16kBy8MNSE4PBuPcrxe66kQW/Ufhoa/f+0jeUx5RC3/A0as+/vOOCmQnO0VTyRTp2DHLvcL3k9EKow6FsFuQHZPpHsQnzzRUSlQ+vGI+dPYUSU=Step 4: Make “evaluation” of signature results to parameter “sign” and add “Sign” to the former array to be signed. What is obtained now is all the data request for Alipay.{req_data=<direct_trade_create_req><notify_url>http://www.xxx.com/WS_WAP_PAYWAP-JAVA-UTF-8/notify_url.jsp</notify_url><call_back_url>http://127.0.0.1:8080/WS_WAP_PAYWAP-JAVA-UTF-8/call_back_url.jsp</call_back_url><seller_account_name>alipayrisk10@alipay.com</seller_account_name><out_trade_no>cs201306170001</out_trade_no><subject>Testing</subject><total_fee>0.01</total_fee></direct_trade_create_req>, service=alipay.wap.trade.create.direct, partner=2088501624560335, sec_id=0001, _input_charset=utf-8, req_id=201306170001, sign=O8DH9HG2yRkbUrIz0jtKaPZRcWqqgcuGEtI6576Yibh60iX7azXTq2D4ZYWaX16kBy8MNSE4PBuPcrxe66kQW/Ufhoa/f+0jeUx5RC3/A0as+/vOOCmQnO0VTyRTp2DHLvcL3k9EKow6FsFuQHZPpHsQnzzRUSlQ+vGI+dPYUSU=, format=xml, v=2.0}Step 5:Analog remote HTTP protocol request Alipay (Call functions of buildRequest (String ALIPAY_GATEWAY_NEW, String strParaFileName, String strFilePath,Map<String, String> sParaTemp) throws Exception in AlipaySubmit class). Get the processing results of Alipay in the format of character string text.res_data=wzpwl6nSd%2B0aYMQaltXjmEdJgeAkLH2dupVrHNNKknd33wwqgbDlhj3gAur%2F1WTLSFWQcw8Q%2Fb8XKk8r0Ti14pTbH9wzhyOeElGfd4Ks1HKkqZFXLX7YVhfBH7lHjJiNFBzMZhMAGy%2BhAgiwbw4mvIjQF%2Bu%2BGS3SRK%2B4wy2QmptEEcqVseMgHr56MYeFfdvxzbx%2FT06%2B%2Fg5pdIre94H6ZL0mDR8IobzQnJV1mq%2B9YMXNUspsRzXCHhcbKEq7xqDVdE5eb43LvNKa8ypR9hMiYd5%2FOLAuYnpetM81IzGNC83kioh5hsSoLgEErCrMklxucR7X5U6l22APeK6i%2FbT8TA%3D%3D&service=alipay.wap.trade.create.direct&sec_id=0001&partner=2088501624560335&req_id=201306170001&sign=ll2LBlP66aZArPUJV9Vd3Tfo6m7PLiI8IQRNjjwFjg6NXS4PCjTdY6PlCnB5MmllNFurI2J5GuL7LUCKVSlO58hUpxQrllpoYNorKx%2BUKXYOAmPilRa2zHry%2BjVUlW9qNp4jLI2oDY8lgBbKr%2BkL3BYO0GU0Stv4zAhokAaF9ho%3D&v=2.0Step 6: Decode “URLDECODE” the result (call function “urldecode”)res_data=wzpwl6nSd+0aYMQaltXjmEdJgeAkLH2dupVrHNNKknd33wwqgbDlhj3gAur/1WTLSFWQcw8Q/b8XKk8r0Ti14pTbH9wzhyOeElGfd4Ks1HKkqZFXLX7YVhfBH7lHjJiNFBzMZhMAGy+hAgiwbw4mvIjQF+u+GS3SRK+4wy2QmptEEcqVseMgHr56MYeFfdvxzbx/T06+/g5pdIre94H6ZL0mDR8IobzQnJV1mq+9YMXNUspsRzXCHhcbKEq7xqDVdE5eb43LvNKa8ypR9hMiYd5/OLAuYnpetM81IzGNC83kioh5hsSoLgEErCrMklxucR7X5U6l22APeK6i/bT8TA==&service=alipay.wap.trade.create.direct&sec_id=0001&partner=2088501624560335&req_id=201306170001&sign=ll2LBlP66aZArPUJV9Vd3Tfo6m7PLiI8IQRNjjwFjg6NXS4PCjTdY6PlCnB5MmllNFurI2J5GuL7LUCKVSlO58hUpxQrllpoYNorKx+UKXYOAmPilRa2zHry+jVUlW9qNp4jLI2oDY8lgBbKr+kL3BYO0GU0Stv4zAhokAaF9ho=&v=2.0Step 7: Cut the character string for this string of results to get the information of returning parameters. Note: if the signature is set as 0001(RSA), then the returned parameters “res_data” shall be decrypted in the results; if the signature way is set as MD5, then the returning parameter “res_data” in the results directly indicate clear text.res_data=<?xml version="1.0" encoding="utf-8"?><direct_trade_create_res><request_token>2013061725bc6b978788d6f2459d0af9a49ea2f3</request_token></direct_trade_create_res>&service=alipay.wap.trade.create.direct&sec_id=0001&partner=2088501624560335&req_id=201306170001&sign=ll2LBlP66aZArPUJV9Vd3Tfo6m7PLiI8IQRNjjwFjg6NXS4PCjTdY6PlCnB5MmllNFurI2J5GuL7LUCKVSlO58hUpxQrllpoYNorKx+UKXYOAmPilRa2zHry+jVUlW9qNp4jLI2oDY8lgBbKr+kL3BYO0GU0Stv4zAhokAaF9ho=&v=2.0Next, make XML analysis of the value “res_data” in XML structure and get the “request_token” value of child node (This series of process requires calling function “parseResponse” in “AlipaySubmit” class). This value is authorized token.2013061725bc6b978788d6f2459d0af9a49ea2f3Step 8: After commercial tenants configure the request parameter data for Mobile phone webpage instant fastpay transaction interface(alipay.wap.auth.authandexecute), the same principle as Step 1, 2, 3 and 4, combine the data array into the array “sParaTemp”.{req_data=<auth_and_execute_req><request_token>2013061725bc6b978788d6f2459d0af9a49ea2f3</request_token></auth_and_execute_req>, service=alipay.wap.auth.authAndExecute, sec_id=0001, partner=2088501624560335, _input_charset=utf-8, v=2.0, format=xml}Make empty-value filtering for the array (call function “paraFilter” in “AlipayCore” class), rank the first letters of the array parameters in ascending order, convert the array to be signed as character string to be signed, sign the character string (call the function “buildRequestMysign” in “AlipaySubmit” class), take “evaluation” of signature results to parameter “sign” and add it the former array to be signed. Then what is obtained is all the data request for Alipay.{req_data=<auth_and_execute_req><request_token>2013061725bc6b978788d6f2459d0af9a49ea2f3</request_token></auth_and_execute_req>, service=alipay.wap.auth.authAndExecute, partner=2088501624560335, sec_id=0001, _input_charset=utf-8, sign=jqUVcsnO3CX2c3/b2WqALKL+AJgxnB9rT87LJ31BBHqNd6DixUmtd4ht6qz9TqpX9nuI+EaPnYIhPcF+okas2bGn7ju4V3TS0805g/7mELsuW8/kcGOd/+zLvLqH7tXY0oilb4Bq/fTb8FewVuBWSMkZXIzovc9he0c1dTklXPQ=, format=xml, v=2.0}Step 9:Request Alipay in the way of “GET” (call function of buildRequest(String ALIPAY_GATEWAY_NEW, Map<String, String> sParaTemp, String strMethod, String strButtonName) in “AlipaySubmit” class). Then the page of commercial tenants will automatically skip to Alipay cashier desk.The later action will be completed in the Alipay Cashier desk by the sellerStep 10. After this transaction is successfully paid by the seller, the Alipay cashier desk displays the successful transaction and reminds the users of returning the website of commercial website. If the buyer clicks this function button, the current Alipay cashier desk would automatically skips to the page file “call_back_url” of commercial tenants. At this time, page “call_back_url” of commercial tenants will receive a string of link address with processing results data.http://127.0.0.1:8080/WS_WAP_PAYWAP-JAVA-UTF-8/call_back_url.jsp?out_trade_no=cs201306170001&request_token=requestToken&result=success&trade_no=2013061741934035&sign=UCUm6GVdi7MEcNnDbD7UnG0UyEyUtuKOSuhPQbrGxUvLUmRJEctMm5NxYV%2FtvWT0VCGbM%2F4zaAlYy1EP4bFLisoyprq%2FQ9H5XMnO%2FOZ5E1XclGXiD%2FLMbMGoYCqNmI22MxMZ0OmL9UoUSrT2f4%2B8EDCtkDsnUsG82K4GnjSmJ2w%3D&sign_type=0001Step 11: Obtain these returned data in the way of “GET”, the same principle as Step 1, 2, 3 and 4, make empty-value filtering the array “params”, rank the first letters of parameters in ascending order and convert the arrayed to be signed as character string to be signed.out_trade_no=cs201306170001&request_token=requestToken&result=success&trade_no=2013061741934035Make signature verification for the character string (this series of action is completed to call function “verifyReturn” in “AlipayNotify” class), obtain the verification results of Boolean data type, and compete the verification action of page file “call_back_url”.Step 12: After the buyer competes a transaction payment, apart from triggering page skipping to “call_back_url” file for synchronous notification action, Alipay can automatically trigger server asynchronous notification webpage file (commercial tenants set up parameter “notify_url” value). At this time, the file of commercial tenants “notify_url” will receive the data notified from Alipay synchronous notification.{service=alipay.wap.trade.create.direct, sign=V2fgcO2jwZ5G/HcDRS3N7m2TNqRSHFqvF7wQ6xD52NgLtNMhx2H+4H/yv5yKZxt1xY5K1aMfv6MsO0fpKAYZaZFg+WYs925IbAzpscbK72fzuhvfikjbEvuOLHY+LGNXwkn+VhQBBNkHs4GNJSM1iZ1jcCxm8NU9oANviZDMAcg=, sec_id=0001, v=1.0, notify_data=0R5IeCoVWRerPIERgTFrQOUfIiw0FHmHGe6elY6VYp1WZU5bRsQkK5ekMcceD412gO+KgqPzvAKVQG1h3dwuhWgaHPdL5oNj1eIzf4PUuRYOb7qCwFMqpNDQ9Jznbm89kCqjenhWSIwQ/2Aad+4RPHOKy9AzAWut02MiW7g8gH49Nb1rjki+u7QQN+xQ/Q/Fr4f2RlcoiutfsYB2mCy8smtjaH2LmE5wNz0I5yHMxnf9+NCkjmOJdZZrOC2wXly/tzLY6w+zef+m5s184D80HejiUPOlS8dBtmEPs+SQzA5N7eu0BF1pPj9m7wyTINf6k4GlkQtvNM6UZd2cwuthwZeYcax5Db0rWYyDaQOCH/gEUShzD6za84Gpj9/grKnvMy65C7ihmcb4wtA7CNiQSnLiQZ3ksUGjB0WiwTpL9JeQqyVWJZiSpRXt73B9/qT1hzf5K1CWHTzD0zfOjifFbSrXQmAt5oIoMM49W7Ds95fTZNde3czzf/hrcUQEI3LNW+6e975+Vl4O+fmxxBeGaI1Ls1EBTdZpDoNl35U7uhzdkbBzJR4AYY6H9xD2QmjtAS3GelIXpiqC29FbwwFLbEQM/a9xAS3KS8jIyDWEAK4dJi3U+F/QTismfjp7dfT2KqU89wsqJ+BtMwWLaOPvz1BSpj1TVYYmgK5MdLjh6S+GVH4ka/RcU2nGqpO1cNHBHa0j2wY7Uu1p3SiSa62NTbu0wvLqiT3fs6K6PDwVkxGDAPsQaXvCGrMRhhVLc7M5AcCVSBCJd4LAJU/BfTcYZjiFcKSlSSYKMNFZRusNcFtzrbvi1u4gwHRnRYr11Z/pwGbQ5LtxV083lXtEkJ1fWFzt84hxfcOGH+o9EgJBKyIahQfyHfRir5quiixBqp5xWR8DU5nJNAW+/MLgPzNYt+uaIPadqrBt/j7+0gdgFEdLzPLncI9h0VdlmdgO+CvxJ1aKYi2pDY64oTzm87CN/Fiof1n8SjZRgGh/ClxIJHunI9DCmVszMtVkQhJwQzkIj9YnV+3n0Q3wjos3iE69WJjHk+DpN8ARZiAJEFKtGT9lMnIf1JfbpXmdM1arFV1doMEb8vKLN4kHioR4DhVyDvaLfo4rsgvGcLSB65R4Ya4tVdk1e0+vnk+U/NMk9zrJf39hInyBoazUpkPIqmmQIAvkpSbnbGuZUdqri9fame2e/gPkUzYqzo/gt6OCuzIdtVtVI0kQXGfCz9XpazmYbTcKA9Ck6z6WF2lN7lIJH9DSNB7lCDM/cKD7xEZ5lFRucz1sOsvZNpNhH8R7EnyQYEo7NM9ph8gDfgaVaaWh1+13TJfwvC5WBOi+5KyKh+6qb4Z98tFkxrqyU2Kn6hFAoQ==}Step 13: Use POST way to get these returned data, if the signing way is set as 0001(RSA), then the returned parameters “notify_data” shall be decrypted in the results; if the signature way is set as MD5, the results directly indicate clear text, no need for decryption.{service=alipay.wap.trade.create.direct, sign=V2fgcO2jwZ5G/HcDRS3N7m2TNqRSHFqvF7wQ6xD52NgLtNMhx2H+4H/yv5yKZxt1xY5K1aMfv6MsO0fpKAYZaZFg+WYs925IbAzpscbK72fzuhvfikjbEvuOLHY+LGNXwkn+VhQBBNkHs4GNJSM1iZ1jcCxm8NU9oANviZDMAcg=, sec_id=0001, v=1.0, notify_data=<notify><payment_type>1</payment_type><subject>Testing</subject><trade_no>2013061741934035</trade_no><buyer_email>xxxxxxx@xx.com</buyer_email><gmt_create>2013-06-17 19:15:58</gmt_create><notify_type>trade_status_sync</notify_type><quantity>1</quantity><out_trade_no>cs201306170001</out_trade_no><notify_time>2013-06-17 19:16:09</notify_time><seller_id>2088501624560335</seller_id><trade_status>TRADE_FINISHED</trade_status><is_total_fee_adjust>N</is_total_fee_adjust><total_fee>0.01</total_fee><gmt_payment>2013-06-17 19:16:08</gmt_payment><seller_email>alipayrisk10@alipay.com</seller_email><gmt_close>2013-06-17 19:16:08</gmt_close><price>0.01</price><buyer_id>2088002396712354</buyer_id><notify_id>78fca98191478a5e64459d8ef88601183y</notify_id><use_coupon>N</use_coupon></notify>}Signature verification law of “notify_url” asynchronous notification is different form “call_back_url” in those commercial tenants only requires getting the returned data of Alipay, not for ranking these parameters. Therefore, directly convert the array “params” to the character string to be signed.service=alipay.wap.trade.create.direct&v=1.0&sec_id=0001¬ify_data=<notify><payment_type>1</payment_type><subject>Testing</subject><trade_no>2013061741934035</trade_no><buyer_email>xxxxxxx@xx.com</buyer_email><gmt_create>2013-06-17 19:15:58</gmt_create><notify_type>trade_status_sync</notify_type><quantity>1</quantity><out_trade_no>cs201306170001</out_trade_no><notify_time>2013-06-17 19:16:09</notify_time><seller_id>2088501624560335</seller_id><trade_status>TRADE_FINISHED</trade_status><is_total_fee_adjust>N</is_total_fee_adjust><total_fee>0.01</total_fee><gmt_payment>2013-06-17 19:16:08</gmt_payment><seller_email>alipayrisk10@alipay.com</seller_email><gmt_close>2013-06-17 19:16:08</gmt_close><price>0.01</price><buyer_id>2088002396712354</buyer_id><notify_id>78fca98191478a5e64459d8ef88601183y</notify_id><use_coupon>N</use_coupon></notify>Next, make signature verification for the character string (this series of action is completed to call function “verifyReturn” in “AlipayNotify” class), obtain the verification results of Boolean data type, and compete the verification action of page file “call_back_url”.Step 14: In the webpage of “notify_url”, parameter “notify_data” is the character string of XML structure, requiring XML analysis, and then obtaining the required child node data.2. PHPStep 1: After commercial tenants configure the parameter data for the request of Mobile phone webpage instant fastpay authorized interface (alipay.wap.trade.create.direct), combine them into array “$para_token” and then make empty-value filtering for the array (Calling function “paraFilter” in “AlipayCore” class).$para_token = array("service" => "alipay.wap.trade.create.direct","partner" => "2088501624560335","sec_id" => "0001","format" => "xml","v" => "2.0","req_id" => "201306140001","req_data" => "<direct_trade_create_req><notify_url>http://www.xxx.com/WS_WAP_PAYWAP-PHP-UTF-8/notify_url.php</notify_url><call_back_url>http://127.0.0.1:8800/WS_WAP_PAYWAP-PHP-UTF-8/call_back_url.php</call_back_url><seller_account_name>alipayrisk10@alipay.com</seller_account_name><out_trade_no>cs201306140001</out_trade_no><subject>Testing</subject><total_fee>0.01</total_fee></direct_trade_create_req>","_input_charset" => "utf-8");Step 2:Rank the first letter of the array parameter in ascending order. (Call function “argSort” in “AlipayCore” class). The rules of ranking refer to “Signing logic” in reference “3 Technology Interface Rules” The array is to be signed.$para_token = array("_input_charset"=> "utf-8","format" => "xml","partner" => "2088501624560335","req_data" => "<direct_trade_create_req><notify_url>http://www.xxx.com/WS_WAP_PAYWAP-PHP-UTF-8/notify_url.php</notify_url><call_back_url>http://127.0.0.1:8800/WS_WAP_PAYWAP-PHP-UTF-8/call_back_url.php</call_back_url><seller_account_name>alipayrisk10@alipay.com</seller_account_name><out_trade_no>cs201306140001</out_trade_no><subject>Testing</subject><total_fee>0.01</total_fee></direct_trade_create_req>","req_id" => "201306140001","sec_id" => "0001","service" => "alipay.wap.trade.create.direct","v" => "2.0");Step 3: Convert the array to be signed as character string to be signed._input_charset=utf-8&format=xml&partner=2088501624560335&req_data=<direct_trade_create_req><notify_url>http://www.xxx.com/WS_WAP_PAYWAP-PHP-UTF-8/notify_url.php</notify_url><call_back_url>http://127.0.0.1:8800/WS_WAP_PAYWAP-PHP-UTF-8/call_back_url.php</call_back_url><seller_account_name>alipayrisk10@alipay.com</seller_account_name><out_trade_no>cs201306140001</out_trade_no><subject>Testing</subject><total_fee>0.01</total_fee></direct_trade_create_req>&req_id=201306140001&sec_id=0001&service=alipay.wap.trade.create.direct&v=2.0Sign the character string (call function “buildRequestMysign” in “AlipaySubmit” class), the rules refer to “Signing logic for request” in reference “3 Technology Interface Rules”EGb8F+aWwBhotwNSQwF9Sik2OzQffV1Val1STvrRj4MzE1W4pLM6Mfjk3/4Vj3ci4Pspcm1OLDHPZ2JQNsFruS6d4bFSQrtEF52irwSF+re42+TBTRe7w8TZAjBnBBLLknerq0DvN86SfA6QaXOl/nOfgcMfCx3YtJnX9u2Yi/k=Step 4:Make “evaluation” of signature results to parameter “sign” and add “Sign” to the former array to be signed. What is obtained now is all the data request for Alipay.$para_token = array("_input_charset"=> "utf-8","format" => "xml","partner" => "2088501624560335","req_data" => "<direct_trade_create_req><notify_url>http://www.xxx.com/WS_WAP_PAYWAP-PHP-UTF-8/notify_url.php</notify_url><call_back_url>http://127.0.0.1:8800/WS_WAP_PAYWAP-PHP-UTF-8/call_back_url.php</call_back_url><seller_account_name>alipayrisk10@alipay.com</seller_account_name><out_trade_no>cs201306140001</out_trade_no><subject>Testing</subject><total_fee>0.01</total_fee></direct_trade_create_req>","req_id" => "201306140001","sec_id" => "0001","service" => "alipay.wap.trade.create.direct","v" => "2.0","sign" => "EGb8F+aWwBhotwNSQwF9Sik2OzQffV1Val1STvrRj4MzE1W4pLM6Mfjk3/4Vj3ci4Pspcm1OLDHPZ2JQNsFruS6d4bFSQrtEF52irwSF+re42+TBTRe7w8TZAjBnBBLLknerq0DvN86SfA6QaXOl/nOfgcMfCx3YtJnX9u2Yi/k=" );Step 5:Analog remote HTTP protocol request Alipay (Call functions of getHttpResponsePOST in AlipaySubmit class). Get the processing results of Alipay in the format of character string text.res_data=wftFwWhcSfy%2Bjowl544yEn1taSiLPbtgKcLqaLYDeJ9DFMvQXPJGO3tE%2FJzsCQsnSv5i%2FhJHTggXJpVBhmP1gwTQiBv32UsO5cFcFagQfdxet5axkmfsRmGwIaOD2eMJ4dXK%2FyHXkEgE1mxhjgBj5xtbZoZQJssSL%2F7ppYhIlGrU3Mabt0tdKoY6l3B2t0JUqHKYq4b8xCFx9AEDjA2lSrJ%2BZYcVlVJWZBbQPJmWkB5RYHp9Shfj302qxFpwxsI%2FVX2jZq1AXyQMnKBjj57xXtV5r4OZnH%2BxbXMBPnJsNnQ6NpTgjXdDU05eAo4NGiC7bHTcEZJRkJKE54oyn3jKNw%3D%3D&service=alipay.wap.trade.create.direct&sec_id=0001&partner=2088501624560335&req_id=201306140001&sign=Bdzmfbs2YONm7aO67zu%2FERNJa1hm8zYd3TVFCzXrsGrafc%2BS4svEk8TRFyOpLpF5SUI639j4uiOrObrSfYLr6EeVj8bMpDZhwdFqgr4O8CFCtZN6dvbbmBPy7LpXbP8mLplQNfJQTeagbGAa49X33cibM376yqLLsogAx%2FowTs4%3D&v=2.0Step 6:Decode “URLDECODE” the result (call function “urldecode”)res_data=wftFwWhcSfy+jowl544yEn1taSiLPbtgKcLqaLYDeJ9DFMvQXPJGO3tE/JzsCQsnSv5i/hJHTggXJpVBhmP1gwTQiBv32UsO5cFcFagQfdxet5axkmfsRmGwIaOD2eMJ4dXK/yHXkEgE1mxhjgBj5xtbZoZQJssSL/7ppYhIlGrU3Mabt0tdKoY6l3B2t0JUqHKYq4b8xCFx9AEDjA2lSrJ+ZYcVlVJWZBbQPJmWkB5RYHp9Shfj302qxFpwxsI/VX2jZq1AXyQMnKBjj57xXtV5r4OZnH+xbXMBPnJsNnQ6NpTgjXdDU05eAo4NGiC7bHTcEZJRkJKE54oyn3jKNw==&service=alipay.wap.trade.create.direct&sec_id=0001&partner=2088501624560335&req_id=201306140001&sign=Bdzmfbs2YONm7aO67zu/ERNJa1hm8zYd3TVFCzXrsGrafc+S4svEk8TRFyOpLpF5SUI639j4uiOrObrSfYLr6EeVj8bMpDZhwdFqgr4O8CFCtZN6dvbbmBPy7LpXbP8mLplQNfJQTeagbGAa49X33cibM376yqLLsogAx/owTs4=&v=2.0Step 7: Cut the character string for this string of results to get the information of returning parameters. Note: if the signature is set as 0001(RSA), then the returned parameters “res_data” shall be decrypted in the results; if the signature way is set as MD5, then the returning parameter “res_data” in the results directly indicate clear text.res_data= <?xml version="1.0" encoding="utf-8"?><direct_trade_create_res><request_token>20130614039a363773d04690f4196e888bf7b1ff</request_token></direct_trade_create_res>&service=alipay.wap.trade.create.direct&sec_id=0001&partner=2088501624560335&req_id=201306140001&sign=Bdzmfbs2YONm7aO67zu/ERNJa1hm8zYd3TVFCzXrsGrafc+S4svEk8TRFyOpLpF5SUI639j4uiOrObrSfYLr6EeVj8bMpDZhwdFqgr4O8CFCtZN6dvbbmBPy7LpXbP8mLplQNfJQTeagbGAa49X33cibM376yqLLsogAx/owTs4=&v=2.0Next, make XML analysis of the value “res_data” in XML structure and get the “request_token” value of child node (This series of process requires calling function “parseResponse” in “AlipaySubmit” class). This value is authorized token.20130614039a363773d04690f4196e888bf7b1ffStep 8:After commercial tenants configure the request parameter data for Mobile phone webpage instant fastpay transaction interface(alipay.wap.auth.authandexecute), the same principle as Step 1, 2, 3 and 4, combine the data array into the array “$parameter”.$parameter = array("service" => "alipay.wap.auth.authAndExecute","partner" => "2088501624560335","sec_id" => "0001","format" => "xml","v" =>"2.0","req_id" => "201306140001","req_data"=> "<auth_and_execute_req><request_token>20130614039a363773d04690f4196e888bf7b1ff</request_token></auth_and_execute_req>","_input_charset" => "utf-8");Make empty-value filtering for the array (call function “paraFilter” in “AlipayCore” class), rank the first letters of the array parameters in ascending order (Call function “argSort” in“AlipayCore” class), convert the array to be signed as character string to be signed, sign the character string (call the function “buildRequestMysign” in “AlipaySubmit” class), take “evaluation” of signature results to parameter “sign” and add it the former array to be signed. Then what is obtained is all the data request for Alipay.$parameter = array("_input_charset"=> "utf-8","format" => "xml","partner" => "2088501624560335","req_data"=> "<auth_and_execute_req><request_token>20130614039a363773d04690f4196e888bf7b1ff</request_token></auth_and_execute_req>","req_id" => "201306140001","sec_id" => "0001","service" => "alipay.wap.auth.authAndExecute","v" => "2.0","sign" => "vtkY9FLWCzJSlpxiNicV85FAGSTacoV7X5k2zLLPAMfMJZPlk6FpJ2/s94g0R0AcEHZyvOp8D4qhR/p1TMRuqw5Hr86LeTeyR52d9VK1NDKrBRSzw6rXG8R6LqUJkkv1i095z1a5VeJW2G46MjQkDAY+AIDWbUx1XCSAaiyx4X4=");Step 9: Request Alipay in the way of “GET” (call function of buildRequestForm) in “AlipaySubmit” class). Then the page of commercial tenants will automatically skip to Alipay cashier desk.The later action will be completed in the Alipay Cashier desk by the sellerStep 10. After this transaction is successfully paid by the seller, the Alipay cashier desk displays the successful transaction and reminds the users of returning the website of commercial website. If the buyer clicks this function button, the current Alipay cashier desk would automatically skips to the page file “call_back_url” of commercial tenants. At this time, page “call_back_url” of commercial tenants will receive a string of link address with processing results data.http://127.0.0.1:8800/WS_WAP_PAYWAP-PHP-UTF-8/call_back_url.php?out_trade_no=cs201306140001&request_token=requestToken&result=success&trade_no=2013061435574635&sign=UmQGu7GQ6lQuisaK9FhQjl1UO3K%2BEt%2BXDsbdnuHuex38I1ssnsrTlADpCFHWfeezZs4%2FW5knSMo%2Fmg2DheSRSLj4%2FOTJRUtcnAJmiwmeK%2Bj9icN8vz5pcAXlXiFrwb9oTj8gLCOeY3GLXRmCVHTUW9UD89ZI9IraxsxCHgXQZaQ%3D&sign_type=0001Step 11:Obtain these returned data in the way of “GET”, the same principle as Step 1, 2, 3 and 4, make empty-value filtering the array “$_GET”, rank the first letters of parameters in ascending order and convert the arrayed to be signed as character string to be signed.out_trade_no=cs201306140001&request_token=requestToken&result=success&trade_no=2013061435574635Make signature verification for the character string (this series of action is completed to call function “verifyReturn” in “AlipayNotify” class), obtain the verification results of Boolean data type, and compete the verification action of page file “call_back_url”.Step 12:After the buyer competes a transaction payment, apart from triggering page skipping to “call_back_url” file for synchronous notification action, Alipay can automatically trigger server asynchronous notification webpage file (commercial tenants set up parameter “notify_url” value). At this time, the file of commercial tenants “notify_url” will receive the data notified from Alipay synchronous notification.{service=alipay.wap.trade.create.direct, sign=MK1Q0vAATXdJTiBOxCh3XLulQDJgvYD7tU3doIpYuZEf/JCMi6MubmanJbJ9TdSbGK3iM7anDxwdflM9DVaPuc7ZdqS0Xp4N+YGUXzlcm3al2lcAMjh7ttAsPy4cia4kKWJo0ATZZeIP8jkZG2L46nBeElqo3ZcbeMQklFhu6ak=, sec_id=0001, v=1.0, notify_data=wd2ALy4RTeR2xvoSUsphr98A2Ctm2rbOvhG/T8+U2vD0xTTwHf5sGsmRV+s33SLZIZQ/dJyUxIvmkrvpPDWsT1T+qRWc6MVT32Na/5JdQyyE89e6bhJHmQk+OjyCF68XdsCDa0cw8QtA5ScFfeIcV6ryXCw61uwtgBEebMDL0d8j9IWUYs1nnLdW1HNfRo8AUH6hEQpbz3pboMxVLZcXcFTKReb1NuIfe5Df0x9tfeU1pnN+JewkUFsqQP9jMZD7PWjfjX+Lml1st9ftHfhzZ+w/s116i1oW8MONEkwStQkT2yVBGmCpLw0IZeS/LZth1eyM2oUfDMOA1aK7zeuP8ICdU2TjMNOahkBipBdgLpjQgaAW/xaO5LKirg6Au7IRtHeKBf1haXcQ3LNkgc3HttbmATjJaMQM535CGaaXK7zFsHZCB3k1uk3I1PJ2tVX2Uy+xkSZP/h20/IxHlSdj8xXDe74g2XYtBbsVd8Qmd7gf8YNwQk+WYtMsAbHCzugE0MvxTwyyG1XoGyCRHYe7u2oudsQGzbrAyrGuMHpnv3Ku09up2sjcn0h5zAOUDCslcJwCa2qYd1y4KOZqtXqiPFUQ2yRuUMluvWQCOr0ckAGlVhUV93Mu1CXU8PdqTQPNGZPpb7AEDyCYWhpt/CWlz0def7o1GhWbC19Z3NMdvfDvoyaL//77cUjjqKVYQ9EeDdRnKujj0AzSV8gLgK4rmmf1zHiYOpfXflyghxWc3O/i8tlF7ruKbS7pSvcyBvzgmW0zojZnattdoKiIRNZAeZ+v4cqDKkBpMtlrKJc7yL7nYOEdXiTaVQ/3iFpZm0J+U3pOewsYbX6Vmkvb5wTYHJzNQFu6E1QyYjiibRSospNgRRlzHXXAUgL7nK0JR8PKhen4ID1ZVRtL+r0RzGnPiMvSyt4fAbkP06nKikuZBeTD9isLY793XG6lj4PCTAHWZE4DzZAXoEppAdCqd810kpav9OrbShFpEhKvDcsDxTRixwjTxsaTv+N4DObYuJThoR6SR1qmiQNArmgx3glNUbZdYQ4i5zdLU5B8v02idAwRFWEbH8oBzyKxlwslOeEwq0+WisDvxJCAtPpWeZvWL0v/u6MOPkAFoN9Ml4dLIOFcrSaifblfaCVXajS7QjcvS2YLuLzQUjjb2R0H0ZnSCVjS+FgiXhTWrEr/8VB8VsMcOZ6Vz+ZrcT5wjWpP/Il19q8g0xB260B4x5O1xocMjTertociASRirLkg2jYH4EcUMN/fFZRLTVJuFZQ6rVLpsK+eHzgyIrS2Fz/YZORdSet6zaFzERzEhrWSrL6mJ878vl4b92CGoy6op7m7B/GBsrvEwizCPR039ZaDsMahg==}Step 13:Use POST way to get these returned data, if the signing way is set as 0001(RSA), then the returned parameters “notify_data” shall be decrypted in the results; if the signature way is set as MD5, the results directly indicate clear text, no need for decryption.{service=alipay.wap.trade.create.direct, sign=MK1Q0vAATXdJTiBOxCh3XLulQDJgvYD7tU3doIpYuZEf/JCMi6MubmanJbJ9TdSbGK3iM7anDxwdflM9DVaPuc7ZdqS0Xp4N+YGUXzlcm3al2lcAMjh7ttAsPy4cia4kKWJo0ATZZeIP8jkZG2L46nBeElqo3ZcbeMQklFhu6ak=, sec_id=0001, v=1.0, notify_data=<notify><payment_type>1</payment_type><subject>Testing</subject><trade_no>2013061435574635</trade_no><buyer_email>xxxxxxx@xx.com</buyer_email><gmt_create>2013-06-14 17:38:45</gmt_create><notify_type>trade_status_sync</notify_type><quantity>1</quantity><out_trade_no>cs201306140001</out_trade_no><notify_time>2013-06-14 17:38:54</notify_time><seller_id>2088501624560335</seller_id><trade_status>TRADE_FINISHED</trade_status><is_total_fee_adjust>N</is_total_fee_adjust><total_fee>0.01</total_fee><gmt_payment>2013-06-14 17:38:54</gmt_payment><seller_email>alipayrisk10@alipay.com</seller_email><gmt_close>2013-06-14 17:38:54</gmt_close><price>0.01</price><buyer_id>2088002396712354</buyer_id><notify_id>be3e931aa1cc2147d7fa5b6bf569b6153y</notify_id><use_coupon>N</use_coupon></notify>}Signature verification law of “notify_url” asynchronous notification is different form “call_back_url” in those commercial tenants only requires getting the returned data of Alipay, not for ranking these parameters. Therefore, directly convert the array “$_POST” to the character string to be signed.service=alipay.wap.trade.create.direct&v=1.0&sec_id=0001¬ify_data=<notify><payment_type>1</payment_type><subject>Testing</subject><trade_no>2013061435574635</trade_no><buyer_email>xxxxxxx@xx.com</buyer_email><gmt_create>2013-06-14 17:38:45</gmt_create><notify_type>trade_status_sync</notify_type><quantity>1</quantity><out_trade_no>cs201306140001</out_trade_no><notify_time>2013-06-14 17:38:54</notify_time><seller_id>2088501624560335</seller_id><trade_status>TRADE_FINISHED</trade_status><is_total_fee_adjust>N</is_total_fee_adjust><total_fee>0.01</total_fee><gmt_payment>2013-06-14 17:38:54</gmt_payment><seller_email>alipayrisk10@alipay.com</seller_email><gmt_close>2013-06-14 17:38:54</gmt_close><price>0.01</price><buyer_id>2088002396712354</buyer_id><notify_id>be3e931aa1cc2147d7fa5b6bf569b6153y</notify_id><use_coupon>N</use_coupon></notify>Next, Make signature verification for the character string (this series of action is completed to call function “verifyReturn” in “AlipayNotify” class), obtain the verification results of Boolean data type, and compete the verification action of page file “notify_url”.Step 14: In the webpage of “notify_url”, parameter “notify_data” is the character string of XML structure, requiring XML analysis, and then obtaining the required child node data.3. ASP.NET(C#)Step 1: After commercial tenants configure the parameter data for the request of Mobile phone webpage instant fastpay authorized interface (alipay.wap.trade.create.direct), combine them into array “sParaTempToken” and then make empty-value filtering for the array (Calling function “FilterPara” in “AlipayCore” class).{[partner, 2088101568358171]}{[_input_charset, utf-8]}{[sec_id, 0001]}{[service, alipay.wap.trade.create.direct]}{[format, xml]}{[v, 2.0]}{[req_id, 201306170002]}{[req_data, <direct_trade_create_req><notify_url>http://www.xxx.com/WS_WAP_PAYWAP-CSHARP/notify_url.aspx</notify_url><call_back_url>http://127.0.0.1:48034/WS_WAP_PAYWAP-CSHARP/call_back_url.aspx</call_back_url><seller_account_name>alipayrisk10@alipay.com</seller_account_name><out_trade_no>cs201306170002</out_trade_no><subject>Testing</subject><total_fee>0.01</total_fee></direct_trade_create_req>]}Step 2: Rank the first letter of the array parameter in ascending order. (Call function “SortPara” in “AlipayCore” class). The rule of ranking refers to “Signing logic” in reference “3 Technology Interface Rules” The array is to be signed.{[_input_charset, utf-8]}{[format, xml]}{[partner, 2088101568358171]}{[req_data, <direct_trade_create_req><notify_url>http://www.xxx.com/WS_WAP_PAYWAP-CSHARP/notify_url.aspx</notify_url><call_back_url>http://127.0.0.1:48034/WS_WAP_PAYWAP-CSHARP/call_back_url.aspx</call_back_url><seller_account_name>alipayrisk10@alipay.com</seller_account_name><out_trade_no>cs201306170002</out_trade_no><subject>Testing</subject><total_fee>0.01</total_fee></direct_trade_create_req>]}{[req_id, 201306170002]}{[sec_id, 0001]}{[service, alipay.wap.trade.create.direct]}{[v, 2.0]}Step 3:Convert the array to be signed as character string to be signed._input_charset=utf-8&format=xml&partner=2088101568358171&req_data=<direct_trade_create_req><notify_url>http://www.xxx.com/WS_WAP_PAYWAP-CSHARP/notify_url.aspx</notify_url><call_back_url>http://127.0.0.1:48034/WS_WAP_PAYWAP-CSHARP/call_back_url.aspx</call_back_url><seller_account_name>alipayrisk10@alipay.com</seller_account_name><out_trade_no>cs201306170002</out_trade_no><subject>Testing</subject><total_fee>0.01</total_fee></direct_trade_create_req>&req_id=201306170002&sec_id=0001&service=alipay.wap.trade.create.direct&v=2.0Sign the character string (call function “buildRequestMysign” in “AlipaySubmit” class), the rules refer to “Signing logic for request” in reference “3 Technology Interface Rules”xO/eAP4pFusEveZmaw2mgCEoQGxDqkFZ+AF8wI1U52OGASs48O/efTZLn9Cr0tF9tDJQ+hwlcNj+F4/Hx+w6v35c0oE3F1Eab/Z2wKAirIYVh/HagumS34aa6t7lJb21YFIshu1YgoqWfwakQ/fzdcwVncW7jJQIvMsIgAhEJ8I=Step 4:Make “evaluation” of signature results to parameter “sign” and add “Sign” to the former array to be signed. What is obtained now is all the data request for Alipay.{[_input_charset, utf-8]}{[format, xml]}{[partner, 2088101568358171]}{[req_data, <direct_trade_create_req><notify_url>http://www.xxx.com/WS_WAP_PAYWAP-CSHARP/notify_url.aspx</notify_url><call_back_url>http://127.0.0.1:48034/WS_WAP_PAYWAP-CSHARP/call_back_url.aspx</call_back_url><seller_account_name>alipayrisk10@alipay.com</seller_account_name><out_trade_no>cs201306170002</out_trade_no><subject>Testing</subject><total_fee>0.01</total_fee></direct_trade_create_req>]}{[req_id, 201306170002]}{[sec_id, 0001]}{[service, alipay.wap.trade.create.direct]}{[v, 2.0]}{[sign, xO/eAP4pFusEveZmaw2mgCEoQGxDqkFZ+AF8wI1U52OGASs48O/efTZLn9Cr0tF9tDJQ+hwlcNj+F4/Hx+w6v35c0oE3F1Eab/Z2wKAirIYVh/HagumS34aa6t7lJb21YFIshu1YgoqWfwakQ/fzdcwVncW7jJQIvMsIgAhEJ8I=]}Step 5:Analog remote HTTP protocol request Alipay (Call functions of BuildRequest(string GATEWAY_NEW, Dictionary<string, string> sParaTemp) in AlipaySubmit class). Get the processing results of Alipay in the format of character string text.res_data=KzTV7n3JHKMmaxc9jObz8FqT9PO8MQw5kqX8uqO4fGwvNIDHNngLdEig%2FaN4A97i0nRviLzoutVSojBIM%2BRECev5UR6aqhME%2Bei%2BX8LYf9sZaE1V3o2oMz3BnubFOcnozWBgXyDaA2fzeU1YxT9TL4BLaDEJ0gZB5upjpMeiyO%2Bil9068gl11ojNbJE3jeGtgqp%2FXTSXmFZ0x7DYefB1XYWmzETLywMkKdwlhnYIDrTLHLj4wdMTmsQS%2BxbTD2egERafRFD3DtPDkO6j7pRfHcJBtoEtC%2Fg4Zj2FD58ADEGLKb7oAkMU6ado091la%2FvAzH3gZtElHAs%2BdYglI%2FUIBw%3D%3D&service=alipay.wap.trade.create.direct&sec_id=0001&partner=2088101568358171&req_id=201306170002&sign=oo4ShGc1fndnYiI2OJzclNSQcfspEzoQchrYS8fhiaAzddE31ra%2Ffq7xOm9RCzDTfgyO3Sl8pUcAWY%2B4BYPrxMF5GPVv2IZDY%2FN%2FxQjTwEPrkQYazOtimzB1qRTA%2FUrOrEejEyMUqN2XXrMwl4%2FavdFjPpBAsCsF7KFJOL%2FB7H4%3D&v=2.0Step 6:Decode “URLDECODE” the result (call function “urldecode”)res_data=KzTV7n3JHKMmaxc9jObz8FqT9PO8MQw5kqX8uqO4fGwvNIDHNngLdEig/aN4A97i0nRviLzoutVSojBIM+RECev5UR6aqhME+ei+X8LYf9sZaE1V3o2oMz3BnubFOcnozWBgXyDaA2fzeU1YxT9TL4BLaDEJ0gZB5upjpMeiyO+il9068gl11ojNbJE3jeGtgqp/XTSXmFZ0x7DYefB1XYWmzETLywMkKdwlhnYIDrTLHLj4wdMTmsQS+xbTD2egERafRFD3DtPDkO6j7pRfHcJBtoEtC/g4Zj2FD58ADEGLKb7oAkMU6ado091la/vAzH3gZtElHAs+dYglI/UIBw==&service=alipay.wap.trade.create.direct&sec_id=0001&partner=2088101568358171&req_id=201306170002&sign=oo4ShGc1fndnYiI2OJzclNSQcfspEzoQchrYS8fhiaAzddE31ra/fq7xOm9RCzDTfgyO3Sl8pUcAWY+4BYPrxMF5GPVv2IZDY/N/xQjTwEPrkQYazOtimzB1qRTA/UrOrEejEyMUqN2XXrMwl4/avdFjPpBAsCsF7KFJOL/B7H4=&v=2.0Step 7: Cut the character string for this string of results to get the information of returning parameters. Note: if the signature is set as 0001(RSA), then the returned parameters “res_data” shall be decrypted in the results; if the signature way is set as MD5, then the returning parameter “res_data” in the results directly indicate clear text.res_data=<?xml version="1.0" encoding="utf-8"?><direct_trade_create_res><request_token>201306179d4c458a00e26aca863b4dac3cc2bfd3</request_token></direct_trade_create_res>&service=alipay.wap.trade.create.direct&sec_id=0001&partner=2088101568358171&req_id=201306170002&sign=oo4ShGc1fndnYiI2OJzclNSQcfspEzoQchrYS8fhiaAzddE31ra/fq7xOm9RCzDTfgyO3Sl8pUcAWY+4BYPrxMF5GPVv2IZDY/N/xQjTwEPrkQYazOtimzB1qRTA/UrOrEejEyMUqN2XXrMwl4/avdFjPpBAsCsF7KFJOL/B7H4=&v=2.0Next, make XML analysis of the value “res_data” in XML structure and get the “request_token” value of child node (This series of process requires calling function “parseResponse” in “AlipaySubmit” class). This value is authorized token.201306179d4c458a00e26aca863b4dac3cc2bfd3Step 8: After commercial tenants configure the request parameter data for Mobile phone webpage instant fastpay transaction interface(alipay.wap.auth.authandexecute), the same principle as Step 1, 2, 3 and 4, combine the data array into the array “sParaTemp”.{[partner, 2088101568358171]}{[_input_charset, utf-8]}{[sec_id, 0001]}{[service, alipay.wap.auth.authAndExecute]}{[format, xml]}{[v, 2.0]}{[req_data, <auth_and_execute_req><request_token>201306179d4c458a00e26aca863b4dac3cc2bfd3</request_token></auth_and_execute_req>]}Make empty-value filtering for the array (call function “FilterPara” in “AlipayCore” class), rank the first letters of the array parameters in ascending order (Call function “SortPara” in“AlipayCore” class), convert the array to be signed as character string to be signed, sign the character string (call the function “buildRequestMysign” in “AlipaySubmit” class), take “evaluation” of signature results to parameter “sign” and add it the former array to be signed. Then what is obtained is all the data request for Alipay.{[_input_charset, utf-8]}{[format, xml]}{[partner, 2088101568358171]}{[req_data, <auth_and_execute_req><request_token>201306179d4c458a00e26aca863b4dac3cc2bfd3</request_token></auth_and_execute_req>]}{[sec_id, 0001]}{[service, alipay.wap.auth.authAndExecute]}{[v, 2.0]}{[sign, yB+DrSNb0zvnpzgzid7h/J45V0xbNsOSr7q0/qpX4jElmSCDxUl6ouwc3T39XwCy1nwil/SGx0PiwjN1AKHy+4zADjQVmDMCR28b9skLrVM/Gw5cU35FEgvlTIK+UZ85t/5m4KVby9CIqeI+B6ziXM4zQUxsNTU7AjRGi/kU3Es=]}Step 9:Request Alipay in the way of “GET” (call function of BuildRequest(string GATEWAY_NEW, Dictionary<string, string> sParaTemp, string strMethod, string strButtonValue) in “AlipaySubmit” class). Then the page of commercial tenants will automatically skip to Alipay cashier desk.The later action will be completed in the Alipay Cashier desk by the sellerStep 10. After this transaction is successfully paid by the seller, the Alipay cashier desk displays the successful transaction and reminds the users of returning the website of commercial website. If the buyer clicks this function button, the current Alipay cashier desk would automatically skips to the page file “call_back_url” of commercial tenants. At this time, page “call_back_url” of commercial tenants will receive a string of link address with processing results data.http://127.0.0.1:48034/WS_WAP_PAYWAP-CSHARP/call_back_url.aspx?out_trade_no=cs201306170002&request_token=requestToken&result=success&trade_no=2013061742035035&sign=vnXVWq91w87tmKdrtePYKnEJZmVhuUMeVCVv18HwU8ABmvKH48CLXRQjjAdU4y75WtR62HhEoNCLAnTkx1hxsVGOZwpSRx9DxdXwz1m1NozIOV%2BTN8V9l%2FQXEJj0dmlgd3UjHdxfAbMkFKFDznIfZwYSbhCAL2H4KwXdefLAGiw%3D&sign_type=0001Step 11:Obtain these returned data in the way of “GET”, the same principle as Step 1, 2, 3 and 4, make empty-value filtering the array “call the function of GetRequestGet() in “call_back_url” page”, rank the first letters of parameters in ascending order and convert the arrayed to be signed as character string to be signed.out_trade_no=cs201306170002&request_token=requestToken&result=success&trade_no=2013061742035035Make signature verification for the character string (this series of action is completed to call function “verifyReturn” in “AlipayNotify” class), obtain the verification results of Boolean data type, and compete the verification action of page file “call_back_url”.Step 12:After the buyer competes a transaction payment, apart from triggering page skipping to “call_back_url” file for synchronous notification action, Alipay can automatically trigger server asynchronous notification webpage file (commercial tenants set up parameter “notify_url” value). At this time, the file of commercial tenants “notify_url” will receive the data notified from Alipay synchronous notification.{service=alipay.wap.trade.create.direct, sign=eUHFymt6/MSGNDX8XcnD44IRKEXkx3mG5dk9hp39LYqmwO/WWf9+mldyljSkEXTo9wA2p8Tv9CR1NCTy9nMjHg19KWX8Rtrz2CIfoOvTsE8ttxaRzkQ8TBo/K3sHPERJmQZE2uW8RyXywMaRbRMC+90YATDqex6e7FCR0HQt4KI=, sec_id=0001, v=1.0, notify_data=iUtYE4ipOb+hpmw+lU1lDaLvTxusiNwV6LKDn6vSJLY5Pl2HaE9O9sqWfYXeh+oos6cOS3bB5fkmDqJeDUXHH5oJFttkIosZAj1W0QjROcpF3/j4fx+15DsbGMwXfF4qeBAGA2PdAlwpdZK+krJeAyNn7jNUc2STWVS7ZBRBs0SV8meE1TrjQf5zcQMmoBhLRot6/9iiZyoeBYh2s4JA2u+1HakCLEFproN288teBwA6X/apKe+AauHCYnrUMSO8Wjhz7vaQlkWkQ7tq5rcT6kPGkmwhWvhVylDYXB51SD0KI/17qHm4z8hWiXzArl22P1r6TwP87WBmnAudPfAM5Jj0Uq1UeCE2LpG+8Z2IzKPe1OTLJhtcrjza3q/vFj/J1lT1pq2PM9eDs9p0aV3KuCH3+1Ms7oMqq8IjeJdExYFIa002NxCTkc7VWyMnwHWYCSGC+vPUR9KeZKtWvMpHpJRIJegXiF2LWRU0XrXfwnguiOpWVmSW3XGemedxRsIG0AOyNSLAfq+9Wqvcbz6lcwzskDcLwwOHo2Qo9sRWB7wEytcJwGstXHbXLXR3GXvIkogD7slYd3mvqsczeTPCJ7KeftQP0yGi6gb3wM7igDkIc2tvvdrwQqg7SBjOOU1mUwZbMXYb4ErlFNELHw+5/Tu/qlQcaSma/WWiOL1z0yj1HnfF/PhdWJ/ohlDCMg5iwPW4Xa1gJx+SEGz/lr9ZFbSvCIzzVFgXN+v+26kNb/VvM4dqfSUoj722AOv0fvkNA7qS0EZ7j0gv2L5IZMjibK7DwQ/SLgiQf9sALPWkSBoJfBdZ4k5vJXry4p3Uh2BHUeDckQzNaB3oQJVT8X+6h+8hpvZS5KpDRrq57odJEWqcWQ3tEozyANqL2XTea3tH3h9Fi3ZqmhNTazvdRMGXHLaOhMIg6kmo84aYbPMapv/5fyQdXrELZLiuZh9oxLTECqrHN1kx8BLSLp4ubpkent7NV2LgJbA+jZhE7pUH2vnND4b6XNpOOSha+3y6/kLCjj6cnxUhnwjUUdCCfzXTK1j1+RCS1+G89SR+f7q1NQy/LPK4qD/FVAmquCFMsDzwKNPfNJdxadiElAezivEP4q7ihjH2iNKm/7WJouYfWfYTYXAepa5OIZodJP1otQu1uheDmm1COKnUw9PW6rOQkNK41Weiej0fWqTLi19Fe9YbWagVXf4qJ74RhxLhoWso2JdQV3OPNjCXa5EXn8mRGsB8yQKtwZvZTgtjMB+BMcEa6Qqb74G3mFifyB1+ZCdGIBijK0eMPzyskyqdQG15wC152F5A2BnImIObQ4MgFFqY0gbjM1xzUcb/mhQ196sPP+Mv+25uw4CcJE+5FQW6ONx343MEcs8P+esaRlY2CH4uXiUBtjltzlcD3kpC4RobNzuCMb/NLROkx+mLKZJeID1SgBa1Shj7OzYqVYyyUEpdPfgLEgwFsCtBl3Tsf05yW19acFX2+fYQXk+/k5gs/pkCt2ol27Z4bcGDEOP4zPCd5KrHyvguyUDXWepc48}Step 13: Use POST way to get these returned data, if the signing way is set as 0001(RSA), then the returned parameters “notify_data” shall be decrypted in the results; if the signature way is set as MD5, the results directly indicate clear text, no need for decryption.{service=alipay.wap.trade.create.direct, sign=eUHFymt6/MSGNDX8XcnD44IRKEXkx3mG5dk9hp39LYqmwO/WWf9+mldyljSkEXTo9wA2p8Tv9CR1NCTy9nMjHg19KWX8Rtrz2CIfoOvTsE8ttxaRzkQ8TBo/K3sHPERJmQZE2uW8RyXywMaRbRMC+90YATDqex6e7FCR0HQt4KI=, sec_id=0001, v=1.0, notify_data=<notify><partner>2088101568358171</partner><payment_type>8</payment_type><subject>Testing</subject><trade_no>2013061742035035</trade_no><buyer_email>xxxxxxx@xx.com</buyer_email><gmt_create>2013-06-17 20:12:35</gmt_create><notify_type>trade_status_sync</notify_type><quantity>1</quantity><out_trade_no>cs201306170002</out_trade_no><notify_time>2013-06-17 20:12:40</notify_time><seller_id>2088501624560335</seller_id><out_channel_type>BALANCE</out_channel_type><trade_status>TRADE_SUCCESS</trade_status><is_total_fee_adjust>N</is_total_fee_adjust><total_fee>0.01</total_fee><gmt_payment>2013-06-17 20:12:40</gmt_payment><seller_email>alipayrisk10@alipay.com</seller_email><price>0.01</price><buyer_id>2088002396712354</buyer_id><out_channel_amount>0.01</out_channel_amount><notify_id>c6936b49aa4422d63bf14bc507c535983y</notify_id><use_coupon>N</use_coupon></notify>}Signature verification law of “notify_url” asynchronous notification is different form “call_back_url” in those commercial tenants only requires getting the returned data of Alipay, not for ranking these parameters. Therefore, directly convert the array “sPara” to the character string to be signed (call function “GetRequestPost()” in page “notify_url”).service=alipay.wap.trade.create.direct&v=1.0&sec_id=0001¬ify_data=<notify><partner>2088101568358171</partner><payment_type>8</payment_type><subject>Testing</subject><trade_no>2013061742035035</trade_no><buyer_email>xxxxxxx@xx.com</buyer_email><gmt_create>2013-06-17 20:12:35</gmt_create><notify_type>trade_status_sync</notify_type><quantity>1</quantity><out_trade_no>cs201306170002</out_trade_no><notify_time>2013-06-17 20:12:40</notify_time><seller_id>2088501624560335</seller_id><out_channel_type>BALANCE</out_channel_type><trade_status>TRADE_SUCCESS</trade_status><is_total_fee_adjust>N</is_total_fee_adjust><total_fee>0.01</total_fee><gmt_payment>2013-06-17 20:12:40</gmt_payment><seller_email>alipayrisk10@alipay.com</seller_email><price>0.01</price><buyer_id>2088002396712354</buyer_id><out_channel_amount>0.01</out_channel_amount><notify_id>c6936b49aa4422d63bf14bc507c535983y</notify_id><use_coupon>N</use_coupon></notify>Next, make signature verification for the character string (this series of action is completed to call function “verifyReturn” in “AlipayNotify” class), obtain the verification results of Boolean data type, and compete the verification action of page file “notify_url”.Step 14:In the webpage of “notify_url”, parameter “notify_data” is the character string of XML structure, requiring XML analysis, and then obtaining the required child node data.6 Testing flow rulesTable 6-1 testing flow rulesSteps Debugging contents NotesStep 1: debug this interface independently on this computer Normally getting the authorized token. Analog mobile phone browser for payment Page skipping synchronous returning Only configure the interface well. It shall not be put into the website project of the commercial user.Step 2: debug this interface independently on the server Normally getting the authorized token. Analog mobile phone browser for payment Page skipping synchronous returning Asynchronous notification of server Put into the server debugging after debugging this computer without error.Step 3: interface is integrated to website project - Make the connection and integration between the debugged interfaces and the business flows of commercial users’ website project.Step4: debug the integrated website project on this computer The whole business operation flow Analog mobile phone browser for payment Page skipping synchronous returning Subsequent execution of business Debug the interfaces integrated to the website project on this computerStep 5: debug the integrated website project The whole business operation flow Use mobile phone browser for payment Page skipping synchronous returning Asynchronous notification of server Subsequent execution of business After the debugging on this computer is faultless, then put into server for debugging.7 Attachment7.1 How to get PID and secret keyStep 1: Use agreement-signed Alipay account number to log on “May commercial tenants service” in” Commercial tenants service ” platform (https://b.alipay.com/order/serviceIndex.htm)。Figure 7-1 “May commercial tenants’ service”Step 2: Input https://mobiless.alipay.com/myproduct/my_order.htm at the address bar to check the signed Alipay account number, cooperator ID (PID) information.Figure 7-2 Check the information like signed Alipay account numberStep 3: Cick <Secret key management> button and input “payment password”, click “confirmation”, so as to check all kinds of private key.Figure 7-3 check private keyStep 4: Upload RSA type of commercial tenants’ public key to obtain Alipay public keyFigure 7-4 Get the Alipay public keyStep 5: Store the Alipay account number, cooperator ID (PID, Alipay public key of transaction safety check code (MD5 transaction safety check code (RSA).7.2 Generation and using of RSA secret key7.2.1 Generate commercial tenants’ secret key1. Open “openssl” secret key generating softwareOpen “bin” file folder under “openssl” file folder to execute “openssl.exe” file as the following figure. ”Figure 7-5 Execute file “openssl.exe”2. Generate “RSA” private keyInput “genrsa -out rsa_private_key.pem 1024”order and press “Enter”, produce a file “rsa_private_key.pem” under the current “bin” file contents. The file is the original commercial tenants private key (Please keep the file well. PHP development language requires the file). The following is the correct execution screenshot for the order.Figure 7-6 Generating RSA private key3. Generating RSA public keyInput “rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem” order and press “Enter”, produce a file “rsa_private_key.pem” under the current “bin” file contents. The file is the original commercial tenants private key (Please keep the file well. PHP development language requires the file). The following is the correct execution screenshot for the order.Figure 7-7 Generating RSA public key4. Generating PKCS8 coded private keyInput order “pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt” and press Enter; the current interface will directly display the generated results.Figure 7-8 Generating PKCS8 coded private keyClick “openssl window upper edge, select “Edit → labeling ” by right-hand button,select the words to be copied :Figure 7-9 Select the words to be copiedClick “openssl window upper edge, select “Edit → labeling ” by right-hand button,select the words to be copied. Paste the contents to be copied to a new notepad which can be named randomly as long as knowing it is the private key of PKCS8 format (please keeping the files properly).7.2.2 Use Logic of RSA Secret KeyUse Logic of RSA Secret Key:When a merchant logs in Alipay with RSA sign, the really secret key to be used is the merchant private key and Alipay public key. The merchant uploading the public key to Alipay and Alipay offering the public key to the merchant are the operation of public key exchange, which enables Alipay can verify the sign of the public key uploaded by the merchant when the merchant signs in for verification with Alipay public key. The merchant signs in for verification with Alipay public key; similarly, it is also because Aplipay signs in with Alipay private key.1. Application Method of PHP Development LanguageKey folder shall save two files of the merchant private key and Alipay public key with the extension of .pem. Merchant private key–It must ensure only one line of text, namely: no enter, newline and space, etc.;–Do not have to encode pkcs8 of the just generated (original) private key;–Do not have to remove“-----BEGIN PUBLIC KEY-----” and “-----END PUBLIC KEY-----”;–In a word, it only needs to maintain the private key content just generated. Alipay public key(1) Firstly, log in Alipay website with the signed Alipay account, visit https://ms.alipay.com/index.htm, click on “my merchant service” in the menu bar, right-click on “secret key management” to access into the secret key management page, copy “(RSA)” →the whole string information under “Alipay public key” into a new notepad and name it as “alipay_public_key.txt”;(2) Remove enter, newline and space in the character string to make it only one line of text;(3) On the beginning and end parts of the string of Alipay public key character string, respectively increase two articles of characters of “-----BEGIN PUBLIC KEY-----” and “-----END PUBLIC KEY-----”;(4) Slice the string of Alipay public key character string, and the sliced format shall be consistent with the public key format just generated by the merchant, as below:Figure 7-10 Alipay Public Key Figure(5) Save the notepad and change the extension as .pem.2. Application Method of JAVA and ASP.NET(C#) Development Languages Merchant private key–It must ensure only one line of text, namely: no enter, newline and space, etc.;–Encode pkcs8 of the just generated (original) private key;–After coding completed, copy the section of the private key and remove enter, newline and space in the section, “-----BEGIN RSA PRIVATE KEY-----” and “-----END RSA PRIVATE KEY-----”. Alipay public key(1) Firstly, log in Alipay website with the signed Alipay account, visit https://ms.alipay.com/index.htm, click on “my merchant service” in the menu bar, right-click on “secret key management” to access into the secret key management page, copy “(RSA)” →the whole string information under “Alipay public key” into a new notepad and name it as “alipay_public_key.txt”;(2) Remove enter, newline and space in the character string to make it only one line of text.7.3 Business Date TransmissionThe business parameters provided by Alipay is the data requirement transited by the merchant required by Alipay. The merchant only needs to assign values to variables of the dynamic data when the business logic codes operate according to his business demand, and then transmit the data to Alipay system through Alipay interface logic for Alipay system identifying.For example, if a merchant shall transmit the data of an order to Alipay, he shall get the payment total fee from the order system of himself, out_trade_no of the merchant and order subject, etc., assign the data in values to the corresponding variables, and then combine and process the variables to the request to Alipay for one time.7.4 How to Increase Expansion Business Parameters?Note:The section takes the code example to explain how to increase expansion business parameters, which is only for reference. The merchant should write the expansion business parameters code according to the situation of himself.Open the page files of business parameters allocation and find the code modifying position.1. JAVA Modification ProceduresFor alipayapi.jsp file,increase the child node under the root node <direct_trade_create_req> in the parameters req_dataToken. For example, to increase a parameter merchant_url, the comparison before and after modification as listed as below: Before alterationString req_dataToken = "<direct_trade_create_req><notify_url>" + notify_url + "</notify_url><call_back_url>" + call_back_url + "</call_back_url><seller_account_name>" + seller_email + "</seller_account_name><out_trade_no>" + out_trade_no + "</out_trade_no><subject>" + subject + "</subject><total_fee>" + total_fee + "</total_fee></direct_trade_create_req>"; After alterationString req_dataToken = "<direct_trade_create_req><notify_url>" + notify_url + "</notify_url><call_back_url>" + call_back_url +"</call_back_url><seller_account_name>" + seller_email + "</seller_account_name><out_trade_no>" + out_trade_no + "</out_trade_no><subject>" + subject + "</subject><total_fee>" + total_fee + "</total_fee><merchant_url>" + merchant_url + "</merchant_url></direct_trade_create_req>";“merchant_url” is the newly added business parameter variable. It requires commercial tenants for its evaluation.2. PHP alteration flow“alipayapi.php” file increases child node under the root nodes “<direct_trade_create_req>” of the parameter “$req_data”. For example, when increasing a parameter “merchant_url”, then compare the results before and after alteration. Before alteration:$req_data = '<direct_trade_create_req><notify_url>' . $notify_url . '</notify_url><call_back_url>' . $call_back_url . '</call_back_url><seller_account_name>' . $seller_email . '</seller_account_name><out_trade_no>' . $out_trade_no . '</out_trade_no><subject>' . $subject . '</subject><total_fee>' . $total_fee . '</total_fee></direct_trade_create_req>'; After alteration$req_data = '<direct_trade_create_req><notify_url>' . $notify_url . '</notify_url><call_back_url>' . $call_back_url . '</call_back_url><seller_account_name>' . $seller_email . '</seller_account_name><out_trade_no>' . $out_trade_no . '</out_trade_no><subject>' . $subject . '</subject><total_fee>' . $total_fee . '</total_fee><merchant_url>'.$merchant_url.'</merchant_url></direct_trade_create_req>';“$merchant_url” is the newly increased business parameter variable, requiring commercial tenants valuation for it.3. ASP.NET(C#) alteration flow“default.aspx.cs” file increases child node under the root nodes “<direct_trade_create_req>” of the parameter “req_dataToken”. For example, when increasing a parameter “merchant_url”, then compare the results before and after alteration. Before alteration:string req_dataToken = "<direct_trade_create_req><notify_url>" + notify_url + "</notify_url><call_back_url>" + call_back_url + "</call_back_url><seller_account_name>" + seller_email + "</seller_account_name><out_trade_no>" + out_trade_no + "</out_trade_no><subject>" + subject + "</subject><total_fee>" + total_fee + "</total_fee></direct_trade_create_req>"; After alteration :string req_dataToken = "<direct_trade_create_req><notify_url>" + notify_url + "</notify_url><call_back_url>" + call_back_url +"</call_back_url><seller_account_name>" + seller_email + "</seller_account_name><out_trade_no>" + out_trade_no + "</out_trade_no><subject>" + subject + "</subject><total_fee>" + total_fee + "</total_fee><merchant_url>" + merchant_url + "</merchant_url></direct_trade_create_req>";“merchant_url” is the newly increased business parameter variable, requiring commercial tenants for evaluation for it.7.5 How to Update Order?During the trading process, it shall not only enable the buyer paying successfully, but also keeping the order data of the merchant website consistent with the trading information in the trading management of Alipay.To keep the information consistent, the merchant website technical personnel of program development, maintenance or management should develop the order update program according to the trade procedures of the merchant website. Business code of the order update placing positionCorresponding page file of parameter notify_url and corresponding page file of parameter return_url, note the designated position. How to call page file of order update?Precondition: parameters of notify_url and parameter return_url are set up correctly.–When the buyer completed payment, the current interface shall automatically go to the corresponding page file of parameter return_url, and the corresponding page file of return_url shall be started at this time;–When the trade exists in Alipay trade management and the trade status changes, Alipay shall actively send notification to the corresponding page file of parameter notify_url, and the corresponding page file of parameter notify_url shall be started at this time. How to obtain notification return data completed processing by Alipay?For the notification return data parameters, please refer to notification return parameters list of the technical file.–The parameter obtaining method in the corresponding page file of parameter return_url is GET, such as: request.querrystring ("parameter subject") and $_GET ['parameter subject ']–The parameter obtaining method in the corresponding page file of parameter notify_url is POST, such as: request.form ("parameter subject") and $_POST ['parameter subject'] Basic idea of order updateObtain Alipay feedback data after verified with the code example. Firstly, find the corresponding order in the order system of the merchant website according to the trade, then judge if the order is processed. If it has not been processed, update the order data according to the business procedures of the merchant website.Unitrans世联翻译公司在您身边,离您近的翻译公司,心贴心的专业服务,专业的全球语言翻译与信息解决方案供应商,专业翻译机构品牌。无论在本地,国内还是海外,我们的专业、星级体贴服务,为您的事业加速!世联翻译公司在北京、上海、深圳等国际交往城市设有翻译基地,业务覆盖全国城市。每天有近百万字节的信息和贸易通过世联走向全球!积累了大量政商用户数据,翻译人才库数据,多语种语料库大数据。世联品牌和服务品质已得到政务防务和国际组织、跨国公司和大中型企业等近万用户的认可。 专业翻译公司,北京翻译公司,上海翻译公司,英文翻译,日文翻译,韩语翻译,翻译公司排行榜,翻译公司收费价格表,翻译公司收费标准,翻译公司北京,翻译公司上海。