2. Direct Payment (Non-Secure)

Direct Payment (Non-Secure)

POST {{Base Adres}}/api/paywall/payment/startdirect

Important: In order to use the payment service, you need to send the 'apikeypublic' and 'apiclientpublic' parameters in the 'Header' field.

PaymentAPI Address

ParameterTypeMandatoryDescription

apikeypublic

string

Yes

The Public Key obtained from the merchant business panel.

apiclientpublic

string

Yes

The Public Client obtained from the merchant business panel.

The parameters that need to be sent to the service are as follows:

ParameterTypeMandatoryDescription

Amount

decimal

Yes

Payment basket amount

MerchantUniqueCode

string

Yes

The MerchantUniqueCode in the request sent for payment initiation should have the same value. This code is a unique value provided by your side for the specific transaction and is used for uniquely identifying and tracking payments in cancellation, refund, and payment inquiry processes. Length: 250 Characters

CurrencyId

int

Yes

currency

Installment

int

Yes

The installment information should be sent as 1 for a single payment.

ClientIP

string

Yes

The IP information of the party performing the transaction. Customer/User/Member, etc. Length: 15 Characters

OwnerName

string

Yes

The cardholder's first and last name for payment. Length: 60 Characters

Number

string

Yes

The card number for payment Length: 20 Characters

ExpireMonth

string

Yes

The expiration month of the card for payment.

ExpireYear

string

Yes

The expiration year of the card for payment.

Cvv

string

Yes

The security code of the card for payment.

UniqueCode

string

No

The value corresponding to the stored card information on the provider's side (Identity of card Y stored at company X).

FullName

string

Yes

The name of the recipient on the merchant's side.

Phone

string

Yes

The recipient's mobile phone number on the merchant's side.

Email

string

Yes

The email information of the recipient on the merchant's side.

Country

string

Yes

The country information of the recipient on the merchant's side.

City

string

Yes

The city information of the recipient on the merchant's side.

Address

string

Yes

The registered address of the recipient on the merchant's side

IdentityNumber

string

Yes

The identification (TCKN) number of the recipient on the merchant's side.

TaxNumber

string

Yes

The tax identification number of the recipient on the merchant's side.

ProductId

string

Yes

Product ID.

ProductName

string

Yes

Product name.

ProductCategory

string

Yes

Product category.

ProductDescription

string

Yes

Product description.

ProductAmount

decimal

Yes

Product price information.

DiscountOwnerType

int

Yes

The entity applying the discount to the product. See: Types of Discount Providers

DiscountType

int

Yes

The type of discount applied to the product.

See: Types of discounts

DiscountValue

decimal

Yes

The discount value applied to the product. If it's Type 1 and the value is 10, it applies 10 (TL/USD/EURO), but if it's Type 2, it applies 10%.

CargoOwnerType

int

Yes

The entity covering the shipping cost for the product.

See: Types of Shipping cost Owners

CargoCurrencyId

int

Yes

The currency of the shipping cost

CargoCost

decimal

Yes

Shipping cost.

MemberId

int

Yes/No

This is mandatory for the Marketplace model. It should be filled with the MemberId information in the PayWall system of the sub-merchant.

ChannelId

int

Yes

To assist you in reporting the channel through which requests such as WEB, MOBILE, API, etc., are received, you should leave this parameter empty and/or send it as 0. In such cases, you will report it as '(Not specified)' via the PayWall panel.

TagId

int

yes

You can create custom tags for your payments, allowing you to perform tag-specific analysis on billing and reporting screens. For example: XApp-Mobile, YApp-Web. You can create these tags through the merchant panel.

MemberCustomCommission

bool

no

The English translation of this sentence would be: "If the commission applied by member businesses operating in the marketplace model varies on a product basis and it is desired to apply this commission to the product, you can send this parameter as TRUE."

MemberCommission

decimal

no

Based on the "MemberCustomCommission" parameter, you can provide the commission value you want to apply to the product as a percentage.

Sample to be sent to the service JSON and sample codes is as follows

{
    "PaymentDetail": {
        "Amount": 1.00,
        "MerchantUniqueCode": "22123222256226225",
        "CurrencyId": 1,
        "MerchantSuccessBackUrl": "https://www.google.com.tr/search?q=basarili",
        "MerchantFailBackUrl": "https://www.google.com.tr/search?q=basarisiz",
        "Installement": 1,
        "ChannelId": 0,
        "TagId": 0
    },
    "Card":{
        "OwnerName":"Iyzico Kartı",
        "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"
    },
    "ProductId":"ProductId",
        "ProductName":"ProductName",
        "ProductCategory":"ProductCategory",
        "ProductDescription":"ProductDescription",
        "ProductAmount":1.0,
        "MemberId": 1881, // Sadece MarketPlace modelinde kullanılır
        "DiscountOwnerType": 0,
        "DiscountType": 0,
        "DiscountValue": 0,
        "CargoOwnerType": 0,
        "CargoCurrencyId": 0,
        "CargoCost": 0,
        "MemberCustomCommission": false,
        "MemberCommission": 1.1 // Yüzde değeri alır ve yukardaki değer TRUE ise bu değer çalışır
    }]
    }]
}

The response returned from the service:

ParameterTypeDescription

ErrorCode

int

Error code. If the transaction is successful, it returns a value of '0'.

Result

bool

It returns a value of 'true' or 'false'. If the transaction is successful, it returns 'true'.

Message

string

If the transaction is unsuccessful, this is the error message specified for that error, providing language support based on the locale parameter.

Body

object

If the transaction is unsuccessful, this is the error code specified for that error.

{
    "ErrorCode": 0,
    "Result": true,
    "Message": "",
    "Body": {
        "Payment": {
            "PaymentId": 1644541, // Ödeme kimliği
            "ActivityId": 3202555, // Ödeme'nin son hareket kimliği
            "UniqueCode": "46b7ee44-6039-4cbe-bd27-c2a56df8684c", // Ödeme'ye ait PayWall kodu
            "MerchantUniqueKey": "eaaswdee322aass" // Sizin ödeme'ye atadığınız tekil kod
        }
    }
}

Last updated