نصب و راهاندازی
زبان خود را انتخاب کنید؛ هر زبان یک تنظیم یکباره دارد و پس از آن با دستورهای معمول نصب و بهروزرسانی میکنید.
PHP
irandargah/sdk1.1.0
-
مرحله ۱: تنظیم یکباره
مخزن ایراندرگاه را به پروژه اضافه کنید. در Composer 2 مخزنهای تعریفشده در پروژه حالت canonical دارند: بستههای
irandargah/*فقط از همین مخزن گرفته میشوند، نه از Packagist.shellcomposer config repositories.irandargah composer https://packages.irandargah.com/composerمعادل آن در
composer.json:composer.json"repositories": { "irandargah": { "type": "composer", "url": "https://packages.irandargah.com/composer" } } -
مرحله ۲: نصب
shellcomposer require irandargah/sdk -
مرحله ۳: استفاده
PHPuse IranDargah\Sdk\Client; $client = new Client('idg_live_xxx', ['sandbox' => false]); // ایجاد تراکنش (مبلغ به ریال) — authority را روی سفارش ذخیره کنید $tx = $client->createPayment([ 'amount' => 100000, 'order_id' => $order['id'], 'callback_url' => 'https://shop.tld/callback', ]); header('Location: ' . $tx['gateway_url']);در بازگشت از بانک، پرداخت را با
verifyForOrderو authority و مبلغِ ذخیرهشده روی سفارش تأیید کنید (پارامترهای callback امضا ندارند). راهنمای کامل، وبهوک و اقساط: مستندات SDK.
دانلود مستقیم نسخه 1.1.0
-
irandargah-sdk-php-1.1.0.zip۳۸٫۱ کیلوبایتSHA-256
42d4876cce5767c61a0f680659d8cf8aae64f7530a4f9c502a27c4ae7b2a5c66
Laravel
irandargah/laravel1.1.0
-
مرحله ۱: تنظیم یکباره
همان مخزن Composer ایراندرگاه:
shellcomposer config repositories.irandargah composer https://packages.irandargah.com/composer -
مرحله ۲: نصب
shellcomposer require irandargah/laravelphp artisan vendor:publish --tag=irandargah-configوابستگی
irandargah/sdkاز همین مخزن وilluminate/supportاز Packagist نصب میشود. سپس توکن را در.envبگذارید:.envIRANDARGAH_TOKEN=idg_live_xxx IRANDARGAH_SANDBOX=false -
مرحله ۳: استفاده
Laraveluse IranDargah\Laravel\Facades\IranDargah; $tx = IranDargah::createPayment([ 'amount' => $order->amount, // ریال 'order_id' => (string) $order->id, 'callback_url' => route('irandargah.callback'), ]); $order->update(['authority' => $tx['authority']]); // حتماً ذخیره کنید return redirect()->away($tx['gateway_url']);در بازگشت از بانک، پرداخت را با
IranDargah::verifyForOrderو authority و مبلغِ ذخیرهشده روی سفارش تأیید کنید (پارامترهای callback امضا ندارند). راهنمای کامل، وبهوک و اقساط: مستندات SDK.
دانلود مستقیم نسخه 1.1.0
-
irandargah-laravel-1.1.0.zip۱۰٫۰ کیلوبایتSHA-256
f23f6ccf8ab76c8e03e97f39258d616463463b4cc2c899d0c38431429dd2ae4d
Node.js
@irandargah/sdk1.1.0
-
مرحله ۱: تنظیم یکباره
در
.npmrcپروژه فقط اسکوپ@irandargahبه این رجیستری میرود؛ بقیه بستهها همچنان از npmjs:.npmrc@irandargah:registry=https://packages.irandargah.com/npm/با pnpm و yarn 1 هم همین
.npmrcکار میکند؛ در yarn berry:npmScopes.irandargah.npmRegistryServerدر.yarnrc.yml. -
مرحله ۲: نصب
shellnpm install @irandargah/sdk -
مرحله ۳: استفاده
JavaScriptconst { IranDargahClient } = require('@irandargah/sdk'); const client = new IranDargahClient('idg_live_xxx', { sandbox: false }); // ایجاد تراکنش (مبلغ به ریال) — authority را روی سفارش ذخیره کنید const tx = await client.createPayment({ amount: 100000, order_id: order.id, callback_url: 'https://shop.tld/callback', }); res.redirect(tx.gateway_url);در بازگشت از بانک، پرداخت را با
verifyForOrderو authority و مبلغِ ذخیرهشده روی سفارش تأیید کنید (پارامترهای callback امضا ندارند). راهنمای کامل، وبهوک و اقساط: مستندات SDK.
دانلود مستقیم نسخه 1.1.0
-
irandargah-sdk-1.1.0.tgz۳۴٫۹ کیلوبایتSHA-256
b31e195c23cfe596aa1ec57da5e65f39a55b46003894e8c99005557f7c363b0b
Python
irandargah1.1.0
-
مرحله ۱: تنظیم یکباره
pip تنظیم سراسری لازم ندارد: نشانی index را هنگام نصب با
--index-urlبدهید. SDK هیچ وابستگیای ندارد، پس همین یک index کافی است.از
--extra-index-urlاستفاده نکنید: pip همه indexها را یکی میکند و بالاترین نسخه را از هرکدام برمیدارد؛ اگر کسی بستهای به نامirandargahبا نسخه بالاتر روی PyPI منتشر کند، همان نصب میشود (dependency confusion). -
مرحله ۲: نصب
shellpip install irandargah --index-url https://packages.irandargah.com/pypi/simpleیا در
requirements.txtکنار بستههای دیگر PyPI، نشانی مستقیم با هش (بدون نیاز به index اضافه):requirements.txtirandargah @ https://packages.irandargah.com/pypi/files/irandargah-1.1.0-py3-none-any.whl#sha256=08a21684f1171b472231a04aeaacc295b372dd896622e3444195732454c31c84 -
مرحله ۳: استفاده
Pythonfrom irandargah import Client client = Client("idg_live_xxx", sandbox=False) # ایجاد تراکنش (مبلغ به ریال) — authority را روی سفارش ذخیره کنید tx = client.create_payment( amount=100000, order_id=order.id, callback_url="https://shop.tld/callback", ) # کاربر را به tx["gateway_url"] هدایت کنیددر بازگشت از بانک، پرداخت را با
verify_for_orderو authority و مبلغِ ذخیرهشده روی سفارش تأیید کنید (پارامترهای callback امضا ندارند). راهنمای کامل، وبهوک و اقساط: مستندات SDK.
دانلود مستقیم نسخه 1.1.0
-
irandargah-1.1.0-py3-none-any.whl۳۶٫۵ کیلوبایتSHA-256
08a21684f1171b472231a04aeaacc295b372dd896622e3444195732454c31c84 -
irandargah-1.1.0.tar.gz۵۵٫۳ کیلوبایتSHA-256
12bd14ff8198366c3cce3aa2df3d51bb528bc13ecc1b1e82326772f7bd52bd92
Go
packages.irandargah.com/go/irandargah1.1.0
-
مرحله ۱: تنظیم یکباره
shellgo env -w GOPRIVATE=packages.irandargah.comGOPRIVATEباعث میشود Go مستقیم از همین دامنه بخواند و سراغproxy.golang.orgوsum.golang.org(که از ایران اغلب در دسترس نیستند) نرود؛ هش ماژول درgo.sumپروژه شما ثبت میشود. -
مرحله ۲: نصب
shellgo get packages.irandargah.com/go/irandargah@v1.1.0 -
مرحله ۳: استفاده
Goimport irandargah "packages.irandargah.com/go/irandargah" client := irandargah.NewClient("idg_live_xxx", irandargah.WithSandbox(false)) // ایجاد تراکنش (مبلغ به ریال) — tx.Authority را روی سفارش ذخیره کنید tx, err := client.CreatePayment(irandargah.PaymentParams{ Amount: 100000, OrderID: "ORDER-123", CallbackURL: "https://shop.tld/callback", }) if err != nil { return err } http.Redirect(w, r, tx.GatewayURL, http.StatusSeeOther)در بازگشت از بانک، پرداخت را با
VerifyForOrderو authority و مبلغِ ذخیرهشده روی سفارش تأیید کنید (پارامترهای callback امضا ندارند). راهنمای کامل، وبهوک و اقساط: مستندات SDK.
دانلود مستقیم نسخه 1.1.0
-
irandargah-sdk-go-1.1.0.zip۷۲٫۰ کیلوبایتSHA-256
387e6c3916387a6b41e3f6751e5b365324d55f8ba1b67d1771f4be70f6a4bfba
C# / .NET
IranDargah.Sdk1.1.0
-
مرحله ۱: تنظیم یکباره
فایل
nuget.configکنار solution:nuget.config<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <add key="nuget.org" value="https://api.nuget.org/v3/index.json" /> <add key="irandargah" value="https://packages.irandargah.com/nuget/v3/index.json" /> </packageSources> <packageSourceMapping> <packageSource key="nuget.org"> <package pattern="*" /> </packageSource> <packageSource key="irandargah"> <package pattern="IranDargah.*" /> </packageSource> </packageSourceMapping> </configuration>با
packageSourceMappingبستههایIranDargah.*فقط از این رجیستری و بقیه فقط از nuget.org گرفته میشوند. -
مرحله ۲: نصب
shelldotnet add package IranDargah.Sdk -
مرحله ۳: استفاده
C#using IranDargah.Sdk; var client = new IranDargahClient("idg_live_xxx", new IranDargahOptions { Sandbox = false }); // ایجاد تراکنش (مبلغ به ریال) — tx.Authority را روی سفارش ذخیره کنید var tx = await client.CreatePaymentAsync(new PaymentParams { Amount = 100000, OrderId = order.Id, CallbackUrl = "https://shop.tld/callback", }); return Redirect(tx.GatewayUrl);در بازگشت از بانک، پرداخت را با
VerifyForOrderAsyncو authority و مبلغِ ذخیرهشده روی سفارش تأیید کنید (پارامترهای callback امضا ندارند). راهنمای کامل، وبهوک و اقساط: مستندات SDK.
دانلود مستقیم نسخه 1.1.0
-
IranDargah.Sdk.1.1.0.nupkg۹۰٫۰ کیلوبایتSHA-256
7bad7131192db3424dbf9ba03cdbe9daa928684d05a3b7b9a659d8c96dd994cb -
IranDargah.Sdk.1.1.0.snupkg۳۶٫۳ کیلوبایتSHA-256
a339284867099fa7e7220c92ce1cc1016469c1117cf194d7419a519e273899d6
Java
com.irandargah:irandargah-sdk1.1.0
-
مرحله ۱: تنظیم یکباره
Maven — در
pom.xml:pom.xml<repositories> <repository> <id>irandargah</id> <url>https://packages.irandargah.com/maven</url> </repository> </repositories>یا Gradle (Kotlin DSL) —
includeGroupفقطcom.irandargahرا از این مخزن میخواهد:build.gradle.ktsrepositories { mavenCentral() maven { url = uri("https://packages.irandargah.com/maven") content { includeGroup("com.irandargah") } } }Maven مخزنهای تعریفشده در
pom.xmlرا پیش از Central میپرسد و ثبت namespacecom.irandargahروی Central به تأیید مالکیت دامنه نیاز دارد. -
مرحله ۲: نصب
pom.xml<dependency> <groupId>com.irandargah</groupId> <artifactId>irandargah-sdk</artifactId> <version>1.1.0</version> </dependency>build.gradle.ktsdependencies { implementation("com.irandargah:irandargah-sdk:1.1.0") }وابستگی Gson از Maven Central میآید.
-
مرحله ۳: استفاده
Javaimport com.irandargah.sdk.IranDargahClient; IranDargahClient client = new IranDargahClient("idg_live_xxx", new IranDargahClient.Options()); // ایجاد تراکنش (مبلغ به ریال) — tx.authority را روی سفارش ذخیره کنید IranDargahClient.PaymentParams p = new IranDargahClient.PaymentParams(); p.amount = 100000L; p.orderId = order.getId(); p.callbackUrl = "https://shop.tld/callback"; IranDargahClient.Transaction tx = client.createPayment(p); // کاربر را به tx.gatewayUrl هدایت کنیددر بازگشت از بانک، پرداخت را با
verifyForOrderو authority و مبلغِ ذخیرهشده روی سفارش تأیید کنید (پارامترهای callback امضا ندارند). راهنمای کامل، وبهوک و اقساط: مستندات SDK.
دانلود مستقیم نسخه 1.1.0
-
irandargah-sdk-1.1.0-sources.jar۳۹٫۳ کیلوبایتSHA-256
2c9983353ab32ddd82a2c853aefb72b141e0bfd1e23fd80776d3fd307fc22ca2 -
irandargah-sdk-1.1.0.jar۵۹٫۴ کیلوبایتSHA-256
a6d25fc54801e3a1ddc6ad21e0241e853ed8e20a2a554fcb31afc285d7cc57f3 -
irandargah-sdk-1.1.0.pom۲٫۱ کیلوبایتSHA-256
7813bd27f6d6859d5c0cdfef48dc105ddd8acee4cfa80ea930cda093f6d57801
آخرین نسخهها
فهرست ماشینی همه نسخهها و فایلها در registry.json است.
| زبان | بسته | نسخه | انتشار |
|---|---|---|---|
| PHP | irandargah/sdk |
1.1.0 | |
| Laravel | irandargah/laravel |
1.1.0 | |
| Node.js | @irandargah/sdk |
1.1.0 | |
| Python | irandargah |
1.1.0 | |
| Go | packages.irandargah.com/go/irandargah |
1.1.0 | |
| C# / .NET | IranDargah.Sdk |
1.1.0 | |
| Java | com.irandargah:irandargah-sdk |
1.1.0 |
نکته امنیتی: فقط از همین رجیستری
- تنظیمهای بالا طوری انتخاب شدهاند که بستههای ایراندرگاه فقط از این رجیستری گرفته شوند و بسته همنامی که کسی روی رجیستری عمومی بگذارد جای آن را نگیرد (dependency confusion): اسکوپ npm، مخزن canonical در Composer،
--index-urlبهجای--extra-index-urlدر pip،packageSourceMappingدر NuGet،includeGroupدر Gradle وGOPRIVATEدر Go. - نسخهها تغییرناپذیرند؛ فایل قفل (
package-lock.json،composer.lock،go.sum،packages.lock.json) هش بسته را نگه میدارد. هش SHA-256 همه فایلها در SHA256SUMS و فهرست ماشینی در registry.json است. - همه SDKها با مجوز MIT منتشر میشوند.