mp-plugins / php-sdk
Mercado Pago Plugins PHP-SDK
2.12.3
2024-09-24 11:51 UTC
Requires
- php: >=7
- ext-json: *
Requires (Dev)
- phpunit/phpunit: 9.5.27
- squizlabs/php_codesniffer: 3.7.2
- dev-master
- 2.12.3
- 2.12.1
- 2.12.0
- 2.11.2
- 2.11.1
- 2.11.0
- 2.10.1
- 2.10.0
- 2.9.1
- 2.9.0
- 2.8.0
- 2.7.0
- 2.6.3
- 2.6.2
- 2.6.1
- 2.6.0
- 2.5.0
- 2.4.0
- 2.3.0
- 2.2.0
- 2.1.0
- 2.0.1
- 2.0.0
- 1.12.0
- 1.11.0
- 1.10.0
- 1.9.1
- 1.9.0
- 1.8.0
- 1.7.1
- 1.7.0
- 1.6.0
- 1.5.7
- 1.5.6
- 1.5.5
- 1.5.4
- 1.5.3
- 1.5.2
- 1.5.1
- 1.5.0
- 1.4.0
- 1.3.1
- 1.3.0
- 1.2.0
- 1.1.0
- 1.0.0
- v0.1.0
- dev-release/2.12.3
- dev-release/2.12.1
- dev-release/2.12.0
- dev-release/2.11.2
- dev-release/2.11.1
- dev-release/2.11.0
- dev-release/2.10.1
- dev-release/2.10.0
- dev-release/2.9.1
- dev-release/2.9.0
- dev-release/2.8.0
- dev-release/2.7.0
- dev-release/2.6.3
- dev-release/2.6.2
- dev-release/2.6.1
- dev-release/2.6.0
- dev-release/2.5.0
- dev-release/2.4.0
- dev-release/2.3.0
- dev-release/2.2.0
- dev-release/2.1.0
- dev-release/2.0.1
- dev-release/2.0.0
- dev-release/1.13.0
- dev-release/1.12.0
- dev-release/1.11.0
- dev-release/1.10.0
- dev-release/1.9.1
- dev-release/1.9.0
- dev-release/1.8.0
- dev-release/1.7.1
- dev-release/1.7.0
- dev-release/1.6.0
- dev-release/1.5.7
- dev-release/1.5.6
- dev-release/1.5.5
- dev-release/1.5.4
- dev-release/1.5.3
- dev-release/1.5.2
- dev-release/1.5.1
- dev-release/1.5.0
- dev-release/1.4.0
- dev-release/1.3.1
- dev-release/1.3.0
- dev-feature/PPCO-2087
This package is auto-updated.
Last update: 2024-09-24 11:51:40 UTC
README
该SDK的目标是提供开发过程和与支付、偏好和通知API通信的便捷性。
安装
使用以下命令安装库
composer require mp-plugins/php-sdk
指定版本
composer require mp-plugins/php-sdk 1.4.0
查询SDK版本
要查询可用版本,请访问以下链接。
配置
要将库包含到您的项目中,请执行以下操作
<?php require('vendor/autoload.php'); $sdk = new Sdk('accessToken', 'platformId', 'productId', 'integratorId', 'publicKey');
创建支付
<?php require('vendor/autoload.php'); $sdk = new Sdk('accessToken', 'platformId', 'productId', 'integratorId', 'publicKey'); $payment = $sdk->getPaymentInstance(); $payment->token = "card_token"; $payment->transaction_amount = 230; $payment->description = "Ergonomic Silk Shirt"; $payment->installments = 1; $payment->payment_method_id = "master"; $payment->payer->email = "test_user_98934401@testuser.com"; . . . $payment->save();
获取支付
<?php require('vendor/autoload.php'); $sdk = new Sdk('accessToken', 'platformId', 'productId', 'integratorId', 'publicKey'); $payment = $sdk->getPaymentInstance(); $payment->read(array("id" => 'payment_id'));
创建偏好
<?php require('vendor/autoload.php'); $sdk = new Sdk('accessToken', 'platformId', 'productId', 'integratorId', 'publicKey'); $preference = $sdk->getPreferenceInstance(); $items = ["items" => [ "title" => "Dummy Title", "description" => "Dummy description", "picture_url" => "http://www.myapp.com/myimage.jpg", "category_id" => "car_electronics", "quantity" => 1, "currency_id" => "BRL", "unit_price" => 10.5 ] ]; $preference->items = $items; $preference->notification_url = "notification_url"; $preference->external_reference = "external_reference"; $preference->save();
查询通知
查询参数应遵循以下模式
P-{idPayment}
<?php require('vendor/autoload.php'); $sdk = new Sdk('accessToken', 'platformId', 'productId', 'integratorId', 'publicKey'); $notification = $sdk->getNotificationInstance(); $notification->read(array("id" => "P-1316643861"));
在Datadog中注册事件
<?php require('vendor/autoload.php'); $sdk = new Sdk('accessToken', 'platformId', 'productId', 'integratorId', 'publicKey'); $datadogEvent = $sdk->getDatadogEventInstance(); $details = [ "payment_id" => "123456" ]; $datadogEvent->value = "success"; $datadogEvent->message = "mensagem vinda do teste de integração da SDK de PHP"; $datadogEvent->plugin_version = "1.0.0"; $datadogEvent->platform->name = "core"; $datadogEvent->platform->version = "1.2.0"; $datadogEvent->platform->uri = "/integration_test"; $datadogEvent->platform->url = "https://..."; $datadogEvent->details = $details; $datadogEvent->register(array("team" => "core", "event_type"=> "unit_test"));
记录错误日志
<?php require('vendor/autoload.php'); $sdk = new Sdk('accessToken', 'platformId', 'productId', 'integratorId', 'publicKey'); $registerErrorLog = $sdk->getRegisterErrorLogInstance(); $registerErrorLog->message = 'Sample error message'; $registerErrorLog->stacktrace = 'monitoring_regiter_log.php'; $registerErrorLog->location = 'registerErrorLog'; $registerErrorLog->platform_version = phpversion(); $registerErrorLog->module_version = "1.0.0"; $registerErrorLog->user_agent = 'PHP SDK'; $registerErrorLog->flow = 'sample-php-sdk'; $registerErrorLog->runtime_version = phpversion(); $registerErrorLog->os_version = "10"; $registerErrorLog->browser_version = "Chrome"; $registerErrorLog->uri = 'http://localhost'; $registerErrorLog->url = 'http://localhost'; $registerErrorLog->details = [ 'payment_id' => '123456789', ]; $registerErrorLog->save();
获取支付方式
<?php require('vendor/autoload.php'); $sdk = new Sdk('accessToken', 'platformId', 'productId', 'integratorId', 'publicKey'); $paymentMethods = $sdk->getPaymentMethodsInstance(); $paymentMethods->getPaymentMethodsByGroupBy('id');
获取分组支付方式
以下是一个按id字段分组支付方式的请求示例
<?php require('vendor/autoload.php'); $sdk = new Sdk('accessToken', 'platformId', 'productId', 'integratorId', 'publicKey'); $paymentMethods = $sdk->getPaymentMethodsInstance(); $paymentMethods->getPaymentMethodsByGroupBy('id');
根据access token获取所有商家订单
<?php use MercadoPago\PP\Sdk\Sdk; require_once(__DIR__ . '/vendor/autoload.php'); function debug($value){ echo "<pre>"; print_r($value); echo "</pre>"; } $sdk = new Sdk( 'accessToken', 'platformId', 'productId', 'integratorId', 'publicKey' ); $merchantOrder = $sdk->getMerchantOrderInstance(); debug(json_encode($merchantOrder->getMerchantOrders()));
为漏斗创建新的id
<?php use MercadoPago\PP\Sdk\Sdk; require_once(__DIR__ . '/vendor/autoload.php'); function debug($value){ echo "<pre>"; print_r($value); echo "</pre>"; } $sdk = new Sdk( 'accessToken', 'platformId', 'productId', 'integratorId', 'publicKey' ); $createSellerFunnelBase = $sdk->getCreateSellerFunnelBaseInstance(); $createSellerFunnelBase->platform_id = "123"; $createSellerFunnelBase->shop_url = "http://localhost"; $createSellerFunnelBase->platform_version = "1.0.0"; $createSellerFunnelBase->plugin_version = "1.0.0"; $createSellerFunnelBase->site_id = "MLB"; $response = $createSellerFunnelBase->save(); $response->id $response->cpp_token
更新漏斗的id
<?php use MercadoPago\PP\Sdk\Sdk; require_once(__DIR__ . '/vendor/autoload.php'); function debug($value){ echo "<pre>"; print_r($value); echo "</pre>"; } $sdk = new Sdk( 'accessToken', 'platformId', 'productId', 'integratorId', 'publicKey' ); $updateSellerFunnelBase = $sdk->getUpdateSellerFunnelBaseInstance(); $updateSellerFunnelBase->id = "id"; $updateSellerFunnelBase->cpp_token = "token"; $updateSellerFunnelBase->is_added_production_credential = true; $updateSellerFunnelBase->is_added_test_credential = true; $updateSellerFunnelBase->product_id = "4das56"; $updateSellerFunnelBase->cust_id = "123"; $updateSellerFunnelBase->application_id = "123"; $updateSellerFunnelBase->plugin_mode = "prod"; $updateSellerFunnelBase->is_deleted = false; $updateSellerFunnelBase->accepted_payments = ["bolbradesco", "pix"]; $updateSellerFunnelBase->is_disabled = false; debug(json_encode($updateSellerFunnelBase->update()));
获取特定货币的汇率
<?php require('vendor/autoload.php'); $sdk = new Sdk('accessToken', 'platformId', 'productId', 'integratorId', 'publicKey'); $exchange = $sdk->getExchangeInstance(); $exchange->getExchangeRate("currency_id");
执行集成测试
集成测试位于tests/integration,要执行它们,需要在项目根目录中复制.env.sample文件并创建一个新的.env文件,在项目根目录中,完成此操作后,您应在.env中填写值
集成测试文档:https://mercadolibre.atlassian.net/wiki/spaces/PLU/pages/2280065838/Testes+Integrados+pp-php-sdk