灵魂支付/ soulpay-sdk
汞API的SDK
Requires
- php: >=7.4.0
This package is auto-updated.
Last update: 2024-09-19 14:15:48 UTC
README
电子商务API SDK
介绍
本文件解释了如何使用我们PHP SDK进行电子商务API集成,以开始执行交易。
要求
- PHP 7.0+
使用Composer安装
composer require soulpay/soulpay-sdk
开始吧
API能够执行信用卡交易、生成账单和每日、每周、每月或其他时间段的选择的定期付款。
环境
要使用此SDK进行测试环境,需要将请求构造函数的最后一个参数设置为false,如下所示。
// Request para o ambiente de desenvolvimento $request = new CreditCardRequest('Sua chave JWT aqui', false); // Request para o ambiente de produção $request = new CreditCardRequest('Sua chave JWT aqui', true);
登录
要执行登录,需要创建一个Login对象,用Email和Password填充它。随后,需要实例化LoginRequest类并将先前创建的Login对象传递给send方法。
以下是一个示例
$login = new Login(); $login->setEmail('testedev@dev.com'); $login->setPassword('testeDev'); $loginRequest = new LoginRequest(false); $response = $loginRequest->send(json_encode($login));
创建交易
要创建交易,需要填写在文档中描述的必填信息。
遵循相同的思想,需要实例化交易模型,包括Customer、Billing、Shipping、CreditCard、CreditInstallment、Payment、CreditCardTransaction。
要发送交易,需要实例化CreditCardTransaction,其中JWT令牌应作为参数传递。
$customer = new Customer(); $customer->setName('cliente'); $customer->setEmail('cliente@cliente.com'); $customer->setDob('1997-10-03'); $customer->setTaxId('1234134141'); $billing = new Billing(); $billing->setName('Soulpay'); $billing->setAddress('Avenida Paulista'); $billing->setAddress2('124'); $billing->setDistrict('Bela vista'); $billing->setCity('São Paulo'); $billing->setState('SP'); $billing->setPostalCode('01311000'); $billing->setCountry('BR'); $billing->setPhone('111112222233333'); $billing->setEmail('billing@soulpay.com.br'); $shipping = new Shipping(); $shipping->setName('Soulpay'); $shipping->setAddress('Avenida Paulista'); $shipping->setAddress2('124'); $shipping->setDistrict('Bela vista'); $shipping->setCity('São Paulo'); $shipping->setState('SP'); $shipping->setPostalCode('01311000'); $shipping->setCountry('BR'); $shipping->setPhone('12345678'); $shipping->setEmail('shipping@soulpay.com.br'); $creditCard = new CreditCard(); $creditCard->setCardHolderName('Soulpay'); $creditCard->setNumber('4620685100802685'); $creditCard->setExpDate('12/2022'); $creditCard->setCvvNumber('420'); $creditInstallment = new CreditInstallment(); $creditInstallment->setNumberOfInstallments(1); $creditInstallment->setChargeInterest('N'); $payment = new Payment(); $payment->setChargeTotal(10.5); $payment->setCurrencyCode('BRL'); $payment->setCreditInstallment($creditInstallment); $creditCardTransaction = new CreditCardTransaction(); $creditCardTransaction->setReferenceNum('123456'); $creditCardTransaction->setCustomer($customer); $creditCardTransaction->setBilling($billing); $creditCardTransaction->setShipping($shipping); $creditCardTransaction->setCreditCard($creditCard); $creditCardTransaction->setPayment($payment); // Passar o token JWT aqui. $request = new CreditCardRequest('eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjEsImlhdCI6MTU3NTkwMzEyOSwiZXhwIjoxNTc4NDk1MTI5fQ.c0g6ynTtZHFSU3qh4bJWy-jea0VnKE4hGBTAs_uhNjY', false); $response = $request->send(json_encode($creditCardTransaction)
创建定期付款
要创建定期付款,需要填写在文档中描述的必填信息。
遵循与交易相同的思想,需要实例化定期付款模型,包括Customer、Billing、Shipping、CreditCard、Recurring、CreditInstallment、Payment、RecurringTransaction。要发送定期付款,需要实例化RecurringRequest,其中JWT令牌应作为参数传递。
$customer = new Customer(); $customer->setName('cliente'); $customer->setEmail('cliente@cliente.com'); $customer->setDob('1997-10-03'); $customer->setTaxId('1234134141'); $billing = new Billing(); $billing->setName('Soulpay'); $billing->setAddress('Avenida Paulista'); $billing->setAddress2('124'); $billing->setDistrict('Bela vista'); $billing->setCity('São Paulo'); $billing->setState('SP'); $billing->setPostalCode('01311000'); $billing->setCountry('BR'); $billing->setPhone('111112222233333'); $billing->setEmail('billing@soulpay.com.br'); $shipping = new Shipping(); $shipping->setName('Soulpay'); $shipping->setAddress('Avenida Paulista'); $shipping->setAddress2('124'); $shipping->setDistrict('Bela vista'); $shipping->setCity('São Paulo'); $shipping->setState('SP'); $shipping->setPostalCode('01311000'); $shipping->setCountry('BR'); $shipping->setPhone('12345678'); $shipping->setEmail('shipping@soulpay.com.br'); $creditCard = new CreditCard(); $creditCard->setCardHolderName('Soulpay'); $creditCard->setNumber('4620685100802685'); $creditCard->setExpDate('12/2022'); $creditCard->setCvvNumber('420'); $creditInstallment = new CreditInstallment(); $creditInstallment->setNumberOfInstallments(1); $creditInstallment->setChargeInterest('N'); $payment = new Payment(); $payment->setChargeTotal(10.5); $payment->setCurrencyCode('BRL'); $payment->setCreditInstallment($creditInstallment); $recurring = new Recurring(); $recurring->setStartDate('2022-01-10'); $recurring->setPeriod('monthly'); $recurring->setFrequency('1'); $recurring->setInstallments('12'); $recurring->setFirstAmount(20.2); $recurring->setFailureThreshold(15); $recurringTransaction = new RecurringTransaction(); $recurringTransaction->setReferenceNum('123456'); $recurringTransaction->setCustomer($customer); $recurringTransaction->setBilling($billing); $recurringTransaction->setShipping($shipping); $recurringTransaction->setCreditCard($creditCard); $recurringTransaction->setPayment($payment); $recurringTransaction->setRecurring($recurring); // Passar o token JWT aqui. $request = new RecurringRequest('eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjEsImlhdCI6MTU3NTkwMzEyOSwiZXhwIjoxNTc4NDk1MTI5fQ.c0g6ynTtZHFSU3qh4bJWy-jea0VnKE4hGBTAs_uhNjY', false); $response = $request->send(json_encode($recurringTransaction))
启用/禁用定期付款
在编辑定期付款时,需要实例化RecurringStatus模型。要发送请求,需要实例化RecurringRequest,其中JWT令牌应作为参数传递。
$recurringStatus = new RecurringStatus(); //Passar a ação a ser executada: disable | enable $recurringStatus->setStatus('disable'); // Passar o token JWT aqui. $request = new RecurringRequest('eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjMsImlhdCI6MTU3NjA3Mzc0MiwiZXhwIjoxNTc4NjY1NzQyfQ.45tr4BlNhzRQQc1nLw9C6kUqMpwS1WxdYptSIBmHtE4', false); // Order ID $response = $request->put(10407, json_encode($recurringStatus));
生成银行汇票
要创建银行汇票,需要填写在文档中描述的必填信息。
遵循与交易相同的思想,需要实例化汇票模型,包括Customer、Billing、BankSlip、Payment、BankSLipTransaction、BankSlipRequest。
要发送银行汇票,需要实例化BankSlipTransaction,其中JWT令牌应作为参数传递。
$billing = new Billing(); $billing->setName('SoulPay'); $billing->setAddress('Avenida Paulista'); $billing->setAddress2('124'); $billing->setDistrict('Bela vista'); $billing->setCity('São Paulo'); $billing->setState('SP'); $billing->setPostalCode('01311000'); $billing->setCountry('BR'); $billing->setPhone('111112222233333'); $billing->setEmail('billing@soulpay.com.br'); $customer = new Customer(); $customer->setName('Cliente'); $customer->setTaxId('12234554323'); $bankSlip = new BankSlip(); $bankSlip->setExpirationDate('2022-12-25'); $bankSlip->setInstructions('teste API'); $payment = new Payment(); $payment->setChargeTotal(10.5); $payment->setCurrencyCode('BRL'); $bankSlipTransaction = new BankSlipTransaction(); $bankSlipTransaction->setReferenceNum('123456'); $bankSlipTransaction->setCustomer($customer); $bankSlipTransaction->setBilling($billing); $bankSlipTransaction->setBankSlip($bankSlip); $bankSlipTransaction->setPayment($payment); // Passar o token JWT aqui. $bankSlipRequest = new BankSlipRequest('eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjMsImlhdCI6MTU3NjA3Mzc0MiwiZXhwIjoxNTc4NjY1NzQyfQ.45tr4BlNhzRQQc1nLw9C6kUqMpwS1WxdYptSIBmHtE4', false); $response = $bankSlipRequest->send(json_encode($bankSlipTransaction))
查询交易
要查询交易,需要实例化CreditCardRequest类。将Order ID作为搜索参数传递。
// Passar o token JWT aqui. $request = new CreditCardRequest('eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjEsImlhdCI6MTU3NTkwMzEyOSwiZXhwIjoxNTc4NDk1MTI5fQ.c0g6ynTtZHFSU3qh4bJWy-jea0VnKE4hGBTAs_uhNjY', false); // Order ID $response = $request->get(253);
查询汇票
要查询汇票,需要实例化BankSlipRequest类。将Order ID作为搜索参数传递。
// Passar o token JWT aqui. $request = new BankSlipRequest('eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjMsImlhdCI6MTU3NjA3Mzc0MiwiZXhwIjoxNTc4NjY1NzQyfQ.45tr4BlNhzRQQc1nLw9C6kUqMpwS1WxdYptSIBmHtE4', false); // Order ID $response = $request->get(253);
查询定期付款
要查询定期付款,需要实例化RecurringRequest类。将Order ID作为搜索参数传递。
// Passar o token JWT aqui. $request = new RecurringRequest('eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjMsImlhdCI6MTU3NjA3Mzc0MiwiZXhwIjoxNTc4NjY1NzQyfQ.45tr4BlNhzRQQc1nLw9C6kUqMpwS1WxdYptSIBmHtE4', false); // Order ID $response = $request->get(253);