# 3. Non-Secure (Insurance)

{% hint style="danger" %}
Note: This is a method applied to process transactions using the first 8 and last 4 digits of the card number to support and simplify operations in the insurance sector.
{% endhint %}

<mark style="color:green;">`POST`</mark> `{{Base Adres}}/api/paywall/payment/startdirect/insurance`

{% hint style="info" %}
Important: To use the payment service, you must send the parameters **apikeypublic** and **apiclientpublic** in the 'Header' field.

\
[<mark style="color:green;">**PaymentAPI Address**</mark>](/payment-orchestration-integration-document/environment.md)
{% endhint %}

**The example&#x20;**<mark style="color:green;">**JSON**</mark>**&#x20;and&#x20;**<mark style="color:green;">**sample**</mark>**&#x20;codes to be sent to the service are as follows.**

<table><thead><tr><th width="162">Parameter</th><th width="106">Type</th><th width="144">Compulsory</th><th width="403">Description</th></tr></thead><tbody><tr><td>apikeypublic</td><td>string</td><td>Yes</td><td>The Public Key you obtained from the merchant panel.</td></tr><tr><td>apiclientpublic</td><td>string</td><td>Yes</td><td>The Public Client you obtained from the merchant panel.</td></tr></tbody></table>

<mark style="color:blue;">Paywall Request Payload</mark>

{% tabs %}
{% tab title="JSON" %}
{% code lineNumbers="true" %}

```json5
{
    "PaymentDetail": {
        "Amount": 4.44,
        "MerchantUniqueCode": "{{$guid}}",
        "TrackingCode": "TrackingCode1",
        "CurrencyId": 1,
        "MerchantSuccessBackUrl": "https://itspaywall.com/successful",
        "MerchantFailBackUrl": "https://itspaywall.com/unsuccessful",
        "Installment": 1,
        "ChannelId": 0,
        "TagId": 0,
        "ClientIP": "1.1.1.1",
        "ProviderBased": false,
        "ProviderKey": "providerkey",
        "PosBased": false,
        "PosId": 0,
        "Half2D": false,
        "PayRouteByPass": false,
        "PayRouteType": 0,
        "RouteGroupKey": "route-003"
    },
    "Card": {
        "OwnerName": "test",
        "CardNoFirst": "41197901",
        "CardNoLast": "6389",
        "IdentityNumber": "17654932298",
        "UseAdditionalIdentityNumber": true,
        "AdditionalIdentityNumber": "1010101010"
        "UniqueCode": "",
        "CardSave": {
            "Nickname": "test karti",
            "RelationalId1": "007",
            "RelationalId2": "",
            "RelationalId3": "",
            "Save": false
        }
    },
    "Customer": {
        "FullName": "FullName",
        "Phone": "5555555555",
        "Email": "enes@paywall.one",
        "Country": "Country",
        "City": "City",
        "Address": "Address",
        "IdentityNumber": "IdentityNumber",
        "TaxNumber": "TaxNumber"
        "DeviceFingerprint": "FingerPrint",
        "UserAgent": "UserAgent",
        "UserRegisteredAt": "2026-01-13T12:00:00",
        "Location": {
            "Country": "Turkey",
            "City": "Istanbul",
            "Region": "europe",
            "Lat": "41.07",
            "Lon": "29.00"
        }
    },
    "UseFraudParameters": false, 
    "FraudParameters":{     
        "BypassFraud": false,        
        "OverrideActualParameters": false,
        "DeviceFingerprint": "test-FRD",
        "Amount": 101,       
        "ClientIP": "1.1.1.1",        
        "CountryCode": "TR-FRD",        
        "UserAgent": "UserAgent-FRD",        
        "Email": "FRD@gmail.com",        
        "Phone": "5435435454-FRD",
        "UserRegisteredAt": "2026-01-13T12:00:00",
        "Location": {
            "Country": "Turkey",
            "City": "Istanbul",
            "Region": "europe",
            "Lat": "41.07",
            "Lon": "29.00"
        }
    }
}
```

{% endcode %}
{% endtab %}

{% tab title="C#" %}

