Laravel ನಲ್ಲಿ BayarCash ಅನ್ನು ಸರಿಯಾದ ರೀತಿಯಲ್ಲಿ ಸೆಟಪ್ ಮಾಡುವುದು

ನೀವು ಮಲೇಷ್ಯಾ ಮಾರುಕಟ್ಟೆಗಾಗಿ SaaS ಅನ್ನು ನಿರ್ಮಿಸುತ್ತಿದ್ದರೆ, ನಿಮಗೆ ಅಂತಿಮವಾಗಿ FPX ಅಗತ್ಯವಿರುತ್ತದೆ. BayarCash ಒಂದು ಸಾಮಾನ್ಯ ಆಯ್ಕೆಯಾಗಿದೆ.

SDK ಸಮಸ್ಯೆಯಲ್ಲ. ಸಮಸ್ಯೆ ನಿಮ್ಮ ಆರ್ಕಿಟೆಕ್ಚರ್ (architecture). ನೀವು ಕಂಟ್ರೋಲರ್‌ನಿಂದ SDK ಅನ್ನು ಕರೆಯುತ್ತಿದ್ದರೆ ಅಥವಾ ನಿಮ್ಮ ವ್ಯೂಗಳಲ್ಲಿ (views) ಸ್ಟೇಟಸ್ ಕೋಡ್‌ಗಳನ್ನು ಹಾರ್ಡ್‌ಕೋಡ್ ಮಾಡುತ್ತಿದ್ದರೆ, ನೀವು ಪ್ರೊಡಕ್ಷನ್‌ನಲ್ಲಿ ಸಮಸ್ಯೆಗಳನ್ನು ಎದುರಿಸುತ್ತೀರಿ.

ನಾನು ಮೂರು ವಿಭಿನ್ನ Laravel ಅಪ್ಲಿಕೇಶನ್‌ಗಳಲ್ಲಿ BayarCash ಅನ್ನು ಬಳಸಿದ್ದೇನೆ. ಪ್ರತಿ ಬಾರಿಯೂ ಕೆಲಸ ಮಾಡುವ ಮಾದರಿ ಇಲ್ಲಿದೆ.

ಪರಿಣಿತರಾಗಲು ಪ್ರಮುಖ ಪದಗಳು

  • Portal: ನಿಮ್ಮ ಮರ್ಚೆಂಟ್ ಚೆಕ್‌ಔಟ್ ಕಾನ್ಫಿಗರೇಶನ್. portal_key ಬಳಸಿ.
  • API Token: ಇದು ನಿಮ್ಮ ಹೊರಹೋಗುವ ಕರೆಗಳನ್ನು (outgoing calls) ದೃಢೀಕರಿಸುತ್ತದೆ.
  • Secret Key: ಇದು ನಿಮ್ಮ ಪೇಲೋಡ್‌ಗಳನ್ನು (payloads) ಸಹಿ ಮಾಡುತ್ತದೆ ಮತ್ತು ವೆಬ್‌ಹುಕ್‌ಗಳನ್ನು (webhooks) ಪರಿಶೀಲಿಸುತ್ತದೆ. ಇದನ್ನು ಸುರಕ್ಷಿತವಾಗಿಡಿ.
  • Payment Intent: ನೀವು ಚಾರ್ಜ್ ಅನ್ನು ಪೋಸ್ಟ್ ಮಾಡುತ್ತೀರಿ, ಒಂದು URL ಅನ್ನು ಪಡೆಯುತ್ತೀರಿ ಮತ್ತು ಬಳಕೆದಾರರನ್ನು ರಿಡೈರೆಕ್ಟ್ ಮಾಡುತ್ತೀರಿ.
  • Channel: ಯಾವಾಗಲೂ ಕಚ್ಚಾ ಸಂಖ್ಯೆಗಳ ಬದಲಿಗೆ SDK ಕಾನ್ಸ್ಟಂಟ್‌ಗಳನ್ನು (constants) ಬಳಸಿ.

