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

You can integrate SI with BizSDK framework in below steps:

  • Hash Calculation

  • Make payment

  • Response Handling

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

More details about PayUSIParams can be found here.

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

More details about PayUBeneficiaryParams can be found here.

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

Response Handling

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

PreviousObjective C-Non-SeamlessNextTPV Integration

Last updated 4 years ago

Was this helpful?