ipagdevs / ipag-sdk-php
Requires
- php: >=7.4
- guzzlehttp/guzzle: >=6.0
- kubinyete/assertation: ^1.0
- psr/log: ^1.1
- symfony/polyfill-php80: ^1.28
- symfony/polyfill-php81: ^1.28
Requires (Dev)
- fakerphp/faker: ^1.23
- phpunit/php-code-coverage: ^9.2.13
- phpunit/phpunit: ^9.6
- symfony/var-dumper: ^5.4
This package is auto-updated.
Last update: 2024-09-10 21:16:05 UTC
README
这是与iPag服务快速和安全集成的正确工具。
注意
此SDK不一定反映iPag API中所有可用资源和功能。请参阅API完整文档:https://developers.ipag.com.br/。
状态
索引
- iPag PHP客户端SDK
- 依赖关系
- 安装
- IpagClient
- 支付(Payment)
- 客户(Customer)
- 订阅计划(Subscription Plan)
- 订阅(Subscription)
- 交易(Transaction)
- 卡令牌(Card Token)
- 收费(Charge)
- 机构(Establishment)
- 拆分规则(Split Rules)
- 卖家(Seller)
- 转账(Transfer)
- 支付链接(Payment Links)
- Webhook
- 结账(Checkout)
- 优惠券(Voucher)
- 助手(Helpers)
- 测试
- 许可
- 文档
- 疑问 & 建议
依赖关系
require
- [PHP >= 7.4]
- [guzzlehttp/guzzle]
- [kubinyete/assertation]
- [psr/log]
- [symfony/polyfill-php81]
- [symfony/polyfill-php80]
require-dev
- [phpunit/phpunit]
- [symfony/var-dumper]
- [fakerphp/faker]
安装
在您的shell中执行
composer require ipagdevs/ipag-sdk-php
IpagClient
负责与iPag API集成的类。通过它,您可以访问API中所有可用的端点。
有关Ipag认证的更多信息,请参阅:Ipag认证
认证
$ipagClient = new \Ipag\Sdk\Core\IpagClient( 'apiID', 'apiKey', IpagEnvironment::SANDBOX );
支付(Payment)
通过信用卡支付示例(简单):examples/payment/00-payment-create-card-simple.php
通过信用卡支付示例(完整):examples/payment/01-payment-create-card-complete.php
为外国客户通过信用卡支付示例(简单):examples/payment/02-payment-create-card-foreign-customer.php
为活动通过信用卡支付示例:examples/payment/03-payment-create-card-for-event.php
通过银行汇票支付示例(完整):examples/payment/04-payment-create-bankslip.php
通过信用卡令牌化支付示例:examples/payment/05-payment-create-card-tokenization.php
仅使用信用卡令牌支付示例:examples/payment/06-payment-create-card-token.php
通过信用卡支付并创建订阅/周期性收费示例:examples/payment/07-payment-create-subscription-recurring-billing-card.php
通过信用卡支付并分割支付示例:examples/payment/08-payment-create-card-with-split.php
通过Pix支付示例(完整):examples/payment/09-payment-create-pix.php
$paymentTransaction = new \Ipag\Sdk\Model\PaymentTransaction( [ 'amount' => 100, 'callback_url' => 'https://ipag-sdk.requestcatcher.com/callback', 'order_id' => '12345679', 'payment' => [ 'type' => Ipag\Sdk\Core\Enums\PaymentTypes::CARD, 'method' => Ipag\Sdk\Core\Enums\Cards::VISA, 'installments' => 4, 'card' => [ 'holder' => 'Bruce Wayne', 'number' => '4111 1111 1111 1111', 'expiry_month' => '01', 'expiry_year' => '2025', 'cvv' => '123' ] ], 'customer' => [ 'name' => 'Bruce Wayne', 'cpf_cnpj' => '490.558.550-30' ] ] );
或
$paymentTransaction = (new \Ipag\Sdk\Model\PaymentTransaction()) ->setAmount(100) ->setOrderId('123456') ->setCallbackUrl('https://ipag-sdk.requestcatcher.com/callback') ->setAntifraud( (new \Ipag\Sdk\Model\PaymentAntifraud()) ->setFingerprint('123') ->setProvider('anti') ) ->setPayment( (new \Ipag\Sdk\Model\Payment()) ->setType(Ipag\Sdk\Core\Enums\PaymentTypes::CARD) ->setMethod(Ipag\Sdk\Core\Enums\Cards::VISA) ->setCard( (new \Ipag\Sdk\Model\PaymentCard()) ->setHolder('Bruce Wayne') ->setNumber('4111 1111 1111 1111') ->setCvv('123') ) ) ->setCustomer( (new \Ipag\Sdk\Model\Customer()) ->setName('Bruce Wayne') ->setCpfCnpj('490.558.550-30') ->setBillingAddress( (new \Ipag\Sdk\Model\Address()) ->setStreet('Avenida Principal') ) ->setShippingAddress( (new \Ipag\Sdk\Model\Address()) ->setStreet('Avenida Principal') ) ) ->setProducts([ (new \Ipag\Sdk\Model\Product()) ->setName('Smart TV LG 55 4K UHD'), ]) ->addProduct( (new \Ipag\Sdk\Model\Product()) ->setName('LED Android TV 4K UHD LED') ) ->setSubscription( (new \Ipag\Sdk\Model\PaymentSubscription()) ->setFrequency(1) ->setTrial( (new \Ipag\Sdk\Model\Trial()) ->setAmount(100) ) ) ->setSplitRules([ (new \Ipag\Sdk\Model\PaymentSplitRules()) ->setSellerId('vendedor1@mail.me') ->setAmount(15), ]) ->addSplitRules( (new \Ipag\Sdk\Model\PaymentSplitRules()) ->setSellerId('vendedor2@mail.me') ->setPercentage(20.0) );
创建支付
$responsePayment = $ipagClient->payment()->create($paymentTransaction);
查询支付
$responsePayment = $ipagClient->payment()->getById($transactionId);
$responsePayment = $ipagClient->payment()->getByUuid($transactionUuid);
$responsePayment = $ipagClient->payment()->getByUuid($transactionTid);
$responsePayment = $ipagClient->payment()->getByUuid($orderId);
捕获支付
$responsePayment = $ipagClient->payment()->captureById($transactionId, $amount);
或
$responsePayment = $ipagClient->payment()->captureByUuid($transactionUuid, $amount);
或
$responsePayment = $ipagClient->payment()->captureByUuid($transactionTid, $amount);
或
$responsePayment = $ipagClient->payment()->captureByUuid($orderId, $amount);
取消支付
$responsePayment = $ipagClient->payment()->cancelById($transactionId, $amount);
或
$responsePayment = $ipagClient->payment()->cancelByUuid($transactionUuid, $amount);
或
$responsePayment = $ipagClient->payment()->cancelByUuid($transactionTid, $amount);
或
$responsePayment = $ipagClient->payment()->cancelByUuid($orderId, $amount);
所有示例:examples/payment/
客户(Customer)
$customer = new \Ipag\Sdk\Model\Customer([ 'name' => 'Bruce Wayne', 'email' => 'brucewayne@email.com', 'cpf_cnpj' => '490.558.550-30', 'phone' => '(22) 2222-33333', 'business_name' => 'Wayne Enterprises', 'birthdate' => '1987-02-19', 'address' => [ 'street' => 'Avenida Principal', 'number' => '12345', 'district' => 'São Paulo', 'city' => 'São Paulo', 'state' => 'SP', 'zipcode' => '01310-000' ] ]);
或
$customer = new \Ipag\Sdk\Model\Customer() ->setName('Bruce Wayne') ->setEmail('brucewayne@email.com') ->setCpfCnpj('490.558.550-30') ->setPhone('(22) 2222-33333') ->setBusinessName('Wayne Enterprises') ->setAddress( new \Ipag\Sdk\Model\Address() ->setStreet('Avenida Paulista') ->setNumber('12345') ->setDistrict('São Paulo') ->setCity('São Paulo') ->setState('SP') ->setZipcode('01310-000') );
新客户
$responseCustomer = $ipagClient->customer()->create($customer);
修改客户
$responseCustomer = $ipagClient->customer()->update($customer, $customerId);
获取客户
$responseCustomer = $ipagClient->customer()->get($customerId);
列出客户
$responseCustomer = $ipagClient->customer()->list([ 'name' => 'wayne' ]);
删除客户
$responseCustomer = $ipagClient->customer()->delete($customerId);
所有示例:examples/customer/
订阅计划(Subscription Plan)
$subscriptionPlan = new \Ipag\Sdk\Model\SubscriptionPlan([ 'name' => 'PLANO GOLD', 'description' => 'Plano Gold com até 4 treinos por semana', 'amount' => 100, 'frequency' => Ipag\Sdk\Core\Enums\Interval::MONTHLY, 'interval' => 1, 'cycles' => 0, 'best_day' => true, 'pro_rated_charge' => true, 'grace_period' => 0, 'callback_url' => 'https://ipag-sdk.requestcatcher.com/callback', 'installments' => 1, 'trial' => [ 'amount' => 0, 'cycles' => 0 ] ]);
或
$subscriptionPlan = new \Ipag\Sdk\Model\SubscriptionPlan() ->setName("PLANO GOLD") ->setDescription("Plano Gold com até 4 treinos por semana") ->setAmount(100) ->setFrequency(Ipag\Sdk\Core\Enums\Interval::MONTHLY) ->setInterval(1) ->setCycles(0) ->setBestDay(true) ->setProRatedCharge(true) ->setGracePeriod(0) ->setCallbackUrl("https://ipag-sdk.requestcatcher.com/callback") ->setInstallments(1) ->setTrial( new \Ipag\Sdk\Model\Trial() ->setAmount(0) ->setCycles(0) );
新订阅计划
$responseSubscriptionPlan = $ipagClient->subscriptionPlan()->create($subscriptionPlan);
修改订阅计划
$responseSubscriptionPlan = $ipagClient->subscriptionPlan()->update($subscriptionPlan, $subscriptionPlanId);
获取订阅计划
$responseSubscriptionPlan = $ipagClient->subscriptionPlan()->get($subscriptionPlanId);
列出订阅计划
$responseSubscriptionPlan = $ipagClient->subscriptionPlan()->list([ 'name' => 'GOLD', ]);
删除订阅计划
$ipagClient->subscriptionPlan()->delete($subscriptionPlanId);
订阅(Subscription)
$subscription = new \Ipag\Sdk\Model\Subscription([ 'is_active' => true, 'profile_id' => 'SUB_01', 'plan_id' => 1, 'customer_id' => 100001, 'starting_date' => '2021-07-11', 'closing_date' => '2021-08-11', 'callback_url' => 'https://ipag-sdk.requestcatcher.com/callback', 'creditcard_token' => '123' ]);
或
$subscription = new \Ipag\Sdk\Model\Subscription() ->setIsActive(true) ->setProfileId('SUB_001') ->setPlanId(1) ->setCustomerId(100001) ->setStartingDate('2021-07-11') ->setClosingDate('2021-08-11') ->setCallbackUrl('https://ipag-sdk.requestcatcher.com/callback') ->setCreditcardToken('123');
新订阅
$responseSubscription = $ipagClient->subscription()->create($subscription);
修改订阅
$responseSubscription = $ipagClient->subscription()->update($subscription, $subscriptionId);
获取订阅
$responseSubscription = $ipagClient->subscription()->get($subscriptionId);
列出订阅
$responseSubscription = $ipagClient->subscription()->list([ 'is_active' => true, ]);
从订阅中解除令牌
$responseSubscription = $ipagClient->subscription()->unlinkToken($subscriptionId);
取消订阅分期付款
$responseSubscription = $ipagClient->subscription()->payOffInstallment($subscriptionId, $invoiceNumber);
安排订阅分期付款
$responseSubscription = $ipagClient->subscription()->scheduleInstallmentPayment($subscriptionId, $invoiceNumber);
交易(Transaction)
获取交易
$responseTransaction = $ipagClient->transaction()->get($transactionId);
列出交易
$responseTransaction = $ipagClient->transaction()->list([ 'order' => 'desc', 'from_date' => '2023-08-29' ]);
释放交易的应收账款
$responseTransaction = $client->transaction()->releaseReceivables($sellerId, $transactionId);
卡令牌(Card Token)
$token = new \Ipag\Sdk\Model\Token([ 'card' => [ 'holderName' => 'Bruce Wayne', 'number' => '4111 1111 1111 1111', 'expiryMonth' => '01', 'expiryYear' => '2025', 'cvv' => '123' ], 'holder' => [ 'name' => 'Bruce Wayne', 'cpfCnpj' => '490.558.550-30', 'mobilePhone' => '(22) 2222-33333', 'birthdate' => '1987-02-19', 'address' => [ 'street' => 'Avenida Principal', 'number' => '12345', 'complement' => 'Sala 02', 'district' => 'São Paulo', 'city' => 'São Paulo', 'state' => 'SP', 'zipcode' => '01310-000' ] ] ]);
或
$token = (new \Ipag\Sdk\Model\Token()) ->setCard( (new \Ipag\Sdk\Model\Card()) ->setHolderName('Bruce Wayne') ->setNumber('4111 1111 1111 1111') ->setExpiryMonth('01') ->setExpiryYear('2025') ->setCvv('123') ) ->setHolder( (new \Ipag\Sdk\Model\Holder()) ->setName('Bruce Wayne') ->setCpfCnpj('490.558.550-30') ->setMobilePhone('(22) 2222-33333') ->setBirthdate('1987-02-19') ->setAddress( new \Ipag\Sdk\Model\Address() ->setStreet('Avenida Principal') ) );
新令牌
$responseToken = $ipagClient->token()->create($token);
获取令牌
$responseToken = $ipagClient->token()->get($tokenValue);
所有示例:examples/token/
收费(Charge)
$charge = new \Ipag\Sdk\Model\Charge([ 'amount' => 100, 'description' => 'Cobrança referente a negociação de débito pendente na Empresa X', 'due_date' => '2020-10-30', 'frequency' => 1, 'interval' => Ipag\Sdk\Core\Enums\Interval::MONTH, 'type' => 'charge', 'last_charge_date' => '2020-10-30', 'callback_url' => 'https://ipag-sdk.requestcatcher.com/callback', 'auto_debit' => false, 'installments' => 12, 'is_active' => true, 'products' => [1, 2, 3], 'customer' => [ 'name' => 'Bruce Wayne', ], 'checkout_settings' => [ 'max_installments' => 12, ] ]);
或
$charge = (new \Ipag\Sdk\Model\Charge()) ->setAmount(100) ->setDescription('Cobrança referente a negociação de débito pendente na Empresa X') ->setDueDate('2020-10-30') ->setFrequency(1) ->setInterval(Ipag\Sdk\Core\Enums\Interval::MONTH) ->setType('charge') ->setLastChargeDate('2020-10-30') ->setCallbackUrl('https://ipag-sdk.requestcatcher.com/callback') ->setAutoDebit(false) ->setInstallments(12) ->setIsActive(true) ->setProducts([1, 2, 3]) ->setCustomer( (new \Ipag\Sdk\Model\Customer()) ->setName('Bruce Wayne') ) ->setCheckoutSettings( (new \Ipag\Sdk\Model\CheckoutSettings()) ->setMaxInstallments(12) );
新收费
$responseCharge = $ipagClient->charge()->create($charge);
修改收费
$responseCharge = $ipagClient->charge()->update($charge, $chargeId);
获取收费
$responseCharge = $ipagClient->charge()->get($chargeId);
列出收费
$responseCharge = $ipagClient->charge()->list([ 'is_active' => false, ]);
所有示例:examples/charge/
机构(Establishment)
$establishment = new \Ipag\Sdk\Model\Establishment([ 'name' => 'Bruce Wayne', 'email' => 'brucewayne@email.com', 'login' => 'wayne1', 'password' => 'bat123', 'document' => '490.558.550-30', 'phone' => '(22) 2222-33333', 'address' => [ 'street' => 'Avenida Principal', ], 'owner' => [ 'name' => 'Bruce Wayne', ], 'bank' => [ 'code' => '999' ] ]);
或
$establishment = (new \Ipag\Sdk\Model\Establishment()) ->setName('Bruce Wayne') ->setEmail('brucewayne@email.com') ->setLogin('wayne1') ->setPassword('bat123') ->setPhone('(22) 2222-33333') ->setDocument('490.558.550-30') ->setAddress(new \Ipag\Sdk\Model\Address()) ->setOwner(new \Ipag\Sdk\Model\Owner()) ->setBank(new \Ipag\Sdk\Model\Bank());
新机构
$responseEstablishment = $ipagClient->establishment()->create($establishment);
修改机构
$responseEstablishment = $ipagClient->establishment()->update($establishment, $establishmentTid);
获取机构
$responseEstablishment = $ipagClient->establishment()->get($establishmentTid);
列出机构
$responseEstablishment = $ipagClient->establishment()->list();
交易(Transactions)
列出所有机构的交易
$responseTransactions = $ipagClient->establishment()->transaction()->list();
列出机构的交易
$responseTransactions = $ipagClient->establishment()->transaction()->listByEstablishment($establishmentTid);
获取机构的交易
$responseTransactions = $ipagClient->establishment()->transaction()->getByEstablishment($establishmentTid, $transactionTid);
支付方式(Payment Methods)
$paymentMethod = new \Ipag\Sdk\Model\PaymentMethod([ 'acquirer' => 'stone', 'priority' => 100, 'environment' => 'test', 'capture' => true, 'retry' => true, 'credentials' => ( (new Ipag\Sdk\Support\Credentials\PaymentMethods\StoneCredentials()) ->setStoneCode('xxxxx') ->setStoneSak('xxxxxx') )->jsonSerialize(), ]);
配置支付方式
$responseConfig = $ipagClient ->establishment() ->paymentMethods() ->config($paymentMethod, $establishmentTid);
反欺诈(Antifraud)
$antifraud = new \Ipag\Sdk\Model\Antifraud( [ 'provider' => ( new Ipag\Sdk\Support\Provider\Antifraudes\RedShieldProvider([ 'token' => 'xxxxxxxx', 'entityId' => 'xxxxxxxx', 'channelId' => 'xxxxxxxx', 'serviceId' => 'xxxxxxxx' ]) )->jsonSerialize(), 'settings' => [ 'enable' => true, 'environment' => 'test', 'consult_mode' => 'auto', 'capture_on_approval' => false, 'cancel_on_refused' => true, 'review_score_threshold' => 0.8 ] ] );
配置反欺诈
$responseConfig = $ipagClient ->establishment() ->antifraud() ->config($antifraud, $establishmentTid);
拆分规则(Split Rules)
$splitRules = new \Ipag\Sdk\Model\SplitRules([ 'receiver_id' => '1000000', 'percentage' => 10.00 ]);
或
$splitRules = (new \Ipag\Sdk\Model\SplitRules()) ->setReceiverId('1000000') ->setPercentage(10);
新拆分规则
$responseSplitRules = $ipagClient->splitRules()->create($splitRules, $transactionId);
获取拆分规则
$responseSplitRules = $ipagClient->splitRules()->get($splitRuleId, $transactionId);
列出拆分规则
$responseSplitRules = $ipagClient->splitRules()->list($transactionId);
删除拆分规则
$responseSplitRules = $ipagClient->splitRules()->delete($splitRuleId, $transactionId);
卖家(Seller)
$seller = new \Ipag\Sdk\Model\Seller([ 'login' => 'jimgordon', 'password' => 'jim123', 'name' => 'Jim Gordon', 'cpf_cnpj' => '168.853.290-02', 'email' => 'jimgordon@email.com', 'phone' => '(11) 3333-44444', 'description' => '', 'address' => [ 'street' => 'Avenida Principal', 'number' => '12345', 'district' => 'São Paulo', 'city' => 'São Paulo', 'state' => 'SP', 'zipcode' => '01310-000' ], 'owner' => [ 'name' => 'Bruce Wayne', 'email' => 'brucewayne@email.com', 'cpf' => '490.558.550-30', 'phone' => '(22) 2222-33333', 'birthdate' => '1987-02-19', ], 'bank' => [ 'code' => '999', 'agency' => '1234', 'account' => '54321', 'type' => 'checkings', 'external_id' => '1', ] ]);
或
$seller = (new \Ipag\Sdk\Model\Seller()) ->setLogin('jimgordon') ->setPassword('jim123') ->setName('Jim Gordon') ->setCpfCnpj('168.853.290-02') ->setEmail('jimgordon@email.com') ->setPhone('(11) 3333-44444') ->setDescription('') ->setAddress( (new \Ipag\Sdk\Model\Address()) ->setStreet('Avenida Principal') ) ->setOwner( (new \Ipag\Sdk\Model\Owner()) ->setName('Bruce Wayne') ) ->setBank( (new \Ipag\Sdk\Model\Bank()) ->setCode('999') );
新卖家
$responseSeller = $ipagClient->seller()->create($seller);
修改卖家
$responseSeller = $ipagClient->seller()->update($seller, $sellerId);
获取卖家
$responseSeller = $ipagClient->seller()->get($sellerId);
列出卖家
$responseSellers = $ipagClient->seller()->list();
所有示例:examples/seller/
转账(Transfer)
列出转账
$responseTransfers = $ipagClient->transfer()->list();
获取转账
$responseTransfers = $ipagClient->transfer()->get($transferId);
卖家转账(Sellers Transfers)
列出卖家转账
$responseTransfers = $ipagClient->transfer()->seller()->list();
获取卖家转账
$responseTransfers = $ipagClient->transfer()->seller()->get($transferId);
未来转账(Future Transfers)
列出未来转账
$responseTransfers = $ipagClient->transfer()->future()->list();
列出卖家未来转账(按ID)
$responseTransfers = $ipagClient->transfer()->future()->listBySellerId($sellerId);
列出卖家未来转账(按CPF/CNPJ)
$responseTransfers = $ipagClient->transfer()->future()->listBySellerCpfCnpj($sellerCpf);
所有示例:examples/transfer/
支付链接(Payment Links)
$paymentLink = new \Ipag\Sdk\Model\PaymentLink([ 'externalCode' => '131', 'amount' => 0, 'description' => 'LINK DE PAGAMENTO SUPER BACANA', 'expireAt' => '2020-12-30 23:00:00', 'buttons' => [ 'enable' => false, ], 'checkout_settings' => [ 'max_installments' => 12, ], ]);
或
$paymentLink = (new \Ipag\Sdk\Model\PaymentLink()) ->setExternalCode('131') ->setAmount(0) ->setDescription('LINK DE PAGAMENTO SUPER BACANA') ->setExpireAt('2020-12-30 23:00:00') ->setButtons( (new \Ipag\Sdk\Model\Buttons()) ->setEnable(false) ) ->setCheckoutSettings( (new \Ipag\Sdk\Model\CheckoutSettings()) ->setMaxInstallments(12) );
新支付链接
$responsePaymentLink = $ipagClient->paymentLinks()->create($paymentLink);
获取支付链接(按ID)
$responsePaymentLink = $ipagClient->paymentLinks()->getById($paymentLinkId);
获取支付链接(按外部代码)
$responsePaymentLink = $ipagClient->paymentLinks()->getByExternalCode($externalCode);
Webhook
$webhook = new \Ipag\Sdk\Model\Webhook([ 'http_method' => 'POST', 'url' => 'https://ipag-sdk.requestcatcher.com/webhook', 'description' => 'Webhook para receber notificações de atualização das transações', 'actions' => [ \Ipag\Sdk\Core\Enums\Webhooks::PAYMENT_LINK_PAYMENT_SUCCEEDED, \Ipag\Sdk\Core\Enums\Webhooks::PAYMENT_LINK_PAYMENT_FAILED, ] ]);
或
$webhook = (new \Ipag\Sdk\Model\Webhook()) ->setHttpMethod('POST') ->setUrl('https://ipag-sdk.requestcatcher.com/webhook') ->setDescription('Webhook para receber notificações de atualização das transações') ->setActions([ \Ipag\Sdk\Core\Enums\Webhooks::PAYMENT_LINK_PAYMENT_SUCCEEDED, \Ipag\Sdk\Core\Enums\Webhooks::PAYMENT_LINK_PAYMENT_FAILED, ]);
新Webhook
$responseWebhook = $ipagClient->webhook()->create($webhook);
获取Webhook
$responseWebhook = $ipagClient->webhook()->get($webhookId);
列出Webhook
$responseWebhook = $ipagClient->webhook()->list();
删除Webhook
$ok = $ipagClient->webhook()->delete($webhookId);
所有示例:examples/webhook/
结账(Checkout)
$checkout = new \Ipag\Sdk\Model\Checkout([ 'customer' => [ 'name' => 'Bruce Wayne', 'tax_receipt' => '490.558.550-30', 'email' => 'brucewayne@email.com', 'phone' => '(22) 2222-33333', 'birthdate' => '1987-02-19', 'address' => [ 'street' => 'Avenida Principal', 'number' => '12345', 'district' => 'São Paulo', 'city' => 'São Paulo', 'state' => 'SP', 'zipcode' => '01310-000' ] ], 'installment_setting' => [ 'max_installments' => 12, 'min_installment_value' => 5, 'interest' => 0, 'interest_free_installments' => 12 ], 'order' => [ 'order_id' => '100001', 'amount' => '15.00', 'return_url' => 'https://ipag-sdk.requestcatcher.com/callback', 'return_type' => 'json' ], 'products' => [ [ 'name' => 'Smart TV LG 55 4K UHD', 'unit_price' => 5000, 'quantity' => 1, 'sku' => 'LG123', 'description' => 'Experiência cristalina em 4K.' ], [ 'name' => 'LED Android TV 4K UHD LED', 'unit_price' => 5000, 'quantity' => 1, 'sku' => 'SAM123', 'description' => 'Android TV de 126 cm (50).' ], ], 'split_rules' => [ [ 'receiver' => 'qwertyuiopasdfghjklzxcvbnm123456', 'percentage' => '50', 'charge_processing_fee' => true, ], [ 'receiver' => '654321mnbvcxzlkjhgfdsapoiuytrewq', 'percentage' => '20' ] ], 'sellerId' => '100014', 'expires_in' => 60, ]);
或
$checkout = (new \Ipag\Sdk\Model\Checkout()) ->setCustomer( (new \Ipag\Sdk\Model\Customer()) ->setName('Bruce Wayne') ) ->setInstallmentSetting( (new \Ipag\Sdk\Model\InstallmentSetting()) ->setMaxInstallments(12) ) ->setOrder( (new \Ipag\Sdk\Model\Order()) ->setOrderId('1000001') ) ->addProduct( (new \Ipag\Sdk\Model\Product()) ->setName('Smart TV LG 55 4K UHD') ) ->addProduct( (new \Ipag\Sdk\Model\Product()) ->setName('Smart TV 50" UHD 4K') ) ->addSplitRule( (new \Ipag\Sdk\Model\SplitRules()) ->setReceiverId('1000000') ) ->addSplitRule( (new \Ipag\Sdk\Model\SplitRules()) ->setReceiverId('1000001') ) ->setSellerId('100014') ->setExpiresIn(60);
新结账
$responseCheckout = $ipagClient->checkout()->create($checkout);
所有示例:examples/checkout/
优惠券(Voucher)
$voucher = new \Ipag\Sdk\Model\Voucher([ 'order' => [ 'order_id' => '100015', 'amount' => 100, 'created_at' => '2020-08-04 21:45:10', 'callback_url' => 'https://ipag-sdk.requestcatcher.com/callback' ], 'seller' => [ 'cpf_cnpj' => '168.853.290-02', ], 'customer' => [ 'name' => 'Jim Gordon', 'cpf_cnpj' => '168.853.290-02', 'email' => 'jimgordon@email.com', 'phone' => '(11) 3333-44444', 'birthdate' => '1990-10-10', 'address' => [ 'street' => 'Avenida Principal', 'number' => '12345', 'district' => 'São Paulo', 'city' => 'São Paulo', 'state' => 'SP', 'zipcode' => '01310-000' ] ] ]);
或
$voucher = (new \Ipag\Sdk\Model\Voucher()) ->setOrder( (new \Ipag\Sdk\Model\Order()) ->setOrderId( '1000001' ) ) ->setSeller( (new \Ipag\Sdk\Model\Seller()) ->setCpfCnpj( '168.853.290-02' ) ) ->setCustomer( (new \Ipag\Sdk\Model\Customer()) ->setName( 'Jim Gordon' ) ->setAddress( (new \Ipag\Sdk\Model\Address()) ->setStreet('Avenida Principal') ) );
新优惠券
$responseVoucher = $ipagClient->voucher()->create($voucher);
所有示例:examples/voucher/
助手(Helpers)
反欺诈提供商凭证
Clear Sale
$clearSaleCredentials = (new \Ipag\Sdk\Support\Credentials\Antifraudes\ClearSaleCredentials()) ->setName('XXXXX') ->setPassword('XXXXXXXX');
Konduto
$kondutoCredentials = (new \Ipag\Sdk\Support\Credentials\Antifraudes\KondutoCredentials()) ->setApiKey('XXXXX') ->setPublicKey('XXXXXXXX');
Red Shield
$redShieldCredentials = (new \Ipag\Sdk\Support\Credentials\Antifraudes\RedShieldCredentials()) ->setToken('XXXXX') ->setEntityId('XXX') ->setChannelId('XXXXX') ->setServiceId('XX');
支付方式提供商凭证
Adiq
$adiqCredentials = (new \Ipag\Sdk\Support\Credentials\PaymentMethods\AdiqCredentials()) ->setClientId('XXXXX') ->setClientSecret('XXXXXXXX');
Bin
$binCredentials = (new \Ipag\Sdk\Support\Credentials\PaymentMethods\BinCredentials()) ->setStoreIdSubscription('XXXXX') ->setStoreId('XXXXXXXX');
Cielo
$cieloCredentials = (new \Ipag\Sdk\Support\Credentials\PaymentMethods\CieloCredentials()) ->setMerchantId('XXXXX') ->setMerchantKey('XXXXXXXX');
Getnet
$getnetCredentials = (new \Ipag\Sdk\Support\Credentials\PaymentMethods\GetnetCredentials()) ->setEstablishmentNumber('XXX') ->setKey('XXXXXXXX') ->setUser('XXX') ->setPassword('XXXXX');
Global Payments
$globalPaymentsCredentials = (new \Ipag\Sdk\Support\Credentials\PaymentMethods\GlobalPaymentsCredentials()) ->setTerminal('XXXXX') ->setMerchantId('XXX') ->setMerchantKey('XXXXXXXX');
Rede
$redeCredentials = (new \Ipag\Sdk\Support\Credentials\PaymentMethods\RedeCredentials()) ->setEredeKey('XXXXXXXX') ->setPv('XXXXX');
Sipag
$sipagCredentials = (new \Ipag\Sdk\Support\Credentials\PaymentMethods\SipagCredentials()) ->setStoreIdSubscription('XXXXXXXX') ->setStoreId('XXXXX');
Stone
$stoneCredentials = (new \Ipag\Sdk\Support\Credentials\PaymentMethods\StoneCredentials()) ->setStoneCode('XXXXX') ->setStoneSak('XXXXXXXX');
Zoop
$zoopCredentials = (new \Ipag\Sdk\Support\Credentials\PaymentMethods\ZoopCredentials()) ->setMarketplaceId('XXX') ->setPublishableKey('XXXXXXXX') ->setSellerId('XXXXX');
测试
执行测试需要安装PHPUnit。
许可
文档
疑问 & 建议
如有关于SDK的疑问或建议,请创建一个新的问题。