Проблема отправки платежа iOS Venmo SDK: неверный получатель (пожалуйста, введите действительный телефон, адрес электронной почты, имя пользователя или идентификатор пользователя Venmo)

Я интегрировал Venmo SDK и столкнулся с проблемой при отправке платежа. Я все правильно настроил. Я нажимаю кнопку «Оплатить через Venmo» -> «Перенаправление приложений» -> «Утвердить» -> «Возвращается к экрану отправки платежа». Когда я нажимаю «Отправить платеж», я получаю сообщение об ошибке «Неверный получатель (пожалуйста, введите действительный телефон, адрес электронной почты, имя пользователя или идентификатор пользователя Venmo)».

Я проверил поле «sendPaymentTo», в котором указан правильный номер телефона, правильная сумма и даже поле «Примечание».

(IBAction)sendAction:(id)sender {

    void(^handler)(VENTransaction *, BOOL, NSError *) = ^(VENTransaction *transaction, BOOL success, NSError *error) {
        if (error) {
            UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:error.localizedDescription
                                                                message:error.localizedRecoverySuggestion
                                                               delegate:self
                                                      cancelButtonTitle:nil
                                                      otherButtonTitles:@"OK", nil];
            alertView.tapBlock = ^(UIAlertView *alertView, NSInteger buttonIndex) {
                [alertView dismissWithClickedButtonIndex:buttonIndex animated:YES];
            };
            [alertView show];
        }
        else {
            if ([self.delegate respondsToSelector:@selector(paymentSuccesfull:)]) {
                [self.delegate paymentSuccesfull:transaction.transactionID];
            }
            [[Venmo sharedInstance] logout];
        }
    };

    [[Venmo sharedInstance] sendPaymentTo:self.phoneNumber
                                   amount:self.amountTextField.text.floatValue*100
                                     note:self.noteTextField.text
                        completionHandler:handler];
}

person NSNerd    schedule 31.07.2014    source источник
comment
Какую версию приложения Venmo и Venmo SDK вы используете?   -  person EvilAegis    schedule 01.08.2014
comment
Кроме того, в каком формате указан ваш номер телефона?   -  person EvilAegis    schedule 01.08.2014
comment
Я использую Venmo SDK 1.0.0 и номер телефона в формате +1415XXX1234.   -  person NSNerd    schedule 01.08.2014
comment
Мне нужно больше информации о том, как вы получаете self.phoneNumber   -  person EvilAegis    schedule 01.08.2014
comment
А как вы уверены, что номер телефона действителен?   -  person EvilAegis    schedule 01.08.2014
comment
Попробуйте обновить SDK до версии 1.0.2. Если вы используете Cocopods, запустите pod update   -  person EvilAegis    schedule 01.08.2014
comment
Я обнаружил проблему. Она была связана с форматом номера телефона, а не с самим номером телефона. Я отформатировал номер телефона как +1(415)XXX-XXXX для отображения, и Venmo SDK не распознает этот формат. Это должно быть +1415XXXYYYY.   -  person NSNerd    schedule 05.08.2014


Ответы (1)


На самом деле это ошибка в сообщениях об ошибках из SDK. Настоящая проблема, я считаю, заключается в том, что вы отправляете недопустимую сумму (например, .01, поле суммы на самом деле уже в центах). Я открыл вопрос здесь: https://github.com/venmo/venmo-ios-sdk/issues/47

person diogeneshamilton    schedule 22.09.2014
comment
Я отправил 0,01 доллара через свое приложение (используя VenmoSDK), однако минимальная сумма, которую вы отправляете через само приложение Venmo, составляет 1,0 доллара. Исправление формата номера телефона решило проблему. - person NSNerd; 30.09.2014
comment
Я получаю ту же ошибку, и даже форматирование числа не решает ее. Это происходит в Android для меня. - person Ravin; 13.10.2015