```csharp
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;

public class Program
{
    static readonly HttpClient client = new HttpClient();

    public class PaymentDetail
    {
        public double Amount { get; set; }
        public string MerchantUniqueCode { get; set; }
        public int CurrencyId { get; set; }
        public string MerchantSuccessBackUrl { get; set; }
        public string MerchantFailBackUrl { get; set; }
        public int Installment { get; set; }
        public int ChannelId { get; set; }
        public int TagId { get; set; }
        public bool Half2D { get; set; }
    }

    public class CardInsurance
    {
       public string OwnerName { get; set; }
       public string UniqueCode { get; set; }
       public CardSave? CardSave { get; set; }
       public string IdentityNumber { get; set; }
       public string CardNoFirst { get; set; }
       public string CardNoLast { get; set; }
       public string TempCardToken { get; set; }
    }

    public class Customer
    {
        public string FullName { get; set; }
        public string Phone { get; set; }
        public string Email { get; set; }
        public string Country { get; set; }
        public string City { get; set; }
        public string Address { get; set; }
        public string IdentityNumber { get; set; }
        public string TaxNumber { get; set; }
    }

    public class Product
    {
        public string ProductId { get; set; }
        public string ProductName { get; set; }
        public string ProductCategory { get; set; }
        public string ProductDescription { get; set; }
        public double ProductAmount { get; set; }
    }

    public class Root
    {
        public PaymentDetail PaymentDetail { get; set; }
        public Card Card { get; set; }
        public Customer Customer { get; set; }
        public Product[] Products { get; set; }
    }

    public static async Task Main()
    {
        Root root = new Root
        {
            PaymentDetail = new PaymentDetail
            {
                Amount = 9.85,
                MerchantUniqueCode = "AJSHFSAKFHASKHFA",
                CurrencyId = 1,
                MerchantSuccessBackUrl = "https://merchantsite.site.com/success",
                MerchantFailBackUrl = "https://merchantsite.site.com/fail",
                Installment = 1,
                ChannelId = 0,
                TagId = 0,
                Half2D = false
            },
            Card = new Card
            {
                OwnerName = "John Doe",
                IdentityNumber = "11111111110",
                CardNoFirst = "54456766",
                CardNoLast = "1234",
                UniqueCode = ""
            },
            Customer = new Customer
            {
                FullName = "FullName",
                Phone = "5336662211",
                Email = "enes@xcompany.com",
                Country = "Country",
                City = "City",
                Address = "Address",
                IdentityNumber = "IdentityNumber",
                TaxNumber = "TaxNumber"
            },
            Products = new Product[] {
                new Product {
                    ProductId = "ProductId",
                    ProductName = "ProductName",
                    ProductCategory = "ProductCategory",
                    ProductDescription = "ProductDescription",
                    ProductAmount = 9.85
                }
            }
        };

        string json = JsonConvert.SerializeObject(root, Formatting.Indented);
        var data = new StringContent(json, Encoding.UTF8, "application/json");

        client.DefaultRequestHeaders.Add("apikeypublic", "%%");
        client.DefaultRequestHeaders.Add("apiclientpublic", "%%");

        var url = "{{Base Adres}}/api/paywall/payment/startdirect/insurance";
        var response = await client.PostAsync(url, data);

        string result = response.Content.ReadAsStringAsync().Result;
        Console.WriteLine(result);
    }
}
```

{% endtab %}

{% tab title="GO" %}

