Reference article:
Alipay interface - Instant Account Transaction Interface Docking Organize 1
Alipay interface - Instant account arrival transaction interface Docking Organize 2
Documentation for Alipay interface usage Alipay asynchronous notification (notify_url) and return_url.
There are two types of notifications from Alipay.
A server notification, the corresponding parameter is notify_url, Alipay notification uses POST method
Page B jump notification, the corresponding parameter is return_url, and Alipay notification uses GET (the notification address does not need to be set in the account like before, but is passed to my address by the customer when paying.
For example, notify_url=/notify_alipay.asp Note: It is the domain name of your website, and it can also be replaced by an IP address. For server notifications, the IP address must be on the public network, and the private address (for example, 10.2.1.1 or 192.168.1.1) cannot notify Alipay to the client)
The following content comes from the official Alipay website, but due to the change of the address, the original post cannot be accessed. Find its content through snapshots and share it.
1. Confirm whether the interface you are using notify_url or return_url.
2. Notify_url is a server notification, and Alipay can guarantee a notification arrival rate of 99.9999%, provided that your network is smooth.
3. return_url is a web page redirect notification, which is a notification triggered by the customer's browser. If the customer goes to online banking to pay, it will also be affected by the bank interface. Since there are many influencing factors, this type of notification Alipay does not guarantee its arrival rate.
After the buyer successfully pays, he will jump to the page where return_url is located. This page can be displayed to the customer. This page will only jump once if the payment is successful.
notify_url: Server background notification, this page is the link address that Alipay automatically calls this page on the server side. This page modifys the website's order status based on the information feedback from Alipay. After the update is completed, it needs to return a success to Alipay. It cannot contain any other characters, including the html language.
Process: The buyer paid the payment (trade_status=WAIT_SELLER_SEND_GOODS)--->Alipay notification notify_url--->If the feedback to Alipay is success (indicates success, no feedback will be given in this state. If the notification is not continued, the time interval between the first sending and the second sending is generally 3 minutes)
The remaining process, the seller ships the goods, the buyer confirms the receipt, and the transaction is successful.
-------------------------------------------------------------------
Everyone must have this confusion - after getting the Alipay interface code, although the program inside has comments and the interface code package also has development instructions, I still don’t know how to get started. It’s not difficult to imagine why, because I don’t understand how this interface works?
Then this article is to fully show everyone everything about Alipay interface so that everyone can quickly access the interface into their projects, and can also help program developers who already have some understanding of Alipay interface to understand some of the general rules, special uses, etc. of Alipay.
The topic begins-
1. Structure
a) It is generally composed of two parts, the access part and the notification return part. The access part is to combine information such as passing parameters into a hyperlink, and use this link to jump. The notification return part is that after the Alipay server has processed the order, the notification and return the detailed information of the order will be sent to the merchant server.
After the user server receives it, it processes it data.
b) Take the program in the physical standard dual-interface ASP code as an example.
i. The page file of the access part includes: configuration page alipay_Config.asp, method details page alipay/Alipay_Payto.asp, program entry page, and MD5 encryption method class page alipayto/Alipay_md5.asp.
ii. The page file returned to the notification includes: method details page alipay/Alipay_Payto.asp, MD5 encryption method class page alipayto/Alipay_md5.asp, custom page that automatically jumps back after payment is completed (after Alipay processing is completed), return_Alipay_Notify.asp, interaction between the two servers (not visible to the naked eye) notification page Alipay_Notif
。
Here you can see at a glance that the MD5 encryption method class and method details page are called no matter which part, so these two files can be regarded as core code parts. If you want to understand the working principle of the interface, you must start from this part.
c) Take the C# language code program with physical standard dual interface as an example:
i. The page file in the access part includes: ALIPAY class file App_Code/ and entry page file without changing
ii. The page file of the notification return part includes: the notification page Alipay_Notify.aspx that interacts between the two servers (not visible to the naked eye) and the custom page Alipay_Return.aspx that automatically jumps back after payment is completed (after Alipay has completed processing),
ALIPAY class file App_Code/ without changing
Is this architecture easier to understand? That's right, the calculation process of the core part is in this file.
-----------------------------------------------------------------
2. Working principle
Everyone already has some understanding of the structural part, so we will start to analyze how the specific interface works.
a) Principle of the access part
i. Step 1 - Select parameter information:
Combining the technical documents and interface code DEMO, the parameters passed to the Alipay server are selected, taking the physical standard dual interface as an example. If you must pass the items service, partner, seller_email, sign, sign_type, out_trade, please contact us
_no, price, subject, quantity, payment_type and at least one set of logistics information parameters three logistics_type, logistics_fee, logistics_payment
etc., optional items such as body, discount, show_url, etc.
Take the C# language code program as an example:
string service = "trade_create_by_buyer";
string seller_email = "aaaa@";
string sign_type = "MD5";
string key = "********************************";
string partner = "2088************";
string _input_charset = "utf-8";
string show_url = "/";
string out_trade_no = ();
string subject = ();
string body = ();
string price = ();
string quantity = ();
string logistics_type = "POST";
string logistics_fee = ();
string logistics_payment = "BUYER_PAY";
string notify_url = "/swnet05utf8/Alipay_Notify.aspx";
string return_url = "/swnet05utf8/Alipay_Return.aspx";
ii. Step 2 - Sort:
The variable names of these parameters (i.e. the variable names given in the technical documentation are combined in this way: service=”trade_create_by_buyer” as a string) are sorted in order from a to z. Taking the C# language code program as an example, this function is in the class; taking the program in the ASP code as an example, this function is in the alipayto/Alipay_Payto.asp file.
iii. Step 3 - Encryption:
The current general encryption method is MD5. No matter which encryption method it is, the information to be encrypted is the information to be transmitted to Alipay, and it exists in technical documents, rather than a custom variable name. All the parameters sorted above (excluding gateway parameters, that is, string gateway = "/cooperate/?" ;) are spliced into a long string using the '&' character (it should be noted here that all parameters are spliced by the & character. After splicing, they are spliced directly and then spliced together the security verification code Key. In the program, you can see that this key is directly added to the string without the & character), and then encrypted. The resulting encrypted string set is stored in the parameter sign.
iv. Step 4 - Splicing the string into URL link
We have obtained the various parameters, the values to which the parameters belong, and the encryption strings obtained. Then the format of all the parameter information in our hands should be sets of strings in the format service="trade_create_by_buyer". If we splice, we will traverse all these strings by looping. Because this splicing is to be a URL link, the gateway gaetway and encryption type parameters sig that were excluded before were excluded.
n_type will also be spliced in, so the connected characters are used to obtain a complete URL link address using the well-known character '&', such as:
/cooperate/?s...3d199ba&sign_type=MD5
This link comes from Alipay's official technical document "Standard physical dual interface technical document"
v. Step 5 - Automatic jump
For the URL link string that has been calculated in the fourth step, we want to make it alive. Then the way to live is to call it with the program, which is the so-called automatic page jump. This will jump to Alipay’s official cashier page.
It can be said that the Alipay interface has been successfully integrated into our own website and can use Alipay to make payments.
b) Notification Return Partial Principle
i. Professional Terms
The notification returns are two pages, that is, the page file corresponding to the notify_url parameter when passed to Alipay (Alipay_Notify.aspx, and Alipay_Notify.asp) is called the notification page.
The page file corresponding to the return_url parameter when given to Alipay (Alipay_Return.aspx, and asp is return_Alipay_Notify.asp) is called the return page.
ii. Notification Return Principle
1. Step 1 - Verify whether it is a request sent by the Alipay server:
a) Take the asp program code as an example:
alipayNotifyURL = "/trade/notify_query.do?"
alipayNotifyURL = alipayNotifyURL &"partner=" & partner & "¬ify_notify_id")
Set Retrieval = (".3.0")
2, 13056
"GET", alipayNotifyURL, False, "", ""
()
ResponseTxt =
Set Retrieval = Nothing
What you get is the value of ResponseTxt, which is what you need to use in the following steps.
b) Take C# program code as an example:
//Get the ATN result of the remote server and verify whether it was a request sent by the Alipay server.
public String Get_Http(String a_strUrl, int timeout)
{
string strResult;
try
{
HttpWebRequest myReq = (HttpWebRequest)(a_strUrl);
= timeout;
HttpWebResponse HttpWResp = (HttpWebResponse)();
Stream myStream = ();
StreamReader sr = new StreamReader(myStream, );
StringBuilder strBuilder = new StringBuilder();
while (-1 != ())
{
(());
}
strResult = ();
}
catch (Exception exp)
{
strResult = "Error:" + ;
}
return strResult;
}
Calling part:
string alipayNotifyURL = "/cooperate/?service=notify_verify";
string partner = "2088************";
alipayNotifyURL = alipayNotifyURL + "&partner=" + partner + "¬ify_notify_id"];
//Get the result of Alipay ATN, true is the correct order information, false is invalid
string responseTxt = Get_Http(alipayNotifyURL, 120000);
What you get is the value of ResponseTxt, which is what you need to use in the following steps.
2. Step 2 - Sort:
The principle of sorting of this part is the same as the principle of "Sorting Steps" of "Access Part". It is worth noting that the parameters here are the various parameters and values of the order information transmitted back when Alipay notifies you. http:///
3. Step 3 - Encryption:
The encryption principle of this part is the same as the "encryption step" principle of the "access part". The part that is still worth noting is the encrypted parameter information, which is encrypted from the string spliced together parameters after the above step is sorted.
4. Step 4 - Judgment:
Above we have obtained the encryption result (named mysign), check whether it is the correctness of the message sent by Alipay ResponseTxt, and the value of the sign parameter obtained through POST or GET. The meaning of this judgment is that the most important thing in the notification return.
The part is because it is to check whether the following program performs our data processing. How to judge? In each language program code, the result mysign obtained by encryption is compared with the value of the sign obtained from Alipay or the result, and the responseTxt is also required.
The value must be equal to true, so that the verification can be successful. It is worth noting that everyone has encountered such a thing. The payment part, that is, the access part, is indeed done, but why it cannot be synchronized with Alipay's transaction information? The problem that arises is not successful in this judgment. The fifth part below will explain in detail.
5. Step 5 - Data processing of your own website
Finally, the judgment was successful and the program has been executed here. The comments in this part of the program code in each language read "Update the order statement for your own database" or "You can specify what you need to display here". As literally, this place requires us to count the transaction information.
According to processing, that is, writing programs. This statement is probably a bit professional. The simple and easy-to-understand way is that the information on Alipay's successful transaction and all other transaction statuses can also be synchronized by the order, that is, the transaction status of the order in Alipay is "the buyer has paid for waiting for the seller to ship the goods."
So this is why the status displayed on your website is, so you should write down such as:
if (["trade_status"] == "WAIT_SELLER_SEND_GOODS")// Determine the payment status_The buyer's payment is successful, waiting for the seller to ship the goods (there is an enumeration table in the document to refer to)
{
//Update your own database order statement, please fill in it yourself
string strOrderNO = ["out_trade_no"];//Order number
string strPrice = ["price"];//Amount
string sql = "update order_table set order_status = 'Buyer has paid, waiting for the seller to ship' where order_no = " + strOrderNO;
Update(sql);
}
etc. database processing code.
iii. Differences in existence
1. It is not difficult to find that when the program runs in the notification page, the method of obtaining parameters is in the POST method, and when the program runs in the return page, the method of obtaining parameters is in the GET method. From this we can see some basic information - the parameter information passed back from the return page is stored in the URL link
The parameter information of the notification page is not in the URL link, and the difference in function between the two can also be inferred from it.
2. You can see that the notification page has one more link than the return page, that is ("success");
For detailed descriptions of different functions, you can see the fourth part below. http:///
-------------------------------------------------------------------
3. Parameters
First of all, you have a question. Many parameters are given in the input parameter list in the technical document, and only a part of the parameters are written in the code I got to pass information. Why is this? Then let’s look down with this question first.
The parameters discussed below do not cover gateway, encryption parameter sign, encryption type sign_type, because these are all necessary.
Taking physical standard dual interfaces as an example, the parameters can be regarded as several functional parts.
a) Infinite parameters
i. service service parameters, this is used to distinguish which interface is used for this interface, so it must not be modified.
ii. Partner partner ID, key security verification code or private key can only be obtained after the contract takes effect. Partner is to identify which merchant signed the contract with Alipay, and this key is as important as a key.
iii. seller_email payee Alipay account. Alipay accounts with mobile phone type and email type can be used for Alipay accounts.
iv. subject is directly associated with the product name in the Alipay cashier, but to put it more accurately, this parameter is the name of the transaction, because this transaction does not necessarily only buy one product. Its function is not only to be clearly displayed in the cashier, but also to the Alipay account
It is also ranked first in the list of transaction details of the account. It can be inferred that it has many functions such as financial reconciliation and screening conditions for transaction inquiry. Very important.
v. out_trade_no technical document gives the merchant transaction number (make sure it is unique in the merchant system). As the name suggests, this is the only order number in the order system of our own website, not Alipay. It should be emphasized here that this order number must be unique. How to do it uniquely? Your own website
The order number of the order system in the order system is absolutely unique. This is the only thing Alipay requires. Why do you have to be unique? Alipay will determine whether the order is unique among all transactions of the merchant based on the order number.
vi. price amount and quantity quantity. There are two ways to set the unit price amount of one commodity, multiple quantities (i.e. greater than or equal to 1). Another type is that the quantity is 1, the amount represents the total amount and even includes the freight. Why do most customers do this? The reason is very simple. First, the things in the shopping cart are not necessarily simple.
If one or more items of the same product, it will be difficult to set the amount for the product. Therefore, the total amount is the best here, and the quantity is defaulted to 1. Second, the freight setting is set by many customers who sign contracts with various express companies, and the express delivery fee for each item is also different. In order to save trouble, the calculation is carried out in the program.
At the same time, just add the shipping fee. Therefore, we only need to remember one thing, the amount of this price is the so-called total amount.
vii. payment_type payment type, nothing to say is written directly as 1, no changes are required.
viii. Logistics information logistics_type, logistics_fee, logistics_payment This is a set of logistics information. There must be at least one set of logistics information in the physical standard dual interface, which refers to these three parameters. There can be up to three groups. Which three groups? logistics_type_1, logistics_fee_1, logistics_paymen
t_1 (second group); logistics_type_2, logistics_fee_2, logistics_payment_2 (third group). The last two groups are optional. Generally speaking, it was said that Price is already the total amount and includes shipping costs.
Then, the logistics freight fee is set to 0, that is, logistics_fee=”0”. The information of the other two can be filled in with reference to the technical documents, because you need to select from the enumeration list in the technical documents, so you must not fill in it randomly.
b) Useful parameters that can be added
i. There are at most three sets of logistics information and at least one set. This has been mentioned in the previous part, so I will not go into details here.
ii. _input_charset, when it is the encoding format of UTF-8, it must be used and not allowed to be empty, that is, _input_charset="utf-8"
iii. notify_url, return_url, return_url means that you can automatically jump back from Alipay's official page after payment is completed. notify_url is the best tool to prevent order transfer.
iv. body, in the product description in the Alipay cashier, if the subject is the order name, then this body is called the order description most accurately. In fact, I personally think it is more appropriate as a note or something. Many people are very depressed why Alipay cannot be like other companies
The interface has a custom parameter to store what the customer wants. In fact, body also has a similar function. Not only does it contain the largest information among all parameters, it is also stored in the form of a string. I personally think it is actually one of the very important and indispensable parameters.
v. discount discount, as the name suggests, if it is less than 0, the original amount is used Price*quantity+(discount), and the actual amount is smaller than the original total amount. Now some merchants have Alipay discount coupons, and the purpose of discount coupons is also reflected in this parameter. The specific practices are as follows:
The face is no different.
vi. show_url product display address. The function of this link is to have an underlined "details" link next to the product link in the Alipay cashier, and a new page pops up with the click link is the page of the product display address.
vii. Receive information receive_name, receive_address, receive_zip, receive_phone, receive_mobile. If these information is also set as one of the parameters passed to Alipay, then when the Alipay cashier clicks on the next step, the page that should have filled in the receipt information will disappear, and will jump directly to the next page of the receipt information page. Many merchants shop on their websites
There is a tab for filling in the receipt information in the process. In order to save the hassle of filling in the receipt information at the Alipay cashier, these receipt information parameters come in handy. It is worth noting that the name and address of the consignee are required, otherwise the receipt information filling page will still appear.
viii. buyer_email buyer Alipay account. The effect after setting this is that the input box of the originally empty Alipay account is already placed in it.
c) The remaining parameters need not be paid attention to
The parameters of the entire physical standard dual interface have been introduced, so do you still need to introduce the parameters of other interfaces? Do you see anything by comparing the parameter list of the technical documents from the above analysis?
1. The last column of the parameter list is called "nullable". N means that it is not allowed to be empty, and Y means that it is allowed to be empty. Combining the above indispensable parameters with the added useful parameters, it is not difficult to find that all the indispensable parameters are N.
2. Some parameters with Y have a set, such as buyer_email and buyer_id. Whenever you encounter this type of parameter, you can choose one or both, or you can choose one or both. Give an example: the two must choose seller_email, seller_id, and the two must choose one
It is buyer_email, buyer_id.
By analyzing the parameters of all interfaces, you can determine which important parameters are not allowed. You can understand them at a glance by combining technical documents and program interfaces.
--------------------------------------------------------
4. Notification returns
a) Return to page
The page file corresponding to the return_url parameter when passed to Alipay.
Attributes:
1. The purchase process of the buyer in the payment interface has already reached Alipay and Alipay prompts that payment is successful, the page will automatically jump back to this page of its own website.
2. Synchronous, no time difference
3. The method to obtain parameters is to obtain them using get.
4. Regardless of whether the program judges whether it is true or false after jumping back (if(sign = mysign and responseTxt = true)), it only jumps back once and does not repeat.
5. This is not the Alipay server called the page, but the URL link formed by combining the URL links formed by splicing each parameter is automatically redirected on the program.
6. For reasons 5, the program debugging of this page does not have to be debugged and run on the server but on the local machine.
b) Notification page
The page file corresponding to the notify_url parameter when passed to Alipay
Attributes:
1. This notification page can only be started by calling Alipay.
2. The interaction between servers is not like the naked eye that you can see when you return to the page. This is not visible.
3. The method to obtain parameters is to obtain them using POST.
4. If the transaction in Alipay exists and the transaction status changes, it will be called.
5. If we make a program to be called (if(sign = mysign and responseTxt = true)), if we do program writing in this judgment, we will no longer be called, and if we fail, we will be called repeatedly.
6. Asynchronously, the first time receiving order information (hereinafter referred to as "notifications") is a synchronization time that is almost the same or equivalent to the return page. If the judgment is unsuccessful, a second and third equal number of notifications will be received, with the time interval from the first one or two minutes to the next few hours. The expiration time is 4
8 hours.
7. Based on the reason 6, the program debugging of this page must be debugged and run on the server.
8. When writing a program, the program must be successfully executed before writing the page ("success"); if it fails, the page ("fail"); Alipay determines whether to send a notification again based on success.
9. The page of the Html page must be blank, no Html tags, no spaces, and page redirection is not allowed.
Take C# physical standard dual interface code as an example:
if (mysign == sign && responseTxt == "true")
{
if (["trade_status"] == "WAIT_BUYER_PAY")// Determine payment status_wait for the buyer to pay (there are enumeration tables in the document to refer to)
{
//Update your own database order statement, please fill in it yourself
}
else if (["trade_status"] == "WAIT_SELLER_SEND_GOODS")// Determine the payment status_The buyer's payment is successful, waiting for the seller to ship the goods (there is an enumeration table in the document to refer to)
{
//Update your own database order statement, please fill in it yourself
string strOrderNO = ["out_trade_no"];//Order number
string strPrice = ["price"];//Amount
string sql = "update order_table set order_status = 'Buyer has paid, waiting for seller to ship' where order_no = @out_trade_no";
Update(sql,para);
}
else if (["trade_status"] == "WAIT_BUYER_CONFIRM_GOODS")// Determine payment status_Seller has shipped and is waiting for the buyer to confirm (there are enumeration tables in the document to refer to)
{
//Update your own database order statement, please fill in it yourself
string strOrderNO = ["out_trade_no"];//Order number
string strPrice = ["price"];//Amount
string sql = "update order_table set order_status = 'Seller has shipped, waiting for the buyer to confirm receipt' where order_no = @out_trade_no";
Update(sql, para);
}
else if (["trade_status"] == "TRADE_FINISHED")// Determine the payment status_The transaction ends successfully (there are enumeration tables in the document to refer to)
{
//Update your own database order statement, please fill in it yourself
string strOrderNO = ["out_trade_no"];//Order number
string strPrice = ["price"];//Amount
string sql = "update order_table set order_status = 'Transaction successful' where order_no = @out_trade_no";
Update(sql, para);
}
else
{
//Update your own database order statement, please fill in it yourself
}
("success");
}
else
{
("fail");
}
c) Among the many interfaces of Alipay, not all interfaces have notification pages and return pages.
Some interfaces have only return pages; some interfaces have notification pages and the content in XML format is displayed on the current page; some do not have notification pages and no return pages and only display on the current page in XML format. Therefore, we need to make corresponding data based on the technical documents and program examples of each interface
reason.
d) There is a question here. Generally, everyone's approach is to update the database in the return page, but in many cases, the order is dropped if the order is not synchronized. why is that?
Answer: The return page is automatically redirected by the current page. Although the jump response speed is good, the manual closing of the page can definitely make the page close before it jumps back. At this time, the program that was originally updated by the database was not started, which directly leads to order drops, so ordinary large merchants
The technical practice of instant recharge in the online game industry is: there is an order processing program on the return page, and there is also a notification page. When the orders on the return page have not been processed, the data processing program on the notification page will be started; this way, nearly 100% of the order drop problem can be solved (there are also a reason for order dropping is that there is a problem with everyone's own server, such as a problem. There is no solution to this problem so far. You can only reinstall or replace the server, and some servers are caused by poisoning). This article comes from http:///
-------------------------------------------------
V. Debugging
The access part is done and the notification return part is done, so start debugging.
Debugging is also divided into two parts.
a) Some websites use frame-mode frames, but this does not apply to Alipay's interface program, so the Alipay's interface page must not be placed under the framework of the entire website.
b) Make sure to use POST or GET to pass parameters, and the two cannot be mixed. Since some websites do not necessarily have only one interface portal, the entire website must be consistent. This cannot use POST for this interface and that interface uses GET for that interface, which directly leads to a series of subsequent searches.
All the causes are extremely difficult.
c) The debugging of the access part is to enter the value of the format required by Alipay. For example, the value of subject and body does not allow illegal characters, the amount format must be two digits after the decimal point or a positive integer and is not the amount format (i.e. $123.00). As a very important principle, the passed parameter either does not pass this parameter (that is, among the many passed parameters, this parameter does not exist at all), or this parameter is not allowed to be empty. A large part of the reason why many people have a series of "debugging errors" when paying for debugging is to participate.
There is a problem with the setting of the number.
d) The encoding format must be confirmed and then confirmed. There are only two reasons for the direct "debugging error, SIGN is wrong" when paying. One is the problem of setting parameters mentioned in Part C, and the other is the problem of this encoding format. The encoding format is very important. You must not use GBK in this place, and use utf-8 in another place.
e) Go through the interface to perform a real operation. If it is a payment interface, take a real transaction, and the amount is 0.01 yuan (Alipay does not have a test environment, so please honestly use the account you signed to perform a real transaction). Don’t think it’s very troublesome, and don’t hand this job over to a manager or your boss.
Do it because it directly affects your subsequent operation steps and the smoothness of debugging.
f) The return part can be debugged on the computer. It was mentioned before that the payment test should not be handed over to others other than yourself. Here we can get a full explanation. No matter which language is in, they have the ability to monitor the program code in their own style. The return part must monitor the execution of the program step by step to ensure that 1. Whether the execution has been completed with "mysign == sign && responseTxt == "true"", the judgment of this IF statement; 2. Whether it has entered this statement instead of else; 3. Whether the database update program has been executed successfully, not stuck; 4. Whether the program has been completed after the database update is completed. The basic problem is the first step, so don't
I think it's strange why I dropped the order?
g) Debugging the notification page, this debugging is more troublesome. First, the Alipay interface has been completed and placed on the server, and others can pay through the Internet; secondly, the "write log" program in the notification page must be started, and the log content mainly records trade_status and tr
ade_no, out_trade_no, price, sign, mysign, responseTxt, etc. The general reason for this is still that the judgment "mysign == sign && responseTxt == "true"" is not passed.
Specific inspection methods:
1. Directly access /alipay/notify_url.asp using the Internet
Whether the access can be accessed and the word "fail" is displayed, such as blank space or other program error prompts, is a program execution error.
2. Whether the program has been executed, sign=mysgin and responseTxt = "true" in the judgment, if the judgment statement jumps to the ELSE when this judgment is executed, it means that there are problems with the parameter information passed by your interface program during payment or the settings of your encoding format, partner ID and security verification code.
3. The program has been executed to the judgment of sign=mysgin and responseTxt = "true", but has not executed the sentence ("success"), which means that there is an error in the execution of the program code you wrote yourself. Please check.
----------------------------------------------------------
6. Others
a) Some interfaces, such as payment interfaces, support POST or GET to pass parameters.
i. POST delivery method:
The point that needs to be noted here is: the value of action in <form action="aliay_url" …> is the gateway + encoding format parameter, that is, /cooperate/? _input_charset=utf-8. The encoding format of GBK can be: /cooperate /?.
ii. GET delivery method:
It is a long list of URL link strings connected by the & character. It is stored by automatic jumping instead of <form action="aliay_url" …>, but is used to jump using (aliay_url).