ورود

View Full Version : حرفه ای: ایجاد درگاه بانک ملت در mvc



star_rh
چهارشنبه 11 تیر 1393, 18:33 عصر
سلام دوستان
من بعد اینکه رفرنس ها رو برای mvc تبدیل کردم دیگه bpPayRequest خروجی string رو نداره بلکه یک کلاس به نام body به شکل زیر بر می گرداند.
public long terminalId;
public string userName;
public string userPassword;
public long orderId;
public long amount;
public string localDate;
public string localTime;
public string additionalData;
public string callBackUrl;
public long payerId;


حالا مسکل اینجاست که دیگه ResCode وجود نداره . چطور می شه پاسخ بانک رو فهمید؟

leila.net
شنبه 14 تیر 1393, 17:46 عصر
سلام دوستان
من بعد اینکه رفرنس ها رو برای mvc تبدیل کردم دیگه bpPayRequest خروجی string رو نداره بلکه یک کلاس به نام body به شکل زیر بر می گرداند.
public long terminalId;
public string userName;
public string userPassword;
public long orderId;
public long amount;
public string localDate;
public string localTime;
public string additionalData;
public string callBackUrl;
public long payerId;


حالا مسکل اینجاست که دیگه ResCode وجود نداره . چطور می شه پاسخ بانک رو فهمید؟

منظورتون از اینکه رفرنس ها رو به mvc تبدیل کردین چیه؟
از دوستان کسی هست که با درگاه بانک ملت کار کرده باشه ؟ من الان یه مشکل دارم و اون اینکه با خطای 41 که به معنی کد سفارش تکراری هست مواجه می شم به پشتیبانی هم زنگ زدم گفتن شما دوبار request میفرستین در حالی که من تو Trace برنامه فقط یکبار call رو انجام می دم !!!

star_rh
یک شنبه 15 تیر 1393, 09:06 صبح
برای استفاده از WebReferences ها در mvc باید به Service References تبدیل شوند.

برای ساخت درگاه من WebReferences های asp.net رو برای mvc تبدیل کردم/

آیا برای mvc باید کد متفاوتی از asp.net را از بانک دریافت کنیم؟

SianiD
یک شنبه 15 تیر 1393, 22:34 عصر
من الان یه مشکل دارم و اون اینکه با خطای 41 که به معنی کد سفارش تکراری هست مواجه می شم به پشتیبانی هم زنگ زدم گفتن شما دوبار request میفرستین در حالی که من تو Trace برنامه فقط یکبار call رو انجام می دم !!!

شما نباید کد محصول رو بدید به بانک باید یه کد منحصر به فرد بدید بهشون.
ببینید شما مثلا یه محصول دارید با کد 11 و دو نفر میخوان این محصول رو بخرند به عنوان مثال نفر اول پرداخت رو میزنه و انجام میشه اما نفر دوم که میخواد پرداخت کنه چون قبلا کد 11 ارسال شده بهش خطا میده

star_rh
دوشنبه 16 تیر 1393, 10:03 صبح
بعد از تبدیل bpPayRequest به این شکله:

var result = new bpPayRequest(
new bpPayRequestBody(
Int64.Parse(formCollection["TerminalId"]),
formCollection["UserName"],
formCollection["Password"],
Int64.Parse(formCollection["PayOrderId"]),
Int64.Parse(formCollection["PayAmount"]),
formCollection["PayDate"],
formCollection["PayTime"],
formCollection["PayAdditionalData"],
formCollection["PayCallBackUrl"],
Int64.Parse(formCollection["PayPayerId"])
)
);


result هم مقدار body رو برمی گردونه که اون هم همون bpPayRequestBody است.
دیگه چیزی برای بررسی وجود نداره.
حالا چطور می شه پاسخ بانک رو فهمید؟

star_rh
سه شنبه 17 تیر 1393, 19:26 عصر
تا حالا کسی از درگاه بانک ملت برای mvc استفاده کرده؟

leila.net
پنج شنبه 19 تیر 1393, 15:04 عصر
من هم نگفتم کد محصول رو ارسال می کنم سمت بانک! هر بار یه کد منحصر بفرد بعنوان کد سفارش به بانک ارسال میشه.

شما نباید کد محصول رو بدید به بانک باید یه کد منحصر به فرد بدید بهشون.
ببینید شما مثلا یه محصول دارید با کد 11 و دو نفر میخوان این محصول رو بخرند به عنوان مثال نفر اول پرداخت رو میزنه و انجام میشه اما نفر دوم که میخواد پرداخت کنه چون قبلا کد 11 ارسال شده بهش خطا میده

leila.net
پنج شنبه 19 تیر 1393, 15:10 عصر
برای استفاده از WebReferences ها در mvc باید به Service References تبدیل شوند.

برای ساخت درگاه من WebReferences های asp.net رو برای mvc تبدیل کردم/

آیا برای mvc باید کد متفاوتی از asp.net را از بانک دریافت کنیم؟

خب می تونین web reference هم اضافه کنین و نیازی به تبدیل به service ref نیست . این طوری می تونین خروجی رو هم ببین. کاری که من انجام دادم و مشکلی هم در ارتباط با بانک ندارم ( حداقل خرئجی برمی گردونه واسم و می تونم کدهای برگشتی رو ببینم ، هر چند موفق به اتصال نشدم هنوز :D)

star_rh
پنج شنبه 19 تیر 1393, 22:52 عصر
ممنون از
leila.net (http://barnamenevis.org/member.php?79357-leila-net)
http://barnamenevis.org/images/statusicon/user-offline.png . استفاده مستقیم از Web References ها وجود داره.

برای استفاده روی References راست کلیک و Add Service Reference را انتخاب کنید.
در پنجره بازشده advanced را انتخاب و سپس در انتهای پنجره Add Web Reference را انتخاب کنبد.
https://pgws.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl را وارد و Go را انتخاب کنید تا اضافه بشه