```go
package main

import (
	"bytes"
	"encoding/json"
	"fmt"
	"io/ioutil"
	"net/http"
)

type PaymentDetail struct {
	Amount                 float64 `json:"Amount"`
	MerchantUniqueCode     string  `json:"MerchantUniqueCode"`
	CurrencyId             int     `json:"CurrencyId"`
	MerchantSuccessBackUrl string  `json:"MerchantSuccessBackUrl"`
	MerchantFailBackUrl    string  `json:"MerchantFailBackUrl"`
	Installment           int     `json:"Installment"`
	ChannelId              int     `json:"ChannelId"`
	TagId                  int     `json:"TagId"`
	Half2D                 bool    `json:"Half2D"`
}

type Card struct {
	OwnerName   string `json:"OwnerName"`
	Number      string `json:"Number"`
	ExpireMonth string `json:"ExpireMonth"`
	ExpireYear  string `json:"ExpireYear"`
	Cvv         string `json:"Cvv"`
	UniqueCode  string `json:"UniqueCode"`
}

type Customer struct {
	FullName      string `json:"FullName"`
	Phone         string `json:"Phone"`
	Email         string `json:"Email"`
	Country       string `json:"Country"`
	City          string `json:"City"`
	Address       string `json:"Address"`
	IdentityNumber string `json:"IdentityNumber"`
	TaxNumber      string `json:"TaxNumber"`
}

type Product struct {
	ProductId          string  `json:"ProductId"`
	ProductName        string  `json:"ProductName"`
	ProductCategory    string  `json:"ProductCategory"`
	ProductDescription string  `json:"ProductDescription"`
	ProductAmount      float64 `json:"ProductAmount"`
}

type Data struct {
	PaymentDetail PaymentDetail `json:"PaymentDetail"`
	Card          Card          `json:"Card"`
	Customer      Customer      `json:"Customer"`
	Products      []Product     `json:"Products"`
}

type ResponseData struct {
	ErrorCode int
	Result    bool
	Message   string
	Body      string
}

func main() {
	data := Data{
		PaymentDetail: PaymentDetail{
			Amount:                 9.85,
			MerchantUniqueCode:     "AJSHFSAKFHASKHFA",
			CurrencyId:             1,
			MerchantSuccessBackUrl: "https://merchantsite.site.com/success",
			MerchantFailBackUrl:    "https://merchantsite.site.com/fail",
			Installement:           1,
			ChannelId:              0,
			TagId:                  0,
			Half2D:                 false,
		},
		Card: Card{
			OwnerName:   "John Doe",
			Number:      "5528790000000008",
			ExpireMonth: "12",
			ExpireYear:  "2030",
			Cvv:         "123",
			UniqueCode:  "",
		},
		Customer: Customer{
			FullName:       "FullName",
			Phone:          "5336662211",
			Email:          "enes@xcompany.com",
			Country:        "Country",
			City:           "City",
			Address:        "Address",
			IdentityNumber: "IdentityNumber",
			TaxNumber:      "TaxNumber",
		},
		Products: []Product{
			{
				ProductId:          "ProductId",
				ProductName:        "ProductName",
				ProductCategory:    "ProductCategory",
				ProductDescription: "ProductDescription",
				ProductAmount:      9.85,
			},
		},
	}

	payloadBuf := new(bytes.Buffer)
	json.NewEncoder(payloadBuf).Encode(data)

	req, _ := http.NewRequest("POST", "{{Base Adres}}/api/paywall/payment/startdirect/insurance", payloadBuf)

	req.Header.Set("Content-Type", "application/json")
	req.Header.Set("apikeypublic", "%%")
	req.Header.Set("apiclientpublic", "%%")

	client := &http.Client{}
	res, e := client.Do(req)
	if e != nil {
		panic(e)
	}

	defer res.Body.Close()

	body, _ := ioutil.ReadAll(res.Body)

	var responseData ResponseData
	json.Unmarshal(body, &responseData)

	fmt.Println("ErrorCode: ", responseData.ErrorCode)
	fmt.Println("Result: ", responseData.Result)
	fmt.Println("Message: ", responseData.Message)
	fmt.Println("Body: ", responseData.Body)
}
```

{% endtab %}

{% tab title="Java" %}

```xml
<dependencies>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.12.5</version>
    </dependency>
    <dependency>
        <groupId>com.squareup.okhttp3</groupId>
        <artifactId>okhttp</artifactId>
        <version>4.9.0</version>
    </dependency>
</dependencies>
```

