Интеграция authorize.net с использованием php
У нас реализована ARB подписка с использованием authorize.net. успешно завершено создание подписки. но как получить статус подписки, используя идентификатор подписки от authorize.net, используя php. потому что каждый день мы будем обновлять статусы данных просроченных пользователей на нашем сайте. дайте мне знать, есть ли другой способ?
спасибо, мурали
1 ответ
Вы можете использовать ARBGetSubscriptionStatusRequest
в ARB API, чтобы получить статус подписки. Если вы используете PHP-класс AuthnetXML*, это будет выглядеть так:
<?php
/*************************************************************************************************
Use the ARB XML API to create get a subscription's status
SAMPLE XML FOR API CALL
--------------------------------------------------------------------------------------------------
<?xml version="1.0"?>
<ARBGetSubscriptionStatusRequest xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<merchantAuthentication>
<name>yourloginid</name>
<transactionKey>yourtransactionkey</transactionKey>
</merchantAuthentication>
<refId>Sample</refId>
<subscriptionId>1207505</subscriptionId>
</ARBGetSubscriptionStatusRequest>
SAMPLE XML RESPONSE
--------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?>
<ARBGetSubscriptionStatusResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<refId>Sample</refId>
<messages>
<resultCode>Ok</resultCode>
<message>
<code>I00001</code>
<text>Successful.</text>
</message>
</messages>
<status>active</status>
</ARBGetSubscriptionStatusResponse>
*************************************************************************************************/
require('../../config.inc.php');
require('../../AuthnetXML.class.php');
$xml = new AuthnetXML(AUTHNET_LOGIN, AUTHNET_TRANSKEY, AuthnetXML::USE_DEVELOPMENT_SERVER);
$xml->ARBGetSubscriptionStatusRequest(array(
'refId' => 'Sample',
'subscriptionId' => '1207505'
));
?>
<!DOCTYPE html>
<html>
<html lang="en">
<head>
<title></title>
<style type="text/css">
table
{
border: 1px solid #cccccc;
margin: auto;
border-collapse: collapse;
max-width: 90%;
}
table td
{
padding: 3px 5px;
vertical-align: top;
border-top: 1px solid #cccccc;
}
pre
{
overflow-x: auto; /* Use horizontal scroller if needed; for Firefox 2, not needed in Firefox 3 */
white-space: pre-wrap; /* css-3 */
white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */
white-space: -pre-wrap; /* Opera 4-6 */
white-space: -o-pre-wrap; /* Opera 7 */ /*
width: 99%; */
word-wrap: break-word; /* Internet Explorer 5.5+ */
}
table th
{
background: #e5e5e5;
color: #666666;
}
h1, h2
{
text-align: center;
}
</style>
</head>
<body>
<h1>
ARB :: Get Subscription Status
</h1>
<h2>
Results
</h2>
<table>
<tr>
<th>Response</th>
<td><?php echo $xml->messages->resultCode; ?></td>
</tr>
<tr>
<th>code</th>
<td><?php echo $xml->messages->message->code; ?></td>
</tr>
<tr>
<th>Successful?</th>
<td><?php echo ($xml->isSuccessful()) ? 'yes' : 'no'; ?></td>
</tr>
<tr>
<th>Error?</th>
<td><?php echo ($xml->isError()) ? 'yes' : 'no'; ?></td>
</tr>
<tr>
<th>status</th>
<td><?php echo $xml->status; ?></td>
</tr>
</table>
<h2>
Raw Input/Output
</h2>
<?php
echo $xml;
?>
</body>
</html>
* Я автор этого кода