tenetup / zarinpal
此包用于发送和验证zarinpal网关交易
Requires
- php: ^8.0
- illuminate/config: ^9.0
- illuminate/support: ^9.0
This package is auto-updated.
Last update: 2024-09-29 18:54:02 UTC
README
在本包中,可以轻松连接到ZarinPal网关并验证您的交易。
注意:以下说明适用于Laravel的最新版本。
安装
-
通过Composer安装包
$ composer require tenetup/zarinpal
-
在您的config/app.php中注册包
A. 在提供者 -> TenetUp\Zarinpal\ZarinpalServiceProvider::class中设置,
B. 在别名 -> 'zarinpal' => \TenetUp\Zarinpal\ZarinpalFacade::class中设置,
-
可选,如果您想更改任何默认设置,请发布配置文件
php artisan vendor:publish --provider="TenetUp\Zarinpal\ZarinpalServiceProvider"
注意:配置文件名为"zarinpal.php"
请求
发起请求并发送到zarrinpal
return \zarinpal::createRequest(20000);
注意:价格是必需的(您必须以toman标准设置您的价格)
完整命令
return \zarinpal::createRequest(20000 , '091232145687' , 'example@email.com' , 'description');
示例响应
{ "Node": "sandbox", "Method": "SOAP", "Status": 100, "Message": "عمليات با موفقيت انجام گرديده است.", "StartPay": "https://sandbox.zarinpal.com/pg/StartPay/000000000000000000000000000000592872", "Authority": "000000000000000000000000000000592872" }
验证
在交易成功或失败后,您必须在您的backPaymentURL中验证您的交易
默认情况下,zarinpal网关会发送唯一的授权代码,我们通过此代码进行授权
return \zarinpal::verifyTransAction(20000);
注意:在此方法中,只需设置价格,然后我们检查您的$_GET['authority']、价格和您的merchantID与zarinpal,然后在响应中您可以处理您的进程
示例响应
verification success { "Node": "sandbox", "Method": "SOAP", "Status": 100, "Message": "عمليات با موفقيت انجام گرديده است.", "Amount": 20000, "RefID": 12345678, "Authority": "000000000000000000000000000000592907" }
verification failed { "Node": "sandbox", "Method": "SOAP", "Status": -54, "Message": "اتوریتی نامعتبر است", "Amount": 20000, "RefID": "", "Authority": "" }
配置
在config/zarinpal
中,您必须更改您的merchantID,并且您可以更改您需要的任何内容,您可以简单地将您的callBackUrl设置为route('backPayment')
return [ 'merchantID' => 'xxxx-xxxx-xxxx-xxx-xxxxx', 'sandBox' => true, 'callBackUrl' => 'https://example.com/backPayment', 'zarinGate' => false, 'errorList' => [ "-1" => "اطلاعات ارسال شده ناقص است.", "-2" => "IP و يا مرچنت كد پذيرنده صحيح نيست", "-3" => "با توجه به محدوديت هاي شاپرك امكان پرداخت با رقم درخواست شده ميسر نمي باشد", "-4" => "سطح تاييد پذيرنده پايين تر از سطح نقره اي است.", "-9" => "خطای اعتبار سنجی", "-10" => "ای پی و يا مرچنت كد پذيرنده صحيح نيست", "-11" => "مرچنت کد فعال نیست لطفا با تیم پشتیبانی ما تماس بگیرید", "-12" => "تلاش بیش از حد در یک بازه زمانی کوتاه.", "-15" => "ترمینال شما به حالت تعلیق در آمده با تیم پشتیبانی تماس بگیرید", "-16" => "سطح تاييد پذيرنده پايين تر از سطح نقره اي است.", "-21" => "هيچ نوع عمليات مالي براي اين تراكنش يافت نشد", "-22" => "تراكنش ناموفق ميباشد", "-30" => "اجازه دسترسی به تسویه اشتراکی شناور ندارید", "-31" => "حساب بانکی تسویه را به پنل اضافه کنید مقادیر وارد شده واسه تسهیم درست نیست", "-32" => "Wages is not valid, Total wages(floating) has been overload max amount. ", "-33" => "رقم تراكنش با رقم پرداخت شده مطابقت ندارد", "-34" => "سقف تقسيم تراكنش از لحاظ تعداد يا رقم عبور نموده است", "-35" => "تعداد افراد دریافت کننده تسهیم بیش از حد مجاز است", "-40" => "اجازه دسترسي به متد مربوطه وجود ندارد.", "-41" => "اطلاعات ارسال شده مربوط به AdditionalData غيرمعتبر ميباشد.", "-42" => "مدت زمان معتبر طول عمر شناسه پرداخت بايد بين 30 دقيه تا 45 روز مي باشد.", "-50" => "مبلغ پرداخت شده با مقدار مبلغ در وریفای متفاوت است", "-51" => "تراكنش نا موفق ميباشد", "-52" => "خطای غیر منتظره با پشتیبانی تماس بگیرید", "-53" => "اتوریتی برای این مرچنت کد نیست", "-54" => "اتوریتی نامعتبر است", "100" => "عمليات با موفقيت انجام گرديده است.", "101" => "عمليات پرداخت موفق بوده و قبلا این تراكنش انجام شده است.", ] ];
默认情况下,包设置为沙箱,仅用于测试。如果您想发布您的项目,您必须将sanbox => false
更改
版权和许可证
tenetup-zarinpal由majid behzadnasab和pooria noruzi编写,并在MIT许可证下发布。
版权(c)2021 TenetUp公司