gencomm / genpay-sdk-php
PHP 客户端,用于与 GenPay API 进行服务器端集成
1.0.1
2019-12-05 19:31 UTC
Requires
- php: >=5.6
Requires (Dev)
- phpunit/phpunit: ~5.7.27
This package is auto-updated.
Last update: 2024-09-06 06:45:37 UTC
README
GenComm PHP SDK 客户端。
最快最简单的方式将 GenPay 集成到您的 PHP 应用程序中
说明
依赖项
require
- PHP >= 5.6
require-dev
- phpunit/phpunit ~ 5.7.27
安装
在您的 shell 中执行
composer require gencomm/gencomm-sdk-php
配置认证
require 'vendor/autoload.php'; use GenComm\GenPay; use GenComm\Enum\Environment; $document = '77753821000123'; $apiKey = '546JK45NJ6K4N6456JKLN6464J5N'; $signature = '123IOU3OI2U1IIOU1OI3UIO23';
实现 GenPay
$genPay = new GenPay($document, $apiKey, $signature, Environment::SANDBOX);
实现 GenLog
$genLog = new GenLog($document, $apiKey, $signature, Environment::SANDBOX);
GenPay
订单
创建票据订单
在此示例中,将创建一个订单。
$order = $genPay ->order() ->setAmount(200.0) ->setCurrency("BRL") ->setFingerprint("fake-fingerprint") ->setWebhookUrl("http://intregation.test/sdk/") ->setReference("Pedido#01") ->setItemsAmount(200.0) ->setPayerIp("127.0.0.1") ->setTaxesAmount(0) ->setShippingAmount(0) ->setDiscountAmount(0) ->addItem( "Pedido#01", "NIKE TENIS", 1, 200.0, 200.0 ); $customer = $genPay ->customer() ->setName("Maria") ->setBirthDate("1985-04-16") ->setBusinessName("Maria") ->setDocument("12345678909") ->setEmail("teste@teste.com.br") ->setKind("personal") ->addAddress("shipping", "09840-500", "Rua Dos Morros", "1000", "ABC", "Maua", "SP", "Maria", "") ->addAddress("billing", "09840-500", "Rua Dos Morros", "1000", "ABC", "Maua", "SP", "Maria", "") ->addAPhones("55", "11", "999999998", "others", "shipping") ->addAPhones("55", "11", "999999998", "others", "billing"); $payment = $genPay ->asBillet() ->setAmount(200.0) ->setExpiresOn("3"); $response = $genPay->createOrder($order, $customer, $payment); print_r($response);
创建信用卡订单
在此示例中,将创建一个订单。
$order = $genPay ->order() ->setAmount(200.0) ->setCurrency("BRL") ->setFingerprint("fake-fingerprint") ->setWebhookUrl("http://intregation.test/sdk/") ->setReference("Pedido#01") ->setItemsAmount(200.0) ->setPayerIp("127.0.0.1") ->setTaxesAmount(0) ->setShippingAmount(0) ->setDiscountAmount(0) ->addItem( "Pedido#01", "NIKE TENIS", 1, 200.0, 200.0 ); $customer = $genPay ->customer() ->setName("Maria") ->setBirthDate("1985-04-16") ->setBusinessName("Maria") ->setDocument("12345678909") ->setEmail("teste@teste.com.br") ->setKind("personal") ->addAddress("shipping", "09840-500", "Rua Dos Morros", "1000", "ABC", "Maua", "SP", "Maria", "") ->addAddress("billing", "09840-500", "Rua Dos Morros", "1000", "ABC", "Maua", "SP", "Maria", "") ->addAPhones("55", "11", "999999998", "others", "shipping") ->addAPhones("55", "11", "999999998", "others", "billing"); $payment = $genPay ->asCreditCard() ->setToken("fake-credit-card-token") ->setReference("Pedido#01") ->setInstallmentsQuantity(10) ->setHolderName("MARIA DA SILVA") ->setHolderDocument("12345678909") ->setCvv("123") ->setBrand("VISA") ->setAmount(200.0) ->setInstallmentInterest( 1, 0, 200, 200, 200 ); $response = $genPay->createOrder($order, $customer, $payment); print_r($response);
取消订单
在此示例中,将取消一个订单。
$response = $genPay->cancel("fake-charge-uuid", Requester::MERCHANT, "Produto errado."); print_r($response);
订单全额退款
在此示例中,将进行订单全额退款。
// Parametro Opcional $bankAccount = [ 'document' => '11111111111', 'bank_code' => '341', 'bank_agency' => '1234', 'bank_number' => '12345678-1', ]; $refund = $genPay->asRefund(); $refund->setReason("Comprou errado.") ->setRequester(Requester::MERCHANT) ->addPayment('fake-payment-id', 250, $bankAccount); $response = $genPay->refund($refund, "fake-charge-uuid"); print_r($response);
订单部分退款
在此示例中,将进行订单部分退款。
// Parametro Opcional $bankAccount = [ 'document' => '11111111111', 'bank_code' => '341', 'bank_agency' => '1234', 'bank_number' => '12345678-1', ]; $refund = $genPay->asRefund(); $refund->setReason("Comprou errado.") ->setRequester(Requester::MERCHANT) ->addPayment('fake-payment-id', 50, $bankAccount); $response = $genPay->refundPartial($refund, "fake-charge-uuid"); print_r($response);
查询
买家利息
$amount = 1000 $response = $genPay->checkout($amount); print_r($response);
验证凭证
$response = $genPay->authorizationValidate(); print_r($response);
GenLog
查询地址
$response = $genLog->autocomplete("01415001"); // Parametro Opcional - Autocomplete Online $response = $genLog->autocomplete("01415001", true); print_r($response);
创建计算
$code = "Product-Code"; $name = "TENIS NIKE"; $quantity = 1; $cost = 50; $width = 1; $weight = 1; $lenght = 1; $height = 1; $calculation = $genLog->calculation(); $calculation->setDestinationZipcode("05001100") ->calculation->setPostageServiceCodes(array()); ->calculation->addProducts( $code, $name, $quantity, $cost, $width, $weight, $lenght, $height ); $response = $genLog->createCalculation($calculation); print_r($response);
创建批次
$firstName = "Maria"; $lastName = "Da Silva"; $document = "12345678909"; $valueBaseICMS = 1.0; $valueICMS = 0.50; $valueBaseICMSST = 1.0; $valueICMSST = 1; $batch = $genLog->batch(); $batch->setCalculationCode("fake-calculation-code") ->setPostageServiceCode("fake-postage-service-code") ->setOrder("1666000041", "1666000041", 200.83) ->setCustomer($firstName, $lastName, $document) ->setInvoice( "series", "number", "key", "cfop", "2019-01-01", $valueBaseICMS, $valueICMS, $valueBaseICMSST, $valueICMSST ) ->setDeliveryAddress( $firstName, $lastName, "Av. Francisco Matarazzo", "1500", "Torre New York 6 Andar", "Água Branca", "São Paulo", "SP", "05001100", "maria@teste.com.br", "1144556677", "1155667788" ); $response = $genLog->generateBatch($batch); print_r($response);
订单详情
$response = $genLog->orderDetail("order-id"); print_r($response);
支持
有疑问或想实现 GenComm 服务,请访问 GenPay