Sina-Soltani / Parbad

A free, open-source, integrated and extensible library which connects your web applications to online payment gateways. Gateways can be added or developed by you.
GNU Lesser General Public License v3.0
364 stars 81 forks source link

گرفتن Url درگاه مجازی #321

Closed miladahmadi33 closed 1 year ago

miladahmadi33 commented 1 year ago

سلام؛ من Page ایجاد Request ــم به صورت JsonResult هست و با استفاده از result.GatewayTransporter.Descriptor.Url یو آر ال رو به کلاینت برگشت میزنم، و بعد با جاوا اسکریپت کاربر رو به درگاه میفرستم: location.href = parbadUrl; اما موقعی که از درگاه مجازی استفاده میکنم result.GatewayTransporter.Descriptor.Type به صورت Post هست، به خاطر همین Url برگشت داده نمیشه. به صورت خلاصه: اگه از درگاه بانک استفاده کنم result.GatewayTransporter.Descriptor.Type به صورت Redirect هست و همه چی اوکیه، این Url رو به کلاینت برگشت میزنم و بعد کاربر رو با استفاده از location.href جاوا اسکریپت، به Url انتقال میدم. اما موقعی که از درگاه مجازی خود پرباد استفاده میکنم result.GatewayTransporter.Descriptor.Type به صورت Post هست و Url مخصوصی نداره، بلکه مقادیر داخل result.GatewayTransporter.Descriptor.Form به آدرس درگاه مجازی ارسال میشن. لطف کنید درگاه مجازی هم به صورت Url های بانکی دربیارید که افرادی که از JsonResult استفاده میکنن، به Url درگاه مجازی از طریق result.GatewayTransporter.Descriptor.Url دسترسی داشته باشن.

Sina-Soltani commented 1 year ago

درود دوست عزیز، شما باید کاربر رو با استفاده از کد جاوا اسکریپت به درگاه هدایت کنید. حالا اینکه حالت مورد نظر GET یا POST هست، دیگه وظیفه شما برنامه نویس هست که این کار رو انجام بدین و ارتباطی با نحوه طراحی این نوگت نداره.

وقتی که حالت GET هست، که فقط یک ریدایرکت ساده هست. وقتی که حالت POST هست،‌ خب کاملا واضح هست که شما باید فرم بسازید و کاربر رو با فرم به درگاه پست کنید

نمونه مثال کامل این قضیه، در تمام قسمت های این صفحه گذاشته شما و کافی بود شما نگاهی مینداختید تا کدهای جاوا اسکریپت مربوط به انتقال رو یاد بگیرید. لطفا نمونه پروژه انگولار رو نگاه کنید.

https://github.com/Sina-Soltani/Parbad.Samples/blob/7f57fa63d744b3e823e3284ec30f41a5db2ddafd/Web/Parbad.Sample.Angular/ClientApp/src/app/payment-request/payment-request.component.ts#L40

در ضمن، همه درگاه‌ها با GET کار نمیکنن و تعدادی از اونها با حالت POST کار میکنن. بنابراین شما در هر صورت باید کد جاوا اسکریپت رو صحیح بنویسد.

miladahmadi33 commented 1 year ago

در ضمن، همه درگاه‌ها با GET کار نمیکنن و تعدادی از اونها با حالت POST کار میکنن. بنابراین شما در هر صورت باید کد جاوا اسکریپت رو صحیح بنویسد. تشکر من این نکته رو نمیدونستم. من همیشه از یک درگاه استفاده میکردم و اون درگاه به صورت Get و Redirect است، به خاطر همین فکر کردم که تمامی درگاه ها به صورت Get و Redirect هستن. ممنون از وقتی که گذاشتید.

Sina-Soltani commented 1 year ago

موفق باشید