omakei / laravel-selcom
此包已被废弃且不再维护。未建议替代包。
Selcom API 包装器,便于与 Laravel 应用集成。
v1.0.3-alpha
2021-08-04 18:46 UTC
Requires
- php: ^8.0
- ext-openssl: *
- guzzlehttp/guzzle: ^7.3
- illuminate/contracts: ^8.37
- illuminate/http: ^8.0
- spatie/laravel-package-tools: ^1.4.3
Requires (Dev)
- brianium/paratest: ^6.2
- nunomaduro/collision: ^5.3
- orchestra/testbench: ^6.15
- phpunit/phpunit: ^9.3
- spatie/laravel-ray: ^1.9
- vimeo/psalm: ^4.4
This package is auto-updated.
Last update: 2023-10-04 23:20:31 UTC
README
安装
您可以通过 composer 安装此包
composer require omakei/laravel-selcom
您可以使用以下命令发布和运行迁移
php artisan vendor:publish --provider="Omakei\LaravelSelcom\LaravelSelcomServiceProvider" --tag="laravel-selcom-migrations" php artisan migrate
您可以使用以下命令发布配置文件
php artisan vendor:publish --provider="Omakei\LaravelSelcom\LaravelSelcomServiceProvider" --tag="laravel-selcom-config"
这是发布配置文件的内容
<?php return [ 'key' => env('SELCOM_KEY', ''), 'secret' => env('SELCOM_SECRET', ''), 'vendor' => env('SELCOM_VENDOR', ''), 'encoding_type' => env('SELCOM_ENCODING_TYPE', 'HS256'), 'path_to_private_key_file' => env('PATH_TO_PRIVATE_KEY_FILE', storage_path('app/keys')), 'realm' => env('REALM', 'SELCOM'), 'timezone' => env('TIMEZONE', 'Africa/Dar_es_Salaam'), 'urls' => [ 'utility_payments' => [ 'pay' => [ 'url' => env('SELCOM_BASE_URL', 'https://example.com').'/v1/utilitypayment/process', 'method' => 'POST' ], 'lookup' => [ 'url' => env('SELCOM_BASE_URL', 'https://example.com').'/v1/utilitypayment/lookup', 'method' => 'GET' ], 'query_payment_status' => [ 'url' => env('SELCOM_BASE_URL', 'https://example.com').'/v1/utilitypayment/query', 'method' => 'GET' ] ], 'vcn' => [ 'create' => [ 'url' => env('SELCOM_BASE_URL', 'https://example.com').'/v1/vcn/create', 'method' => 'POST' ], 'change_status' => [ 'url' => env('SELCOM_BASE_URL', 'https://example.com').'/v1/vcn/changestatus', 'method' => 'POST' ], 'show_card' => [ 'url' => env('SELCOM_BASE_URL', 'https://example.com').'/v1/vcn/show', 'method' => 'POST' ], 'get_card_status' => [ 'url' => env('SELCOM_BASE_URL', 'https://example.com').'/v1/vcn/status', 'method' => 'GET' ], 'set_transaction_limit' => [ 'url' => env('SELCOM_BASE_URL', 'https://example.com').'/v1/vcn/set-limit', 'method' => 'POST' ] ], 'wallet_cashin' => [ 'pay' => [ 'url' => env('SELCOM_BASE_URL', 'https://example.com').'/v1/walletcashin/process', 'method' => 'POST' ], 'lookup' => [ 'url' => env('SELCOM_BASE_URL', 'https://example.com').'/v1/walletcashin/lookup', 'method' => 'GET' ], 'query_payment_status' => [ 'url' => env('SELCOM_BASE_URL', 'https://example.com').'/v1/walletcashin/query', 'method' => 'GET' ] ], 'pos_agent_cashout' => [ 'process' => [ 'url' => env('SELCOM_BASE_URL', 'https://example.com').'/v1/hudumacashin/process', 'method' => 'POST' ], 'balance' => [ 'url' => env('SELCOM_BASE_URL', 'https://example.com').'/v1/vendor/balance', 'method' => 'GET' ], 'query_transaction_status' => [ 'url' => env('SELCOM_BASE_URL', 'https://example.com').'/v1/hudumacashin/query', 'method' => 'GET' ] ], 'checkout' => [ 'create_order_long' => [ 'url' => env('SELCOM_BASE_URL', 'https://example.com').'/v1/checkout/create-order', 'method' => 'POST' ], 'create_order_minimal' => [ 'url' => env('SELCOM_BASE_URL', 'https://example.com').'/v1/checkout/create-order-minimal', 'method' => 'POST' ], 'cancel_order' => [ 'url' => env('SELCOM_BASE_URL', 'https://example.com').'/v1/checkout/?order_id={order_id}', 'method' => 'DELETE' ], 'get_order_status' => [ 'url' => env('SELCOM_BASE_URL', 'https://example.com').'/v1/checkout/order-status', 'method' => 'GET' ], 'get_all_order_list' => [ 'url' => env('SELCOM_BASE_URL', 'https://example.com').'/v1/checkout/list-orders', 'method' => 'GET' ], 'get_stored_card_tokens' => [ 'url' => env('SELCOM_BASE_URL', 'https://example.com').'/v1/checkout/stored-cards', 'method' => 'GET' ], 'delete_stored_card_tokens' => [ 'url' => env('SELCOM_BASE_URL', 'https://example.com').'/v1/checkout/delete-card', 'method' => 'DELETE' ], 'process_order_card_payment' => [ 'url' => env('SELCOM_BASE_URL', 'https://example.com').'/v1/checkout/card-payment', 'method' => 'POST' ], 'process_order_wallet_pull_payment' => [ 'url' => env('SELCOM_BASE_URL', 'https://example.com').'/v1/checkout/wallet-payment', 'method' => 'POST' ], 'payment_refund' => [ 'url' => env('SELCOM_BASE_URL', 'https://example.com').'/v1/checkout/refund-payment', 'method' => 'POST' ] ], ], 'checkout' => [ 'header_colour' => '#FF0012', 'link_colour' => '#FF0012', 'button_colour' => '#FF0012', 'payment_methods' => 'ALL', // ALL, MASTERPASS, CARD, MOBILEMONEYPULL 'redirect_url' => base64_encode('your_redirect_url'), 'cancel_url' => base64_encode('your_cancel_url'), 'webhook' => base64_encode('your_webhook_url'), 'expiry' => 60 // minutes ], 'path' => env('SELCOM_PATH', 'selcom'), 'webhook' => [ 'secret' => env('SELCOM_WEBHOOK_SECRET'), 'tolerance' => env('SELCOM_WEBHOOK_TOLERANCE', 300), ], 'currency' => env('SELCOM_CURRENCY', 'TSZ'), 'currency_locale' => env('SELCOM_CURRENCY_LOCALE', 'en'), 'payment_notification' => env('SELCOM_PAYMENT_NOTIFICATION'), 'paper' => env('SELCOM_PAPER', 'letter'), 'logger' => env('SELCOM_LOGGER'), ];
使用方法
以下是可以发出的示例请求。您可以查看 Selcom API 以查看请求文档。目前,该包未涵盖所有请求,并且结构设计不佳,除非进行重大更改以适应功能版本
Omakei\LaravelSelcom\LaravelSelcom::checkout()->createOrderLong('order_parameters'); Omakei\LaravelSelcom\LaravelSelcom::checkout()->createOrderMinimal('order_parameters'); Omakei\LaravelSelcom\LaravelSelcom::checkout()->cancelOrder('order_id');
测试
composer test
变更日志
请参阅 CHANGELOG 了解最近更改的详细信息。
贡献
请参阅 CONTRIBUTING 了解详细信息。
安全漏洞
请审查 我们的安全策略 了解如何报告安全漏洞。
致谢
许可协议
MIT 许可协议(MIT)。请参阅 许可文件 了解更多信息。