PayPal 付款定义:试用和常规
Posted
技术标签:
【中文标题】PayPal 付款定义:试用和常规【英文标题】:PayPal Payment Definition: Trial & Regular 【发布时间】:2021-02-13 14:33:00 【问题描述】:有些人可能已经注意到 PayPal 的 SDK 文档至少可以说很差,给开发人员带来了问题。
我目前是关于账单计划payment_definitions
。
我开发了一个折扣功能,作为回报,它会为用户提供指定金额的折扣。我希望这个折扣只适用于第一个月。在创建付款定义对象时,关于计费计划的糟糕文档让我感到困惑。是否可以同时定义试用和定期付款定义?
请参阅下面的代码,了解我目前正在使用的示例。
if(Wo_DiscountAvailable($discount))
// (total-(total/100*percentage))
$dc_total = ($total-(Wo_DiscountPercentage($discount)/100*$total));
$tDefinition = new \PayPal\Api\PaymentDefinition();
$tDefinition->setName('Regular Payments user' . $wo['user']['id'])->setType('TRIAL')
->setFrequency($p_type)->setFrequencyInterval('1')
->setCycles('1')
->setAmount(new \PayPal\Api\Currency(array(
'value' => $dc_total,
'currency' => $wo['config']['paypal_currency']
)));
$paymentDefinition = new \PayPal\Api\PaymentDefinition();
$paymentDefinition->setName('Regular Payments user' . $wo['user']['id'])->setType('REGULAR')
->setFrequency($p_type)->setFrequencyInterval('1')
->setCycles('47')
->setAmount(new \PayPal\Api\Currency(array(
'value' => $total,
'currency' => $wo['config']['paypal_currency']
)));
else
// Set billing plan definitions
$paymentDefinition = new \PayPal\Api\PaymentDefinition();
$paymentDefinition->setName('Regular Payments user' . $wo['user']['id'])->setType('REGULAR')
->setFrequency($p_type)->setFrequencyInterval('1')
->setCycles('48')
->setAmount(new \PayPal\Api\Currency(array(
'value' => $total,
'currency' => $wo['config']['paypal_currency']
)));
if(Wo_DiscountAvailable($discount))
$plan->setPaymentDefinitions(array(
$tDefinition, $paymentDefinition
));
else
$plan->setPaymentDefinitions(array(
$paymentDefinition
));
以上包括函数 Wo_DiscountAvailable 和 Wo_DiscountPercentage - 这两个都有效
如果可以使用,前一个函数返回真或假,折扣返回折扣值。
非常感谢。
【问题讨论】:
【参考方案1】:如果您使用PayPal-php-SDK 似乎是这种情况,请停止这样做。它是deprecated,它使用的计费计划与Subscriptions API 不兼容,如果您想要集成的话。
目前的订阅 API 没有 SDK;如果您正在进行基于服务器的集成,请使用直接 HTTPS 调用,例如 PHP 的 curl。
如果您想要一个智能订阅按钮来调用您的服务器以进行 createSubscription 和激活,以便您可以在数据库中保存它的记录,这里有一个指南:PayPal Smart Subscribe server side
【讨论】:
以上是关于PayPal 付款定义:试用和常规的主要内容,如果未能解决你的问题,请参考以下文章