#php #ios #swift #laravel #payumoney
#php #iOS #swift #laravel #payumoney
Вопрос:
Я успешно интегрировал PayU money mobile sdk. Я хочу, чтобы после завершения транзакции я хотел уведомить свой сервер о состоянии транзакции.
Это можно сделать с помощью txnParam.surl
и txnParam.furl
. когда я устанавливаю так…
txnParam.surl = "http://staging.myserver.com/payu-success.php"
txnParam.furl = "http://staging.myserver.com/payu-fail.php"
Я получаю недопустимый sUrl в ответ от PayU money mobile sdk и не могу выполнить транзакцию.
Но когда я устанавливаю так…
txnParam.surl = "https://www.payumoney.com/mobileapp/payumoney/success.php"
txnParam.furl = "https://www.payumoney.com/mobileapp/payumoney/failure.php"
Я могу выполнить транзакцию, и я получаю успешный ответ от PayU money. Но как я могу уведомить об этом свой сервер?
Мой код
let txnParam = PUMTxnParam()
PlugNPlay.setDisableCompletionScreen(true)
txnParam.phone = "1111111111"
txnParam.email = "test@test.com"
txnParam.amount = "2550.0"
txnParam.environment = PUMEnvironment.test
txnParam.firstname = "test test"
txnParam.key = kMerchentKey
txnParam.merchantid = "5675943"
txnParam.txnID = "1234567890"
// txnParam.surl = "https://www.payumoney.com/mobileapp/payumoney/success.php"
// txnParam.furl = "https://www.payumoney.com/mobileapp/payumoney/failure.php"
txnParam.surl = "http://staging.myserver.com/payu-success.php"
txnParam.furl = "http://staging.myserver.com/payu-fail.php"
txnParam.productInfo = "Test Product"
txnParam.udf1 = "ud1"
txnParam.udf2 = "ud2"
txnParam.udf3 = "ud3"
txnParam.udf4 = "ud4"
txnParam.udf5 = "ud5"
txnParam.udf6 = ""
txnParam.udf7 = ""
txnParam.udf8 = ""
txnParam.udf9 = ""
txnParam.udf10 = ""
Установка значения хэша, полученного с сервера
txnParam.hashValue = serverHashValue
Представляем контроллер представления PlugNPlay
PlugNPlay.presentPaymentViewController(withTxnParams: txnParam, on: self) { (response, error, extraParam) in
print(response as Any)
print(error as Any)
}
Серверная часть: PHP (фреймворк Laravel)
Ответ №1:
Причиной получения sUrl is invalid
является ТИРЕ (-) в URL.
http://staging.myserver.com/payu-success.php
.
Как только я установил url, подобный этому…
http://staging.myserver.com/payu_success.php
Это работает изящно.
Но на удивление http://staging.myserver.com/payu-success.php
url (с тире) отлично работает на платформе ANDROID. :-O
Но в iOS это давало мне неверный sUrl
ответ.
Эта вещь не документирована PayU money
Итак, в конечном счете, самое смешное, что после нескольких часов проб и ошибок, наконец, узнаем, что
НЕ ИСПОЛЬЗУЙТЕ ТИРЕ В URL ПРИ ИНТЕГРАЦИИ PAYU MONEY В IOS: D
Надеюсь, это поможет другим
Комментарии:
1. Как насчет ‘newbackend.hopto.org : 5111/api/ v1/ Payment/ …’ в ios. Он отлично работает в Android, но не в ios.?