Skip to main content
POST
/
payment-services
/
{payment_service_id}
/
sessions
C#
using Gr4vy;
using Gr4vy.Models.Components;
using System.Collections.Generic;

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

var res = await sdk.PaymentServices.SessionAsync(
    paymentServiceId: "fffd152a-9532-4087-9a4f-de58754210f0",
    requestBody: new Dictionary<string, object>() {

    }
);

// handle response
package main

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

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

privateKey := "...."
withToken := gr4vy.WithToken(privateKey, []JWTScope{ReadAll, WriteAll}, 60)

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

res, err := s.PaymentServices.Session(ctx, "fffd152a-9532-4087-9a4f-de58754210f0", map[string]any{

})
if err != nil {
log.Fatal(err)
}
if res != nil {
// handle response
}
}
package hello.world;

import java.lang.Exception;
import java.util.Map;
import com.gr4vy.sdk.BearerSecuritySource;
import com.gr4vy.sdk.Gr4vy;
import com.gr4vy.sdk.Gr4vy.AvailableServers;
import org.openapis.openapi.models.errors.*;
import org.openapis.openapi.models.operations.CreatePaymentServiceSessionResponse;

public class Application {

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

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

CreatePaymentServiceSessionResponse res = sdk.paymentServices().session()
.paymentServiceId("fffd152a-9532-4087-9a4f-de58754210f0")
.requestBody(Map.ofEntries(
))
.call();

if (res.createSession().isPresent()) {
// handle response
}
}
}
declare(strict_types=1);

require 'vendor/autoload.php';

use Gr4vy;
use Gr4vy\Auth;


$privateKey = "...";

$sdk = Gr4vy\SDK::builder()
-\u003esetId('mattilda')
-\u003esetServer('sandbox')
-\u003esetSecuritySource(Auth::withToken($privateKey))
-\u003esetMerchantAccountId('default')
-\u003ebuild();



$response = $sdk->paymentServices->session(
paymentServiceId: 'fffd152a-9532-4087-9a4f-de58754210f0',
requestBody: [

]

);

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


with Gr4vy(
id="mattilda",
server="production",
merchant_account_id="default",
bearer_auth=auth.with_token(open("./private_key.pem").read())
) as g_client:

res = g_client.payment_services.session(payment_service_id="fffd152a-9532-4087-9a4f-de58754210f0", request_body={

})

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

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

async function run() {
const result = await gr4vy.paymentServices.session({

}, "fffd152a-9532-4087-9a4f-de58754210f0");

console.log(result);
}

run();
{
  "type": "payment-service-session",
  "code": "UNKNOWN_ERROR",
  "status_code": 201,
  "response_body": {
    "sessionId": "12345"
  }
}
{
"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": []
}
{
"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 requires the transactions.write scope.

Authorizations

Authorization
string
header
required

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

Headers

x-gr4vy-merchant-account-id
string | null

The ID of the merchant account to use for this request.

Example:

"default"

Path Parameters

payment_service_id
string<uuid>
required

the ID of the payment service

Example:

"fffd152a-9532-4087-9a4f-de58754210f0"

Body

application/json

The JSON payload to sent to the payment service's session API.

Response

Successful Response

The session data received from the payment service.

status
enum<string>
required

The status of the response.

Available options:
succeeded,
failed
Example:

"succeeded"

type
string
default:payment-service-session

Always payment-service-session.

Allowed value: "payment-service-session"
Example:

"payment-service-session"

code
string | null

A generic error code that may be returned when the session could not be generated.

Example:

"UNKNOWN_ERROR"

status_code
integer | null

The HTTP status code received from the payment service.

Example:

201

response_body
Response Body · object | null

The JSON response body received from the payment service.

Example:
{ "sessionId": "12345" }