در مطالب قبل در مورد استفاده از وب سرویس درگاه پرداخت وگرفتن APIkey و روش استفاده وب سرویس IDpay بخش 1 توضیح دادیم در این مطلب در مورد روش استفاده وب سرویس IDpay بخش 2 توضیح میدهیم.
بازگشت به سایت پذیرنده
بعد از اتمام عملیات پرداخت، درصورتیکه پرداخت با موفقیت انجام شده باشد، پرداخت کننده به آدرسی که پذیرنده در callback مشخص کرده بود منتقل میشود(وب سرویس IDpay بخش 2).
همچنین پارامترهای زیر به آدرس callback تعریف شده در مرحله ایجاد تراکنش POST میشود.
تایید تراکنش
بعد از دریافت اطلاعات به سایت پذیرنده و اعتبار سنجی اطلاعات توسط پذیرنده، پذیرنده باید تراکنش را تایید کند تا پرداخت بصورت سیستمی تکمیل شود و از بازگشت پول به پرداخت کننده جلوگیری شود.
url := “https://api.idpay.ir/v1.1/payment/verify”
data := map[string]string{
“id”: “d2e353189823079e1e4181772cff5292”,
“order_id”: “101”,
}
payload, _ := json.Marshal(data)
req, _ := http.NewRequest(“POST”, url, bytes.NewBuffer(payload))
req.Header.Set(“Content-Type”, “application/json”)
req.Header.Set(“X-API-KEY”, “6a7f99eb-7c20-4412-a972-6dfb7cd253a4”)
req.Header.Set(“X-SANDBOX”, 1)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(string(body))
نکته :
بعد از پرداخت تراکنش توسط پرداخت کننده، تراکنش باید ظرف مدت حداکثر 10 دقیقه تایید شود. در غیر اینصورت مبلغ به کارت پرداخت کننده برگردانده خواهد شد.
نکته :
جهت جلوگیری از دوبار مصرف شدن یک پرداخت (Double Spending)، پذیرنده موظف است کلیدهای منحصر بفردی که از طریق API آیدی پی دریافت میکند را (مثل id و track_id) در دیتابیس خود ذخیره کند و از یکتا بودن آنها اطمینان حاصل فرماید.
نکته :
توجه داشته باشید که ممکن است یک مشتری رسید پرداخت آیدی پی را ذخیره کند و برای یک خرید دیگر از آن استفاده کند.
مسئولیت بررسی و شناسایی Double Spending کاملا به عهده پذیرنده میباشد.
کلام آخر : در این بخش (وب سرویس IDpay بخش 2) شما با بخش هایی از برنامه های اتصال برنامه نویسان به درگاه پرداخت IDPAY آشنا شدید .
- برچسب ها:
- api
- API آیدی پی
- id pay
- Web API
- وب سرویس