sunaoka/amazon-pay-api-sdk-php-laravel
最新稳定版本:v1.4.2
Composer 安装命令:
composer require sunaoka/amazon-pay-api-sdk-php-laravel
包简介
Amazon Pay API SDK (PHP) for Laravel
关键字:
README 文档
README
This library is The Laravel Framework binding for amazon-pay-api-sdk-php.
Installation
composer require sunaoka/amazon-pay-api-sdk-php-laravel
Configurations
php artisan vendor:publish --tag=amazon-pay-config
The settings can be found in the generated config/amazon-pay.php configuration file.
<?php return [ 'sandbox' => (bool)env('AMAZON_PAY_SANDBOX', true), 'merchant_id' => env('AMAZON_PAY_MERCHANT_ID'), 'store_id' => env('AMAZON_PAY_STORE_ID'), 'public_key_id' => env('AMAZON_PAY_PUBLIC_KEY_ID'), 'private_key' => env('AMAZON_PAY_PRIVATE_KEY'), 'region' => env('AMAZON_PAY_REGION'), 'language' => env('AMAZON_PAY_LANGUAGE'), 'currency_code' => env('AMAZON_PAY_CURRENCY_CODE'), 'algorithm' => env('AMAZON_PAY_ALGORITHM'), 'override_service_url' => env('AMAZON_PAY_OVERRIDE_SERVICE_URL'), 'proxy' => !empty(env('AMAZON_PAY_PROXY_HOST')) ? [ 'host' => env('AMAZON_PAY_PROXY_HOST'), 'port' => env('AMAZON_PAY_PROXY_PORT'), 'username' => env('AMAZON_PAY_PROXY_USERNAME'), 'password' => env('AMAZON_PAY_PROXY_PASSWORD'), ] : null, ];
Usage
# .env AMAZON_PAY_SANDBOX=true AMAZON_PAY_MERCHANT_ID=ABC123DEF456XY AMAZON_PAY_STORE_ID=amzn1.application-oa2-client.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx AMAZON_PAY_PUBLIC_KEY_ID=ABC123DEF456XYZ789IJK000 AMAZON_PAY_PRIVATE_KEY=keys/private.pem AMAZON_PAY_REGION=us AMAZON_PAY_LANGUAGE=en_US AMAZON_PAY_CURRENCY_CODE=USD
<?php $payload = [ 'storeId' => config('amazon-pay.store_id'), 'webCheckoutDetails' => [ 'checkoutReviewReturnUrl' => 'http://localhost/checkout/review', 'checkoutResultReturnUrl' => 'http://localhost/checkout/result', 'checkoutCancelUrl' => 'http://localhost/checkout/cancel', ], ]; $signature = \AmazonPay::generateButtonSignature($payload); $button = [ 'merchantId' => config('amazon-pay.merchant_id'), 'ledgerCurrency' => config('amazon-pay.currency_code'), 'sandbox' => config('amazon-pay.sandbox'), 'checkoutLanguage' => config('amazon-pay.language'), 'productType' => 'PayAndShip', 'placement' => 'Cart', 'createCheckoutSessionConfig' => [ 'payloadJSON' => $payload, 'signature' => $signature, 'publicKeyId' => config('amazon-pay.public_key_id'), 'algorithm' => config('amazon-pay.algorithm'), ], ];
<body> <div id="AmazonPayButton"></div> <script src="{{ \AmazonPay::getAmazonPayScript() }}"></script> <script type="text/javascript" charset="utf-8"> amazon.Pay.renderButton('#AmazonPayButton', @json($button)); </script> </body>
Testing
You may use the AmazonPay facade's fake method to apply the mock response.
<?php \AmazonPay::fake([ 'refundId' => 'S01-5105180-3221187-R022311', 'chargeId' => 'S01-5105180-3221187-C056351', 'refundAmount' => [ 'amount' => '14.00', 'currencyCode' => 'USD' ], 'softDescriptor' => 'Descriptor', 'creationTimestamp' => '20190714T155300Z', 'statusDetails' => [ 'state' => 'RefundInitiated', 'reasonCode' => null, 'reasonDescription' => null, 'lastUpdatedTimestamp' => '20190714T155300Z' ], 'releaseEnvironment' => 'Sandbox', ]); $payload = [ 'chargeId' => 'S01-5105180-3221187-C056351', 'refundAmount' => [ 'amount' => '14.00', 'currencyCode' => 'USD', ], 'softDescriptor' => 'Descriptor', ]; $response = \AmazonPay::createRefund($payload, []); $result = json_decode($response['response'], true); echo $result['refundId']; // S01-5105180-3221187-R022311
统计信息
- 总下载量: 5.23k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: Apache-2.0
- 更新时间: 2023-02-13