定制 cloudcogsio/paypal-rest 二次开发

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

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

cloudcogsio/paypal-rest

Composer 安装命令:

composer require cloudcogsio/paypal-rest

包简介

PHP SDK for PayPal's REST API with Omnipay compatible Gateway

README 文档

README

This package aims implements the PayPal REST API as an Omnipay compatible gateway. Omnipay's basic gateway operations will be supported, but PayPal endpoints can also be used directly.

PayPal REST API Coverage

Only the following APIs are planned.

Checked APIs are completed. Unchecked are under development.

  • Add Tracking
  • Catalog Products
  • Disputes
  • Invoicing
  • Orders
  • Payments
  • Payouts
  • Subscriptions
  • Webhooks

Installation via Composer

$ composer require cloudcogsio/paypal-rest

Usage

1. Instantiate the gateway class

The main gateway class is instantiated the same as an Omnipay gateway.

use Omnipay\Omnipay;

$gateway = Omnipay::create(\Cloudcogs\PayPal\RestGateway::class);
$gateway
    ->setTestMode(true)
    ->setClientId(#YOUR PAYPAL CLIENT ID)
    ->setSecret(#YOUR PAYPAL SECRET);
2. Generate an Access Token.
$accessToken = $gateway->GenerateAccessToken()->send();

Note, the Access Token is stored in the gateway at this point.

  • Management of the Access Token is not (yet) included in this library.
  • You should implement your own method for saving and reusing the Access Token until expired to avoid hitting PayPal query limits by generating a token for each API call.

You can set a previously retrieved Access Token in the gateway as follows:

$gateway->setAccessToken($accessToken);
3. Begin making API calls
/**
 * List products
 * https://developer.paypal.com/docs/api/catalog-products/v1/#products_list
 */

// You can pass API parameters directly
$ListProducts = $gateway->ListProducts(['pageNumber' => 1, 'pageSize' => 5]);

// Alternatively, use the API methods (preferred)
$ListProducts = $gateway->ListProducts();
$ListProducts
    ->setPageNumber(1)
    ->setPageSize(5);

$APIResponse = $ListProducts->send();

// Check for a successful response
if($APIResponse->isSuccessful())
{
    $productList = $APIResponse->getProductList();
    
    // You can iterate over collections
    while(($product = $productList->current()) != null)
    {
        print_r($product);
        $productList->next();
    }
} 

// Handle errors
else {
    $error = $APIResponse->getPayPalError();
    print_r($error);
}

Support

If you are having general issues with Omnipay, we suggest posting on Stack Overflow. Be sure to add the omnipay tag so it can be easily found.

If you believe you have found a bug, please report it using the GitHub issue tracker, or better yet, fork the library and submit a pull request.

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2022-12-08