> For the complete documentation index, see [llms.txt](https://docs.morpara.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.morpara.com/api-dokumantasyonu/editor/3d-secure-odeme/3d-odeme-tamamla.md).

# 3D Ödeme Tamamla

3D Ödeme Tamamlama adımı, **3D Secure doğrulaması tamamlanan** bir ödemenin sistemsel olarak **başarılı veya başarısız şekilde kesinleştirilmesini** sağlar.

Kullanıcının bankanın 3D Secure ekranında gerçekleştirdiği aksiyonun ardından, banka tarafından işlem sonucu **Init3d adımında tanımlanan `returnUrl` veya `failUrl`** adresine **HTTP Request** olarak iletilir.

Üye işyeri, bu URL’e gelen Request içeriğini kullanarak **Auth3d** servisine çağrı yapmalı ve ödeme sürecini sonlandırmalıdır.

> ⚠️ Bu adım çağrılmadan 3D ödeme **tamamlanmış sayılmaz**.

***

### Endpoint

```http
POST /v1/Payment/Auth3d
```

***

### Headers

| Anahtar        | Tür    | Açıklama                                 | Örnek                      |
| -------------- | ------ | ---------------------------------------- | -------------------------- |
| x-ClientID     | String | API istemcisi için benzersiz tanımlayıcı | sizin-istemci-id'niz       |
| x-ClientSecret | String | API istemcisi için gizli anahtar         | sizin-gizli-anahtarınız    |
| x-GrantType    | String | Kullanılan erişim tokeni türü            | istemci\_kimlik\_bilgileri |
| x-Scope        | String | API kapsamı                              | pf\_write, pf\_read        |
| x-Timestamp    | String | İstek zaman damgası                      | 2024-12-17T12:34:56Z       |

***

### Request Body

Bu alanlar, **returnUrl / failUrl** adresine banka tarafından gönderilen Request içeriğinden alınarak iletilmelidir.

| Alan                  | Zorunlu | Tür      | Açıklama                    | Örnek                  |
| --------------------- | ------- | -------- | --------------------------- | ---------------------- |
| Code                  | ✅       | String   | İşlem sonucu kodu           | B0000                  |
| Message               | ✅       | String   | İşlem durumu                | Approved               |
| EftCode               | ✅       | String   | EFT işlem kodu              | 0150                   |
| MdStatus              | ✅       | String   | 3D doğrulama durum bilgisi  | UGF5...ODRD            |
| MdStatusMessage       | ✅       | String   | 3D doğrulama mesajı         | (Boş)                  |
| conversationId        | ✅       | String   | İşlem takip numarası        | MSD2024030500000000115 |
| OrderId               | ✅       | String   | Sipariş kimliği             | 5000000045202502030044 |
| PaymentId             | ✅       | String   | Ödeme kimliği               | 5000000045202502030044 |
| TransactionDate       | ✅       | DateTime | İşlem tarihi ve saati       | 05/02/2025 16:16:10    |
| Currency              | ✅       | Integer  | Para birimi kodu (ISO 4217) | 949                    |
| PaymentInstrumentType | ✅       | String   | Ödeme aracı türü            | CARD                   |
| MerchantId            | ✅       | String   | Üye işyeri kimliği          | 5000000045             |
| InstrumentDetail      | ✅       | Object   | Ödeme aracı detay bilgisi   | InstrumentDetailVM     |

***

### Response Body

Auth3d çağrısına verilen yanıt, ödemenin **nihai sonucunu** içerir.

#### Örnek Request

```http
POST /v1/Payment/Auth3d
Content-Type: application/json
x-ClientID: sizin-istemci-id'niz
x-ClientSecret: sizin-gizli-anahtarınız
x-GrantType: istemci_kimlik_bilgileri
x-Scope: pf_write, pf_read
x-Timestamp: 2024-12-17T12:34:56Z
```

```json
{
  "Code": "B0000",
  "Message": "Approved",
  "EftCode": "0150",
  "MdStatus": "UGF5...ODRD",
  "MdStatusMessage": "",
  "conversationId": "MSD2024030500000000115",
  "OrderId": "5000000045202502030044",
  "PaymentId": "5000000045202502030044",
  "TransactionDate": "05/02/2025 16:16:10",
  "Currency": 949,
  "PaymentInstrumentType": "CARD",
  "MerchantId": "5000000045",
  "InstrumentDetail": {}
}
```

#### Örnek Response

```json
{
  "code": "B0000",
  "message": "Onaylandı",
  "resultCode": "B0000",
  "resultDescription": "Onaylandı",
  "responseDate": "05/02/2025 16:16:10",
  "conversationId": "MSD2024030500000000115",
  "orderId": "5000000045202502030044",
  "paymentId": "5000000045202502030044",
  "bankUniqueReferenceNumber": "503615446559",
  "transactionDate": "05/02/2025 16:16:10",
  "currency": "949",
  "authCode": "655050",
  "paymentInstrumentType": "CARDPAYMENT",
  "instrumentDetail": {
    "maskedCardNumber": "524677******3508",
    "cardType": "CARD"
  },
  "paymentInfo": {
    "installmentCount": 1,
    "payFacCommissionRate": 1.00,
    "amount": 25.00,
    "payFacCommissionAmount": 0.2500
  },
  "okUrl": null,
  "failUrl": null
}
```
