customer_portal
Confirm Customer Payment Method
Confirm a payment method for the authenticated customer.
POST
/
v1
/
customer-portal
/
customers
/
me
/
payment-methods
/
confirm
Python
from ourpay.v2026_10 import OurPay
ourpay = OurPay("ourpay_oat_xxx")
response = ourpay.customer_portal.customers.confirm_payment_method(
setup_intent_id='string',
set_default=True,
)
print(response)import { createOurPay } from "@ourpay-dev/sdk/2026-10";
const ourpay = createOurPay({
accessToken: "ourpay_oat_xxx",
});
const response = await ourpay.customerPortal.customers.confirmPaymentMethod(
{
"setup_intent_id": "string",
"set_default": true
},
);
console.log(response);
curl --request POST \
--url https://api.ourpay.dev/v1/customer-portal/customers/me/payment-methods/confirm \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"setup_intent_id": "<string>",
"set_default": true
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({setup_intent_id: '<string>', set_default: true})
};
fetch('https://api.ourpay.dev/v1/customer-portal/customers/me/payment-methods/confirm', 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://api.ourpay.dev/v1/customer-portal/customers/me/payment-methods/confirm",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'setup_intent_id' => '<string>',
'set_default' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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://api.ourpay.dev/v1/customer-portal/customers/me/payment-methods/confirm"
payload := strings.NewReader("{\n \"setup_intent_id\": \"<string>\",\n \"set_default\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.post("https://api.ourpay.dev/v1/customer-portal/customers/me/payment-methods/confirm")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"setup_intent_id\": \"<string>\",\n \"set_default\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ourpay.dev/v1/customer-portal/customers/me/payment-methods/confirm")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"setup_intent_id\": \"<string>\",\n \"set_default\": true\n}"
response = http.request(request)
puts response.read_body{
"status": "succeeded",
"payment_method": {
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"processor": "stripe",
"customer_id": "<string>",
"type": "card",
"method_metadata": {
"brand": "<string>",
"last4": "<string>",
"exp_month": 123,
"exp_year": 123,
"wallet": "<string>"
}
}
}{
"error": "CustomerNotReady",
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
customer_sessionmember_session
Customer session tokens are specific tokens that are used to authenticate customers on your organization. You can create those sessions programmatically using the Create Customer Session endpoint.
Response
Payment method created or setup initiated.
⌘I
Python
from ourpay.v2026_10 import OurPay
ourpay = OurPay("ourpay_oat_xxx")
response = ourpay.customer_portal.customers.confirm_payment_method(
setup_intent_id='string',
set_default=True,
)
print(response)import { createOurPay } from "@ourpay-dev/sdk/2026-10";
const ourpay = createOurPay({
accessToken: "ourpay_oat_xxx",
});
const response = await ourpay.customerPortal.customers.confirmPaymentMethod(
{
"setup_intent_id": "string",
"set_default": true
},
);
console.log(response);
curl --request POST \
--url https://api.ourpay.dev/v1/customer-portal/customers/me/payment-methods/confirm \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"setup_intent_id": "<string>",
"set_default": true
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({setup_intent_id: '<string>', set_default: true})
};
fetch('https://api.ourpay.dev/v1/customer-portal/customers/me/payment-methods/confirm', 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://api.ourpay.dev/v1/customer-portal/customers/me/payment-methods/confirm",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'setup_intent_id' => '<string>',
'set_default' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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://api.ourpay.dev/v1/customer-portal/customers/me/payment-methods/confirm"
payload := strings.NewReader("{\n \"setup_intent_id\": \"<string>\",\n \"set_default\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.post("https://api.ourpay.dev/v1/customer-portal/customers/me/payment-methods/confirm")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"setup_intent_id\": \"<string>\",\n \"set_default\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ourpay.dev/v1/customer-portal/customers/me/payment-methods/confirm")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"setup_intent_id\": \"<string>\",\n \"set_default\": true\n}"
response = http.request(request)
puts response.read_body{
"status": "succeeded",
"payment_method": {
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"processor": "stripe",
"customer_id": "<string>",
"type": "card",
"method_metadata": {
"brand": "<string>",
"last4": "<string>",
"exp_month": 123,
"exp_year": 123,
"wallet": "<string>"
}
}
}{
"error": "CustomerNotReady",
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}