Pine LabsDOCS

Web SDKs FAQs

Pine Labs Web SDK questions for General and Flutter integrations, including setup, redirect URL handling, callback behavior, UPI intent flows, environment switching, and production-ready best practices.


Android Web SDKs FAQs

1. What is the minimum merchant-side integration?

Implement EdgeResponseCallback, create EdgeManager, and call:

Java
startPayment(activity, redirectUrl, callback);

2. What is redirectUrl in this SDK flow?

It is the checkout/redirect URL generated by your backend/payment-init API.


3. Is onTransactionResponse() equal to "payment success"?

Treat it as "payment flow finished / return reached," not final settlement.

Best practice is to call the Transaction Status API from backend using token/order details to confirm final transaction state.


4. How should we handle cancel/back from user?

Both are explicitly surfaced via callbacks after confirmation dialogs.


5. Does SDK support app-switch flows (UPI/deep link/intents)?

Yes. It handles intent: and external schemes from WebView, opens target apps, and resumes flow when return URL is hit.


6. What Android permissions are required?

Network access is required:

XML
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

7. Can we run multiple payment sessions in parallel?

Not recommended. SDK uses a singleton callback/context holder, so overlapping sessions can conflict.


8. What should we do on no internet before/after launch?

startPayment already checks connectivity and returns onInternetNotAvailable(...).

Merchants should show a retry CTA and avoid creating duplicate orders unnecessarily.


9. What is a good merchant-side success/failure pattern?
  1. Start payment via SDK.
  2. Receive callback (transaction/cancel/error/back).
  3. Call Transaction Status API from backend.
  4. Show final status from inquiry (success/pending/failure), not just SDK callback.