繁体   English   中英

如何使用Braintree付款网关在PHP应用程序中实现定期计费?

[英]How to implement recurring billing in PHP application using Braintree payment gateway?

我有一个Web应用程序,可以为客户提供一些服务。 我想集成Braintree付款网关。 我创建了一个页面,该页面获取客户的信用卡信息,并使用透明重定向方法在脑树安全库中创建新客户。

我不知道下一步该怎么做才能执行定期计费。 每个客户要向客户收取的金额都不尽相同,具体取决于客户的用户。 每个用户的计费周期也不同。 我不知道如何实施定期计费。

以下是我的信用卡页面代码:

<?php
require_once '../_environment.php';
if (isset($_SERVER['QUERY_STRING']) && $_SERVER['QUERY_STRING'] != "") {
    $queryString = $_SERVER['QUERY_STRING'];
    $result = Braintree_TransparentRedirect::confirm($queryString); 
    if ($result->success) {
       //Do your stuff
    } else {
        foreach ($result->errors->deepAll() as $error) {
            $errorFound = $error->message . "<br />";
        }
        echo $errorFound ;
        exit;
    }
}
$trData = Braintree_TransparentRedirect::createCustomerData(
  array(
    'redirectUrl' => 'https://www.example.com/creditcard.php',    
  )
);
?>

<form method="POST" action="<?php echo Braintree_TransparentRedirect::url(); ?>" autocomplete="off">
<table cellpadding="0" cellspacing="0" border="0" width="98%" align="left"> 
   <tr><td align="right" style="color:#6593cf" width="40%">Customer Information</td><td align="left" colspan="2"><hr style="color:#6593cf;margin-right:30%;margin-left:2px"></td></tr>
        <tr><td colspan="3">&nbsp;</td></tr>
        <tr><td align="right">First Name</td><td>&nbsp;</td><td><input type="text" name="customer[first_name]" /></td></tr>
        <tr><td colspan="3">&nbsp;</td></tr>
        <tr><td align="right">Last Name</td><td>&nbsp;</td><td><input type="text" name="customer[last_name]" /></td></tr>
        <tr><td colspan="3">&nbsp;</td></tr>
        <tr><td align="right">Company</td><td>&nbsp;</td><td><input type="text" name="customer[company]" /></td></tr>
        <tr><td colspan="3">&nbsp;</td></tr>
        <tr><td align="right">Email</td><td>&nbsp;</td><td><input type="text" name="customer[email]" /></td></tr>
        <tr><td colspan="3">&nbsp;</td></tr>
        <tr><td align="right">Phone</td><td>&nbsp;</td><td><input type="text" name="customer[phone]" /></td></tr>
        <tr><td colspan="3">&nbsp;</td></tr>                    
         <tr><td align="right" style="color:#6593cf">Payment Information</td><td align="left" colspan="2"><hr style="color:#6593cf;margin-right:30%;margin-left:2px"></td></tr>
        <tr><td colspan="3">&nbsp;</td></tr>
        <tr><td align="right">Name on Card</td><td>&nbsp;</td><td><input type="text" name="customer[credit_card][cardholder_name]" /></td></tr>
        <tr><td colspan="3">&nbsp;</td></tr>
        <tr><td align="right">Credit Card Number</td><td>&nbsp;</td><td><input type="text" name="customer[credit_card][number]" /></td></tr>
        <tr><td colspan="3">&nbsp;</td></tr>
        <tr><td align="right">Expiration date (mm/yy format)</td><td>&nbsp;</td><td><input type="text" name="customer[credit_card][expiration_date]" /></td></tr>   
        <tr><td colspan="3">&nbsp;</td></tr>
        <tr><td align="right">CVV</td><td>&nbsp;</td><td><input type="text" name="customer[credit_card][cvv]" /></td></tr>
        <input type="hidden" name="tr_data" value="<?php echo htmlentities($trData) ?>" />
        <tr><td colspan="3">&nbsp;</td></tr>
        <tr><td colspan="3">&nbsp;</td></tr>
    <tr><td align="right"><a href=""><b>Cancel</b></a></td><td style='width:30px;'></td><td align="left"><input type="submit" value="Submit" class="btnSize" name="submit"/></td></tr>
    <tr><td colspan="3">&nbsp;</td></tr>    
</table>  

您必须使用Braintree的特定api调用来进行重复计费。

Braintree_Subscription::create(array(
   'paymentMethodToken' => $payment_method_token,
   'planId' => $package_code,
   'price' => $monthly_price
));

此“创建”用于定期结算。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM