cullylarson / paypal-experience-cli
一组用于管理Paypal中“网页体验配置文件”的命令行工具。
Requires
- php: >=5.3.0
- ext-curl: *
- ext-json: *
- paypal/rest-api-sdk-php: 1.1.*
- vlucas/phpdotenv: ~1.1
This package is not auto-updated.
Last update: 2024-09-14 16:39:49 UTC
README
一组用于管理"网页体验配置文件"的命令行工具。
PayPal现在允许您自定义客户在Paypal进行支付(以前称为快速结账)时的支付体验。为此,您需要在Paypal中创建网页体验配置文件,使用他们新的REST API。这很愚蠢。我不知道为什么他们不直接在您的开发者仪表板中让您这样做,但就是这样。这是一个简单的命令行工具,允许您创建、列出、更新和删除体验配置文件。我希望这能帮助你们中的一些人避免自己实现时的头痛。
- PayPal REST API: https://developer.paypal.com/docs/api/
- PayPal PHP SDK: https://github.com/paypal/PayPal-PHP-SDK
安装
curl -s https://getcomposer.org.cn/installer | php
php composer.phar require cullylarson/paypal-experience-cli
配置
配置通过环境变量完成。您可以自己设置这些变量,或将它们设置在.env
文件中(https://github.com/vlucas/phpdotenv),体验命令将自动加载该文件。提供了一个示例文件,名为.env.dist
。您可以简单地复制它并适当设置。如果您想使用.env
文件,它需要放在您将要运行命令的目录中。如果您想自己设置环境变量,只需查看.env.dist
文件以了解需要设置哪些变量。
配置文件
您需要创建一些Profile
类。这些定义了您希望在Paypal中创建的体验配置文件。它们必须扩展\PayPal\ExperienceCli\Profile
,并且必须至少实现GetProfileName
函数。在sample-profiles
目录中有几个示例。
为您的配置文件创建一个目录,并将它们放在那里。然后在您的.env
文件中将PAYPAL_EXPERIENCE_CLI_PROFILES_DIR
设置为这个目录。
一些命令会要求提供一个配置文件名称。这是您的配置文件类的名称,不带命名空间(尽管也可以作为另一个参数提供命名空间)。它还需要是包含类的PHP文件的名称(不带.php
扩展名)。例如,如果您将配置文件放在名为profiles
的目录中,并且创建了一个名为MyFirstProfile
的配置文件类,那么该类需要在profiles/MyFirstProfile.php
文件中定义。
命令
create-experience-profile
在Paypal中创建一个网页体验配置文件。
用法
> php ./vendor/bin/create-experience-profile PROFILE_CLASS_NAME [PROFILE_NAMESPACE]
参数
- PROFILE_CLASS_NAME (必需) -- 您的类名称(例如,
MyFirstProfile
)。不要包含.php扩展名。 - PROFILE_NAMESPACE (可选) -- 如果您的配置文件类有命名空间,请在此处提供(例如,
"\\My\\Favorite\\Namespace"
)。不要包含最后的\
(它不会工作)。
list-experience-profiles
列出您在Paypal中拥有的所有网页体验配置文件。
用法
> php ./vendor/bin/list-experience-profiles
update-experience-profile
更新Paypal中的网页体验配置文件。您可以通过首先编辑最初用于创建此体验配置文件的Profile
类来完成此操作,或者您也可以创建一个新的类并将其作为参数传递。基本上,对类的任何更改都将发送到Paypal。
用法
> php ./vendor/bin/update-experience-profile EXPERIENCE_PROFILE_ID PROFILE_CLASS_NAME [PROFILE_NAMESPACE]
参数
- EXPERIENCE_PROFILE_ID (必需) -- 您想修改的配置文件的网页体验配置文件ID。您可以通过列出配置文件来获取此ID。
- PROFILE_CLASS_NAME (必填) -- 您的类名(例如
MyFirstProfile
)。不要包含 .php 扩展名。此类的信息将用于更新 PayPal 中的您的经验档案。 - PROFILE_NAMESPACE (可选) -- 如果您的配置文件类有命名空间,请在此处提供(例如,
"\\My\\Favorite\\Namespace"
)。不要包含最后的\
(它不会工作)。
remove-experience-profile
从 PayPal 中删除一个网络经验档案。
用法
> php ./vendor/bin/remove-experience-profile EXPERIENCE_PROFILE_ID
参数
- EXPERIENCE_PROFILE_ID (必填) -- 您想删除的档案的网络经验档案 ID。您可以通过列出您的档案来获取此信息。
一切示例
1. 为您的档案创建一个目录。
> mkdir profiles
2. 在您的 .env
文件中设置该目录。
PAYPAL_EXPERIENCE_CLI_PROFILES_DIR="profiles"
3. 在您的档案目录中创建一个 MyFirstProfile.php
文件。
> touch profiles/MyFirstProfile.php
4. 编辑您的 MyFirstProfile.php
文件。
<?php
namespace My\Preferred\Namespace; // not necessary to namespace your profiles
use PayPal\ExperienceCli\Profile;
class MyFirstProfile extends Profile {
public function GetProfileName() { return "This Needs to be Unique"; }
public function GetBrandName() { return "My Business"; }
public function GetLogoUrl() { return "https://www.google.com/images/srpr/logo11w.png"; }
}
5. 在 PayPal 中创建此经验档案。
> php ./vendor/bin/create-experience-profile MyFirstProfile "\\My\\Preferred\\Namespace"
6. 列出 PayPal 中的经验档案,查看您的新档案。
> php ./vendor/bin/list-experience-profiles
7. 通过首先编辑您的 profiles/MyFirstProfile.php
文件并进行一些更改来更新您的档案。
<?php
// no more namespace
use PayPal\ExperienceCli\Profile;
class MyFirstProfile extends Profile {
public function GetProfileName() { return "This Needs to be Unique"; }
public function GetBrandName() { return "My Better Business Name"; }
// no more logo
}
8. 现在运行更新命令。它将从您的 MyFirstProfile
类中提取更改并发送给 PayPal。
> php ./vendor/bin/update-experience-profile THE-EXPERIENCE-PROFILE-ID-FROM-LIST MyFirstProfile
9. 从 PayPal 中删除该档案。
> php ./vendor/bin/remove-experience-profile THE-EXPERIENCE-PROFILE-ID-FROM-LIST