درگاه پرداخت رمزپال برای ووکامرس
wordpress plugin for ramzpal gateway
by RamzPal · github.com/sajjadnasiribrn/wp-ramzpal · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/sajjadnasiribrn/wp-ramzpal/archive/refs/heads/main.zipReadme
درگاه پرداخت رمزپال برای ووکامرس
با این افزونه میتوانید پرداخت با تتر را به فروشگاه ووکامرسی خود اضافه کنید. مشتری برای پرداخت به صفحه رمزپال میرود و بعد از انجام تراکنش، نتیجه پرداخت و وضعیت سفارش بهصورت خودکار در ووکامرس ثبت میشود.
امکانات
- ساخت پرداخت و هدایت مستقیم مشتری به صفحه امن رمزپال
- بررسی نتیجه پرداخت پیش از تکمیل سفارش
- سازگار با صفحه پرداخت کلاسیک و Checkout Blocks ووکامرس
- سازگار با HPOS ووکامرس
- امکان دریافت مبلغ تتر در فروشگاههای تتری، دلاری، ریالی و تومانی
- زبان خودکار یا ثابت فارسی، انگلیسی و عربی برای صفحه پرداخت
- جلوگیری از ساخت لینک پرداخت تکراری برای یک سفارش
- ثبت شناسه پرداخت و تراکنش در جزئیات سفارش
- گزارش فنی اختیاری برای پیدا کردن خطاها، بدون ثبت اطلاعات حساس
- تنظیمات فارسی و ساده در پیشخوان وردپرس
پیشنیازها
- WordPress 6.2 یا جدیدتر
- WooCommerce 7.6 یا جدیدتر
- PHP 7.4 یا جدیدتر
- گواهی SSL معتبر و دسترسی خروجی HTTPS به
ramzpal.com - حساب پذیرنده و کلید API رمزپال
نصب
- فایل ZIP خروجی را از بخش Releases دریافت کنید.
- در پیشخوان وردپرس به «افزونهها ← افزودن افزونه تازه ← بارگذاری افزونه» بروید.
- ZIP را نصب و افزونه را فعال کنید.
- به «ووکامرس ← پیکربندی ← پرداختها ← رمزپال» بروید.
- مطابق بخش بعد API Key پذیرنده را دریافت و در تنظیمات وارد کنید.
- روش محاسبه مبلغ را انتخاب کنید.
- پیش از فعال کردن درگاه برای مشتریان، یک سفارش کممبلغ ثبت کنید و مطمئن شوید پرداخت و بازگشت به فروشگاه درست انجام میشود.
دریافت کلید API
برای اتصال فروشگاه به حساب رمزپال، به کلید API پذیرنده نیاز دارید. برای دریافت آن:
- در رمزپال ثبتنام یا وارد حساب خود شوید.
- اگر هنوز پذیرنده ندارید، از صفحه ساخت درگاه پرداخت/پذیرنده یک پذیرنده ایجاد کنید.
- وارد بخش مدیریت پذیرندهها شوید و پذیرنده مربوط به همین فروشگاه را باز کنید.
- مقدار API Key آن پذیرنده را کپی کنید.
- در وردپرس به «ووکامرس ← پیکربندی ← پرداختها ← رمزپال» بروید و مقدار را در فیلد «کلید API» قرار دهید.
- تنظیمات را ذخیره کنید. فقط خود کلید را وارد کنید و چیزی قبل یا بعد از آن ننویسید.
کلید API محرمانه است؛ آن را در اسکرینشات، تیکت عمومی یا کد قالب قرار ندهید. راهنمای کوتاه نصب هم در docs/SETUP-FA.md قرار دارد.
تنظیم مبلغ
پرداختهای رمزپال با تتر انجام میشوند و مبلغ نهایی باید بین ۱ تا ۵۰۰۰ تتر باشد.
- اگر قیمت محصولات فروشگاه USDT یا USD است، حالت «یکبهیک» را انتخاب کنید.
- اگر واحد فروشگاه تومان، ریال یا واحد دیگری است، حالت «تبدیل با نرخ ثابت» را انتخاب کنید و قیمت یک تتر را بر اساس همان واحد وارد کنید.
- این نرخ خودکار تغییر نمیکند؛ بنابراین هر زمان لازم بود آن را در تنظیمات درگاه بهروز کنید. توسعهدهندگان میتوانند برای نرخ پویا از فیلتر
ramzpal_wc_payment_amountاستفاده کنند.
نرخی که برای یک سفارش محاسبه شده تا پایان همان پرداخت ثابت میماند؛ در نتیجه تغییر نرخ روی پرداختی که از قبل شروع شده اثر نمیگذارد.
بررسی نتیجه پرداخت
آدرس بازگشت بهصورت خودکار ساخته میشود و لازم نیست آن را جایی وارد کنید. وقتی مشتری به فروشگاه برمیگردد، افزونه نتیجه را دوباره از رمزپال بررسی میکند و تنها در صورت درست بودن اطلاعات زیر سفارش را پرداختشده در نظر میگیرد:
payment_id- کلید امن سفارش ووکامرس در آدرس بازگشت
- مبلغ دقیق ثبتشده
success: true- وضعیت نهایی
VERIFIED
افزونه در درخواستهای جدید order_id نمیفرستد، چون این پارامتر در API رمزپال اختیاری است. پرداختهای ساختهشده با نسخههای قدیمی همچنان پشتیبانی میشوند.
اگر مشتری، حتی بهصورت مهمان، پرداخت را کامل نکند و لینک منقضی شود، ارسال دوباره Checkout یک لینک تازه میسازد و سفارش را روی خطای پرداخت تکراری متوقف نمیکند.
برای امنیت بیشتر، سایت را همیشه با HTTPS اجرا کنید، دسترسی مدیران وردپرس را محدود نگه دارید و بهطور منظم نسخه پشتیبان بگیرید.
گزارش فنی
اگر پرداختی با مشکل روبهرو شد، میتوانید «گزارش فنی» را موقتاً فعال کنید. گزارشها از مسیر «ووکامرس ← وضعیت ← گزارشها» و با انتخاب منبع ramzpal دیده میشوند. اطلاعات حساس در این گزارشها ذخیره نمیشوند.
فیلترها و اکشنها
ramzpal_wc_api_base_url— تغییر نشانی پایه API برای تست یک mock serverramzpal_wc_callback_url— تغییر Callback نهاییramzpal_wc_payment_amount— تأمین نرخ/مبلغ USDT بهصورت پویاramzpal_wc_payment_payload— افزودن یا تغییر فیلدهای درخواست ساخت پرداختramzpal_wc_gateway_icon— تغییر آیکن درگاهramzpal_wc_payment_created— پس از ساخت موفق پرداختramzpal_wc_payment_verified— پس از Verify موفق و تکمیل سفارشramzpal_wc_payment_request_failed— خطای ساخت پرداختramzpal_wc_payment_verification_failed— خطای تأیید پرداخت
نمونه نرخ پویا:
add_filter( 'ramzpal_wc_payment_amount', function ( $amount, $order ) {
$live_usdt_price = (float) get_option( 'my_verified_usdt_rate' );
return $live_usdt_price > 0
? (float) $order->get_total( 'edit' ) / $live_usdt_price
: $amount;
}, 10, 2 );
منبع نرخ پویا باید قابل اعتماد باشد و در برابر قطع سرویس، جهش نرخ و دادهٔ قدیمی محافظت شود.
ساخت بسته انتشار
./bin/build-plugin.sh
بسته نصبشدنی در پوشه dist/ ساخته میشود. فایل ZIP شامل یک پوشه ریشه با نام استاندارد افزونه است و فایلهای توسعهای را وارد بسته نمیکند.
منابع
مجوز
GPL-3.0-or-later