checkout / checkout-sdk-php
Checkout.com SDK for PHP
3.2.4
2024-08-29 07:34 UTC
Requires
- php: >=5.6.0
- ext-fileinfo: *
- ext-json: *
- guzzlehttp/guzzle: ^6.5 || ^7.4
- monolog/monolog: ^1.27 || ^2.4 || ^3.0.0
Requires (Dev)
- mockery/mockery: ^1.3 || ^1.4
- phpstan/phpstan: ^1.2
- phpunit/phpunit: ^5.7 || ^9.0
- smgladkovskiy/phpcs-git-pre-commit: dev-master
- squizlabs/php_codesniffer: ^3.3
- symfony/phpunit-bridge: ^5.2 || ^6.0
- dev-master
- 3.2.4
- 3.2.3
- 3.2.2
- 3.2.1
- 3.2.0
- 3.1.0
- 3.0.21
- 3.0.20
- 3.0.19
- 3.0.18
- 3.0.17
- 3.0.15
- 3.0.14
- 3.0.13
- 3.0.12
- 3.0.11
- 3.0.10
- 3.0.9
- 3.0.8
- 3.0.7
- 3.0.6
- 3.0.5
- 3.0.4
- 3.0.3
- 3.0.2
- 3.0.1
- 3.0.0
- v2.x-dev
- 2.5.4
- 2.5.3
- 2.5.2
- 2.5.1
- 2.5.0
- 2.4.0
- 2.3.0
- 2.2.0
- 2.1.1
- 2.1.0
- 2.0.0
- 2.0.0-beta6
- 2.0.0-beta5
- 2.0.0-beta4
- 2.0.0-beta3
- 1.0.21
- 1.0.20
- 1.0.19
- 1.0.17
- 1.0.16
- 1.0.15
- 1.0.14
- 1.0.13
- 1.0.12
- 1.0.11
- 1.0.10
- 1.0.9
- 1.0.8
- 1.0.6
- 1.0.5
- 1.0.3
- 1.0.2
- 1.0.0
- dev-feature/INT-1515-all-sd-ks-update-knet-apm
- dev-release/3.0.17
- dev-release/3.0.16
- dev-bugfix/INT-1362-php-fix-property
- dev-release/3.0.15
- dev-feature/INT-1347-php-funds-transfer-type-missing-in-payment-intruction-class
- dev-release/3.0.14
- dev-feature/INT-1335-missing-account-holder-in-destination-id-type-in-request-payout
- dev-feature/update-readme
- dev-release/3.0.13
- dev-feature/INT-1259-issuing-api-updates
- dev-release/3.0.12
- dev-feature/INT-1239
- dev-release/3.0.11
- dev-feature/INT-1012-reports-api-redirect-support
- dev-feature/INT-1182-api-updates
- dev-release/3.0.10
- dev-feature/giropay_updates
- dev-p24
- dev-legacy
This package is auto-updated.
Last update: 2024-09-20 13:59:31 UTC
README
入门指南
版本 3.0.0 已发布!
我们改进了SDK的初始化,使其更容易理解可用的选项。
现在NAS
账户是SDK的默认实例,ABC
结构已移动到previous
前缀。
如果您之前使用过此SDK,您可能会发现以下重要更改:
- 市场模块已移动到账户模块,类和引用也是如此。
- 在大多数情况下,IDE可以帮助您确定从哪里导入,但如果您仍然遇到问题,请不要犹豫,打开一个 问题单。
🚀 请在 GitHub 发布版 中查看所有可用的版本。
📖 查看我们的官方文档。
📚 查看我们的官方API文档指南,其中还提供了更多使用示例。
Composer
{ "require": { "php": ">=5.6", "checkout/checkout-sdk-php": "version" } }
如何使用SDK
此SDK可以使用Checkout提供的两对不同的API密钥使用。但是,使用不同的API密钥意味着使用特定的API功能。请在下表中查看此SDK中可以使用密钥的类型。
注意:沙箱密钥分别具有 sbox_
或 test_
标识符,分别对应默认和先前的账户。
请勿分享或发布您的Checkout凭据。
如果您没有自己的API密钥,您可以在此处注册测试账户。
默认
默认密钥客户端实例化可以如下进行
$checkoutApi = CheckoutSdk::builder()->staticKeys() ->publicKey("public_key") // optional, only required for operations related with tokens ->secretKey("secret_key") ->environment(Environment::sandbox()) // or production() ->environmentSubdomain("subdomain") // optional, Merchant-specific DNS name ->logger($logger) //optional, for a custom Logger ->httpClientBuilder($client) // optional, for a custom HTTP client ->build(); $paymentsClient = $checkoutApi->getPaymentsClient(); $paymentsClient->refundPayment("payment_id");
默认OAuth
SDK支持客户端凭据OAuth,当以如下方式初始化时
$checkoutApi = CheckoutSdk::builder()->oAuth() ->clientCredentials("client_id", "client_secret") ->scopes([OAuthScope::$Gateway, OAuthScope::$Vault]) // array of scopes ->environment(Environment::sandbox()) // or production() ->environmentSubdomain("subdomain") // optional, Merchant-specific DNS name ->logger($logger) //optional, for a custom Logger ->httpClientBuilder($client) // optional, for a custom HTTP client ->build(); $paymentsClient = $checkoutApi->getPaymentsClient(); $paymentsClient->refundPayment("payment_id");
先前
如果您的密钥对匹配先前类型,SDK的使用方法如下
$checkoutApi = CheckoutSdk::builder() ->previous() ->staticKeys() ->environment(Environment::sandbox()) // or production() ->environmentSubdomain("subdomain") // optional, Merchant-specific DNS name ->publicKey("public_key") // optional, only required for operations related with tokens ->secretKey("secret_key") ->logger($logger) //optional, for a custom Logger ->httpClientBuilder($client) // optional, for a custom HTTP client ->build(); $paymentsClient = $checkoutApi->getPaymentsClient(); $paymentsClient->refundPayment("payment_id");
PHP设置
对于需要文件上传(争议或市场)的操作,必须在 php.ini
中启用配置 extension=fileinfo
。
异常处理
所有不属于2**状态代码的API响应,SDK都将抛出 CheckoutApiException
。
异常封装了 http_metadata
和 $error_details
,如果可用。
从源码构建
一旦从GitHub检出代码,项目可以使用composer构建
composer update
执行集成测试需要设置以下系统环境变量:
- 对于默认账户系统(NAS):
CHECKOUT_DEFAULT_PUBLIC_KEY
&CHECKOUT_DEFAULT_SECRET_KEY
- 对于默认账户系统(OAuth):
CHECKOUT_DEFAULT_OAUTH_CLIENT_ID
&CHECKOUT_DEFAULT_OAUTH_CLIENT_SECRET
- 对于先前账户系统(ABC):
CHECKOUT_PREVIOUS_PUBLIC_KEY
&CHECKOUT_PREVIOUS_SECRET_KEY
行为准则
请参阅 行为准则