ನಿಮ್ಮ ಕೋಡ್ ಅನ್ನು ಸರಿಯಾಗಿ ರಚಿಸಿ

ನಿಮ್ಮ ಡೊಮೇನ್ ಕೋಡ್ ಎಂದಿಗೂ ಕಚ್ಚಾ BayarCash ಪೇಲೋಡ್ ಅನ್ನು ನೋಡಬಾರದು. ನಿಮಗೆ ಮೂರು ಪದರಗಳು (layers) ಬೇಕಾಗುತ್ತವೆ:

  • A thin client wrapper: ಇದು ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ ಮತ್ತು ಟೈಪ್ಡ್ ಮೆಥಡ್‌ಗಳನ್ನು (typed methods) ಒದಗಿಸುತ್ತದೆ.
  • A gateway: ಇದು ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಅನುಷ್ಠಾನಗೊಳಿಸುತ್ತದೆ ಮತ್ತು ನಿಮ್ಮ ಡೊಮೇನ್ ಭಾಷೆಯಲ್ಲಿ ಸಂವಹನ ನಡೆಸುತ್ತದೆ.
  • A factory: ಇದು ಸಕ್ರಿಯ ಗೇಟ್‌ವೇ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡುತ್ತದೆ, ಇದರಿಂದ ನೀವು BayarCash ಅನ್ನು ಸುಲಭವಾಗಿ Stripe ಗೆ ಬದಲಾಯಿಸಬಹುದು.

ಫೇಕ್ ಗೇಟ್‌ವೇ ಅನ್ನು ಬೈಂಡ್ ಮಾಡುವುದು

ನೀವು API ಟೋಕನ್ ಅನ್ನು ಒದಗಿಸದಿದ್ದರೆ, ನಿಮ್ಮ ಸರ್ವಿಸ್ ಕಂಟೇನರ್‌ನಲ್ಲಿ (service container) ಒಂದು ಫೇಕ್ ಪ್ರೊವೈಡರ್ ಅನ್ನು ಬೈಂಡ್ ಮಾಡಿ. ಇದು ನೆಟ್‌ವರ್ಕ್ ಇಲ್ಲದೆಯೇ ನಿಮ್ಮ ಟೆಸ್ಟ್‌ಗಳನ್ನು ರನ್ ಮಾಡಲು ಅನುಮತಿಸುತ್ತದೆ ಮತ್ತು ಸಕ್ರಿಯ ಬಿಲ್ಲಿಂಗ್ ಇಲ್ಲದೆಯೇ ನಿಮ್ಮ ಲೋಕಲ್ ಬಿಲ್ಡ್‌ಗಳನ್ನು ರನ್ ಮಾಡಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.

ವೆಬ್‌ಹುಕ್ ಬೆಸ್ಟ್ ಪ್ರ್ಯಾಕ್ಟಿಸಸ್ (Webhook Best Practices)

