Мне нужно реализовать шлюз платежей BeanStream в моем php-коде. Я новичок в реализации шлюза платежей. Может ли кто-нибудь помочь мне с любым демо-проектом или сценариями? ранее спасибо.Необходимый скрипт для интеграции шлюза Beanstream
ответ
Я знаю, что это старый вопрос, но так как я просто реализовал платежный шлюз Beanstream в моем коде я думал, что ответить на запись в любом случае:
После того, как у вас есть счет с Beanstream вы сможете получить доступ к их руководствам по API, которые предоставляют хорошую документацию по всем полям запроса и ответа. Вы можете использовать библиотеку curl в PHP для простого подключения к Beanstream API. Вот пример метода для выполнения простой оплаты на основе их документации ($ global_ccauth - это просто объект ORM, содержащий мою информацию о запросе, которую я храню каждый раз в моей базе данных, включая строку ответа из Beanstream, но БУДЬТЕ ОСТОРОЖНЫ И ВЫ ВЕРОЯТНО ХОТИТЕ запутать номер кредитной карты в модели ОРМ, прежде чем она будет сохранена в базе данных, как я):
public static function do_payment($global_ccauth, $submitted_card_number) {
$payment_result = array(
'status' => FALSE,
'response' => array(),
);
// attempt to process the payment using CURL and a POST request to the Beanstream server as per Beanstream's example
$request = curl_init();
// Get curl to POST
curl_setopt($request, CURLOPT_POST, 1);
curl_setopt($request, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($request, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($request, CURLOPT_RETURNTRANSFER, 1); // return the results instead of echoing them
curl_setopt($request, CURLOPT_URL, BEANSTREAM_URL);
// These are the transaction parameters that we will POST
$auth_parameters = "requestType=BACKEND";
$auth_parameters .= "&merchant_id=" . BEANSTREAM_MERCHANT;
$auth_parameters .= "&username=" . BEANSTREAM_API_USER;
$auth_parameters .= "&password=" . BEANSTREAM_API_PASS;
$auth_parameters .= "&trnCardOwner=" . $global_ccauth->trnCardOwner;
$auth_parameters .= "&trnCardNumber=". $submitted_card_number;
$auth_parameters .= "&trnExpMonth=" . $global_ccauth->trnExpMonth;
$auth_parameters .= "&trnExpYear=" . $global_ccauth->trnExpYear;
//$auth_parameters .= "&trnCardCvd=";
$auth_parameters .= "&trnOrderNumber=" . $global_ccauth->trnOrderNumber ;
$auth_parameters .= "&trnAmount=" . $global_ccauth->trnAmount;
$auth_parameters .= "&ordName=" . $global_ccauth->ordName;
$auth_parameters .= "&ordEmailAddress=" . $global_ccauth->ordEmailAddress;
$auth_parameters .= "&ordPhoneNumber=" . $global_ccauth->ordPhoneNumber;
$auth_parameters .= "&ordAddress1=" . $global_ccauth->ordAddress1;
$auth_parameters .= "&ordAddress2=" . $global_ccauth->ordAddress2;
$auth_parameters .= "&ordCity=" . $global_ccauth->ordCity;
$auth_parameters .= "&ordProvince=" . $global_ccauth->ordProvince;
$auth_parameters .= "&ordPostalCode=" . $global_ccauth->ordPostalCode;
$auth_parameters .= "&ordCountry=" . $global_ccauth->ordCountry;
curl_setopt($request, CURLOPT_POSTFIELDS, $auth_parameters);
// Now POST the transaction. $txResult will contain Beanstream's response
$auth_result = curl_exec($request);
curl_close($request);
if ($auth_result !== FALSE) {
// save the raw results
$global_ccauth->response = $auth_result;
$global_ccauth->save();
// parse the results
parse_str($auth_result, $parsed_result);
$payment_result['response'] = $parsed_result;
if (! empty($parsed_result['trnApproved']) && $parsed_result['trnApproved'] == 1) {
// the request was approved
$payment_result['status'] = TRUE;
} else {
// the request was not approved
// do something smart
}
} else {
// curl POST request failed
// do something smart
}
return $payment_result;
}
Я также реализовывали свои регулярные платежи для автоматической обработки ежемесячных платежей и, кажется, работает хорошо , Вам просто нужно настроить параметры, которые вы отправляете, в соответствии с их документацией по API.
PHP-платежи, кажется, что вы ищете http://payments.calvinfroedge.com/
Вы можете уточнить - вы искали мало? Вы что-то пробовали? –
На моем веб-сайте есть корзина с кредитной картой fuction. Клиент предоставил ключ API API брандмауэра, пароль API и подпись. Я искал интеграцию скриптов. Но я не мог найти. Может ли кто-нибудь помочь со сценариями? – user1107906