jpaypp/jpay-skrillpay-php

SkrillPay的REST API的PHP SDK

v1.2.1 2019-06-17 08:00 UTC

This package is auto-updated.

Last update: 2024-09-17 19:54:32 UTC


README

您可以在https://www.skrill.com注册SkrillPay账户。

要求

PHP 5.6.0及更高版本。

Composer

您可以通过Composer安装绑定。运行以下命令

composer require jpaypp/jpay-skrillpay-php

要使用绑定,请使用Composer的自动加载

require_once('vendor/autoload.php');

手动安装

如果您不想使用Composer,您可以下载最新版本。然后,要使用绑定,请包含init.php文件。

require_once('/path/to/SkrillPay-php/init.php');

依赖项

绑定需要以下扩展才能正常运行

  • curl,尽管您可以选择使用自己的非cURL客户端
  • json
  • mbstring(多字节字符串)

如果您使用Composer,这些依赖项应自动处理。如果您手动安装,请确保这些扩展可用。

入门指南

简单使用如下

init config

$skrill = new ApiContext(
    new OAuthTokenCredential(
        'demoqco@sun-fish.com',
        'skrill',
        'skrill123'
    )
);

$skrill->setConfig(
    array(
        'mode' => 'live',
        'log.LogEnabled' => true,
        'log.FileName' => APPS_PATH .'/../logs/SkrillPay.log',
        'log.LogLevel' => 'INFO', // PLEASE USE `INFO` LEVEL FOR LOGGING IN LIVE ENVIRONMENTS
        'cache.enabled' => false,
        'http.CURLOPT_CONNECTTIMEOUT' => 30
    )
);

checkout

$payer = new Payer();
$payer->setPaymentMethod('quick');


$payerInfo = new PayerInfo();

$payerInfo->setPayToEmail($skrill->getCredential()->getClientId())
    ->setLogoUrl('company logo url')
    ->setRecipientDescription('http://xxxx/company desc')
    ->setTransactionId(time())

    ->setReturnUrl('http://xxxx/callback.html')
    ->setReturnUrlTarget('_self')
    ->setReturnUrlText('返回信息描述')

    ->setCancelUrl('cancle.html')
    ->setCancelUrlTarget('_self')

    ->setStatusUrl('http://xxxx/notify.html');


$amount = new Amount();

$amount->setCurrency("EUR")
       ->setAmount('1')
       ->setDetail1Text('test')
       ->setDetail1Description('年费会员');

$checkout = new Checkout();

$checkout->setPayer($payer) //base
    ->setPayerInfo($payerInfo)  //merchant
    ->setCustomer( new Customer()) //customer
    ->setAmount($amount) //amount
    ->setPrepareOnly('1');  //generate a SID

try {
    $checkout->create($skrill);
} catch (\Exception $e) {
    echo json_encode(array('code'=>201,'data'=>$e->getMessage()))."\r\n";
    die();
}

$approvalUrl = $checkout->getApprovalLink();

通知回调

$skrill = new ApiContext(
    new OAuthTokenCredential(
        'demoqco@sun-fish.com',
        'skrill',
        'skrill123'
    )
);

$skrill->setConfig(
    array(
        'mode' => 'live',
        'log.LogEnabled' => true,
        'log.FileName' => APPS_PATH .'/../logs/SkrillPay.log',
        'log.LogLevel' => 'INFO', // PLEASE USE `INFO` LEVEL FOR LOGGING IN LIVE ENVIRONMENTS
        'cache.enabled' => false,
        'http.CURLOPT_CONNECTTIMEOUT' => 30
    )
);

$payload = json_encode($_POST);

$hook = new Webhook();
$hook->setPayload($payload);

try{
    if($hook->verify($skrill)){
        $payload = $hook->getVerifyWebhookSignature()->getWebhookResponse();
        //业务处理

    }
}catch (Exception $e){

}

开发

获取[Composer][composer]。例如,在Mac OS上

brew install composer

安装依赖项

composer install