paymaya / paymaya-sdk
PayMaya API 的 PHP SDK。在您的 Web 应用程序上接受信用卡和借记卡付款。
0.0.2
2017-06-14 09:07 UTC
Requires (Dev)
- phpunit/phpunit: 4.8.*
This package is not auto-updated.
Last update: 2024-09-28 19:20:38 UTC
README
PayMaya PHP SDK 允许您的 Web 应用程序接受使用任何 MasterCard 和 Visa 启用的卡(信用卡、借记卡或预付卡)的客户付款。
先决条件
测试
- phpunit/phpunit: 4.8.*
安装
- 通过 Composer
composer require "paymaya/paymaya-sdk:*"
- 直接下载
通过克隆此存储库(https://github.com/PayMaya/PayMaya-PHP-SDK)并将其手动添加到您的项目中来集成 SDK。您可以查看示例目录以了解如何使用 SDK
先决条件
API 密钥
要使用 PayMaya PHP SDK,您需要为沙盒和生产环境有不同的 API 密钥。
沙盒环境
沙盒凭据对于测试应用程序集成非常有用。在此环境中进行的所有交易和资金流动仅是模拟的,并不反映您的生产记录。沙盒 API 密钥可在以下位置找到
https://developers.paymaya.com/blog/entry/checkout-api-test-credit-card-account-numbers
生产环境
在成功集成测试后,在 PayMaya 开发者门户中联系我们以了解更多有关商户入驻流程的信息。一旦您完成入驻,我们将为您提供生产 API 凭据。收到后,只需更改 SDK 初始化以使用生产环境即可开始接受实时交易。
用法
1. 自动加载 SDK。这将包括所有文件和类到自动加载器中。如果您使用 composer 下载了 SDK,请将 PayMaya-PHP-SDK 替换为 vendor。
// Used for composer based installation require __DIR__ . '/vendor/autoload.php'; // Use below for direct download installation // require __DIR__ . '/PayMaya-PHP-SDK/autoload.php';
2. 使用公共 API 密钥、秘密 API 密钥和预期环境("SANDBOX" 或 "PRODUCTION")初始化 SDK
// PayMayaSDK::getInstance()->initCheckout(<PUBLIC_API_KEY>, <SECRET_API_KEY>, <ENVIRONMENT>);
结账
1. 创建结账对象
// Checkout $itemCheckout = new Checkout(); $user = new User(); $itemCheckout->buyer = $user->buyerInfo(); // Item $itemAmountDetails = new ItemAmountDetails(); $itemAmountDetails->shippingFee = "14.00"; $itemAmountDetails->tax = "5.00"; $itemAmountDetails->subtotal = "50.00"; $itemAmount = new ItemAmount(); $itemAmount->currency = "PHP"; $itemAmount->value = "69.00"; $itemAmount->details = $itemAmountDetails; $item = new Item(); $item->name = "Leather Belt"; $item->code = "pm_belt"; $item->description = "Medium-sized belt made from authentic leather"; $item->quantity = "1"; $item->amount = $itemAmount; $item->totalAmount = $itemAmount; $itemCheckout->items = array($item); $itemCheckout->totalAmount = $itemAmount; $itemCheckout->requestReferenceNumber = "123456789"; $itemCheckout->redirectUrl = array( "success" => "https://shop.com/success", "failure" => "https://shop.com/failure", "cancel" => "https://shop.com/cancel" );
2. 结账方法
- 执行结账 - 方法将为结账对象分配结账 ID 和结账 URL。使用结账 URL 将买家重定向到结账页面。
$itemCheckout->execute(); echo $itemCheckout->id // Checkout ID echo $itemCheckout->url // Checkout URL
- 检索结账 - 方法将为给定的结账 ID 分配所有可用的结账信息。
$itemCheckout->retrieve(); /* The following properties will be populated * $status * $paymentType * $transactionReferenceNumber * $receiptNumber; * $paymentStatus; * $voidStatus; * $metadata; */
定制
1. 创建定制对象
<?php $shopCustomization = new Customization(); $shopCustomization->logoUrl = "https://cdn.paymaya.com/production/checkout_api/customization_example/yourlogo.svg"; $shopCustomization->iconUrl = "https://cdn.paymaya.com/production/checkout_api/customization_example/youricon.ico"; $shopCustomization->appleTouchIconUrl = "https://cdn.paymaya.com/production/checkout_api/customization_example/youricon_ios.ico"; $shopCustomization->customTitle = "Checkout Page Title"; $shopCustomization->colorScheme = "#368d5c";
2. 定制方法
- 设置定制 - 用于设置商户的结账页面定制。
$shopCustomization->set(); echo "Logo URL: " . $shopCustomization->logoUrl . "\n"; // https://cdn.paymaya.com/production/checkout_api/customization_example/yourlogo.svg echo "Icon URL: " . $shopCustomization->iconUrl . "\n"; // https://cdn.paymaya.com/production/checkout_api/customization_example/youricon.ico echo "Apple Touch Icon URL: " . $shopCustomization->appleTouchIconUrl . "\n"; // https://cdn.paymaya.com/production/checkout_api/customization_example/youricon_ios.ico echo "Custom Title: " . $shopCustomization->customTitle . "\n"; // Checkout Page Title echo "Color Scheme: " . $shopCustomization->colorScheme . "\n"; // #368d5c
- 获取定制 - 用于获取商户的结账页面定制。
$shopCustomization->get(); echo "Logo URL: " . $shopCustomization->logoUrl . "\n"; // https://cdn.paymaya.com/production/checkout_api/customization_example/yourlogo.svg echo "Icon URL: " . $shopCustomization->iconUrl . "\n"; // https://cdn.paymaya.com/production/checkout_api/customization_example/youricon.ico echo "Apple Touch Icon URL: " . $shopCustomization->appleTouchIconUrl . "\n"; // https://cdn.paymaya.com/production/checkout_api/customization_example/youricon_ios.ico echo "Custom Title: " . $shopCustomization->customTitle . "\n"; // Checkout Page Title echo "Color Scheme: " . $shopCustomization->colorScheme . "\n"; // #368d5c
- 移除定制 - 用于移除商户的结账页面定制。
$shopCustomization->remove(); echo "Logo URL: " . $shopCustomization->logoUrl . "\n"; // null echo "Icon URL: " . $shopCustomization->iconUrl . "\n"; // null echo "Apple Touch Icon URL: " . $shopCustomization->appleTouchIconUrl . "\n"; // null echo "Custom Title: " . $shopCustomization->customTitle . "\n"; // null echo "Color Scheme: " . $shopCustomization->colorScheme . "\n"; // null
Webhook
1. 创建 Webhook 对象
$successWebhook = new Webhook(); $successWebhook->name = Webhook::CHECKOUT_SUCCESS; $successWebhook->callbackUrl = "http://shop.someserver.com/success";
2. Webhook 方法
- 注册 Webhook - 用于注册基于事件的 Webhook。
$successWebhook->register();
- 更新 Webhook - 用于更新现有的基于事件的 Webhook。
$successWebhook->callbackUrl .= "Updated"; $successWebhook->update(); // $successWebhook->callbackUrl = "http://shop.someserver.com/successUpdated"
- 删除 Webhook - 用于删除现有的 Webhook。您无法撤销此操作。
$successWebhook->delete();
- 检索 Webhook - 用于检索商户已注册的 Webhook 列表。
Webhook::retrieve();
总结
贡献
- 如果您想贡献,请分支存储库并发送拉取请求。