```java
import okhttp3.*;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
import java.io.IOException;

public class Main {

    public static void main(String[] args) throws IOException {
        OkHttpClient client = new OkHttpClient();
        ObjectMapper mapper = new ObjectMapper();

        // Create JSON in a readable way
        ObjectNode rootNode = mapper.createObjectNode();
        rootNode.put("Amount", 9.85);
        rootNode.put("MerchantUniqueCode", "AJSHFSAKFHASKHFA");
        rootNode.put("CurrencyId", 1);
        rootNode.put("MerchantSuccessBackUrl", "https://merchantsite.site.com/success");
        rootNode.put("MerchantFailBackUrl", "https://merchantsite.site.com/fail");
        rootNode.put("Installment", 1);
        rootNode.put("ChannelId", 0);
        rootNode.put("TagId", 0);
        rootNode.put("Half2D", false);
        // and so on for all fields

        String json = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(rootNode);

        MediaType mediaType = MediaType.parse("application/json");
        RequestBody body = RequestBody.create(mediaType, json);
        Request request = new Request.Builder()
            .url("{{Base Adres}}/api/paywall/payment/startdirect/insurance")
            .post(body)
            .addHeader("Content-Type", "application/json")
            .addHeader("apikeypublic", "%%")
            .addHeader("apiclientpublic", "%%")
            .build();

        Response response = client.newCall(request).execute();
        System.out.println(response.body().string());
    }
}
```

{% endtab %}

{% tab title="PHP" %}

```php
<?php
$url = '{{Base Adres}}/api/paywall/payment/startdirect/insurance';
$data = array(
    "PaymentDetail" => array(
        "Amount" => 9.85,
        "MerchantUniqueCode" => "AJSHFSAKFHASKHFA",
        "CurrencyId" => 1,
        "MerchantSuccessBackUrl" => "https://merchantsite.site.com/success",
        "MerchantFailBackUrl" => "https://merchantsite.site.com/fail",
        "Installment" => 1,
        "ChannelId" => 0,
        "TagId" => 0,
        "Half2D" => false
    ),
    "Card" => array(
        "OwnerName" => "John Doe",
        "Number" => "5528790000000008",
        "ExpireMonth" => "12",
        "ExpireYear" => "2030",
        "Cvv" => "123",
        "UniqueCode" => ""
    ),
    "Customer" => array(
        "FullName" => "FullName",
        "Phone" => "5336662211",
        "Email" => "enes@xcompany.com",
        "Country" => "Country",
        "City" => "City",
        "Address" => "Address",
        "IdentityNumber" => "IdentityNumber",
        "TaxNumber" => "TaxNumber"
    ),
    "Products" => array(
        array(
            "ProductId" => "ProductId",
            "ProductName" => "ProductName",
            "ProductCategory" => "ProductCategory",
            "ProductDescription" => "ProductDescription",
            "ProductAmount" => 9.85
        )
    )
);
$options = array(
    'http' => array(
        'header'  => "Content-type: application/json\r\n" .
                     "apikeypublic: %PUBLICKEY%\r\n" . 
                     "apiclientpublic: %PUBLICCLIENT%\r\n",
        'method'  => 'POST',
        'content' => json_encode($data),
    ),
);
$context  = stream_context_create($options);
$result = file_get_contents($url, false, $context);
if ($result === FALSE) { /* Handle error */ }

// Decode
$response = json_decode($result);

// ErrorCode-Result-Message
echo "ErrorCode: " . $response->ErrorCode . "\n";
echo "Result: " . ($response->Result ? "true" : "false") . "\n";
echo "Message: " . $response->Message . "\n";

// Decode Body
$body = json_decode($response->Body);
var_dump($result);
?>
```

{% endtab %}

{% tab title="Python" %}

