Оплата с помощью ePay PHP API - PullRequest
       1

Оплата с помощью ePay PHP API

0 голосов
/ 09 февраля 2019

В последние полторы недели я искал ответ на вопрос: как мне заставить работать мой платежный API?

У меня есть тестовый аккаунт с датским платежным шлюзомпровайдер ePay / Bambora.

У меня нет проблем с получением версии JavaScript для работы, но я бы хотел сделать платеж через PHP-API, чтобы убедиться, что у меня есть полный контроль над тем, какая информация скрыта длялюди, которым не нужно это видеть, такая информация, как мой «MerchantID».

ePay / Bambora, похоже, очень скудны в своей информации о том, как выполнить платеж через PHP, иначе я могу быть слепым(или не может видеть лес перед деревьями).

Это код, который я написал:

<?php
$epay_params['merchantnumber'] = "1234567"; //fake ID
$epay_params['transactionid'] = "-1";
$epay_params['amount'] = "9995";
$epay_params['group'] = "-1";
$epay_params['paymentcollection'] = "1";
$epay_params['orderid'] = "-1";
$epay_params['pbsResponse'] = "-1";
$epay_params['epayresponse'] = "-1";
$client = new SoapClient('https://ssl.ditonlinebetalingssystem.dk/remote/payment.asmx?WSDL');
$result = $client->capture($epay_params);
if($result->captureResult == true){ 
    echo "Result OK";  //Capture OK 
} 
else{ 
    echo json_encode( $result );
}
?>

Это дает следующий результат: {"captureResult":false,"pbsResponse":-1,"epayresponse":-1008}

Согласно ePay / Bambora означает -1008, что идентификатор транзакции не найден.

Это кажется правильным, поскольку нет транзакции с именем -1.Я хочу создать НОВЫЙ платеж, поэтому у меня пока нет идентификатора транзакции.

Так что мне либо нужно создать идентификатор транзакции на сервере ePay / Bamboras, ПРЕЖДЕ ЧЕМ я запускаю платеж (как?), Или я долженне использовать метод «захвата», но какой метод я должен использовать тогда?

Чтобы было ясно: я не делаю интернет-магазин, а просто платежную систему в моем новом веб-приложении календаря.

Вопрос: Как мне выполнить разовый платеж через ePay / Bambora в PHP?

1 Ответ

0 голосов
/ 09 февраля 2019

Попробуйте http_build_query() для идеального создания URL

<?php
$url = 'https://ssl.ditonlinebetalingssystem.dk/remote/payment.asmx';
$params = array('WSDL');
$url .= '?' . http_build_query($params);
$epay_params['merchantnumber'] = "1234567"; //fake ID
$epay_params['transactionid'] = "-1";
$epay_params['amount'] = "9995";
$epay_params['group'] = "-1";
$epay_params['paymentcollection'] = "1";
$epay_params['orderid'] = "-1";
$epay_params['pbsResponse'] = "-1";
$epay_params['epayresponse'] = "-1";
$client = new SoapClient($url);
$result = $client->capture($epay_params);
if($result->captureResult == true){ 
    echo "Result OK";  //Capture OK 
} 
else{ 
    echo json_encode( $result );
}
?>

Надеюсь, что эта работа либо ударит меня

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...