1.0.2 • Published 2 years ago

@aspianet/idpay v1.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

کاربرد

قبل از هر چیز شما نیازمند دریافت کلید API از پنل کاربری خود در آیدی پی هستید تا بتوانید به واسطه آن، SDK موجود را مقداردهی اولیه و راه اندازی کنید. برای مثال، شما می توانید کد زیر را در فایل اصلی اپلیکیشن اکسپرس خود (مانند app.js) ایجاد و با کلید API مقداردهی نمایید تا بتوانید در هر فایل دیگر اپلیکیشن خود بدون استفاده مکرر از این کلید از سایر امکانات SDK استفاده نمایید:

idPay.init( "کلید-API" );

  </div>
  
  در صورتی که تمایل دارید در محیط توسعه برنامه خود را با اتصال به پرداخت‌یار آیدی‌پی به صورت آزمایشی تست کنید و نمی خواهید پرداخت واقعی صورت گیرد می توانید پارامتر دوم متود init را با مقدار true مقداردهی نمایید تا حالت آزمایشی فعال گردد.
  
  ## ایجاد تراکنش
  
  با استفاده از آدرس زیر می‌توانید یک تراکنش جدید ایجاد کنید.
  
  <div dir="ltr">
  
```ts
import { idPay } from '@aspianet/idpay';

const transaction = await idPay.createTransaction( {
      order_id: '101',
      amount: 10000,
      name: 'امید روحانی',
      phone: '09380001234',
      mail: 'my@site.com',
      desc: 'توضیحات پرداخت کننده',
      callback: 'https://example.com/callback',
    } );

همچنین پارامترهای زیر به آدرس callback تعریف شده در مرحله ایجاد تراکنش با توجه به تنظیمات وب سرویس در داشبورد آیدی پی تحت عنوان روش بازگشت پس از پرداخت به دو روش POST (Post form) یا GET (Query String) ارسال می شوند. برای کسب اطلاعات بیشتر اینجا کلیک نمایید.

تایید تراکنش

بعد از دریافت اطلاعات به سایت پذیرنده و اعتبار سنجی اطلاعات توسط پذیرنده، پذیرنده باید تراکنش را تایید کند تا پرداخت بصورت سیستمی تکمیل شود و از بازگشت پول به پرداخت کننده جلوگیری شود. به این منظور از متود زیر می توانید استفاده نمایید:

const verifiedTransaction = await idPay.verifyTransaction( { id: 'd2e353189823079e1e4181772cff5292', order_id: '101', } );

  </div>
  
  **توجه:** بعد از پرداخت تراکنش توسط پرداخت کننده، تراکنش باید ظرف مدت حداکثر **10 دقیقه** تایید شود. در غیر اینصورت مبلغ به کارت پرداخت کننده برگردانده خواهد شد.
  
  **توجه:** جهت جلوگیری از دوبار مصرف شدن یک پرداخت (Double Spending)، پذیرنده موظف است کلیدهای منحصر بفردی که از طریق API آیدی پی دریافت می‌کند را (مثل id و track_id) در دیتابیس خود ذخیره کند و از یکتا بودن آنها اطمینان حاصل فرماید.
توجه داشته باشید که ممکن است یک مشتری رسید پرداخت آیدی پی را ذخیره کند و برای یک خرید دیگر از آن استفاده کند.
مسئولیت بررسی و شناسایی Double Spending کاملا به عهده پذیرنده می‌باشد.
  
  ## استعلام وضعیت تراکنش

  با استفاده از متود زیر می‌توانید آخرین وضعیت یک تراکنش را دریافت نمایید.
  
  
  <div dir="ltr">
  
```ts
import { idPay } from '@aspianet/idpay';

const info = await idPay.inquireTransaction( {
    id: 'd2e353189823079e1e4181772cff5292',
    order_id: '101',
  } );

با استفاده از متود زیر می توانید لیست تراکنش های خود را دریافت کنید.

const result = await idPay.listTransactions( { page: 0, page_size: 25, id: "e22952579725883bbad9f8fa429134bf", order_id: 101, amount: 10000, status: "100", track_id: "27384837", payment_card_no: "636214**5409", payment_hashed_card_no: "B913D97F01CE42601181135DF3D0F81DA9E98E61BE3E3AB4436E6345D6AB0AEA", payment_date: {min: 1600005000, max: 1600006000}, settlement_date: {min: 1600005746, max: 1600006000} } );

  </div>
  
  
  ## وضعیت تراکنش

  برای دریافت پیام فارسی وضعیت تراکنش با استفاده از کد دریافتی آن در پاسخ های دریافتی و ... می توانید از متود زیر استفاده نمایید:
  
  <div dir="ltr">
  
```ts
import { idPay } from '@aspianet/idpay';

const message = idPay.getStatusMsgByCode( 2 );