4.2. Описание: mPOS SDK for iOS
Введение
SBC mPOS SDK — это программно-аппаратный комплекс мобильных платежей, позволяющий быстро и легко начать предоставлять сервис мобильных платежей. Использование доступного мобильного POS-терминала (mPOS) позволяет Присоединяющейся Стороне расширить свой бизнес за счёт очных безналичных платежей.
SDK PayneteasyReader обеспечивает быструю интеграцию, соответствующую ADVT и M-TIP, с терминалами mPOS в мобильных приложениях. SDK включает заголовочные файлы и одну статическую библиотеку.
Поддерживаемые терминалы
Производитель |
Модель |
Подключение |
|---|---|---|
Miura |
M006, M007, M010 |
Bluetooth, USB, Wi-Fi |
Spire |
SPm2, SPm20 |
Bluetooth |
Verifone |
Vx820 |
Ethernet, USB, RS232 |
PAX |
SP30, D200 |
Ethernet, USB, RS232 |
Примечание
Интеграционная среда
Добавьте SDK в проект
Добавьте следующее в Podfile:
pod "PayneteasyReader", :git => 'git@github.com:evsinev/PayneteasyReader.git', :tag => '$VERSION'
Измените $VERSION на последнюю версию из списка релизов для IOS или Android соответственно.
Для Miura, Spire и Pax
Добавьте следующее в *-Info.plist:
<key>UISupportedExternalAccessoryProtocols</key>
<array>
<string>com.miura.shuttle</string>
<string>com.thyron</string>
<string>com.paxsz.ipos</string>
</array>
Пример кода
Реализуйте протокол PNEReaderPresenter:
- (void)stateChanged:(PNEReaderEvent *)aEvent {
// displays reader status
// see an example at https://github.com/payneteasy/ReaderExample/blob/master/ReaderExample/PaymentModule/PaymentPresenter.m#L69
}
- (PNEProcessingContinuation *)onCard:(PNECard *)aCard {
// provide payneteasy.com account info
PNEProcessingContinuation * continuation = [PNEProcessingContinuation
continuationWithBaseUrl:@"https://sandbox.payneteasy.com/paynet"
merchantLogin:MERCHANT_LOGIN
merchantKey:MERCHANT_KEY
merchantEndPointId:END_POINT_ID
orderInvoiceNumber:[[NSUUID UUID] UUIDString]];
return continuation;
}
- (void)onCardError:(PNECardError *)aError {
// deal with the error
// see an example at https://github.com/payneteasy/ReaderExample/blob/master/ReaderExample/PaymentModule/PaymentPresenter.m#L93
}
- (void)onProcessingEvent:(PNEProcessingEvent *)aEvent {
// wait for Result event
// see an example at https://github.com/payneteasy/ReaderExample/blob/master/ReaderExample/PaymentModule/PaymentPresenter.m#L96
}
- (PNEConfigurationContinuation *)onConfiguration {
return [[PNEConfigurationContinuation alloc]
initWithBaseUrl:@"https://paynet-qa.clubber.me/paynet/rki"
merchantLogin:_payment.merchantLogin
merchantKey:_payment.merchantKey
merchantEndPointId:_payment.merchantEndPointId
merchantName:_payment.merchantName
];
}
Start Reader Manager:
PNEReaderFactory *factory = [[PNEReaderFactory alloc] init];
PNEReaderInfo *reader = [PNEReaderInfo infoWithType:PNEReaderType_MIURA_OR_SPIRE];
// Note: manager must be a property or a field or a static local variable, to prevent an elimination
manager = [factory createManager:reader
amount:[NSDecimalNumber decimalNumberWithString:@"1.00"]
currency:@"RUB"
presenter:self];
[manager start];
Полезные ссылки
Дополнительные примеры предоставляются по запросу.
Другие выпуски можно найти здесь.
Test Environment
Сумма |
Статус |
Stage |
|---|---|---|
1.00 |
APPROVED |
Purchase, Final Advice |
2.00 |
DECLINED |
Purchase |
3.00 |
APPROVED |
Purchase |
4.00 |
DECLINED |
Purchase, Final Advice |
1000.01 |
APPROVED |
Покупка, Final Advice с тестом PIN Online. В тестовых целях можно использовать только тестовые карты. |
Примечание