ವೆಬ್‌ಹುಕ್ ನಿಮ್ಮ ಸತ್ಯದ ಮೂಲ (source of truth). ಪ್ರೊಡಕ್ಷನ್‌ನಲ್ಲಿ ಸಮಸ್ಯೆಗಳು ಉಂಟಾಗದಂತೆ ಈ ನಿಯಮಗಳನ್ನು ಪಾಲಿಸಿ:

  • CSRF Exempt: ನಿಮ್ಮ ವೆಬ್‌ಹುಕ್ ರೂಟ್ (route) CSRF ರಕ್ಷಣೆಯನ್ನು ಬೈಪಾಸ್ ಮಾಡಬೇಕು.
  • Verify Signatures: ಬೇರೆ ಯಾವುದೇ ಕೆಲಸ ಮಾಡುವ ಮೊದಲು ಯಾವಾಗಲೂ ಸಹಿಯನ್ನು (signature) ಪರಿಶೀಲಿಸಿ.
  • The 200 Rule: ನೀವು ಸಹಿಯನ್ನು ಪರಿಶೀಲಿಸಿದ ನಂತರ, 2xx ರೆಸ್ಪಾನ್ಸ್ ಅನ್ನು ಹಿಂತಿರುಗಿಸಿ.
  • Avoid Retries: ನೀವು 500 ಎರರ್ ಅನ್ನು ಹಿಂತಿರುಗಿಸಿದರೆ, BayarCash ನಿಮ್ಮ ವೆಬ್‌ಹುಕ್ ಅನ್ನು 40 ಬಾರಿ ಮರುಪ್ರಯತ್ನಿಸುತ್ತದೆ. ಇದು ನಿಮ್ಮ ಸರ್ವರ್ ಅನ್ನು ಕ್ರ್ಯಾಶ್ ಮಾಡಬಹುದು. ಎರರ್‌ಗಳನ್ನು ಲಾಗ್ ಮಾಡಿ, ಆದರೆ ಆದರೂ 200 ಅನ್ನು ಹಿಂತಿರುಗಿಸಿ.
  • Idempotency: ಒಂದೇ ವೆಬ್‌ಹುಕ್ ಅನ್ನು ಎರಡು ಬಾರಿ ಸ್ವೀಕರಿಸಿದಾಗ ಡೂಪ್ಲಿಕೇಟ್ ಆರ್ಡರ್‌ಗಳನ್ನು ರಚಿಸದೆ ನಿಮ್ಮ ಲಾಜಿಕ್ ಅದನ್ನು ನಿರ್ವಹಿಸುವುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.

ಯಶಸ್ಸಿನ ಪರಿಶೀಲನಾ ಪಟ್ಟಿ

order_number ಅನ್ನು ಕೊರಿಲೇಷನ್ ಕೀ (correlation key) ಆಗಿ ಬಳಸಿ. ಇದನ್ನು 30 ಅಕ್ಷರಗಳಿಗಿಂತ ಕಡಿಮೆ ಇರಿಸಿ. • ಬಳಕೆದಾರರನ್ನು ರಿಡೈರೆಕ್ಟ್ ಮಾಡುವ ಮೊದಲು ಪೆಂಡಿಂಗ್ ಲೋಕಲ್ ರೆಕಾರ್ಡ್ ಅನ್ನು ಉಳಿಸಿ. • ಸರ್ವರ್-ಟು-ಸರ್ವರ್ ಕಾಲ್‌ಬ್ಯಾಕ್ ಅನ್ನು ನಿಮ್ಮ ಮುಖ್ಯ ಅಧಿಕಾರವಾಗಿ ಬಳಸಿ. • ಹೊಂದಾಣಿಕೆಗಾಗಿ (reconciliation) ರಿಟರ್ನ್ URL ಅನ್ನು ಸೇಫ್ಟಿ ನೆಟ್ ಆಗಿ ಬಳಸಿ. • ಇಂಟೆಜರ್ ಸ್ಟೇಟಸ್ ಕೋಡ್‌ಗಳನ್ನು ತಕ್ಷಣವೇ ನಿಮ್ಮ ಸ್ವಂತ Enums ಗೆ ಮ್ಯಾಪ್ ಮಾಡಿ.

ಪೇಮೆಂಟ್ ಇಂಟಿಗ್ರೇಷನ್‌ಗಳು ನೈಜ ಹಣಕ್ಕೆ ಸಂಬಂಧಿಸಿವೆ. ನಿಮ್ಮ ಸಹಿ ಪರಿಶೀಲನೆ (signature verification) ಮತ್ತು ಐಡೆಂಪೊಟೆನ್ಸಿಯನ್ನು (idempotency) ಎಲ್ಲಕ್ಕಿಂತ ಹೆಚ್ಚಾಗಿ ಪರೀಕ್ಷಿಸಿ.

Source: https://dev.to/nasrulhazim/setting-up-bayarcash-fpx-in-laravel-the-right-way-4b2n