Order API Flow (Request and Response)
  • Item Name : DevDocs - Documentation for Developers
  • Author : FastSwiff
  • Copyright : 2024 by FastSwiff

Steps:

  • Create an order with the mandatory fields from OrderRequest.

  • Once the Order is created , orderkeyid and PaymentProcessUrl will be provided as a response as part of the order creation - which redirects the user/customer to the Process payment page.

  • Customer chooses the payment type and provides the details.

  • Payment is processed and redirects to the url provided in the RedirectUrl parameter of the OrderRequest.

  • Payment details can be obtained by making a call to the Detail API

  • Order can be updated in 10days with customer information and shipping details after payment completion.

Check Request , Response Object and samples


REST Post Urls:

Create Payment Request URL: uatapi.fastswiff.com/payment/api/order/create

Detail and Status Payment Request URL: uatapi.fastswiff.com/payment/api/order/Detail



Required headers:

  • Authorizationbasic FastSwiffAuthentication

    FastSwiffAuthentication = base64encoded(MerchantAuthenticationKey:Merchant AuthenticationToken:M:MID) OR generate Authorization Header value in FastSwiff Dashboard.

    required
  • Content-Type application/json
    required
Payment Processing Flow

Order Request:

  • Merchantkeyidinteger

    Please get this merchantkeyid from FastSwiff Dashboard

    required
  • MIDinteger

    Id which is obtained on MerchantRegistration

    required
  • UniqueRequestIdstring(10)

    Unique Id generated for that particular request and it should not be repeated, alphanumeric only.

    required
  • OrderAmount decimal(18,2)

    Transaction Amount - This amount will be shown to user for payment.

    required
  • ProductDatastring - Json Object

    Product/Service detail related to the order, please review ProductData for more detail and example.

    required
  • CustomerData CustomerData object

    Customer detail - billing, shipping, Please refer CustomerData for more detail.

    required
  • IntegrationData IntegrationData Object

    Required few details like username, source, integration type etc, Please refer IntegrationData for more detail.

  • OrderType string- Specified Data only

    Default - PAYMENT, FUTUREBILLING

  • OrderId string(20)

    OrderNo/Id from merchant system, alphanumeric only.

  • OrderAmountData List of AmountDetail

    Please see contents below AmountDetail

  • NextStepFlowData string - Json Object

    What will be next step for user information after payment is completed, please review NextStepFlowData for more detail and example.

  • TransactionData TransactionData Object

    Specific payment type - used for UPI intent, seamless- please review TransactionData for more detail and example.

  • UserDefinedData UserDefinedData Object

    List user defined custom objects. Please refer UserDefinedData for detail and example.

  • RequestDateTime datetime

    MMDDYYYY

  • RedirectUrl url

    Redirect url given by the merchant after transaction

Note: ProductData, Nextstepflowdata should be in JsonObject converted to string.

Account Detail

Note: If OrderAmountData is provided then the total OrderAmountData should be equal to OrderAmount
  • AmountTypeDesc string(20)

    description of the order amount

  • Amount decimal(18,2)

    Order Amount

ProductData Object:

Note: Product/service detail of the order, this detail will be displayed on payment page (by default, and can be configured, please check settings in merchant portal) and the transaction reciept.
example "ProductData":"'PaymentReason':'OnlineOrder for OrderNo- 1234', 'ItemId':'T-shirt', 'Size':'medium', 'AppName':'yourAppName'"
Suggestion: Please refer below table contents as suggestion and you can add as per your requirement. However it should be valid json object
  • PaymentReason string(50)

    Reason for this payment

  • ServiceType string(50)

    Type of the service

  • ProductName string(50)

    Name of the product

TransactionData:

Seamless for UPI, Netbanking and Wallets:
UPI : PaymentType:"UPI", VPA is required
Upi Intent: PaymentType as "UPIINTENT", IPAddress is required and IntegrationData
  • PaymentType Specified Data

    Payment Mode - NetBanking, UPI, UPIINTENT, Wallet

  • IndustrySpecificationCode string(20)
  • PartialPaymentOption specified value - True/false

    To accept partial payment from user, if true then user will able to modify amount before payment and order will be marked as partial paid after approval of transaction.

Payment Type:

Note: If TransactionData PaymentType is UPI, please refer below
  • Vpastring(50)

    UPI ID/ virtual address of payer - example ramchandra@upi

    required
  • AccountNumber# string

    Bank Account Number

  • Ifsc# string

    Bank Ifsc Code

  • AadhaarNo# string

    Account holder AadhaarNo

Payment Type - Netbanking:

Note: If TransactionData PaymentType is Netbanking, please refer below
  • BankNamestring - Specificed Data

    BankCode for Netbanking, example - PG0001 for Allahabad Bank- Retail
    Please refer for Bank Code list

    required

Payment Type - Wallet:

