curl --request PUT \
--url https://sandbox.birrpay.io/v2/payment-method-sessions/{id}/update-saved-payment-method \
--header 'Content-Type: application/json' \
--data '
{
"payment_method_data": {
"card": {
"card_cvc": "456",
"card_holder_name": "Narayan Bhat"
}
},
"payment_method_token": "token_9wcXDRVkfEtLEsSnYKgQ"
}
'import requests
url = "https://sandbox.birrpay.io/v2/payment-method-sessions/{id}/update-saved-payment-method"
payload = {
"payment_method_data": { "card": {
"card_cvc": "456",
"card_holder_name": "Narayan Bhat"
} },
"payment_method_token": "token_9wcXDRVkfEtLEsSnYKgQ"
}
headers = {"Content-Type": "application/json"}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
payment_method_data: {card: {card_cvc: '456', card_holder_name: 'Narayan Bhat'}},
payment_method_token: 'token_9wcXDRVkfEtLEsSnYKgQ'
})
};
fetch('https://sandbox.birrpay.io/v2/payment-method-sessions/{id}/update-saved-payment-method', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox.birrpay.io/v2/payment-method-sessions/{id}/update-saved-payment-method",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'payment_method_data' => [
'card' => [
'card_cvc' => '456',
'card_holder_name' => 'Narayan Bhat'
]
],
'payment_method_token' => 'token_9wcXDRVkfEtLEsSnYKgQ'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://sandbox.birrpay.io/v2/payment-method-sessions/{id}/update-saved-payment-method"
payload := strings.NewReader("{\n \"payment_method_data\": {\n \"card\": {\n \"card_cvc\": \"456\",\n \"card_holder_name\": \"Narayan Bhat\"\n }\n },\n \"payment_method_token\": \"token_9wcXDRVkfEtLEsSnYKgQ\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://sandbox.birrpay.io/v2/payment-method-sessions/{id}/update-saved-payment-method")
.header("Content-Type", "application/json")
.body("{\n \"payment_method_data\": {\n \"card\": {\n \"card_cvc\": \"456\",\n \"card_holder_name\": \"Narayan Bhat\"\n }\n },\n \"payment_method_token\": \"token_9wcXDRVkfEtLEsSnYKgQ\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.birrpay.io/v2/payment-method-sessions/{id}/update-saved-payment-method")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"payment_method_data\": {\n \"card\": {\n \"card_cvc\": \"456\",\n \"card_holder_name\": \"Narayan Bhat\"\n }\n },\n \"payment_method_token\": \"token_9wcXDRVkfEtLEsSnYKgQ\"\n}"
response = http.request(request)
puts response.read_body{
"id": "12345_pms_01926c58bc6e77c09e809964e72af8c8",
"expires_at": "2023-01-18T11:04:09.922Z",
"client_secret": "cs_9wcXDRVkfEtLEsSnYKgQ",
"customer_id": "12345_cus_01926c58bc6e77c09e809964e72af8c8",
"billing": {
"address": {
"city": "New York",
"country": "AF",
"line1": "123, King Street",
"line2": "Powelson Avenue",
"line3": "Bridgewater",
"zip": "08807",
"state": "New York",
"first_name": "John",
"last_name": "Doe",
"origin_zip": "08807"
},
"phone": {
"number": "9123456789",
"country_code": "+1"
},
"email": "<string>"
},
"psp_tokenization": {
"tokenization_type": "single_use",
"connector_id": "mca_28a7367sad8239s67"
},
"network_tokenization": {
"enable": "Enable"
},
"tokenization_data": "<unknown>",
"return_url": "https://merchant-website.com/return",
"next_action": {
"redirect_to_url": "https://example.com/redirect",
"type": "redirect_to_url"
},
"authentication_details": {
"status": "succeeded",
"error": {
"code": "card_declined",
"message": "The card was declined.",
"reason": "The card was declined.",
"unified_code": "card_declined",
"unified_message": "The card was declined.",
"network_advice_code": "01",
"network_decline_code": "05",
"network_error_message": "Do not retry"
}
},
"associated_payment_methods": [
{
"payment_method_token": {
"type": "payment_method_session_token",
"data": "token_9wcXDRVkfEtLEsSnYKgQ"
}
}
],
"associated_token_id": "12345_tok_01926c58bc6e77c09e809964e72af8c8",
"storage_type": "volatile",
"card_cvc_token_storage": {
"is_stored": true,
"expires_at": "2024-02-24T11:04:09.922Z"
}
}Payment Method Session - Update a saved payment method
Update a saved payment method from the given payment method session.
curl --request PUT \
--url https://sandbox.birrpay.io/v2/payment-method-sessions/{id}/update-saved-payment-method \
--header 'Content-Type: application/json' \
--data '
{
"payment_method_data": {
"card": {
"card_cvc": "456",
"card_holder_name": "Narayan Bhat"
}
},
"payment_method_token": "token_9wcXDRVkfEtLEsSnYKgQ"
}
'import requests
url = "https://sandbox.birrpay.io/v2/payment-method-sessions/{id}/update-saved-payment-method"
payload = {
"payment_method_data": { "card": {
"card_cvc": "456",
"card_holder_name": "Narayan Bhat"
} },
"payment_method_token": "token_9wcXDRVkfEtLEsSnYKgQ"
}
headers = {"Content-Type": "application/json"}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
payment_method_data: {card: {card_cvc: '456', card_holder_name: 'Narayan Bhat'}},
payment_method_token: 'token_9wcXDRVkfEtLEsSnYKgQ'
})
};
fetch('https://sandbox.birrpay.io/v2/payment-method-sessions/{id}/update-saved-payment-method', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox.birrpay.io/v2/payment-method-sessions/{id}/update-saved-payment-method",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'payment_method_data' => [
'card' => [
'card_cvc' => '456',
'card_holder_name' => 'Narayan Bhat'
]
],
'payment_method_token' => 'token_9wcXDRVkfEtLEsSnYKgQ'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://sandbox.birrpay.io/v2/payment-method-sessions/{id}/update-saved-payment-method"
payload := strings.NewReader("{\n \"payment_method_data\": {\n \"card\": {\n \"card_cvc\": \"456\",\n \"card_holder_name\": \"Narayan Bhat\"\n }\n },\n \"payment_method_token\": \"token_9wcXDRVkfEtLEsSnYKgQ\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://sandbox.birrpay.io/v2/payment-method-sessions/{id}/update-saved-payment-method")
.header("Content-Type", "application/json")
.body("{\n \"payment_method_data\": {\n \"card\": {\n \"card_cvc\": \"456\",\n \"card_holder_name\": \"Narayan Bhat\"\n }\n },\n \"payment_method_token\": \"token_9wcXDRVkfEtLEsSnYKgQ\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.birrpay.io/v2/payment-method-sessions/{id}/update-saved-payment-method")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"payment_method_data\": {\n \"card\": {\n \"card_cvc\": \"456\",\n \"card_holder_name\": \"Narayan Bhat\"\n }\n },\n \"payment_method_token\": \"token_9wcXDRVkfEtLEsSnYKgQ\"\n}"
response = http.request(request)
puts response.read_body{
"id": "12345_pms_01926c58bc6e77c09e809964e72af8c8",
"expires_at": "2023-01-18T11:04:09.922Z",
"client_secret": "cs_9wcXDRVkfEtLEsSnYKgQ",
"customer_id": "12345_cus_01926c58bc6e77c09e809964e72af8c8",
"billing": {
"address": {
"city": "New York",
"country": "AF",
"line1": "123, King Street",
"line2": "Powelson Avenue",
"line3": "Bridgewater",
"zip": "08807",
"state": "New York",
"first_name": "John",
"last_name": "Doe",
"origin_zip": "08807"
},
"phone": {
"number": "9123456789",
"country_code": "+1"
},
"email": "<string>"
},
"psp_tokenization": {
"tokenization_type": "single_use",
"connector_id": "mca_28a7367sad8239s67"
},
"network_tokenization": {
"enable": "Enable"
},
"tokenization_data": "<unknown>",
"return_url": "https://merchant-website.com/return",
"next_action": {
"redirect_to_url": "https://example.com/redirect",
"type": "redirect_to_url"
},
"authentication_details": {
"status": "succeeded",
"error": {
"code": "card_declined",
"message": "The card was declined.",
"reason": "The card was declined.",
"unified_code": "card_declined",
"unified_message": "The card was declined.",
"network_advice_code": "01",
"network_decline_code": "05",
"network_error_message": "Do not retry"
}
},
"associated_payment_methods": [
{
"payment_method_token": {
"type": "payment_method_session_token",
"data": "token_9wcXDRVkfEtLEsSnYKgQ"
}
}
],
"associated_token_id": "12345_tok_01926c58bc6e77c09e809964e72af8c8",
"storage_type": "volatile",
"card_cvc_token_storage": {
"is_stored": true,
"expires_at": "2024-02-24T11:04:09.922Z"
}
}Path Parameters
The unique identifier for the Payment Method Session
Body
The network transaction ID provided by the card network during a Customer Initiated Transaction (CIT)
when setup_future_usage is set to off_session.
The payment method token associated with the payment method session
"token_9wcXDRVkfEtLEsSnYKgQ"
Show child attributes
Show child attributes
Token information that can be used to initiate transactions by the merchant.
Show child attributes
Show child attributes
Response
The payment method has been updated successfully
"12345_pms_01926c58bc6e77c09e809964e72af8c8"
The iso timestamp when the session will expire Trying to retrieve the session or any operations on the session after this time will result in an error
"2023-01-18T11:04:09.922Z"
Client Secret
"cs_9wcXDRVkfEtLEsSnYKgQ"
The customer id for which the payment methods session is to be created
"12345_cus_01926c58bc6e77c09e809964e72af8c8"
Show child attributes
Show child attributes
The Payment Service Provider Configuration for payment methods that are created using the payment method session
Show child attributes
Show child attributes
The network tokenization configuration for creating the payment method session
Show child attributes
Show child attributes
Contains data to be passed on to tokenization service ( if present ) to create token_id for given JSON data
The return url to which the user should be redirected to
"https://merchant-website.com/return"
Contains the url for redirection flow
- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
- Option 6
- Option 7
- Option 8
- Option 9
- Option 10
- Option 11
- Option 12
- Option 13
Show child attributes
Show child attributes
Show child attributes
Show child attributes
The payment method that was created using this payment method session
Show child attributes
Show child attributes
The token-id created if there is tokenization_data present
"12345_tok_01926c58bc6e77c09e809964e72af8c8"
volatile, persistent Show child attributes
Show child attributes