Step 1: Create New Order (REST API)
Use the below url to create an order in your (backend) server.
UAT URL: https://uatapi.fastswiff.com/payment/api/order
Production URL: https://api.fastswiff.com/payment/api/order
/create
Authorization: basic authentication with base64encoded
FastSwiffAuthentication
<MerchantAuthenticationKey>:<MerchantAuthenticationToken>:M:<MerchantKeyId>
{{'{'}}
"Merchantkeyid": "7963",
"UniqueRequestId": "f3f5b5c13f",
"UserDefinedData": {{'{'}}
"UserDefined1": ""
{{'}'}},
"RequestDateTime": "06232021",
"RedirectUrl": "https://fastswiff.com",
"TransactionData": {{'{'}}
"AcceptedPaymentTypes": "",
"PaymentType": "",
"SurchargeType": "",
"SurchargeValue": "",
"RefTransactionId": "",
"IndustrySpecificationCode": "",
"PartialPaymentOption": ""
{{'}'}},
"OrderAmount": "100",
"OrderType": "",
"OrderAmountData": {{'{'}}
"AmountTypeDesc": "3",
"Amount": "2"
{{'}'}},
"CustomerData": {{'{'}}
"CustomerId": "152433",
"CustomerNotes": "amway product",
"FirstName": "kanhaiya",
"LastName": "dhaked",
"MobileNo": "08619083450",
"Email": "demo@gmail.com",
"EmailReceipt": "true",
"BillingAddress": "44 bhawar nagar semal",
"BillingCity": "semla",
"BillingState": "Rajasthan",
"BillingCountry": "India",
"BillingZipCode": "30202020",
"ShippingFirstName": "yagyang",
"ShippingLastName": "dhaked",
"ShippingAddress": "44 bhawar nagar semal",
"ShippingCity": "semla",
"ShippingState": "Rajasthan",
"ShippingCountry": "India",
"ShippingZipCode": "30202020",
"ShippingMobileNo": "08619083450"
{{'}'}},
"IntegrationData": {{'{'}}
"UserName": "ranjith",
"Source": "3213",
"IntegrationType": "11",
"HashData": "",
"PlatformId": "1"
{{'}'}},
{{'}'}}
def orderCreate(self,post_data):
#now = datetime.datetime.now()
myfamily = {{'{'}}
'Merchantkeyid':self.MerchantKeyId,
'UniqueRequestId':FastSwiffIntegration.get_random_string(10),
'OrderAmount':post_data.get('OrderAmount'),
'OrderType':post_data.get('OrderType'),
"UserDefinedData" : {{'{'}}
"UserDefined1" : ""
{{'}'}},
"RequestDateTime":"",
"RedirectUrl":"https://a2zfame.com",
"TransactionData" : {{'{'}}
"AcceptedPaymentTypes" : "Linus",
"PaymentType" : 2011,
"SurchargeType":"",
"SurchargeValue":"",
"RefTransactionId":"",
"IndustrySpecificationCode":"",
"PartialPaymentOption":""
{{'}'}},
'OrderAmountData':{{'{'}}
"AmountTypeDesc":post_data.get('AmountTypeDesc'),
"Amount":post_data.get('Amount')
{{'}'}},
"CustomerData":{{'{'}}
"CustomerId":post_data.get('CustomerId'),
"CustomerNotes":post_data.get('CustomerNotes'),
"FirstName":post_data.get('FirstName'),
"LastName":post_data.get('LastName'),
"MobileNo":post_data.get('MobileNo'),
"Email":post_data.get('Email'),
"EmailReceipt":post_data.get('EmailReceipt'),
"BillingAddress":post_data.get('BillingAddress'),
"BillingCity":post_data.get('BillingCity'),
"BillingState":post_data.get('BillingState'),
"BillingCountry":post_data.get('BillingCountry'),
"BillingZipCode":post_data.get('BillingZipCode'),
"ShippingFirstName":post_data.get('ShippingFirstName'),
"ShippingLastName":post_data.get('ShippingLastName'),
"ShippingAddress":post_data.get('ShippingAddress'),
"ShippingCity":post_data.get('ShippingCity'),
"ShippingState":post_data.get('ShippingState'),
"ShippingCountry":post_data.get('ShippingCountry'),
"ShippingZipCode":post_data.get('ShippingZipCode'),
"ShippingMobileNo":post_data.get('ShippingMobileNo'),
{{'}'}},
"IntegrationData":{{'{'}}
"UserName":post_data.get("UserName"),
"Source":post_data.get("Source"),
"IntegrationType":post_data.get("IntegrationType"),
"HashData":post_data.get("HashData"),
"PlatformId":post_data.get("PlatformId"),
{{'}'}}
{{'}'}}
message = self.AuthenticationKey+":"+self.AuthenticationToken+":M:"+self.MerchantKeyId
message_bytes = message.encode('ascii')
base64_bytes = base64.b64encode(message_bytes)
base64_message = base64_bytes.decode('ascii')
url = self.paymentURL+"/create"
payload = json.JSONEncoder().encode(myfamily);
headers = {{'{'}}
'content-type': "application/json",
'authorization': "Basic "+base64_message,
'cache-control': "no-cache",
'postman-token': "d755d76a-eee0-437a-48f6-cd08297493f8"
{{'}'}}
response = requests.request("POST", url, data=payload, headers=headers)
pprint.pprint("yagyang start")
pprint.pprint(response.text)
pprint.pprint("yagyang end")
return json.loads(response.text)
{{'{'}}"OrderKeyId":"210619M11172U6f463b05b1",
"MerchantKeyId":11172,
"UniqueRequestId":"6f463b05b1",
"OrderType":"PAYMENT",
"OrderAmount":45,
"OrderId":77,
"OrderStatus":'',
"OrderPaymentStatus":0,
"OrderPaymentStatusText":'',
"PaymentStatus":0,
"PaymentTransactionId":'',
"PaymentResponseCode":0,
"PaymentApprovalCode":'',
"PaymentTransactionRefNo":'',
"PaymentResponseText":'',
"PaymentMethod":'',
"PaymentAccount":'',
"OrderNotes":'',
"PaymentDateTime":'',
"UpdatedDateTime":'',
"PaymentProcessUrl":"https:\/\/fastswiff.com\/payment\/payment?orderid=210619M11172U6f463b05b1",
"OrderPaymentCustomerData":{{'{'}}
"FirstName":"kanhaiya",
"LastName":'dhaked',
"Address":'jaipur',
"City":'jaipur',
"State":'RJ',
"ZipCode":'302020',
"Country":'IN',
"MobileNo":"8619083450",
"Email":"kl.nagar7@gmail.com",
"UserId":'34',
"IpAddress":'127.0.0.1'
{{'}'}},
"UpiLink":"upi:\/\/pay?pa=A2zfame@yesbank&pn=A2zfame&mc=8999&am=0&mam=null&cu=INR&mode=01&orgid=00000&mid=YES0000001558758&sign=YzYxYzhmOWI5MjY1MjM3ZDEzMzQ0NDhkYWQ3NTNlZGE5OTcwMDE2MjEyODQ2ZDFiZjdlNTU4YmM3OThkOTY0NGIxYzk3OGIxNGZjM2VkMWRhYjA2MDA4MDhhZDY2M2Q2Y2I5MWQ4ZmExMTAzMjU0YzJhNTk4MDRjMzhlZmVkNGI="
{{'}'}}
Step 2: Payment process url for
checkout
This payment url is used to redirect to actual payment screen.
Developer can redirect either by using javascript or other programming language.
This is a javascript example like window.location="Payment process url"
Step 3: Order Details (API request
Parameters)
Authorization: basic authentication with base64encoded
FastSwiffAuthentication –
<MerchantAuthenticationKey>:<MerchantAuthenticationToken>:M:<MerchantKeyId>
{{'{'}}
"OrderKeyId": "210624M7963Ubd259588d4",
"MerchantKeyId": "7963",
"PaymentType": ''
{{'}'}};
def orderDetail(self,post_data):
url = self.paymentURL+"/Detail"
message = self.AuthenticationKey+":"+self.AuthenticationToken+":M:"+self.MerchantKeyId
message_bytes = message.encode('ascii')
base64_bytes = base64.b64encode(message_bytes)
base64_message = base64_bytes.decode('ascii')
myfamily = {{'{'}}
"OrderKeyId":post_data.get('OrderKeyId'),
"MerchantKeyId":self.MerchantKeyId,
{{'}'}}
payload = json.JSONEncoder().encode(myfamily);
headers = {{'{'}}
'content-type': "application/json",
'authorization': "Basic "+base64_message,
'cache-control': "no-cache",
'postman-token': "d755d76a-eee0-437a-48f6-cd08297493f8"
{{'}'}}
response = requests.request("POST", url, data=payload, headers=headers)
pprint.pprint("yagyang start")
pprint.pprint(response.text)
pprint.pprint("yagyang end")
return json.loads(response.text)
{{'{'}} "OrderKeyId": "210624M7963Ubd259588d4", "MerchantKeyId": 7963, "UniqueRequestId": "bd259588d4", "OrderType": "213", "OrderAmount": 1.00, "OrderId": null, "OrderStatus": "0", "OrderPaymentStatus": 0, "OrderPaymentStatusText": null, "PaymentStatus": 0, "PaymentTransactionId": null, "PaymentResponseCode": 0, "PaymentApprovalCode": null, "PaymentTransactionRefNo": null, "PaymentResponseText": null, "PaymentMethod": null, "PaymentAccount": null, "OrderNotes": null, "PaymentDateTime": null, "UpdatedDateTime": "6/24/2021 6:12:43 PM", "PaymentProcessUrl": null, "OrderPaymentCustomerData": null, "UpiLink": null {{'}'}}