```python
import requests
import json

url = '{{Base Adres}}/api/paywall/payment/startdirect/insurance'

headers = {
    'Content-Type': 'application/json',
    'apikeypublic': '%%',
    'apiclientpublic': '%%'
}

data = {
    "PaymentDetail": {
        "Amount": 9.85,
        "MerchantUniqueCode": "AJSHFSAKFHASKHFA",
        "CurrencyId": 1,
        "MerchantSuccessBackUrl": "https://merchantsite.site.com/success",
        "MerchantFailBackUrl": "https://merchantsite.site.com/fail",
        "Installment": 1,
        "ChannelId": 0,
        "TagId": 0,
        "Half2D": False
    },
    "Card": {
        "OwnerName": "John Doe",
        "Number": "5528790000000008",
        "ExpireMonth": "12",
        "ExpireYear": "2030",
        "Cvv": "123",
        "UniqueCode": ""
    },
    "Customer": {
        "FullName": "FullName",
        "Phone": "5336662211",
        "Email": "enes@xcompany.com",
        "Country": "Country",
        "City": "City",
        "Address": "Address",
        "IdentityNumber": "IdentityNumber",
        "TaxNumber": "TaxNumber"
    },
    "Products": [{
        "ProductId": "ProductId",
        "ProductName": "ProductName",
        "ProductCategory": "ProductCategory",
        "ProductDescription": "ProductDescription",
        "ProductAmount": 9.85
    }]
}

response = requests.post(url, headers=headers, data=json.dumps(data))

if response.status_code == 200:
    response_data = response.json()

    print("ErrorCode: ", response_data.get('ErrorCode'))
    print("Result: ", response_data.get('Result'))
    print("Message: ", response_data.get('Message'))

    body = json.loads(response_data.get('Body'))
    print(body)
else:
    print(f'Request failed with status code {response.status_code}')
```

{% endtab %}

{% tab title="Ruby" %}

```ruby
require 'net/http'
require 'uri'
require 'json'

uri = URI.parse("{{Base Adres}}/api/paywall/payment/startdirect/insurance")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::Post.new(uri.path, {
  'Content-Type' => 'application/json',
  'apikeypublic' => '%%',
  'apiclientpublic' => '%%'
})

request.body = JSON.generate({
  "PaymentDetail" => {
    "Amount" => 9.85,
    "MerchantUniqueCode" => "AJSHFSAKFHASKHFA",
    "CurrencyId" => 1,
    "MerchantSuccessBackUrl" => "https://merchantsite.site.com/success",
    "MerchantFailBackUrl" => "https://merchantsite.site.com/fail",
    "Installment" => 1,
    "ChannelId" => 0,
    "TagId" => 0,
    "Half2D" => false
  },
  "Card" => {
    "OwnerName" => "John Doe",
    "Number" => "5528790000000008",
    "ExpireMonth" => "12",
    "ExpireYear" => "2030",
    "Cvv" => "123",
    "UniqueCode" => ""
  },
  "Customer" => {
    "FullName" => "FullName",
    "Phone" => "5336662211",
    "Email" => "enes@xcompany.com",
    "Country" => "Country",
    "City" => "City",
    "Address" => "Address",
    "IdentityNumber" => "IdentityNumber",
    "TaxNumber" => "TaxNumber"
  },
  "Products" => [
    {
      "ProductId" => "ProductId",
      "ProductName" => "ProductName",
      "ProductCategory" => "ProductCategory",
      "ProductDescription" => "ProductDescription",
      "ProductAmount" => 9.85
    }
  ]
})

response = http.request(request)
puts response.body
```

{% endtab %}

{% tab title="TypeScript" %}

```typescript
import axios, { AxiosResponse } from 'axios';

interface ResponseData {
  ErrorCode: number;
  Result: boolean;
  Message: string;
  Body: string;
}

let data = {
  PaymentDetail: {
    Amount: 9.85,
    MerchantUniqueCode: "AJSHFSAKFHASKHFA",
    CurrencyId: 1,
    MerchantSuccessBackUrl: "https://merchantsite.site.com/success",
    MerchantFailBackUrl: "https://merchantsite.site.com/fail",
    Installment: 1,
    ChannelId: 0,
    TagId: 0,
    Half2D: false
  },
  Card: {
    OwnerName: "John Doe",
    Number: "5528790000000008",
    ExpireMonth: "12",
    ExpireYear: "2030",
    Cvv: "123",
    UniqueCode: ""
  },
  Customer: {
    FullName: "FullName",
    Phone: "5336662211",
    Email: "enes@xcompany.com",
    Country: "Country",
    City: "City",
    Address: "Address",
    IdentityNumber: "IdentityNumber",
    TaxNumber: "TaxNumber"
  },
  Products: [{
    ProductId: "ProductId",
    ProductName: "ProductName",
    ProductCategory: "ProductCategory",
    ProductDescription: "ProductDescription",
    ProductAmount: 9.85
  }]
};

let config = {
  method: 'post',
  url: '{{Base Adres}}/api/paywall/payment/startdirect/insurance',
  headers: { 
    'Content-Type': 'application/json', 
    'apikeypublic': '%%', 
    'apiclientpublic': '%%'
  },
  data : data
};

axios(config)
.then(function (response: AxiosResponse<ResponseData>) {
  console.log(response.data);
})
.catch(function (error) {
  console.log(error);
});
```

