Đăng ký PayPal – đơn giản đối với mọi nhà phát triển. Sử dụng nút Đăng ký PayPal để thu thập thanh toán tự động từ người mua sản phẩm cũng như tính phí liên tục cho dịch vụ đăng ký hằng ngày. Bằng cách sử dụng thanh toán định kỳ PayPal, người mua nhận được sản phẩm hoặc một số dịch vụ Sản phẩm có thể tải về hàng ngày, hàng tuần, hàng tháng và hàng năm.
Đăng ký PayPal bằng PHP
Nội dung
Trong bài viết recurring payments paypal hay nhất của tôi, tôi đã thiết lập thanh toán định kỳ PayPal và cách tôi có thể sử dụng thanh toán PayPal ở các chế độ khác nhau như giỏ hàng mua sắm, quản lý đăng ký PayPal, thanh toán hàng loạt, thanh toán tự động PayPal, lập hóa đơn tự động PayPal và hàng hóa số và cách sử dụng chúng.
Bạn có thể tạo các nút Đăng ký đơn giản theo từng bước mà bạn thêm vào trang web thương mại điện tử trực tuyến của bạn bằng cách sử dụng một công cụ trên trang web PayPal hoặc bạn có thể viết mã nguồn HTML để tích hợp Thanh toán định kỳ bằng Stripe Checkout với Lập hóa đơn.
Trong bài viết paypal subscriptions này, tôi sẽ giải thích cách tôi có thể sử dụng PayPal để quản lý thanh toán định kỳ hoặc tùy chỉnh nút Đăng ký PayPal bằng mã nguồn PHP và HTML cho thanh toán định kỳ PayPal và thu thập thanh toán tự động.
Ở đây, người mua sản phẩm có tùy chọn chọn gói, sẽ tính phí hàng ngày, hàng tuần, hàng tháng hoặc hàng năm.
Lưu ý quan trọng: PayPal cung cấp tài khoản sandbox cho mục đích phát triển và kiểm tra. Ở đây tôi đang sử dụng Sandbox cho kiểm tra, vì vậy nếu bạn muốn xem phiên bản thử nghiệm của chúng tôi hoặc kiểm tra, bạn có thể sử dụng thông tin đăng nhập PayPal sandbox của bạn để làm điều đó.
Khái niệm đằng sau mã kịch bản
Trong bài viết đăng ký PayPal cuối cùng của chúng tôi, tôi đã hướng dẫn cách sử dụng Nút Mua Ngay PayPal, đăng ký PayPal cũng như Nút Thêm vào Giỏ Hàng PayPal, paypal recurring payment, nơi tôi đã tùy chỉnh nút để hiển thị ví dụ có ý nghĩa với bản demo.
Trong bài viết này, tôi đã sử dụng nút Đăng ký PayPal trong PHP để hiển thị ví dụ cho trang web dựa trên đăng ký sản phẩm, nơi một người đăng ký có thể chọn gói và chu kỳ định kỳ.
Ở đây, người đăng ký có thể chọn gói sản phẩm hoặc dịch vụ như hàng ngày, hàng tuần, hàng tháng và hàng năm cũng như họ cũng có thể chọn chu kỳ thanh toán, nghĩa là “Sau Bao Nhiêu Chu Kỳ Thanh Toán Sẽ Dừng”.
cách-paypal-hoạt-động
Hướng dẫn chi tiết về các Kịch bản đăng ký PayPal
Dưới đây là các chi tiết từng bước về mã nguồn HTML và PHP đầy đủ được sử dụng trong hướng dẫn này với lời giải thích cụ thể để thiết lập thanh toán định kỳ PayPal.
index.php
Trong trang này chứa mã nguồn để hiển thị thông tin Đăng ký sản phẩm với kế hoạch đăng ký cũng như chu kỳ của kế hoạch.
<html>
<head>
<title>PayPal Subscription Button for Recurring Payments</title>
<link rel="stylesheet" type="text/css" href="css/main.css">
</head>
<body>
<div id="main">
<center><h2>PayPal Subscription Button for Recurring Payments</h2></center>
<div id="paypal_subscriptions">
<h2>Products paper Subscription</h2>
<hr/>
<div id="product_paypal_subscriptions">
<center> <h3>Brand Products</h3></center>
<img src="images/9.jpg" id="product_img" />
<hr class="type_1">
<form action="process.php" method="POST">
<div class="fgrow">
<span>Select a Plan :-</span>
<select id="choose_plan_name" name="choose_plan_name">
<option value="every-day">Every Day
</option>
<option value="seven-day">every seven-day
</option>
<option value="thirty-day">30 days
</option>
<option value="full-year">365 Days
</option>
</select>
</div>
<div class="fgrow">
<span>After How Many Cycles Should Billing Stop ?</span>
<select id="select_cycles" name="select_cycles">
<option value="">Never
</option>
<?php for ($i = 2; $i <= 30; $i++) { ?>
<option value="<?php echo $i; ?>"><?php echo $i; ?>
</option>
<?php } ?>
</select>
</div>
<input type="submit" value="Subscrive ($5/Day)" name="submit" id="subscribe">
</form>
</div>
<div id="product_paypal_subscriptions">
<center> <h3>Brand Products Item Subscription Details</h3></center>
<hr class="type_1">
<ul>
<li><b>Every Day</b></li>
<P class="live-product-item">If you pay everyday,<br>Then Item Price is <b>$5/Day.</b></P>
<li><b>every seven-day</b></li>
<P class="live-product-item">If you pay every seven-day,<br>Then Item Price is <b>$30/Week.</b></P>
<li><b>30 days</b></li>
<P class="live-product-item">If you pay 30 days,<br>Then Item Price is <b>$120/Month.</b></P>
<li><b>365 Days</b></li>
<P class="live-product-item">If you pay 365 Days,<br>Then Item Price is <b>$1852/Year.</b></P>
</ul>
<br>
<i> Note : Amount will take 1st day of every Month/Year/Week</i>
</div>
</div>
<img id="paypal_logo" style="margin-top: -30;" src="images/secure-paypal-logo.jpg">
</div>
<script src="js/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#choose_plan_name').on('change', function() {
if (this.value === 'every-day') {
$('input#subscribe').val('Subscrive ($5/Day)');
} else if (this.value === 'seven-day') {
$('input#subscribe').val('Subscrive ($30/Week)');
} else if (this.value === 'thirty-day') {
$('input#subscribe').val('Subscrive ($120/Month)');
} else if (this.value === 'full-year') {
$('input#subscribe').val('Subscrive ($1852/Year)');
}
});
});
</script>
</body>
</html>
Process.php
Tệp này chứa mã để xử lý số tiền Đăng ký đến PayPal.
<?php
if (isset($_POST['submit'])) {
$range_data = $_POST['select_cycles'];
$product_name = 'Brand Products';
$product_currency = 'USD';
if ($_POST['choose_plan_name'] == 'every-day') {
$charge_price = 5;
$cycle = 'D';
} else if ($_POST['choose_plan_name'] == 'seven-day') {
$charge_price = 29;
$cycle = 'W';
} else if ($_POST['choose_plan_name'] == 'thirty-day') {
$charge_price = 999;
$cycle = 'M';
} else if ($_POST['choose_plan_name'] == 'full-year') {
$charge_price = 1852;
$cycle = 'Y';
}
$paypal_url = 'https://www.sandbox.paypal.com/cgi-bin/webscr';
$merchant_email = 'merchants email id';
$cancel_return = "https://www.pakainfo.com/tutorial/paypal-subscription/index.php";
$success_return = "https://www.pakainfo.com/tutorial/paypal-subscription/success.php";
?>
<div style="margin-left: 38%"><img src="images/ajax-loader.gif"/><img src="images/loading.gif"/></div>
<form name = "myform" action = "<?php echo $paypal_url; ?>" method = "post" target = "_top">
<input type="hidden" name="cmd" value="_xclick-subscriptions">
<input type = "hidden" name = "business" value = "<?php echo $merchant_email; ?>">
<input type="hidden" name="lc" value="IN">
<input type = "hidden" name = "item_name" value = "<?php echo $product_name; ?>">
<input type="hidden" name="no_note" value="1">
<input type="hidden" name="src" value="1">
<?php if (!empty($range_data)) { ?>
<input type="hidden" name="srt" value="<?php echo $range_data; ?>">
<?php } ?>
<input type="hidden" name="a3" value="<?php echo $charge_price; ?>">
<input type="hidden" name="p3" value="1">
<input type="hidden" name="t3" value="<?php echo $cycle; ?>">
<input type="hidden" name="currency_code" value="<?php echo $product_currency; ?>">
<input type = "hidden" name = "cancel_return" value = "<?php echo $cancel_return ?>">
<input type = "hidden" name = "return" value = "<?php echo $success_return; ?>">
<input type="hidden" name="bn" value="PP-SubscriptionsBF:btn_subscribeCC_LG.gif:NonHostedGuest">
</form>
<script type="text/javascript">
document.myform.submit();
</script>
<?php }
?>
Success.php
đăng ký PayPal : PayPal gọi tệp Success.php này khi thanh toán đăng ký tự động PayPal được thực hiện thành công và cung cấp mảng $_REQUEST chứa tất cả thông tin giao dịch cũng như hiển thị trên giao diện trước.
<html>
<head>
<title>PayPal Subscription Button for Recurring Payments</title>
<link rel="stylesheet" type="text/css" href="css/main.css">
</head>
<body>
<?php
if (!empty($_REQUEST)) {
$product_no = $_REQUEST['item_number']; // Product ID
$product_transaction = $_REQUEST['tx']; // transaction ID
$product_price = $_REQUEST['amt']; // received amount value
$product_currency = $_REQUEST['cc']; // received currency type
$product_status = $_REQUEST['st']; // product status
}
?>
<div id="main">
<h2 style="margin-left: -6%;">PayPal Subscription Button for Recurring Payments</h2>
<div id="main-card">
<h2>Products paper Subscription</h2>
<hr/>
<?php
//confirm the product price and currency details
if ($_REQUEST['st'] == 'Completed') {
echo "<h3 id='success'>Payment SuccessFul</h3>";
echo "<P>Transaction Status - " . $product_status . "</P>";
echo "<P>Transaction Id - " . $product_transaction . "</P>";
echo "<div class='back_btn'><a href='index.php' id= 'btn'><< Back</a></div>";
} else {
echo "<h3 id='fail'>Payment Failed</h3>";
echo "<P>Transaction Status - Unompleted</P>";
echo "<P>Transaction Id - " . $product_transaction . "</P>";
echo "<div class='back_btn'><a href='index.php' id= 'btn'><< Back</a></div>";
}
?>
</div>
<div id="pakainfo">
<a href=https://www.pakainfo.com/app><img src="images/pakainfo.jpg" alt="Online Form Builder"/></a>
</div>
</div>
</body>
</html>
main.css
Bao gồm tất cả các phong cách đơn giản cần thiết cho các phần tử HTML.
@import url(http://fonts.googleapis.com/css?family=Raleway);
#main{
width:960px;
margin:50px auto;
font-family:raleway;
}
h2{
background-color: #FEFFED;
text-align:center;
border-radius: 10px 10px 0 0;
margin: -10px -40px;
padding: 16px;
}
hr{
border:0;
border-bottom:1px solid #ccc;
margin: 10px -40px;
margin-bottom: 30px;
}
#paypal_subscriptions{
width: 88%;
float: left;
border-radius: 10px;
font-family:raleway;
border: 2px solid #ccc;
padding: 10px 40px 26px;
margin: 0 40px 40px 0;
}
select{
width:99.5%;
padding: 10px;
margin-top: 8px;
border: 1px solid #ccc;
padding-left: 6px;
font-size: 16px;
font-family:raleway;
}
input[type=submit]{
width: 100%;
background-color:#FFBC00;
color: white;
border: 2px solid #FFCB00;
padding: 10px;
font-size:20px;
cursor:pointer;
border-radius: 6px;
margin: 16px 0px;
}
input[type=submit]:hover{
transform: scale(1.05);
}
#profile{
padding:50px;
border:1px dashed grey;
font-size:20px;
background-color:#DCE6F7;
}
#logout{
float:right;
padding:6px;
border:dashed 1px gray;
}
a{
text-decoration:none;
color: cornflowerblue;
}
i{
color: rgb(155, 155, 155);
}
#pakainfo{
float:right;
}
#product_paypal_subscriptions{
width: 331px;
height: 558px;
float: left;
margin: 9px 24px;
padding: 20px;
box-shadow: 0px 6px 17px 1px #99A3AD, 0px 0px 40px #EEEEEE;
}
hr.type_1 {
border: 0;
height: 56px;
background-image: url(../images/type_1.png);
background-repeat: no-repeat;
margin: 10px 67px;
}
#product_img{
margin: 2px 61px;
width: 200px;
}
img#paypal_logo {
float: right;
margin-right: 27px;
margin-top: 1%;
padding-bottom: 16px;
}
.fgrow{
margin-bottom: 16px;
}
#main-card {
width: 492px;
height: 350px;
float: left;
border-radius: 10px;
font-family: raleway;
border: 2px solid #ccc;
padding: 10px 40px 11px;
margin: 16PX;
}
#main-card h3#success {
text-align: center;
font-size: 24px;
margin-top: 50px;
color: green;
}
#main-card P {
margin-left: 122px;
}
#main-card .back_btn {
margin-top: 51px;
text-align: center;
}
#btn {
width: 100%;
background-color: #FFBC00;
color: white;
border: 2px solid #FFCB00;
padding: 10px 70px;
font-size: 20px;
cursor: pointer;
border-radius: 6px;
margin-bottom: 16px;
}
a{
text-decoration:none;
color: cornflowerblue;
}
#pakainfo{
float: right;
}
#main-card h3#fail{
text-align: center;
font-size: 24px;
margin-top: 50px;
color: red;
}
.live-product-item{
margin-top: 6px;
margin-bottom: 16px;
line-height: 26px;
}
Tôi hy vọng bạn đã hiểu về đăng ký PayPal.
- Bài đăng blog này ban đầu được xuất bản tại: https://www.pakainfo.com