← Back to Main Menu

Terminals - KodyPay SDK Demo

Loading terminals...

🔧 KodyPay SDK Usage - Terminals

SDK Information

Service: KodyPayTerminalService

Method: Terminals()

Request: TerminalsRequest

Response: TerminalsResponse

SDK Examples

<?php
require __DIR__ . '/../vendor/autoload.php';

use Com\Kodypay\Grpc\Pay\V1\KodyPayTerminalServiceClient;
use Com\Kodypay\Grpc\Pay\V1\TerminalsRequest;
use Grpc\ChannelCredentials;

// Configuration
$HOSTNAME = "grpc-staging.kodypay.com";
$API_KEY = "your-api-key";

// Step 1: Initialize SDK client with SSL credentials
$client = new KodyPayTerminalServiceClient($HOSTNAME, [
    'credentials' => ChannelCredentials::createSsl()
]);

// Step 2: Set authentication headers with your API key
$metadata = ['X-API-Key' => [$API_KEY]];

// Step 3: Create TerminalsRequest and set store ID
$request = new TerminalsRequest();
$request->setStoreId('your-store-id');

// Step 4: Call Terminals() method and wait for response
list($response, $status) = $client->Terminals($request, $metadata)->wait();

// Step 5: Handle gRPC response status
if ($status->code !== \Grpc\STATUS_OK) {
    echo "Error: " . $status->details . PHP_EOL;
    exit;
}

// Step 6: Process terminals from response
foreach ($response->getTerminals() as $terminal) {
    echo "Terminal ID: " . $terminal->getTerminalId() . PHP_EOL;
    echo "Online: " . ($terminal->getOnline() ? 'Yes' : 'No') . PHP_EOL;
}
?>
import com.kodypay.grpc.pay.v1.KodyPayTerminalServiceGrpc;
import com.kodypay.grpc.pay.v1.TerminalsRequest;
import com.kodypay.grpc.pay.v1.TerminalsResponse;
import io.grpc.ManagedChannelBuilder;
import io.grpc.Metadata;
import io.grpc.stub.MetadataUtils;

public class ListTerminalsExample {
    public static final String HOSTNAME = "grpc-staging.kodypay.com";
    public static final String API_KEY = "your-api-key";

    public static void main(String[] args) {
        // Step 1: Create metadata with API key
        Metadata metadata = new Metadata();
        metadata.put(Metadata.Key.of("X-API-Key", Metadata.ASCII_STRING_MARSHALLER), API_KEY);

        // Step 2: Build secure channel and create client
        var channel = ManagedChannelBuilder.forAddress(HOSTNAME, 443)
            .useTransportSecurity()
            .build();
        var client = KodyPayTerminalServiceGrpc.newBlockingStub(channel)
            .withInterceptors(MetadataUtils.newAttachHeadersInterceptor(metadata));

        // Step 3: Create TerminalsRequest and set store ID
        TerminalsRequest request = TerminalsRequest.newBuilder()
            .setStoreId("your-store-id")
            .build();

        // Step 4: Call Terminals() method and get response
        TerminalsResponse response = client.terminals(request);

        // Step 5: Process terminals from response
        response.getTerminalsList().forEach(terminal -> {
            System.out.println("Terminal ID: " + terminal.getTerminalId());
            System.out.println("Online: " + terminal.getOnline());
        });
    }
}
import grpc
import kody_clientsdk_python.pay.v1.pay_pb2 as kody_model
import kody_clientsdk_python.pay.v1.pay_pb2_grpc as kody_client

def list_terminals():
    # Configuration
    HOSTNAME = "grpc-staging.kodypay.com:443"
    API_KEY = "your-api-key"

    # Step 1: Create secure channel
    channel = grpc.secure_channel(HOSTNAME, grpc.ssl_channel_credentials())

    # Step 2: Create client and set metadata with API key
    client = kody_client.KodyPayTerminalServiceStub(channel)
    metadata = [("x-api-key", API_KEY)]

    # Step 3: Create TerminalsRequest and set store ID
    request = kody_model.TerminalsRequest(store_id="your-store-id")

    # Step 4: Call Terminals() method and get response
    response = client.Terminals(request, metadata=metadata)

    # Step 5: Process terminals from response
    for terminal in response.terminals:
        print(f"Terminal ID: {terminal.terminal_id}")
        print(f"Online: {terminal.online}")

if __name__ == "__main__":
    list_terminals()
using Grpc.Core;
using Grpc.Net.Client;
using Com.Kodypay.Pay.V1;

class Program
{
    static async Task Main(string[] args)
    {
        // Configuration
        var HOSTNAME = "grpc-staging.kodypay.com";
        var API_KEY = "your-api-key";

        // Step 1: Create secure channel
        var channel = GrpcChannel.ForAddress("https://" + HOSTNAME);

        // Step 2: Create client
        var client = new KodyPayTerminalService.KodyPayTerminalServiceClient(channel);

        // Step 3: Set authentication headers with API key
        var metadata = new Metadata
        {
            { "X-API-Key", API_KEY }
        };

        // Step 4: Create TerminalsRequest and set store ID
        var request = new TerminalsRequest { StoreId = "your-store-id" };

        // Step 5: Call Terminals() method and get response
        var response = await client.TerminalsAsync(request, metadata);

        // Step 6: Process terminals from response
        foreach (var terminal in response.Terminals)
        {
            Console.WriteLine($"Terminal ID: {terminal.TerminalId}");
            Console.WriteLine($"Online: {terminal.Online}");
        }
    }
}