Interface Rules
1. Marker bar
While reading the API Specification, please be awared of the last column of the request parameter "Requirement."
Mark |
Description |
M |
Mandatory |
C |
Conditional |
O |
Optional |
Data submission and receiving
Note:If merchant needs to verify the SSL certificate, after binding the certificate public key, please send the merchantId, company name and contact information to tech- support@geoswift.com; If the merchants does not provide the above information (one-way certification), the loss shall be borne by merchant company.
All of Geoswift’s data are received and submitted by POST. Besides, the data are submitted to the interface and receiving asynchronous callback in the format of AES encryption (request JSON). The asynchronous callback is returned by the stream.
Request Head:ContentType = “application/vnd.Geoswift-v3.0+json”;
Asynchronous Notification
- when your company's system receives the successful payment or data cancellation notification from Geoswift(Server point-to-point communication), receiving "SUCCESS" in response from your server is required by us. Once obtaining the response, we would consider that your company has received the notification. Otherwise, the notification will continue sending for four times at an increasing interval, the time intervals are 20/30/40/50 seconds, with a total duration of 140 seconds to ensure the order notified successfully.
- Asynchronous callback is defined as a notification behavior, and the merchant end needs to respond as required after receiving the notification. Redirection is not supported.
- The status returned by the synchronized callback only stands for the order request status and cannot be used as a judgment of the final order status. The final order status is subject to the asynchronous callback and the query interface.
Precautions
- The parameter “payer” to each request can be empty but cannot be removed. (Can pass "payer" :{} or "payer" :{" name ":}. Note that there are no double quotation marks around the braces.)
- ProductDetails is a Json array and the upload format should be “productDetails”: [{“name”: “XXX “,“quantity”:”1”,”amount”:”1”}]。
- The decimal point should not be appeared in the field "amount" (Units: FEN) or the field"quantity“.
- The "requestId is" is the unique identifier to each request. Please do not use the same requestId for the second time.
- For notifyUrl and callbackUrl, please do fill the proper URLs that can be accessible to external networks and be under your primary domain name. Do not fill in the IP address (To change the domain name, please contact the business manager). If the merchant does not need the callbackUrl, keep it the same as notifyUrl.
- ClientIP needs to be filled in extranet IP address; Please ensure that the IP of the order is consistent with the IP of the payment. (Due to ISP's unstable network issues somtimes or other reasons, it could cause the issue of the inconsistent IPs, then please try switching the network (4G, wifi).
- The domain name for callbackUrl must be under the registered primary domain name.