{% endtab %}

{% tab title="Curl" %}

```sh
curl --location --request POST '{{Base Adres}}/api/paywall/payment/startdirect/insurance' \
--header 'Content-Type: application/json' \
--header 'apikeypublic: %%PUBLICKEY%%' \
--header 'apiclientpublic: %%PUBLICCLIENT%%' \
--data-raw '{
    "PaymentDetail": {
        "Amount": 9.85,
        "MerchantUniqueCode": "FASLSZDPOT3535BFNGI",
        "CurrencyId": 1,
        "MerchantSuccessBackUrl": "https://merchantsite.site.com/success",
        "MerchantFailBackUrl": "https://merchantsite.site.com/fail",
        "Installment": 1,
        "ChannelId": 0,
        "TagId": 0,
        "Half2D": false
    },
    "Card": {
        "OwnerName": "John Doe",
        "Number": "5528790000000008",
        "ExpireMonth": "12",
        "ExpireYear": "2030",
        "Cvv": "123",
        "UniqueCode": ""
    },
    "Customer": {
        "FullName": "FullName",
        "Phone": "5336662211",
        "Email": "enes@xcompany.com",
        "Country": "Country",
        "City": "City",
        "Address": "Address",
        "IdentityNumber": "IdentityNumber",
        "TaxNumber": "TaxNumber"
    },
    "Products": [{
        "ProductId": "ProductId",
        "ProductName": "ProductName",
        "ProductCategory": "ProductCategory",
        "ProductDescription": "ProductDescription",
        "ProductAmount": 9.85
    }]
}'
```

{% endtab %}
{% endtabs %}

<mark style="color:blue;">**Main Directory:**</mark> <mark style="color:orange;">**`PaymentDetail`**</mark>

<table><thead><tr><th width="209">Parameter</th><th width="94">Type</th><th width="152">Compulsory</th><th>Description</th></tr></thead><tbody><tr><td>Amount</td><td>decimal</td><td>Yes</td><td>Payment cart amount.</td></tr><tr><td>MerchantUniqueCode</td><td>string</td><td>Yes</td><td><p>It must be the same value as the MerchantUniqueCode in the request sent to initiate the payment. This code is the unique value assigned to the transaction by you. It is used to uniquely identify and track a payment for cancellation, refund, or payment inquiry operations.</p><p><br><mark style="color:red;">Length: 250 characters</mark></p></td></tr><tr><td>CurrencyId</td><td>int</td><td>Yes</td><td>Currency<br><br>Bkz: <a href="/pages/bahfUMz1dqpN1ZCnpVtM">Review</a></td></tr><tr><td>Installment</td><td>int</td><td>Yes</td><td>Installment information should be sent as 1 for a single payment.</td></tr><tr><td>Half2D</td><td>bool</td><td>No</td><td>It is the parameter that will assist you in finalizing your payments through a special call. If you send the Half2D parameter as true, your payment will rema<mark style="color:yellow;">in in provisional status</mark> at the bank until you make the payment completion call.</td></tr><tr><td>ClientIP</td><td>string</td><td>Yes</td><td>The IP information of the party performing the transaction, such as the customer/user/member, etc.<br><br><mark style="color:red;">Length: 15 characters</mark></td></tr><tr><td>TagId</td><td>int?</td><td>No</td><td>It is used when you want to apply tagging to your payments.</td></tr><tr><td>ChannelId</td><td>int?</td><td>No</td><td>It is used when you want to separate the channels through which your payments are sent to Paywall.</td></tr><tr><td>EndOfTheDay</td><td>int?</td><td>No</td><td>It is the end-of-day value. You should send this parameter as filled when you want only the "Next Day" payments to pass through the providers among the linked providers.<br>Bkz: <a href="/pages/c0IpXSqmkcXaN4w2ZtY5">Review</a></td></tr><tr><td>RegionId</td><td>short?</td><td>No</td><td>It is the parameter that allows you to specify which country's providers you want your payment to pass through. If not specified, your payment will be processed as 'Global'.</td></tr><tr><td>ProviderBased</td><td>bool</td><td>No</td><td>It is used when you have decided on your own which provider should handle your payment.</td></tr><tr><td>ProviderKey</td><td>string</td><td>Yes/No</td><td>The provider key through which you want your payment to be processed.</td></tr><tr><td>MarketPlace <mark style="color:red;">></mark> BasketAmount</td><td>decimal</td><td>No</td><td>It is used within the marketplace scope.</td></tr></tbody></table>

