chiarillomassimo/satispay-php-sdk

Satispay API的PHP SDK

v0.1.1 2017-08-18 16:01 UTC

README

SensioLabsInsight Build Status

Satispay PHP SDK

  • 检查载体
  • 用户
  • 费用
  • 金额
  • 退款

安装

下载composer

$ composer require chiarillomassimo/satispay-php-sdk

API: 初始化

use ChiarilloMassimo\Satispay\Authorization\Bearer;
use ChiarilloMassimo\Satispay\Satispay;

$satispay = new Satispay(
    new Bearer('osh_...'),
    'sandbox'
);

API: 检查载体

检查授权

if ($satispay->getBearerHandler()->isAuthorized()) {
 ....
};

API: 用户

创建

$satispay->getUserHandler()->createByPhoneNumber('+39 yourphone')

$user = new User(null, '+39 yourphone');
$satispay->getUserHandler()->persist($user)

获取

$satispay->getUserHandler()->findOneById('id')

查找

$satispay->getUserHandler()->find()
$satispay->getUserHandler()->find(50, 'starting_id', 'ending_id')

$users = $satispay->getUserHandler()->find();

foreach ($users as $user) {
    //...
}

API: 费用

创建

use ChiarilloMassimo\Satispay\Model\Charge;

$charge = new Charge();

$user = $satispay->getUserHandler()->createByPhoneNumber('+39 yourphone');

$charge
    ->setUser($user)
    ->setAmount(15) // 0.15 €
    ->setCallbackUrl('http://fakeurl.com/satispay-callback')
    ->setCurrency('EUR')
    ->setDescription('Test description')
    ->setExpireMinutes(20)
    ->setExtraFields([
        'orderId' => 'id',
        'extra' => 'extra'
    ])
    ->setSendMail(false);
    
$satispay->getChargeHandler()->persist($charge, true);

$charge->isPaid(); //false
$charge->getStatus(); //Charge::STATUS_REQUIRED

获取

$satispay->getChargeHandler()->findOneById('charge_id')

更新

$charge = $satispay->getChargeHandler()->findOneById('charge_id')
$charge->setDescription('My fantastic description!!')

$satispay->getChargeHandler()->update($charge)

查找

$satispay->getChargeHandler()->find()
$satispay->getChargeHandler()->find(50, 'starting_id', 'ending_id')

$charges = $satispay->getChargeHandler()->find();

foreach ($charges as $charge) {
    //...
}

API: 退款

创建

use \ChiarilloMassimo\Satispay\Model\Refund;

$charge = $satispay->getChargeHandler()->findOneById('id');

$refund = new Refund();
$refund
    ->setCharge($charge)
    ->setDescription('Test')
    ->setAmount(15)
    ->setReason(Refund::DUPLICATE);

$satispay->getRefundHandler()->persist($refund);

获取

$satispay->getRefundHandler()->findOneById('id'));

更新

$refund = $satispay->getRefundHandler()->findOneById('id');
$refund->setDescription('My fantastic description!!');

$satispay->getRefundHandler()->update($refund);

查找

$satispay->getRefundHandler()->find()
$satispay->getRefundHandler()->find(50, 'starting_id', 'ending_id')

$refunds = $satispay->getRefundHandler()->find();

foreach ($refunds as $refund) {
    //...
}

API: 金额

获取

$amount = $satispay->getAmountHandler()->findBy(
    new DateTime('2018-01-01'),
    new DateTime('now')
);