Payumoney是印度流行的支付网关,提供REST API接口供开发者集成到网站或应用中,实现安全的在线支付功能。
首先需要在Payumoney官网注册商户账户,获取以下关键信息:
Payumoney提供两种主要集成方式:
典型的工作流程包括:
<?php
$MERCHANT_KEY = "YOUR_MERCHANT_KEY";
$SALT = "YOUR_MERCHANT_SALT";
$txnid = substr(hash('sha256', mt_rand() . microtime()), 0, 20);
$amount = "10.00";
$productinfo = "Test Product";
$firstname = "Test";
$email = "test@example.com";
$phone = "9876543210";
$hashSequence = "$MERCHANT_KEY|$txnid|$amount|$productinfo|$firstname|$email|||||||||||$SALT";
$hash = hash("sha512", $hashSequence);
$data = array(
'key' => $MERCHANT_KEY,
'txnid' => $txnid,
'amount' => $amount,
'productinfo' => $productinfo,
'firstname' => $firstname,
'email' => $email,
'phone' => $phone,
'surl' => 'https://yourdomain.com/success',
'furl' => 'https://yourdomain.com/failure',
'hash' => $hash,
'service_provider' => 'payu_paisa'
);
?>
<form action="https://secure.payu.in/_payment" method="post">
<input type="hidden" name="key" value="<?php echo $data['key']; ?>" />
<input type="hidden" name="txnid" value="<?php echo $data['txnid']; ?>" />
<input type="hidden" name="amount" value="<?php echo $data['amount']; ?>" />
<input type="hidden" name="productinfo" value="<?php echo $data['productinfo']; ?>" />
<input type="hidden" name="firstname" value="<?php echo $data['firstname']; ?>" />
<input type="hidden" name="email" value="<?php echo $data['email']; ?>" />
<input type="hidden" name="phone" value="<?php echo $data['phone']; ?>" />
<input type="hidden" name="surl" value="<?php echo $data['surl']; ?>" />
<input type="hidden" name="furl" value="<?php echo $data['furl']; ?>" />
<input type="hidden" name="hash" value="<?php echo $data['hash']; ?>" />
<input type="hidden" name="service_provider" value="payu_paisa" />
<input type="submit" value="Pay Now" />
</form>
<?php
$status = $_POST["status"];
$firstname = $_POST["firstname"];
$amount = $_POST["amount"];
$txnid = $_POST["txnid"];
$posted_hash = $_POST["hash"];
$key = $_POST["key"];
$productinfo = $_POST["productinfo"];
$email = $_POST["email"];
$SALT = "YOUR_MERCHANT_SALT";
if(isset($_POST["additionalCharges"])) {
$additionalCharges = $_POST["additionalCharges"];
$retHashSeq = $additionalCharges.'|'.$SALT.'|'.$status.'|||||||||||'.$email.'|'.$firstname.'|'.$productinfo.'|'.$amount.'|'.$txnid.'|'.$key;
} else {
$retHashSeq = $SALT.'|'.$status.'|||||||||||'.$email.'|'.$firstname.'|'.$productinfo.'|'.$amount.'|'.$txnid.'|'.$key;
}
$hash = hash("sha512", $retHashSeq);
if ($hash != $posted_hash) {
echo "Invalid Transaction. Please try again";
} else {
echo "<h3>Payment Details</h3>";
echo "<p><b>Status:</b> ".$status."</p>";
echo "<p><b>Transaction ID:</b> ".$txnid."</p>";
echo "<p><b>Amount:</b> ".$amount."</p>";
echo "<p><b>Name:</b> ".$firstname."</p>";
echo "<p><b>Email:</b> ".$email."</p>";
if($status == "success") {
// 更新数据库,标记支付成功
// 发送确认邮件等后续操作
}
}
?>
原因:
解决方案:
原因:
解决方案:
原因:
解决方案:
通过以上步骤和示例,您可以成功集成Payumoney支付网关到您的应用中。
没有搜到相关的文章