<mark style="color:blue;">**Main Directory:**</mark>**&#x20;**<mark style="color:orange;">**Card**</mark>

<table><thead><tr><th width="177">Parameter</th><th width="97">Type</th><th width="151">Compulsory</th><th>Description</th></tr></thead><tbody><tr><td>OwnerName</td><td>string</td><td>Yes/No</td><td>The full name of the cardholder from whom the payment will be collected.<br><br><mark style="color:red;">Length: 60 characters</mark></td></tr><tr><td>CardNoFirst</td><td>string</td><td>Yes/No</td><td><p>The first 8 digits of the card number</p><p><br><mark style="color:red;">Length: 20 characters</mark></p></td></tr><tr><td>CardNoLast</td><td>string</td><td>Yes/No</td><td>The last 4 digits of the card number</td></tr><tr><td>InquiryValue</td><td>string</td><td>Yes/No</td><td>The user's TCKN number or tax identification number</td></tr><tr><td>UniqueCode</td><td>string</td><td>Yes/No</td><td>Identity information associated with the registered card. Returned by Paywall during saving and listing.</td></tr><tr><td>TempCardToken</td><td>string</td><td>Yes/No</td><td>It is the parameter to be used when you want to receive payment with a temporary saved card (Client-Side Tokenization).</td></tr><tr><td>Partner<mark style="color:red;">? ></mark><br>PartnerBased</td><td>bool?</td><td>Yes/No</td><td>It is the parameter to be used when you set up cards based on a partner model.</td></tr><tr><td>Partner<mark style="color:red;">? ></mark><br>PartnerIdentity</td><td>string</td><td>Yes/No</td><td>When you set up cards based on a partner model, this is your company's partnership ID in Paywall. You can obtain this information from the Paywall panel.</td></tr><tr><td>CardSave<mark style="color:red;">? ></mark><br>Save</td><td>bool</td><td>Yes/No</td><td>At the time of payment, if the card should be saved upon successful payment, <strong>True</strong> should be sent. When <strong>True</strong> is sent, the other parameters under the <strong>CardSave</strong> object are taken into account.</td></tr><tr><td>CardSave<mark style="color:red;">? ></mark><br>Nickname</td><td>string</td><td>Yes/No</td><td>It is the nickname for the card.</td></tr><tr><td>CardSave<mark style="color:red;">? ></mark><br>RelationalId1</td><td>string</td><td>Yes/No</td><td>It is the relationship value of the card.</td></tr><tr><td>CardSave<mark style="color:red;">? ></mark><br>RelationalId2</td><td>string</td><td>Yes/No</td><td>It is the second (tree structure) relationship value of the card.</td></tr><tr><td>CardSave<mark style="color:red;">? ></mark><br>RelationalId3</td><td>string</td><td>Yes/No</td><td>It is the third (tree structure) relationship value of the card.</td></tr></tbody></table>

<mark style="color:blue;">**Main Directory:**</mark>**&#x20;**<mark style="color:orange;">**`Customer`**</mark>

