mramitict/coinpayment

Laravel的Coinpayments

0.0.4 2019-01-18 13:34 UTC

This package is not auto-updated.

Last update: 2024-09-29 04:37:14 UTC


README

实现了大部分CoinPayments功能。

Coinpayments网站

1. 安装服务提供者

// add directly from the app 
$app->register(\Mramitict\LaravelCoinpayments\Providers\LaravelCoinpaymentsServiceProvider::class);

或者

所有服务提供者都已在config/app.php配置文件中注册。

'providers' => [
    // Other Service Providers

    \Mramitict\LaravelCoinpayments\Providers\LaravelCoinpaymentsServiceProvider::class,
],

2. 配置

.env配置

COINPAYMENTS_DB_PREFIX=cp_
COINPAYMENTS_MERCHANT_ID=your_unique_merchant_id
COINPAYMENTS_PUBLIC_KEY=generated_public_key
COINPAYMENTS_PRIVATE_KEY=generated_private_key
COINPAYMENTS_IPN_SECRET=your_custom_ipn_secret
COINPAYMENTS_IPN_URL=your_ipn_url
COINPAYMENTS_API_FORMAT=json

执行php artisan vendor:publish以生成完整的配置文件。

配置:coinpayments.php

return array(

    // prefix to each of the tables in the database
    'database_prefix' => env('COINPAYMENTS_DB_PREFIX', 'cp_'),

    'merchant_id' => env('COINPAYMENTS_MERCHANT_ID'),

    // Your API public key associated with your coinpayments account
    'public_key' => env('COINPAYMENTS_PUBLIC_KEY'),

    // Your API private key associated with your coinpayments account
    'private_key' => env('COINPAYMENTS_PRIVATE_KEY'),

    // This is used to verify that an IPN is from us, use a good random string nobody can guess.
    'ipn_secret' => env('COINPAYMENTS_IPN_SECRET'),

    // URL for your IPN callbacks. If not set it will use the IPN URL in your Edit Settings page if you have one set.
    'ipn_url' => env('COINPAYMENTS_IPN_URL'),

    // The format of response to return, json or xml. (default: json)
    'format' => env('COINPAYMENTS_API_FORMAT', 'json'),

    // ALL logs all requests, ERROR logs only errors, and NONE never
    'log_level' => Log::LEVEL_ERROR,
);

3. 设置数据库

运行迁移以安装数据库表

php artisan migrate

4. 使用

简单交易

\Coinpayments::createTransactionSimple($cost, $currency_base, $currency_received, $extra_details);

IPN验证

try {
    \Coinpayments::validateIPNRequest($request);
    
    // do soemthing with the completed transaction
} catch (\Exception $e) {
    
    // transaction not completed.
}

5. 记录日志

通过在配置文件中选择LEVEL_NONELEVEL_ERRORLEVEL_ALL来调整日志记录。

日志将被保存在数据库中,路径为$prefix . 'log'

贡献

随时都可以提交pull request。任何帮助都受欢迎(Y)