SDK Integration
  • Getting Started
  • Onboarding Requirements
  • Hash Generation
  • Test Merchant list
  • Android
    • Android SDK Offering
    • PayUCheckoutPro
      • Integration
      • Build the Payment Params
        • Additional Params
      • Hash Generation
      • Set up the payment hashes
      • Initiate the Payment
      • Customized Integration
        • Set Webview Properties
        • SDK Configuration
        • Additional Offerings
      • Offers Integration
      • Convenience Fee Integration
      • Custom Note Integration
      • MCP Integration
    • Core
      • Supported Payment Types
      • TPV Integration
      • Merchant Web Services
        • Getting Enabled Payment Options
        • GetCheckoutDetails API
        • Lookup API
    • Custom Browser
      • Integration
        • CustomBrowser Config
        • CustomBrowserCallback
        • Supporting below Lollipop Versions
        • Third-Party Payments Support
      • Sample App
      • Change Logs
    • Native OTP Assist
      • Integration
      • Customization
      • Change Logs
    • UPI
      • Integration
      • TPV Integration in UPI
      • Sample App
      • Change Logs
    • Google Pay™
      • Integration
      • Sample App
    • PhonePe
      • Integration
      • Sample App
      • Change Logs
    • OlaMoney
    • PayU OTP Parser
      • Integration
    • FAQ Android
  • iOS
    • PayUCheckoutPro
      • Integration
      • Advanced Integration
      • Set up the payment hashes
      • Convenience Fee Integration
      • MCP Integration
      • Custom Note Integration
    • Core
      • POD Integration
      • Seamless
      • Web Services
      • Objective C-Non-Seamless
      • Standing Instructions
      • TPV Integration
      • Sample App
    • Custom Browser
      • Sample App
    • OlaMoney
    • Native OTP Assist
      • Integration
      • Customization
    • UPI
      • Integration
      • Sample App
    • PayUParams
      • PayUSIParams
      • PayUBeneficiaryParams
  • Releasing to Apple
  • React-Native
    • PayUCheckoutPro
      • Integration
      • Set up the payment hashes
      • Advanced Integration
      • Change Logs
    • Core
    • Non-Seamless Wrapper
    • TPV (beta)
      • Integration
  • FAQ iOS
Powered by GitBook
On this page
  • You can integrate SI with BizSDK framework in below steps:
  • Hash Calculation
  • Make Payment
  • Response Handling

Was this helpful?

  1. iOS
  2. Core

Standing Instructions

PreviousObjective C-Non-SeamlessNextTPV Integration

Last updated 4 years ago

Was this helpful?

You can integrate SI with BizSDK framework in below steps:

Hash Calculation

For SI transaction, hash calculation formula is different from normal type of payment:

Hash Formula:


siDetail = "{"billingAmount": "150.00","billingCurrency": "INR","billingCycle": "WEEKLY","billingInterval": 1,"paymentStartDate": "2019-09-18","paymentEndDate": "2020-10-20"}"
beneficiaryDetail = "{"beneficiaryAccountNumber":"1234567890"}"
// Hash calculation for Cards & StoreCards
Hash = sha512(key|txnid|amount|productinfo|firstname|email|udf1|udf2|udf3|udf4|udf5||||||siDetail|SALT)
// Hash calculation for NB
Hash = sha512(key|txnid|amount|productinfo|firstname|email|udf1|udf2|udf3|udf4|udf5||||||siDetail|beneficiaryDetail|SALT)

Make Payment

For NB, StoreCard and Card:

Create an object of PayUSIParams and pass in the payment param object as below:

PayUSIParams *siParam = [[PayUSIParams alloc] initWithBillingAmount:<#(NSString * _Nonnull)#>
                                                   paymentStartDate:<#(NSDate * _Nonnull)#>
                                                     paymentEndDate:<#(NSDate * _Nonnull)#>
                                                       billingCycle:<#(enum PayUBillingCycle)#>
                                                    billingInterval:<#(NSNumber * _Nonnull)#>];
self.paymentParamForPassing.siParams = siParam;
let siParam = PayUSIParams(billingAmount: <#T##String#>,
                           paymentStartDate: <#T##Date#>,
                           paymentEndDate: <#T##Date#>,
                           billingCycle: <#T##PayUBillingCycle#>,
                           billingInterval: <#T##NSNumber#>)
paymentParamForPassing.siParams = siParam

For NB payment, you have to give beneficiary details as well:

PayUBeneficiaryParams *beneficiaryParams = [[PayUBeneficiaryParams alloc] initWithBeneficiaryName:<#(NSString * _Nonnull)#>
                                                                         beneficiaryAccountNumber:<#(NSString * _Nonnull)#>
                                                                           beneficiaryAccountType:<#(enum BeneficiaryAccountType)#>];
self.paymentParamForPassing.beneficiaryParams = beneficiaryParams;
let beneficiaryParams = PayUBeneficiaryParams(beneficiaryName: <#T##String#>,
                                              beneficiaryAccountNumber: <#T##String#>,
                                              beneficiaryAccountType: <#T##BeneficiaryAccountType#>)
paymentParamForPassing.beneficiaryParams = beneficiaryParams

Response Handling

It is same as you are handling for other payment option.

More details about PayUSIParams can be found .

More details about PayUBeneficiaryParams can be found .

After setting the above parameters, create the request object as mentioned .

here
here
Hash Calculation
Make payment
Response Handling
here