В последние полторы недели я искал ответ на вопрос: как мне заставить работать мой платежный 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?