Skip to main content
POST
/
digital-wallets
/
click-to-pay
/
session
C#
using Gr4vy;
using Gr4vy.Models.Components;

var sdk = new Gr4vySDK(
    id: "example",
    server: SDKConfig.Server.Sandbox,
    bearerAuthSource: Auth.WithToken(privateKey),
    merchantAccountId: "default"
);

ClickToPaySessionRequest req = new ClickToPaySessionRequest() {
    CheckoutSessionId = "4137b1cf-39ac-42a8-bad6-1c680d5dab6b",
};

var res = await sdk.DigitalWallets.Sessions.ClickToPayAsync(req);

// handle response
package main

import(
"context"
"os"
gr4vygo "github.com/gr4vy/gr4vy-go"
"github.com/gr4vy/gr4vy-go/models/components"
"log"
)

func main() {
ctx := context.Background()

s := gr4vy.New(
gr4vy.WithID("example"),
gr4vy.WithServer(gr4vy.ServerSandbox),
gr4vy.WithSecuritySource(withToken),
gr4vy.WithMerchantAccountID("default"),
)

res, err := s.DigitalWallets.Sessions.ClickToPay(ctx, components.ClickToPaySessionRequest{
CheckoutSessionID: "4137b1cf-39ac-42a8-bad6-1c680d5dab6b",
})
if err != nil {
log.Fatal(err)
}
if res != nil {
// handle response
}
}
package hello.world;

import com.gr4vy.sdk.Gr4vy;
import com.gr4vy.sdk.models.components.ClickToPaySessionRequest;
import com.gr4vy.sdk.models.errors.*;
import com.gr4vy.sdk.models.operations.CreateClickToPayDigitalWalletSessionResponse;
import java.lang.Exception;

public class Application {

public static void main(String[] args) throws Exception {

Gr4vy sdk = Gr4vy.builder()
.id("example")
.server(AvailableServers.SANDBOX)
.merchantAccountId("default")
.securitySource(new BearerSecuritySource.Builder(privateKey).build())
.build();

ClickToPaySessionRequest req = ClickToPaySessionRequest.builder()
.checkoutSessionId("4137b1cf-39ac-42a8-bad6-1c680d5dab6b")
.build();

CreateClickToPayDigitalWalletSessionResponse res = sdk.digitalWallets().sessions().clickToPay()
.request(req)
.call();

if (res.clickToPaySession().isPresent()) {
System.out.println(res.clickToPaySession().get());
}
}
}
declare(strict_types=1);

require 'vendor/autoload.php';

use Gr4vy;

$sdk = Gr4vy\SDK::builder()
->setId('example')
->setServer('sandbox')
->setSecuritySource(Auth::withToken($privateKey))
->setMerchantAccountId('default')
->build();

$request = new Gr4vy\ClickToPaySessionRequest(
checkoutSessionId: '4137b1cf-39ac-42a8-bad6-1c680d5dab6b',
);

$response = $sdk->digitalWallets->sessions->clickToPay(
request: $request
);

if ($response->clickToPaySession !== null) {
// handle response
}
from gr4vy import Gr4vy
import os


with Gr4vy(
id="example",
server="sandbox",
merchant_account_id="default",
bearer_auth=auth.with_token(open("./private_key.pem").read())
):

res = g_client.digital_wallets.sessions.click_to_pay(checkout_session_id="4137b1cf-39ac-42a8-bad6-1c680d5dab6b")

# Handle response
print(res)
import { Gr4vy, withToken } from "@gr4vy/sdk";
import fs from "fs";

const gr4vy = new Gr4vy({
id: "example",
server: "sandbox",
merchantAccountId: "default",
bearerAuth: withToken({
privateKey: fs.readFileSync("private_key.pem", "utf8"),
}),
});

async function run() {
const result = await gr4vy.digitalWallets.sessions.clickToPay({
checkoutSessionId: "4137b1cf-39ac-42a8-bad6-1c680d5dab6b",
});

console.log(result);
}

run();
curl --request POST \
--url https://api.sandbox.{id}.gr4vy.app/digital-wallets/click-to-pay/session \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"checkout_session_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
'
{
  "digital_payment_application_id": "<string>",
  "digital_payment_application_name": "<string>"
}
{
"type": "error",
"code": "bad_request",
"status": 400,
"message": "Generic error",
"details": []
}
{
"type": "error",
"code": "unauthorized",
"status": 401,
"message": "No valid API authentication found",
"details": []
}
{
"type": "error",
"code": "forbidden",
"status": 403,
"message": "Generic error",
"details": []
}
{
"type": "error",
"code": "not_found",
"status": 404,
"message": "The resource could not be found",
"details": []
}
{
"type": "error",
"code": "method_not_allowed",
"status": 405,
"message": "Method Not Allowed",
"details": []
}
{
"type": "error",
"code": "duplicate_record",
"status": 409,
"message": "Generic error",
"details": [],
"resource_id": "cdc70639-cb9c-4222-a73f-b8ce39f7821b"
}
{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}
{
"type": "error",
"code": "too_early",
"status": 425,
"message": "Generic error",
"details": []
}
{
"type": "error",
"code": "too_many_requests",
"status": 429,
"message": "Generic error",
"details": []
}
{
"type": "error",
"code": "server_error",
"status": 500,
"message": "Request could not be processed",
"details": []
}
{
"type": "error",
"code": "bad_gateway",
"status": 502,
"message": "Request could not be processed",
"details": []
}
{
"type": "error",
"code": "gateway_timeout",
"status": 504,
"message": "Request could not be processed",
"details": []
}
This endpoint is unauthenticated and requires no scopes.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
checkout_session_id
string<uuid>
required

The checkout session ID to create a Click to Pay session for.

Example:

"4137b1cf-39ac-42a8-bad6-1c680d5dab6b"

Response

Successful Response

digital_payment_application_id
string
required

The ID of the Click to Pay application.

Example:

"a0c3ef2e-9cdb-4cbf-aaff-5baac2928e1b"

digital_payment_application_name
string
required

The merchant name as configured ont he the Click to Pay wallet.

Example:

"ACME"