Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Фреймворк AssistMobile позволяет разработать мобильное приложение интернет-магазина для проведения через АПК Assist Ассист платежей банковской картой с мобильных устройств. 

...

Протокол AssistPayDelegate определяет метод payFinished, с помощью которого поддерживающий этот протокол объект будет получать результат оплаты. Метод payFinished будет вызван, если оплата завершена. Метод имеет следующие параметры:

  • bill- номер транзакции в системе АПК Ассист в строковом формате;
  • status-статус платежа;
  • message- описание статуса.

...

  • Unknown - статус неизвестен – вероятно, произошла непредвиденная ошибка и не удалось получить статус оплаты, через некоторое время следует вызвать метод getResult и дождаться возвращения статуса; если ошибка повторяется, то необходимо связаться со службой поддержки АссистAssist;
  • InProgress - оплата находится в обработке, через некоторое время следует повторно вызвать метод getResult, для получения результата;
  • Delayed - платеж отложен, используется при включении функции отложенных платежей;
  • Approved- платеж завершен успешно;
  • PartialApproved-платеж завершен успешно на неполную сумму, используется при включении функции подтверждения платежа на неполную сумму;
  • PartialDelayed- платеж частично отложен, используется при включении специальной функции;
  • Canceled- платеж отменен;
  • PartialCanceled - платеж частично отменен;
  • Declined- оплата отклонена;
  • Timeout- оплата завершена по таймауту;
  • Repeated- в системе есть платеж с таким же номером заказа.

...

Метод getResult позволяет получить результат оплаты из системы АПК Ассист. Принимает параметр PayData.

...

Code Block
languagec#
#import "ViewController.h"
@interface ViewController ()

@property (strong, nonatomic) PayData* data;
@end

@implementation ViewController
- (IBAction)pay:(UIButton *)sender {
    if (!_data) {
        _data = [[PayData alloc] init];
    }

    _data.orderAmount = @"100.05";
    _data.orderNumber = @"test_payment_002";
    _data.merchantId = @"679471";
 
    AssistPay* assistPay = [[AssistPay alloc] initWithDelegate: self];
    [assistPay start:self withData: _data];
}

- (void)payFinished:(NSString * __nonnull)bill status:(NSString * __nonnull)status message:(NSString * __nullable)message
{
    NSString* res = @"status: ";
    res = [res stringByAppendingString: status];
    res = [res stringByAppendingString: @", billnumber: "];
    res = [res stringByAppendingString: bill];
    res = [res stringByAppendingString: @", message: "];
    res = [res stringByAppendingString: message];
    _result.text = res;
}

@end

Интеграция с ApplePayApple Pay

  1. Выполнить шаги из раздела 4 «Порядок интеграции мобильного приложения интернет-магазина с фреймворком AssistMobile».
  2. Скомпилировать AssistMobile.framework из исходников.
  3. Добавить фреймворк в свой проект.
  4. Включить опцию Build Settings -> Build Options -> Embedded Content Contains Swift Code в YES в настройках проекта.
  5. Добавить AssisyMobile.framework в настройку General->Embedded Binaries.
  6. Включ NSLocationWhenInUseUsageDescription внастройках Info.plist -> Information Property List, добавляемпараметртипа String созначением 'Permit to send geolocation data to Assist.

...