docs

Zarinplus Logo

مستندات زرین‌پلاس

لطفاً این مستند را برای درک نحوه پیاده‌سازی پرداخت از طریق نقطه پایان درخواست مطالعه کنید.

فهرست مطالب


پرداخت

لیست درگاه ها

پذیرنده با api زیر میتواند لیست درگاه های فعال خود را دریافت کند

endpoint

https://api.zarinplus.com/payment/gateways/ #### Body با استفاده از روش `POST`، پارامترهای زیر را به نقطه پایان ارسال کنید:

{
	"token" : "9a1bfc8895cc5df72715fe81f6ac121936d00b61"
} پارامتر اجباری توکن پذیرنده. ### Example Response
{
    "status": true,
    "message": "successful",
    "data": [
        {
            "id": 1,
            "title": "زرین پلاس",
            "description": "درگاه اقساطی",
            "slug": "zarinplus",
            "icon": "https://api.zarinplus.com/media/payment/2026-04-21/ZarinPlus.png"
        },
        {
            "id": 3,
            "title": "وایب",
            "description": "پرداخت با اعتبار وایب و کارت رفاهی(بانک رفاه کارگران)",
            "slug": "vibe",
            "icon": "https://api.zarinplus.com/media/payment/2026-04-21/Vibe.png"
        }
    ]
}

ایجاد درخواست پرداخت

برای ایجاد یک تراکنش درخواست، فروشنده باید از API‌های ارائه‌شده استفاده کند.

نقطه پایان درخواست

https://api.zarinplus.com/payment/v2/request/

پارامترهای ارسالی

با استفاده از روش POST، پارامترهای زیر را به نقطه پایان ارسال کنید:

{
    "amount" : 50000,
    "cancel" : "http://www.mystore.com/cancel/",
    "success" : "http://www.mystore.com/success/",
    "item" : "5000 Toman Voucher",
    "cellphone" : "09121111111",
    "email" : "yourname@domain.com",
    "token" : "9a1bfc8895cc5df72715fe81f6ac121936d00b61",
	"gateway_slug": "zarinplus"
}

توضیحات پارامترها

هر یک از پارامترهای ارسالی شامل نوع و توضیحات مربوطه می‌باشد:

پاسخ موفق

در صورت ارسال درخواست صحیح، پاسخ مشابه زیر خواهد بود:

{
    "status" : true,
    "message" : "Get the authority code",
    "authority" : "f72705fe8a9bfc8895cc5dac121931f696d00b61",
    "redirect_url" : "https://pwa.zarinplus.com/authority=f72705fe8a9bfc8895cc5dac121931f696d00b61&phone=09121111111"
}

هدایت کاربر به لینک پرداخت

پس از دریافت authority، برای پردازش و پرداخت، کاربر باید به لینک redirect_url هدایت شود.


لغو تراکنش

کاربران می‌توانند تراکنش را لغو کنند و باید تأییدیه لغو در برنامه ارسال شود.

نقطه پایان لغو

https://api.zarinplus.com/payment/v2/cancel/

پارامترهای ارسالی

پارامترهای authority را به نقطه پایان ارسال کنید:

{
    "authority" : "f72715fe8a1bfc8895cc5dac121931f696d00b61"
}

توضیحات پارامترها

پاسخ موفق

در صورت موفقیت لغو تراکنش، پاسخ مشابه زیر خواهد بود:

{
    "status": true,
    "message": "You have canceled transaction"
}

تأیید تراکنش

فروشنده باید پس از تأیید تراکنش توسط کاربر، آن را تأیید کند.

نقطه پایان تأیید

https://api.zarinplus.com/payment/v2/verify/

پارامترهای ارسالی

{
    "authority" : "f72715fe81f69a1bfc8895cc5dac121936d00b61",
    "token" : "9a1bfc8895cc5df72715fe81f6ac121936d00b61",
    "amount": 50000
}

توضیحات پارامترها

پاسخ موفق

در صورت موفقیت تراکنش، پاسخ مشابه زیر خواهد بود:

{
    "status": true,
    "message": "Successful",
    "data": {
        "code": 200,
        "message": "Successful",
        "amount": 50000,
        "currency": "IRR",
        "reference": "512c773635c2a716340ce70bdddad25ace806378",
        "cellphone": "09226521257",
        "user_cellphone": "989337679420"
    }
}

🔴 در این api لازم است حتما response[‘data’][‘code’] چک شود که اگر یک authority دوباره verify شود عدد code عوض شده و به 201 تغییر میابد و باید دقت داشته باشین صرفا روی عدد 200 فاکتور کاربر را موفق و نهایی کنید. مگر در شرایطی خاصی روی عدد 201 نیز پیاده سازی لازمه انجام شود.


بازگشت تراکنش

شما می‌توانید هر تراکنش موفق را برگردانید.

نقطه پایان بازگشت

https://api.zarinplus.com/payment/v2/reverse/

پارامترهای ارسالی

{
    "reference" : "46a1e78525619a25b368c32b9ba11b92f6063e0c",
    "authority" : "f72715fe8a1bfc8895cc5dac121931f696d00b61",
    "token" : "9a1bfc8895cc5df72715fe81f6ac121936d00b61"
}

توضیحات پارامترها

پاسخ موفق

در صورت موفقیت تراکنش بازگشتی، پاسخ مشابه زیر خواهد بود:

{
    "status": true,
    "message": "success",
    "data": {
        "code": 101,
        "message": "Reversed",
        "amount": 1000000,
        "currency": "IRR",
        "item": "Item description",
        "email": "example@example.com",
        "cellphone": "09226521257"
    }
}

بازگشت قسمتی از تراکنش

نقطه پایان

https://api.zarinplus.com/payment/refund-part-of-tx/ #### بدنه

پارامتر های ارسالی در قالب POST متد.

{
	"reference" : "46a1e78525619a25b368c32b9ba11b92f6063e0c",
	"reason" : "test",
	"token" : "9a1bfc8895cc5df72715fe81f6ac121936d00b61",
	"refund_amount": 1500
}

توضیح بدنه

ریسپانس ایده آل

{
    "status": true,
    "message": "success",
    "data": {
        "original_transaction_id": 1,
        "original_amount": 200000,
        "actual_refund_amount": 1500,
        "replacement_transaction": {
			"authority": new_authority,
			"reference": new_reference,
			"amount": new_transaction_amount,
		},
        "refunded_at": "2026-12-12 10:12:12"
    }
}

لیست کدهای وضعیت

کد پیام
400 کد مجوز نامعتبر
401 توکن نامعتبر
403 درخواست غیرمجاز

افزونه ووکامرس

برای دریافت افروزنه قابل نصب در وردپرس اینجا کلیک کنید.