{"id":13824731,"url":"https://github.com/shetabit/payment","last_synced_at":"2025-05-13T22:12:13.809Z","repository":{"id":34140353,"uuid":"169948762","full_name":"shetabit/payment","owner":"shetabit","description":"simple laravel payment package , supports multiple drivers","archived":false,"fork":false,"pushed_at":"2025-04-18T13:21:42.000Z","size":313,"stargazers_count":877,"open_issues_count":16,"forks_count":145,"subscribers_count":26,"default_branch":"master","last_synced_at":"2025-04-30T12:16:50.483Z","etag":null,"topics":["laravel-payment","laravel-payment-gate","payment","payment-gateway"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shetabit.png","metadata":{"files":{"readme":"README-FA.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-02-10T06:11:03.000Z","updated_at":"2025-04-27T21:35:19.000Z","dependencies_parsed_at":"2024-01-12T21:38:46.221Z","dependency_job_id":"45dab788-96db-4744-930a-4049d8a0452e","html_url":"https://github.com/shetabit/payment","commit_stats":{"total_commits":183,"total_committers":35,"mean_commits":5.228571428571429,"dds":0.3497267759562842,"last_synced_commit":"d23e366f3b4074df408b8032ba807ed5e1db8999"},"previous_names":[],"tags_count":58,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shetabit%2Fpayment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shetabit%2Fpayment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shetabit%2Fpayment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shetabit%2Fpayment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shetabit","download_url":"https://codeload.github.com/shetabit/payment/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254036842,"owners_count":22003654,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["laravel-payment","laravel-payment-gate","payment","payment-gateway"],"created_at":"2024-08-04T09:01:08.274Z","updated_at":"2025-05-13T22:12:13.513Z","avatar_url":"https://github.com/shetabit.png","language":"PHP","funding_links":["http://www.paypal.com/"],"categories":["PHP"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\u003cimg src=\"resources/images/payment.png?raw=true\"\u003e\u003c/p\u003e\n\n\u003cdiv dir=rtl\u003e\n\n# پکیج درگاه پرداخت برای لاراول\n\n\n[![Software License][ico-license]](LICENSE.md)\n[![Latest Version on Packagist][ico-version]][link-packagist]\n[![Total Downloads on Packagist][ico-download]][link-packagist]\n[![StyleCI](https://github.styleci.io/repos/169948762/shield?branch=master)](https://github.styleci.io/repos/169948762)\n[![Maintainability](https://api.codeclimate.com/v1/badges/e6a80b17298cb4fcb56d/maintainability)](https://codeclimate.com/github/shetabit/payment/maintainability)\n[![Quality Score][ico-code-quality]][link-code-quality]\n\nاین پکیج برای پرداخت آنلاین توسط درگاه‌های مختلف در لاراول ایجاد شده است.\n\n\n\u003e این پکیج با درگاه‌های پرداخت مختلفی کار میکنه. در صورتی که درگاه مورد نظرتون رو در لیست درایورهای موجود پیدا نکردید می‌تونید برای درگاهی که استفاده می‌کنید درایور مورد نظرتون رو بسازید.\n\nدرصورتی که از PHP استفاده میکنید میتونید از پکیج [shetabit/multipay](https://github.com/shetabit/multipay) استفاده کنید.\n\n- [داکیومنت فارسی][link-fa]\n- [english documents][link-en]\n- [中文文档][link-zh]\n\n\nدر صورتی که از این پکیج خوشتون آمده و ازش استفاده می‌کنید می‌تونید با پرداخت مبلغ اندکی من رو حمایت کنید تا این پکیج رو بیشتر توسعه بدم و درگاه‌های جدیدتری بهش اضافه کنم.\n\n[به منظور کمک مالی کلیک کنید](https://zarinp.al/@mahdikhanzadi) :sunglasses: :bowtie:\n\n\nدر صورتی که نیاز به آموزش دارید میتونید یه نگاهی به لینک زیر بندازید\n\n- [آموزش ویدیویی پرداخت و خرید در لاراول](https://ditty.ir/videos/laravel-online-payment-installation/nM4Y5)\n\n# لیست محتوا\n\n- [درایور های موجود](#درایورهای-موجود)\n- [نصب](#نصب)\n- [تنظیمات](#تنظیمات)\n- [طریقه استفاده](#طریقه-استفاده)\n  - [کار با صورتحساب ها](#کار-با-صورتحساب-ها)\n  - [ثبت درخواست برای پرداخت صورتحساب](#ثبت-درخواست-برای-پرداخت-صورتحساب)\n  - [پرداخت صورتحساب](#پرداخت-صورتحساب)\n  - [اعتبار سنجی پرداخت](#اعتبار-سنجی-پرداخت)\n  - [ایجاد درایور دلخواه](#ایجاد-درایور-دلخواه)\n  - [متدهای سودمند](#متدهای-سودمند)\n- [تغییرات](#تغییرات)\n- [مشارکت کننده ها](#مشارکت-کننده-ها)\n- [امنیت](#امنیت)\n- [توسعه دهندگان](#توسعه-دهندگان)\n- [لایسنس](#لایسنس)\n\n# درایورهای موجود\n\n- [آتی‌پی](https://www.atipay.net/) :heavy_check_mark:\n- [آقای پرداخت](https://aqayepardakht.ir/) :heavy_check_mark:\n- [ازکی‌وام (پرداخت اقساطی)](https://www.azkivam.com/) :heavy_check_mark:\n- [آسان‌پرداخت](https://asanpardakht.ir/) :heavy_check_mark:\n- [اعتبارینو (پرداخت اقساطی)](https://etebarino.com/) :heavy_check_mark:\n- [امیدپی](https://omidpayment.ir/) :heavy_check_mark:\n- [آی‌دی‌پی](https://idpay.ir/) :heavy_check_mark:\n- [ایران‌کیش](http://irankish.com/) :heavy_check_mark:\n- [به‌پرداخت (ملت)](http://www.behpardakht.com/) :heavy_check_mark:\n- [بیت‌پی](https://bitpay.ir/) :heavy_check_mark:\n- [دیجی‌پی](https://www.mydigipay.com/) :heavy_check_mark:\n- [فن‌آوا‌کارت](https://www.fanava.com/) :heavy_check_mark:\n- [لوکال](#local-driver) :heavy_check_mark:\n- [جیبیت](https://jibit.ir/) :heavy_check_mark:\n- [نکست‌پی](https://nextpay.ir/) :heavy_check_mark:\n- [پارسیان](https://www.pec.ir/) :heavy_check_mark:\n- [پاسارگاد](https://bpi.ir/) :heavy_check_mark:\n- [پی‌آی‌آر](https://pay.ir/) :heavy_check_mark:\n- [پی‌فا](https://payfa.com/) :heavy_check_mark:\n- [پی‌پال](http://www.paypal.com/) (به زودی در ورژن بعدی اضافه می‌شود)\n- [پی‌پینگ](https://www.payping.ir/) :heavy_check_mark:\n- [پی‌استار](http://paystar.ir/) :heavy_check_mark:\n- [پولام](https://poolam.ir/) :heavy_check_mark:\n- [رایان‌پی](https://rayanpay.com/) :heavy_check_mark:\n- [سداد (ملی)](https://sadadpsp.ir/) :heavy_check_mark:\n- [سامان](https://www.sep.ir) :heavy_check_mark:\n- [سپ (درگاه الکترونیک سامان) کشاورزی و صادرات](https://www.sep.ir) :heavy_check_mark:\n- [سپهر (صادرات)](https://www.sepehrpay.com/) :heavy_check_mark:\n- [سپرده](https://sepordeh.com/) :heavy_check_mark:\n- [سیزپی](https://www.sizpay.ir/) :heavy_check_mark:\n- [تومن](https://tomanpay.net/) :heavy_check_mark:\n- [وندار](https://vandar.io/) :heavy_check_mark:\n- [والتا](https://walleta.ir/) :heavy_check_mark:\n- [یک‌پی](https://yekpay.com/) :heavy_check_mark:\n- [زرین‌پال](https://www.zarinpal.com/) :heavy_check_mark:\n- [زیبال](https://www.zibal.ir/) :heavy_check_mark:\n\n- درایورهای دیگر ساخته خواهند شد یا اینکه بسازید و درخواست `merge` بدید.\n\n\u003e در صورتی که درایور مورد نظرتون موجود نیست, می‌تونید برای درگاه پرداخت موردنظرتون درایور بسازید.\n\n## نصب\n\nنصب با استفاده از کامپوزر\n\n\u003c/div\u003e\n\n``` bash\ncomposer require shetabit/payment\n```\n\n\u003cdiv dir=\"rtl\"\u003e\n\n## تنظیمات\n\nدرصورتی که از `Laravel 5.5` یا ورژن های بالاتر استفاده می‌کنید نیازی به انجام تنظیمات `providers` و `alias` نخواهید داشت.\n\nدرون فایل `config/app.php` دستورات زیر را وارد کنید\n\n\u003c/div\u003e\n\n```php\n// In your providers array.\n'providers' =\u003e [\n    ...\n    Shetabit\\Payment\\Provider\\PaymentServiceProvider::class,\n],\n\n// In your aliases array.\n'aliases' =\u003e [\n    ...\n    'Payment' =\u003e Shetabit\\Payment\\Facade\\Payment::class,\n],\n```\n\n\u003cdiv dir=\"rtl\"\u003e\n\nسپس دستور `php artisan vendor:publish` را اجرا کنید تا فایل `config/payment.php` درون دایرکتوری تنظیمات لاراول قرار بگیرد.\n\nدرون فایل تنظیمات در قسمت `default driver` می‌توانید درایوری که قصد استفاده از ان را دارید قرار دهید تا تمامی پرداخت ها از آن طریق انجام شود.\n\n\n\u003c/div\u003e\n\n```php\n// Eg. if you want to use zarinpal.\n'default' =\u003e 'zarinpal',\n```\n\n\u003cdiv dir=\"rtl\"\u003e\n\nسپس تنظیمات مرتبط با درایوری که قصد استفاده از ان را دارید انجام دهید\n\n\u003c/div\u003e\n\n```php\n'drivers' =\u003e [\n    'zarinpal' =\u003e [\n        // Fill all the credentials here.\n        'apiPurchaseUrl' =\u003e 'https://www.zarinpal.com/pg/rest/WebGate/PaymentRequest.json',\n        'apiPaymentUrl' =\u003e 'https://www.zarinpal.com/pg/StartPay/',\n        'apiVerificationUrl' =\u003e 'https://www.zarinpal.com/pg/rest/WebGate/PaymentVerification.json',\n        'merchantId' =\u003e '',\n        'callbackUrl' =\u003e 'http://yoursite.com/path/to',\n        'description' =\u003e 'payment in '.config('app.name'),\n    ],\n    ...\n]\n```\n\n\u003cdiv dir=\"rtl\"\u003e\n\n## طریقه استفاده\n\nدر تمامی پرداخت ها اطلاعات پرداخت درون صورتحساب شما نگهداری میشود. برای استفاده از پکیج ابتدا نحوه ی استفاده از کلاس `Invoice` به منظور کار با صورتحساب ها را توضیح میدهیم.\n\n#### کار با صورتحساب ها\n\nقبل از انجام هرکاری نیاز به ایجاد یک صورتحساب دارید. برای ایجاد صورتحساب می‌توانید از کلاس `Invoice` استفاده کنید.\n\nدرون کد خودتون به شکل زیر عمل کنید:\n\n\u003c/div\u003e\n\n```php\n// At the top of the file.\nuse Shetabit\\Multipay\\Invoice;\n...\n\n// Create new invoice.\n$invoice = new Invoice;\n\n// Set invoice amount.\n$invoice-\u003eamount(1000);\n\n// Add invoice details: There are 4 syntax available for this.\n// 1\n$invoice-\u003edetail(['detailName' =\u003e 'your detail goes here']);\n// 2 \n$invoice-\u003edetail('detailName','your detail goes here');\n// 3\n$invoice-\u003edetail(['name1' =\u003e 'detail1','name2' =\u003e 'detail2']);\n// 4\n$invoice-\u003edetail('detailName1','your detail1 goes here')\n        -\u003edetail('detailName2','your detail2 goes here');\n\n```\n\n\u003cdiv dir=\"rtl\"\u003e\n\nمتدهای موجود برای کار با صورتحساب ها:\n\n- `uuid`: یک ایدی یونیک برای صورتحساب تنظیم می‌کند\n- `getUuid`: ایدی یونیک صورتحساب را برمی‌گرداند\n- `detail`: توضیحات یا مواردی که مرتبط به صورتحساب است را به صورتحساب اضافه می‌کند\n- `getDetails`: تمامی موارد مرتبطی که به صورتحساب افزوده شده است را برمی‌گرداند\n- `amount`: مقدار هزینه‌ای که باید پرداخت شود را مشخص می‌کند\n- `getAmount`: هزینه‌ی صورتحساب را برمی‌گرداند\n- `transactionId`: شماره تراکنش صورتحساب را مشخص می‌کند\n- `getTransactionId`: شماره تراکنش صورتحساب را برمی‌گرداند\n- `via`: درایوری که قصد پرداخت صورتحساب با آن را داریم مشخص می‌کند\n- `getDriver`: درایور انتخاب شده را برمی‌گرداند\n\n#### ثبت درخواست برای پرداخت صورتحساب\nبه منظور پرداخت تمامی صورتحساب ها به یک شماره تراکنش بانکی یا `transactionId` نیاز خواهیم داشت.\nبا ثبت درخواست به منظور پرداخت میتوان شماره تراکنش بانکی را دریافت کرد:\n\n\u003c/div\u003e\n\n```php\n// At the top of the file.\nuse Shetabit\\Multipay\\Invoice;\nuse Shetabit\\Payment\\Facade\\Payment;\n...\n\n// Create new invoice.\n$invoice = (new Invoice)-\u003eamount(1000);\n\n// Purchase the given invoice.\nPayment::purchase($invoice,function($driver, $transactionId) {\n\t// We can store $transactionId in database.\n});\n\n// Purchase method accepts a callback function.\nPayment::purchase($invoice, function($driver, $transactionId) {\n    // We can store $transactionId in database.\n});\n\n// You can specify callbackUrl\nPayment::callbackUrl('http://yoursite.com/verify')-\u003epurchase(\n    $invoice, \n    function($driver, $transactionId) {\n    \t// We can store $transactionId in database.\n\t}\n);\n```\n\n\u003cdiv dir=\"rtl\"\u003e\n\n#### پرداخت صورتحساب\n\nبا استفاده از شماره تراکنش یا `transactionId` میتوانیم کاربر را به صفحه ی پرداخت بانک هدایت کنیم:\n\n\u003c/div\u003e\n\n```php\n// At the top of the file.\nuse Shetabit\\Multipay\\Invoice;\nuse Shetabit\\Payment\\Facade\\Payment;\n...\n\n// Create new invoice.\n$invoice = (new Invoice)-\u003eamount(1000);\n// Purchase and pay the given invoice.\n// You should use return statement to redirect user to the bank page.\nreturn Payment::purchase($invoice, function($driver, $transactionId) {\n    // Store transactionId in database as we need it to verify payment in the future.\n})-\u003epay()-\u003erender();\n\n// Do all things together in a single line.\nreturn Payment::purchase(\n    (new Invoice)-\u003eamount(1000), \n    function($driver, $transactionId) {\n    \t// Store transactionId in database.\n        // We need the transactionId to verify payment in the future.\n\t}\n)-\u003epay()-\u003erender();\n\n// Retrieve json format of Redirection (in this case you can handle redirection to bank gateway)\nreturn Payment::purchase(\n    (new Invoice)-\u003eamount(1000), \n    function($driver, $transactionId) {\n    \t// Store transactionId in database.\n        // We need the transactionId to verify payment in the future.\n\t}\n)-\u003epay()-\u003etoJson();\n```\n\n\u003cdiv dir=\"rtl\"\u003e\n\n\n#### اعتبار سنجی پرداخت\n\nبعد از پرداخت شدن صورتحساب توسط کاربر, بانک کاربر را به یکی از صفحات سایت ما برمیگردونه و ما با اعتبار سنجی میتونیم متوجه بشیم کاربر پرداخت رو انجام داده یا نه!\n\n\u003c/div\u003e\n\n```php\n// At the top of the file.\nuse Shetabit\\Payment\\Facade\\Payment;\nuse Shetabit\\Multipay\\Exceptions\\InvalidPaymentException;\n...\n\n// You need to verify the payment to ensure the invoice has been paid successfully.\n// We use transaction id to verify payments\n// It is a good practice to add invoice amount as well.\ntry {\n\t$receipt = Payment::amount(1000)-\u003etransactionId($transaction_id)-\u003everify();\n\n    // You can show payment referenceId to the user.\n    echo $receipt-\u003egetReferenceId();\n\n    ...\n} catch (InvalidPaymentException $exception) {\n    /**\n    \twhen payment is not verified, it will throw an exception.\n    \tWe can catch the exception to handle invalid payments.\n    \tgetMessage method, returns a suitable message that can be used in user interface.\n    **/\n    echo $exception-\u003egetMessage();\n}\n```\n\n\u003cdiv dir=\"rtl\"\u003e\n\n\nدر صورتی که پرداخت توسط کاربر به درستی انجام نشده باشه یک استثنا از نوع `InvalidPaymentException` ایجاد میشود که حاوی پیام متناسب با پرداخت انجام شده است.\n\n#### ایجاد درایور دلخواه:\n\n برای ایجاد درایور جدید ابتدا نام (اسم) درایوری که قراره بسازید رو به لیست درایور ها اضافه کنید و لیست تنظیات مورد نیاز را نیز مشخص کنید.\n\n\u003c/div\u003e\n\n```php\n'drivers' =\u003e [\n    'zarinpal' =\u003e [...],\n    'my_driver' =\u003e [\n        ... // Your Config Params here.\n    ]\n]\n```\n\n\u003cdiv dir=\"rtl\"\u003e\n\n\nکلاس درایوری که قصد ساختنش رو دارید باید کلاس `Shetabit\\Payment\\Abstracts\\Driver` رو به ارث ببره.\n\nبه عنوان مثال:\n\n\u003c/div\u003e\n\n```php\nnamespace App\\Packages\\PaymentDriver;\n\nuse Shetabit\\Multipay\\Abstracts\\Driver;\nuse Shetabit\\Multipay\\Exceptions\\InvalidPaymentException;\nuse Shetabit\\Multipay\\{Contracts\\ReceiptInterface, Invoice, Receipt};\n\nclass MyDriver extends Driver\n{\n    protected $invoice; // Invoice.\n\n    protected $settings; // Driver settings.\n\n    public function __construct(Invoice $invoice, $settings)\n    {\n        $this-\u003einvoice($invoice); // Set the invoice.\n        $this-\u003esettings = (object) $settings; // Set settings.\n    }\n\n    // Purchase the invoice, save its transactionId and finaly return it.\n    public function purchase() {\n        // Request for a payment transaction id.\n        ...\n            \n        $this-\u003einvoice-\u003etransactionId($transId);\n        \n        return $transId;\n    }\n    \n    // Redirect into bank using transactionId, to complete the payment.\n    public function pay() {\n        // It is better to set bankApiUrl in config/payment.php and retrieve it here:\n        $bankUrl = $this-\u003esettings-\u003ebankApiUrl; // bankApiUrl is the config name.\n\n        // Prepare payment url.\n        $payUrl = $bankUrl.$this-\u003einvoice-\u003egetTransactionId();\n\n        // Redirect to the bank.\n        return redirect()-\u003eto($payUrl);\n    }\n    \n    // Verify the payment (we must verify to ensure that user has paid the invoice).\n    public function verify(): ReceiptInterface {\n        $verifyPayment = $this-\u003esettings-\u003everifyApiUrl;\n        \n        $verifyUrl = $verifyPayment.$this-\u003einvoice-\u003egetTransactionId();\n        \n        ...\n        \n        /**\n\t\t\tThen we send a request to $verifyUrl and if payment is not valid we throw an InvalidPaymentException with a suitable message.\n        **/\n        throw new InvalidPaymentException('a suitable message');\n        \n        /**\n        \tWe create a receipt for this payment if everything goes normally.\n        **/\n        return new Receipt('driverName', 'payment_receipt_number');\n    }\n}\n```\n\n\u003cdiv dir=\"rtl\"\u003e\n\n\nبعد از اینکه کلاس درایور خودتون رو ایجاد کردید به فایل `Config/payment.php` برید و درایور خودتون رو در قسمت `map` اضافه کنید.\n\n\u003c/div\u003e\n\n```php\n'map' =\u003e [\n    ...\n    'my_driver' =\u003e App\\Packages\\PaymentDriver\\MyDriver::class,\n]\n```\n\n\u003cdiv dir=\"rtl\"\u003e\n\n\n**نکته:** دقت کنید کلیدی که قسمت `map` قرار میدهید باید همنام با نامی باشد که در قسمت `drivers` قرار داده اید.\n\n#### متدهای سودمند\n\n- `callbackUrl`: با استفاده از این متد به صورت داینامیک می‌توانید ادرس صفحه ای که بعد از پرداخت آنلاین کاربر به ان هدایت میشود را مشخص کنید\n\n\u003c/div\u003e\n\n  ```php\n  // At the top of the file.\n  use Shetabit\\Multipay\\Invoice;\n  use Shetabit\\Payment\\Facade\\Payment;\n  ...\n  \n  // Create new invoice.\n  $invoice = (new Invoice)-\u003eamount(1000);\n  \n  // Purchase the given invoice.\n  Payment::callbackUrl($url)-\u003epurchase(\n      $invoice, \n      function($driver, $transactionId) {\n      // We can store $transactionId in database.\n  \t}\n  );\n  ```\n\n\u003cdiv dir=\"rtl\"\u003e\n\n- `amount`: به کمک این متد می‌توانید به صورت مستقیم هزینه صورتحساب را مشخص کنید\n\n\u003c/div\u003e\n\n  ```php\n  // At the top of the file.\n  use Shetabit\\Multipay\\Invoice;\n  use Shetabit\\Payment\\Facade\\Payment;\n  ...\n  \n  // Purchase (we set invoice to null).\n  Payment::callbackUrl($url)-\u003eamount(1000)-\u003epurchase(\n      null, \n      function($driver, $transactionId) {\n      // We can store $transactionId in database.\n  \t}\n  );\n  ```\n\n\u003cdiv dir=\"rtl\"\u003e\n\n- `via`: به منظور تغییر درایور در هنگام اجرای برنامه مورد استفاده قرار میگیرد\n\n\u003c/div\u003e\n\n  ```php\n  // At the top of the file.\n  use Shetabit\\Multipay\\Invoice;\n  use Shetabit\\Payment\\Facade\\Payment;\n  ...\n  \n  // Create new invoice.\n  $invoice = (new Invoice)-\u003eamount(1000);\n  \n  // Purchase the given invoice.\n  Payment::via('driverName')-\u003epurchase(\n      $invoice, \n      function($driver, $transactionId) {\n      // We can store $transactionId in database.\n  \t}\n  );\n  ```\n\n\u003cdiv dir=\"rtl\"\u003e\n\n\n#### رویدادها\n\nشما می‌توانید درون برنامه خود دو رویداد را ثبت و ضبط کنید\n\n- **InvoicePurchasedEvent**: هنگامی که یک پرداخت به درستی ثبت شود این رویداد اتفاق می‌افتد.\n- **InvoiceVerifiedEvent**: هنگامی که یک پرداخت به درستی وریفای شود این رویداد اتفاق می‌افتد\n\n\n## تغییرات\n\nبرای مشاهده آخرین تغییرات انجام شده در پکیج [قسمت تغییرات](CHANGELOG.md) را بررسی کنید.\n\n## مشارکت کننده ها\n\nبرای مشاهده لیست مشارکت کننده ها [CONTRIBUTING](CONTRIBUTING.md) and [CONDUCT](CONDUCT.md) را بررسی کنید.\n\n## امنیت\n\nدر صورتی که مشکل امنیتی در پکیج پیدا کردید به منظور رفع مشکل با ایمیل khanzadimahdi@gmail.com در ارتباط باشید.\n\n## توسعه دهندگان\n\n- [Mahdi khanzadi][link-author]\n- [All Contributors][link-contributors]\n\n## لایسنس\n\nتوسعه و تولید تحت لایسنس MIT است. برای اطلاعات بیشتر [فایل لایسنس](LICENSE.md) را مطالعه کنید.\n\n\u003c/div\u003e\n\n[ico-version]: https://img.shields.io/packagist/v/shetabit/payment.svg?style=flat-square\n[ico-download]: https://img.shields.io/packagist/dt/shetabit/payment.svg?color=%23F18\u0026style=flat-square\n[ico-license]: https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square\n[ico-code-quality]: https://img.shields.io/scrutinizer/g/shetabit/payment.svg?label=Code%20Quality\u0026style=flat-square\n\n[link-fa]: README-FA.md\n[link-en]: README.md\n[link-zh]: README-ZH.md\n[link-packagist]: https://packagist.org/packages/shetabit/payment\n[link-code-quality]: https://scrutinizer-ci.com/g/shetabit/payment\n[link-author]: https://github.com/khanzadimahdi\n[link-contributors]: ../../contributors\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshetabit%2Fpayment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshetabit%2Fpayment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshetabit%2Fpayment/lists"}