定制 schibsted/sdk-php-payment-gateway 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

schibsted/sdk-php-payment-gateway

Composer 安装命令:

composer require schibsted/sdk-php-payment-gateway

包简介

Schibsted ePayment Platform SDK

README 文档

README

Travis

Install with composer

  • composer require schibsted/sdk-php-payment-gateway (install this library)
  • composer require schibsted/sdk-php (install SPiD sdk required for getting authentication tokens)

Usage

<?php
use schibsted\payment\sdk\response\Success;
use schibsted\payment\sdk\response\Response;
use schibsted\payment\resources\Order;

$spid_config = [
    VGS_Client::CLIENT_ID       => '<YOUR ID>',
    VGS_Client::CLIENT_SECRET   => '<YOUR SECRET>',
    VGS_Client::CLIENT_SIGN_SECRET => '<YOUR SIGNATURE SECRET>',
    VGS_Client::PRODUCTION      => false,
    VGS_Client::API_VERSION     => 2,
];

$spid_client = new VGS_Client($spid_config);
$oauth_token = $spid_client->auth();

$payment_gateway_config = [
	'host' => 'https://api-gateway-stage.payment.schibsted.no',
	'port' => '443',
    'adapter_config' => [ CURLOPT_CONNECTTIMEOUT_MS => 1000],
    'token' => $oauth_token
];

$amount = 12000; // 120 euro, amount in CENT
$vat = 2500; // 25%, amount in hundredths

$order_res = new Order($payment_gateway_config);
$data = [
    "purchaseFlow" => "SALE",
    "fromPaymentProviderInfo" => [
        [
            "ppaProvider" => "ADYEN_CARD",
            "storedPaymentMethodId" => $method_id
        ]
    ],
    "description" => "Some description of a payment",
    "fromUserIp" => "127.0.0.1",
    "currency" => "EUR",
    "clientId" => $this->client_id,
    "merchantId" => $merchant_id,
    "transactionReference" => uniqid(),
    "orderItems" => [
        [
            "quantity" => 1,
            "type" => "DEFAULT",
            "price" => $amount,
            "vat" => $vat,
            "name" => "Some name of item",
            "description" => 'Some description of item',
        ]
    ]
];
$result = $order_res->create($data);
if ($result instanceof Success === false) {
    $content = $result->getContent();
    $c = $content['errorCode'] ?? '-';
    $m = $content['errorMessage'] ?? 'unknown';
    $r = $content['requestId'] ?? '<NO REQUEST ID>';
    throw new \Exception("Create Order failed: $c : $r : $m");
}
$order = $result->getContent();
$order_id = $order['id'];
if (is_numeric($order_id) == false) {
    throw new \Exception("Order object not valid");
}
$result = $order_res->initialize($order_id);
if ($result instanceof Success === false) {
    $content = $result->getContent();
    $c = $content['errorCode'] ?? '-';
    $m = $content['errorMessage'] ?? 'unknown';
    $r = $content['requestId'] ?? '<NO REQUEST ID>';
    throw new \Exception("Order Init failed: $c : $r : $m");
}
$result = $order_res->complete($order_id);
if ($result instanceof Success === false) {
    $content = $result->getContent();
    $c = $content['errorCode'] ?? '-';
    $m = $content['errorMessage'] ?? 'unknown';
    $r = $content['requestId'] ?? '<NO REQUEST ID>';
    throw new \Exception("Order Complete failed: $c : $r : $m");
}
return $result->getContent();

schibsted/sdk-php-payment-gateway 适用场景与选型建议

schibsted/sdk-php-payment-gateway 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 11.55k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2017 年 09 月 26 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 schibsted/sdk-php-payment-gateway 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 schibsted/sdk-php-payment-gateway 我们能提供哪些服务?
定制开发 / 二次开发

基于 schibsted/sdk-php-payment-gateway 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 11.55k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 11
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 9
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2017-09-26