Note: If TransactionData PaymentType is Wallet, please refer below
  • WalletTypestring - Specificed Data

    Wallet Type , example - PayTm, PhonePe Please refer for Wallet Type list

    required
  • username#string

    User mobile no or login id

CustomerData:

  • MobileNoNumber(10)

    Contact number of the customer

    required
  • CustomerIdstring(10 )

    IId of the customer

  • CustomerNotesstring(200 )

    Any considerations mentioned by customer

  • FirstName string(20)

    First Name of the customer

  • LastNamestring(20)

    Last Name of the customer

  • EmailReceiptEmail bool

    True / False

  • BillingAddress string(100)

    Address on which the bill is generated

  • BillingCity string(20)

    Billing city of the customer

  • BillingStatety string(20)

    Billing state of the customer

  • BillingCountry string(20)

    Billing country of the customer

  • BillingZipCode string(20)

    Zip code of the billing address

  • ShippingFirstName string(20)

    First name of the customer in shipping address

  • ShippingLastName string(20)

    Last name of the customer in shipping address

  • ShippingAddress string(100)

    Address on which the bill is generated

  • ShippingCity string(20)

    shipping city of the customer

  • ShippingState string(20)

    shipping state of the customer

  • ShippingCountry string(20)

    shipping country of the customer

  • ShippingZipCode string(20)

    Zip code of the shipping address

  • ShippingMobileNo number(10)

    Mobile no. of the customer in shipping address

UserDefinedData(Object) :

Note: Supports upto 20 user defined object. By default pass blank value in each key.

example: "UserDefinedData": "UserDefined1": ""

  • UserDefined1string(50)
  • UserDefined2string(50)
  • UserDefined3string(50)
  • UserDefined4string(50)
  • UserDefined5string(50)
  • UserDefined6string(50)
  • UserDefined7string(50)
  • UserDefined8string(50)
  • UserDefined9string(50)
  • UserDefined10string(50)
  • UserDefined11string(50)
  • UserDefined12string(50)
  • UserDefined13string(50)
  • UserDefined14string(50)
  • UserDefined15string(50)
  • UserDefined16string(50)
  • UserDefined17string(50)
  • UserDefined18string(50)
  • UserDefined19string(50)
  • UserDefined20string(50)

IntegrationData(Object):

  • Sourcestring(20)

    Application Name and Version.
    Source name should be "MobileSDK" if the integration type is 11.

    required
  • IntegrationTypestring(10)

    // 0 or null default, 1 Seamless - CardNumber should be encrypted and merchant should be enabled for seamless,
    11 - Mobile integration

    required
  • UserNamestring(20)

    Username of the customer

  • HashData string(250)

    Hash for request data

  • PlatformId string(10)

    Integrated Distributor ID - Platform

  • IPAddress string(250)

    IP address of the Merchant's server.
    If PaymentType is UPIINTENT, IPAddress is

    required

SplitPaymentData(Object):

  • SplitTypeIntger

    Amount.

    required
  • AutoSplitBool

    0/1

    required
  • SplitPaymentVendor List of SplitPayment

    Please see contents below SplitPayment

    required

Split Payment Vendor:

  • VendorIdIntger

    VendorId of Customer

  • SplitPaymentdecimal(18,2)

    Order Amount

OrderResponse:

  • OrderKeyIdstring(30)

    Id generated based on the create order request from FastSwiff and should be stored in your system for status, verification or any communication with FastSwiff.

  • MerchantKeyIdinteger

    Id which is obtained on MerchantRegistration

  • UniqueRequestIdstring(20)

    Echo from request

  • OrderAmountdecimal(18,2)

    Transaction Amount

  • OrderStatusstring(10)

    Status of the order. Please refer for Order Status Codes

  • OrderStatusTextstring(50)

    Order Status Text ex: created, completed-approved transaction,cancelled payment by user. Please refer Order Status Code for any programming decision

  • PaymentTransactionIdstring(50)

    Id generated for that transaction

  • PaymentResponseCodeint

    Payment Status of the order. Please refer for Payment Response Codes

  • PaymentApprovalCodestring(20)

    Unique number identifying the Approved transaction

  • PaymentMethodstring Specified Values

    Transaction processed as

  • PaymentAccountstring(50)

    Payment processed account detail. Data depending on PaymentMethod. if processed as UPI - then VPA /UPI ID,
    Credit/DebitCard - then Card number first 6 and last 4 of card ,
    Netbanking - then BankName,
    Wallet - then Wallet Name like PayTM, PhonePe etc

  • PaymentProcessUrl*url

    FastSwiff payment url for customer to pay, you need to redirect to this url for payment processing.

  • OrderTypestring(20)

    Echo from request

  • OrderIdstring(20)

    Echo from request

  • OrderNotes string(100)

    Risk and Security Notes - if you see detail in this, make sure to address with business team as soon as possible

  • PaymentDateTimedatetime

    Time & Date of the payment

  • UpdatedDateTimedatetime

    Updated time & date of the payment

  • OrderPaymentCustomerDataobject of CustomerData

    If user have changed their customer data on FastSwiff payment page while transaction processing, updated data will be provided in this.

