paypal/adaptivepayments-sdk-php

此包已被废弃且不再维护。未建议替代包。

PHP PayPal adaptivepayments SDK

v3.9.2 2016-04-08 16:14 UTC

README

Adaptive Payments 正在迁移到有限发布

重要:Adaptive Payments 现在是一个有限发布的产品。它仅限于选定的合作伙伴进行批准的使用场景,并且在没有 PayPal 指导的情况下不应用于新的集成。

TLSv1.2 更新

支付卡行业(PCI)委员会已强制将早期版本的 TLS 从服务中退役。所有处理信用卡信息组织都必须遵守此标准。作为这项义务的一部分,PayPal 正在更新其服务,要求所有 HTTPS 连接使用 TLS 1.2。在此期间,PayPal 还将要求所有连接使用 HTTP/1.1。有关更多信息,请点击此处

已创建一个新的 mode 来测试您的服务器/机器是否处理 TLSv1.2 连接。请使用 tls 模式而不是 sandbox 进行验证。验证后,您可以切换回 sandbox 模式。请查看此示例配置

支持

请联系PayPal 技术支持解决任何实时或账户问题。

先决条件

PayPal 的 PHP Adaptive Payments SDK 需要

  • PHP 5.3 及以上版本
  • curl/openssl PHP 扩展

运行示例

要运行捆绑的示例,首先将 samples 文件夹复制到您的 Web 服务器根目录。然后,您需要使用 composer(仅限 PHP V5.3+)将 SDK 作为依赖项安装。

在 samples 文件夹中运行 composer update

使用 SDK

要使用 SDK,

  • 创建一个包含以下内容的 composer.json 文件。
{
    "name": "me/shopping-cart-app",
    "require": {
        "paypal/adaptivepayments-sdk-php":"v3.6.106"
    }
}
  • 使用 composer 将 SDK 作为依赖项安装。
  • 在您的应用程序中要求 vendor/autoload.phpPPBootStrap.php
  • 选择您想要如何配置 SDK - 您可以选择
    • 创建一个包含配置参数的 hashmap 并将其传递给服务对象 OR
    • 创建一个 sdk_config.ini 文件并将 PP_CONFIG_PATH 常量设置为指向此文件存在的目录。
  • 根据您的项目需求创建服务包装器对象和请求对象。
  • 在服务对象上调用适当的方法。

例如,

	// Sets config file path(if config file is used) and registers the classloader
    require("PPBootStrap.php");
	
	// Array containing credentials and confiuration parameters. (not required if config file is used)
	$config = array(
       'mode' => 'sandbox',
       'acct1.UserName' => 'jb-us-seller_api1.paypal.com',
       'acct1.Password' => 'WX4WTU3S8MY44S7F'
       .....
    );

    $payRequest = new PayRequest($requestEnvelope, $actionType, $cancelUrl, 
                                  $currencyCode, $receiverList, $returnUrl);
    // Add optional params
    if($_POST["feesPayer"] != "") {
	   $payRequest->feesPayer = $_POST["feesPayer"];
    }
	......

	$service = new AdaptivePaymentsService($config);
	$response = $service->Pay($payRequest);	
	if(strtoupper($response->responseEnvelope->ack == 'SUCCESS') {
		// Success
	}

身份验证

SDK 提供多种方式来验证您的 API 调用。

	$service = new AdaptivePaymentsService($config);
	
	// Use the default account (the first account) configured in sdk_config.ini or config hashmap
	$response = $service->Pay($payRequest);	

	// Use a specific account configured in sdk_config.ini or config hashmap
	$response = $service->Pay($payRequest, 'jb-us-seller_api1.paypal.com');	
	 
	// Pass in a dynamically created API credential object
    $cred = new PPCertificateCredential("username", "password", "path-to-pem-file");
    $cred->setThirdPartyAuthorization(new PPTokenAuthorization("accessToken", "tokenSecret"));
	$response = $service->Pay($payRequest, $cred);	

SDK 配置

SDK 允许您配置以下参数。

  • 集成模式(沙箱/实时)
  • (多个)API 账户凭证。
  • HTTP 连接参数
  • 日志记录

可以通过传递凭证和配置值的映射来设置动态配置值(如果传递了配置映射,则忽略配置文件)

    $config = array(
       'mode' => 'sandbox',
       'acct1.UserName' => 'jb-us-seller_api1.paypal.com',
       'acct1.Password' => 'WX4WTU3S8MY44S7F'
       .....
    );
	$service  = new AdaptivePaymentsService($config);

或者,您可以通过 sdk_config.ini 文件来配置 SDK。

    define('PP_CONFIG_PATH', '/directory/that/contains/sdk_config.ini');
    $service  = new AdaptivePaymentsService();

您可以在 wiki 页面查看完整的配置参数列表。

即时付款通知(IPN)

请参阅 'samples/IPN' 目录下的 IPN-README。

链接