1.0.2 • Published 4 years ago

react-native-bkmexpress-sdk v1.0.2

Weekly downloads
4
License
MIT
Repository
github
Last release
4 years ago

react-native-bkmexpress-sdk

BKM Express ödeme,kart eşleştirme ve kart değiştirme işlemlerini gerçekleştirilmek için kullanılır. BKM Express native SDK'ları baz alınarak geliştirme yapılmıştır. Kütüphane oluşturulurken bazı konularda benzer bir kütüphane olan react-native-bkmexpress kütüphanesinden yararlanılmıştır.

Android: https://github.com/BKMExpress/BEXAndroidSDK

IOS: https://github.com/BKMExpress/iOSBKMExpressSDK

Kurulum

npm

$ npm install react-native-bkmexpress-sdk --save

yarn

$ yarn add react-native-bkmexpress-sdk

IOS

Projenizin ios klasörü içindeki *.xcworkspace dosyasını XCode ile çalıştırın.

node_modules/react-native-bkmexpress-sdk/ios klasörü içindeki BEX.bundle ve libBKMExpressSDK.a dosyalarını sürükleyerek Frameworks klasörü altına ekleyin Copy items if needed seçili olduğundan emin olun ve Add to targets kısmından uygulamanızı seçin.

Son olarak pod yüklemesini gerçekleştirmeyi unutmayın.

$ cd ios && pod install && cd ..

Android

Projenizin içindeki local.properties dosyasına aşağıdaki keyleri Bkm Expiress'den aldığınız bilgiler ile tanımlayınız.

AndroidX desteği bulunmayan uygulamalarınız için versiyon bilgisini 1.1.23 olarak değiştiriniz.

bkm_username=user_name
bkm_password=password
bkm_maven_url=http://...
bkm_version=2.1.1

android/build.gradle altında aşağıdaki değişikliği yapınız

Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())

allprojects {
    repositories {
        //...        
        maven {
          url = properties.getProperty("bkm_maven_url")
          credentials {
            username = properties.getProperty("bkm_username")
            password = properties.getProperty("bkm_password")
         }
       }
    }
}
Notlar
  • Eğer uygulamanızın release versiyonunu proguard ile koruyorsanız, lütfen aşağıdaki satırı proguard-rules dosyanıza ekleyiniz.

    -keep class com.bkm.** { *; }

  • 2.1.1 versiyonunu kullanırken Attribute application@allowBackup value=(false) hatası alırsanız; android:allowBackup="false" true olarak değiştiriniz yada AndroidManifest.xml'de manifest'e xmlns:tools="http://schemas.android.com/tools" aplication'a tools:replace="allowBackup" kodlarını ekleyiniz.

    <manifest 
        //...
        xmlns:tools="http://schemas.android.com/tools">
        <application
          //...
          tools:replace="allowBackup">
          //...
        </application>
    </manifest>

Kullanım

import BkmExpressSdk from 'react-native-bkm-express-sdk';

SUBMIT CONSUMER (KART EŞLEME)

BkmExpressSdk.submitConsumer(token, environment , (callback, result) => {
        if (result === '0') {
            console.log('Successful. kart no: ', callback)
        }
        else if (result === '1') {
            console.log('Canceled')
        }
        else if (result === '2') {
            console.log('failed. error: ', callback)
        } 
    }
);

RESUBMIT CONSUMER (KART DEĞİŞTİRME)

  • Diğer işlemlerden farklı olarak, ReSubmitConsumer operasyonu daha önceden kart eklemiş kullanıcının tekrardan sisteme giriş yapmadan kart değiştirmesine olanak sağlamaktadır. Bahsi geçen Ticket, BEX Core servisleri tarafından sağlanmaktadır.
BkmExpressSdk.resubmitConsumer(ticket, environment , (callback, result) => {
        if (result === '0') {
            console.log('Successful. kart no: ', callback)
        }
        else if (result === '1') {
            console.log('Canceled')
        }
        else if (result === '2') {
            console.log('failed. error: ', callback)
        } 
    }
);

PAYMENT (ÖDEME)

BkmExpressSdk.payment(token, environment , (callback, result) => {
        if (result === '0') {
            console.log('Successful. Pos Cevabı: ',result)
        }
        else if (result === '1') {
            console.log('Canceled')
        }
        else if (result === '2') {
            console.log('failed. error: ', callback)
        } 
    }
);

Parametreler

Değer AdıDeğer TipiDeğerin Amacı
tokenStringYapılacak olan işlemin token bilgisi
environmentStringÇalıştırma ortamı - PREPORD ortamı için "PREPROD", PROD ortamı için "PROD" giriniz
ticketStringKartı yeniden eşleştirmede kullanılacak Bkm tarafından iletilen ticket numarası
callbackStringİşlem başarılı ise duruma göre obje veya string dönebilir. Başarısız işlemlerde hata mesajı
resultStringDönen sonuç (0 Başarılı - 1 İptal - 2 Başarısız)