OrderStatusRequest:

Note: Order status can be checked once order is created.
  • OrderKeyIdstring(30)

    OrderKeyId generated based on the create order request

    required
  • MerchantKeyIdinteger

    MerchantKeyId obtained on Merchant registration

    required
  • PaymentTransactionId string(50)

    PaymentTransactionId generated for specific transaction provided by FastSwiff system

    required
  • PaymentType string(20)

    Identifies the type of the payment., eg:Credit/debit/upi,etc

    required

Validation Error Response:

Note: Due to any invalid input values or invalid configuration, response will be provided as validation errors
  • ResponseCodeint

    OrderKeyId generated based on the create order request

  • Code string

    Defined ErrorCode

  • Message string

    Error Description

  • FieldName string

    Name of invalid field if error due to data issue

  • DeveloperMessage string

    Message for developers to understand issue, mostly configuration issue detail will be available in this field

  • MoreInfoUrl string

    Url to learn more about this issue

  • RequestUniqueId string

    Echo from request

Order Status Response:

It is same response as Order Create Response, please refer Order Response



Authorization: basic YTVhZWNlNTg3NWEwNDA0NGJmZjQ5MWRlNzM0MWVmNGE6ZTJkYTI2MTYxYjRiNDhmYzk1YjU5ZGFmMjE5MWZiMzM6TTo3Nzcx
Content-Type: application/json

											

	{
		"MID":"Your MID - Provided by FastSwiff",
		"UniqueRequestId":"f3f5b5c13h",
		"UserDefinedData":{
		   "UserDefined1":""
		},
		"ProductData":"{        'PaymentReason':'OnlineOrder for OrderNo- 1234',         'ItemId':'T-shirt',         'Size':'medium',         'AppName':'yourAppName'    }",
		"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":"Mens clothing",
		   "FirstName":"ravi",
		   "LastName":"sharma",
		   "MobileNo":"7337327109",
		   "Email":"test@gmail.com",
		   "EmailReceipt":"true",
		   "BillingAddress":"44 bhagvan nagar",
		   "BillingCity":"orissa",
		   "BillingState":"orissa",
		   "BillingCountry":"India",
		   "BillingZipCode":"30202020",
		   "ShippingFirstName":"ravi",
		   "ShippingLastName":"sharma",
		   "ShippingAddress":"44 bhagvan nagar",
		   "ShippingCity":"orissa",
		   "ShippingState":"orissa",
		   "ShippingCountry":"India",
		   "ShippingZipCode":"30202020",
		   "ShippingMobileNo":"7337327109"
		},
		"IntegrationData":{
		   "UserName":"ravi",
		   "Source":"3213",
		   "IntegrationType":"",
		   "HashData":"",
		   "PlatformId":"1"
		}
	 }
	 }

											
{
	"OrderKeyId":"210923M8340Uf3f5b5c13h",
	"MerchantKeyId":8340,
	"UniqueRequestId":"f3f5b5c13h",
	"OrderType":"PAYMENT",
	"OrderAmount":100.0,
	"OrderId":null,
	"OrderStatus":null,
	"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":null,
	"PaymentProcessUrl":"https://uat.fastswiff.com/payment/payment?orderid=210923M8340Uf3f5b5c13h",
	"OrderPaymentCustomerData":{
	   "FirstName":"ravi",
	   "LastName":null,
	   "Address":null,
	   "City":null,
	   "State":null,
	   "ZipCode":null,
	   "Country":null,
	   "MobileNo":"7337327109",
	   "Email":"test@gmail.com",
	   "UserId":null,
	   "IpAddress":null
	},
	"UpiLink":null,
	"OrderPaymentTransactionDetail":null,
	"UserDefinedData":{
	   "UserDefined1":"",
	   "UserDefined2":null,
	   "UserDefined3":null,
	   "UserDefined4":null,
	   "UserDefined5":null,
	   "UserDefined6":null,
	   "UserDefined7":null,
	   "UserDefined8":null,
	   "UserDefined9":null,
	   "UserDefined10":null,
	   "UserDefined11":null,
	   "UserDefined12":null,
	   "UserDefined13":null,
	   "UserDefined14":null,
	   "UserDefined15":null,
	   "UserDefined16":null,
	   "UserDefined17":null,
	   "UserDefined18":null,
	   "UserDefined19":null,
	   "UserDefined20":null
	}
 }
											
Tools

Select Color

Modes

light

light

dark

dark

Sidebar

Backgrounds

default

Default

bg-1

Bg-1

bg-2

Bg-2

bg-3

Bg-3

bg-4

Bg-4

bg-5

Bg-5

Box Design

default

Default

box-1

Box-1

box-2

Box-2

box-3

Box-3