# App2App Entegrasyonu

PayPOS işlemleri sadece **Android 7.0** üstü ve **NFC** özelliği olan cihazlarda kullanılabilmektedir.

### Adımlar

PayPOS ödeme alma yönteminde 3 adım bulunmaktadır; adımlar sırasıyla şu şekildedir :

1. [Session Oluşturma](https://docs.iyzico.com/urunler/paypos-app2app/app2app-entegrasyonu/session-olusturma)
2. [Ödeme Başlatma](https://docs.iyzico.com/urunler/paypos-app2app/app2app-entegrasyonu/odeme-baslatma)
3. [Ödeme Sorgulama](https://docs.iyzico.com/urunler/paypos-app2app/app2app-entegrasyonu/odeme-sorgulama)

<table><thead><tr><th>Prod APK</th><th data-type="files">Test APK</th></tr></thead><tbody><tr><td><a href="https://play.google.com/store/apps/details?id=com.provisionpay.softpos.paynet&#x26;hl=tr&#x26;pli=1">PayPOS Prod App</a></td><td><a href="https://1970365243-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkTpM8Bc8GIRKlQDusDr3%2Fuploads%2FvNPxtluQZwYX2DDJlUqY%2FPayPOS%20Debug%20APK.zip?alt=media&#x26;token=93d6b79a-d625-4a93-b877-3ab6f5110139">PayPOS Debug APK.zip</a></td></tr></tbody></table>

{% @mermaid/diagram content="sequenceDiagram
participant PaynetAPI as PAYNET API
participant ClientServer as CLIENT SERVER
participant MobileApp as CLIENT MOBILE APP
participant PayPOS as PAYPOS

```
%% AUTHORIZE
ClientServer->>PaynetAPI: Authorize (agent_id, user_id, secretKey)
PaynetAPI-->>ClientServer: Session Key

%% SESSION KEY TRANSFER
ClientServer-->>MobileApp: Session Key

%% INIT TRANSACTION
MobileApp->>PaynetAPI: Init Transaction (Session Key)
PaynetAPI-->>MobileApp: payment_session_id<br/>deeplink_url<br/>encryption_key

%% DEEPLINK TO PAYPOS
MobileApp->>PayPOS: Open deeplink (payment_session_id)

%% PAYMENT ON PAYPOS
PayPOS->>PayPOS: Start Payment
PayPOS->>PayPOS: Finish Payment

%% CALLBACK & WEBHOOK
PayPOS-->>MobileApp: Deeplink callback
PayPOS-->>PaynetAPI: Webhook – Complete Transaction
PaynetAPI-->>ClientServer: Successful Transaction Webhook

%% LOGOUT
ClientServer->>PaynetAPI: Logout
```

" %}

| **Paynet API**         | Paynet Uygulama Programlama Arayüzü                                           |
| ---------------------- | ----------------------------------------------------------------------------- |
| **Client Server**      | Entegrasyon Yapan Müşteri Sunucusu                                            |
| **Client Mobile App**  | Entegrasyon Yapan Müşteri Mobil Uygulaması                                    |
| **PayPos**             | PayPos Ödeme Uygulaması                                                       |
| **Secret Key**         | Authorize servisine istek gönderilmek için bayinize özel oluşturulmuş key’dir |
| **Session Key**        | Ödeme servislerine istek atabilmek için kullanılan Mobile Session Key’dir     |
| **Payment Session Id** | Herbir ödeme işlemi için oluşturulan benzersiz id                             |

{% hint style="warning" %}
Paypos ürününü kullanabilmeniz için Paynet panelinizden **IP tanımlamanız** ve **SecretKey** almanız gerekmektedir.
{% endhint %}

### BaseUrl

Baseurl değerleri mimariyle tamamen aynı. LIVE ve test baseurl değerleri arasındaki tek fark, API çağrınızdaki URL yollarıdır.

{% tabs %}
{% tab title="LIVE Baseurl" %}

```
https://api.paynet.com.tr
```

{% endtab %}

{% tab title="SANDBOX Baseurl" %}

```
https://pts-api.paynet.com.tr
```

{% endtab %}
{% endtabs %}