<table><thead><tr><th width="174">Parameter</th><th width="111">Type</th><th width="163">Compulsory</th><th>Description</th></tr></thead><tbody><tr><td>FullName</td><td>string</td><td>Yes</td><td>The name of the recipient on the merchant side.</td></tr><tr><td>Phone</td><td>string</td><td>Yes</td><td>The mobile phone number of the recipient on the merchant side.</td></tr><tr><td>Email</td><td>string</td><td>Yes</td><td>The email address of the recipient on the merchant side.</td></tr><tr><td>Country</td><td>string</td><td>Yes</td><td>The country information of the recipient on the merchant side.</td></tr><tr><td>City</td><td>string</td><td>Yes</td><td>The city information of the recipient on the merchant side.</td></tr><tr><td>Address</td><td>string</td><td>Yes</td><td>The registered address of the recipient on the merchant side.</td></tr><tr><td>IdentityNumber</td><td>string</td><td>No</td><td>The identity (TCKN) number of the recipient on the merchant side.</td></tr><tr><td>TaxNumber</td><td>string</td><td>No</td><td>The tax identification number of the recipient on the merchant side.</td></tr><tr><td>DeviceFingerprint</td><td>string</td><td>No</td><td>Device fingerprint information of the recipient on the merchant side.</td></tr><tr><td>UserAgent</td><td>string</td><td>No</td><td>User agent information currently used by the recipient on the merchant side.</td></tr><tr><td>UserRegisteredAt</td><td>datetime</td><td>No</td><td>The user's registration date in your system.</td></tr><tr><td>Location</td><td>Location</td><td>No</td><td>The object containing the user’s location information.</td></tr></tbody></table>

<mark style="color:blue;">**Ana Dizin:**</mark> <mark style="color:orange;">`Location`</mark>

<table><thead><tr><th width="212.5390625">Parameter</th><th width="109">Type</th><th width="160.421875">Compulsory</th><th>Description</th></tr></thead><tbody><tr><td>Country</td><td>string</td><td>No</td><td>The user’s country information.</td></tr><tr><td>City</td><td>string</td><td>No</td><td>The user’s city information.</td></tr><tr><td>Region</td><td>string</td><td>No</td><td>The user’s region information.</td></tr><tr><td>Lat</td><td>string</td><td>No</td><td>The latitude of the user's location on the map.</td></tr><tr><td>Lon</td><td>string</td><td>No</td><td>The longitude of the user's location on the map.</td></tr></tbody></table>

<mark style="color:blue;">**Main Directory:**</mark> <mark style="color:orange;">`Product<Array>`</mark>&#x20;

{% hint style="info" %}
For the parameters in the **FraudParameters** directory to be valid for fraud checks, the **UserFraudParameters** field in the Main Directory must be sent as <mark style="color:$success;">**true**</mark>. Otherwise, fraud checks will be performed using the information in **PaymentDetail**.
{% endhint %}

<table><thead><tr><th width="213.984375">Parameter</th><th width="109">Type</th><th width="137.890625">Compulsory</th><th>Description</th></tr></thead><tbody><tr><td>ByPassFraud</td><td>string</td><td>Yes</td><td>If sent as <strong>true</strong>, it allows previously configured fraud checks to be bypassed.</td></tr><tr><td>OverrideActualParameters</td><td>string</td><td>Yes</td><td>If sent as <strong>true</strong>, fraud checks will be carried out and recorded using the parameters under <strong>"FraudParameters"</strong> instead of those under <strong>"PaymentDetail"</strong>.</td></tr><tr><td>DeviceFingerprint</td><td>string</td><td>No</td><td>Device fingerprint information to be used in fraud checks.</td></tr><tr><td>Amount</td><td>string</td><td>No</td><td>Amount information to be used in fraud checks.</td></tr><tr><td>ClientIP</td><td>string</td><td>No</td><td>Customer IP information to be used in fraud checks.</td></tr><tr><td>CountryCode</td><td>string</td><td>No</td><td>Country code information to be used in fraud checks.</td></tr><tr><td>UserAgent</td><td>string</td><td>No</td><td>List of UserAgents to be used in fraud checks.</td></tr><tr><td>Email</td><td>string</td><td>No</td><td>Email address information to be used in fraud checks.</td></tr><tr><td>Phone</td><td>string</td><td>No</td><td>Phone number information to be used in fraud checks.</td></tr><tr><td>UserRegisteredAt</td><td>datetime</td><td>No</td><td>The user's registration date in your system.</td></tr><tr><td>Location</td><td>Location</td><td>No</td><td>The object that contains the user’s location information.</td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.paywall.one/payment-orchestration-integration-document/payment-service/3.-non-secure-insurance.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
