У меня есть две функции, а именно: оплата и подписка, при успешной оплате
бывает, я вставляю некоторые метаданные, смотрите ниже:
![enter image description here](https://i.stack.imgur.com/WEshw.jpg)
То же самое для функции подписки:
![enter image description here](https://i.stack.imgur.com/MYSTl.jpg)
Тогда у меня есть отдельный файл, который я не буду публиковать здесь, потому что он вызывает только API списков платежей, чтобы получить все успешные платежи для проверки всех метаданных в нем, однако я заметил, что как только я создал подписку через API, это там доступны только метаданные1 и метаданные2.
Когда я просматриваю плату, созданную подпиской, к ее метаданным ничего не добавлялось. Как я могу прикрепить метаданные из подписки к соответствующему тарифу?
![enter image description here](https://i.stack.imgur.com/CYv0v.jpg)
<?php
require_once('stripe-php-master/init.php');
require 'apiKeys.php';
$data = $_REQUEST['data'];
if(isset($data['stripeToken'])){
create_customer($data);
}else{
printResponse($data,"No Token");
}
//Create Customer
function create_customer($data){
try{
\Stripe\Stripe::setApiKey(SK_TEST_KEY);
$customer = \Stripe\Customer::create(array(
"description" => 'Widget Create Customer',
"source" => $data['stripeToken'],
"email" => $data['stripeEmail']
));
$data['customerID'] = $customer->id;
//create_charge($data);
create_subscription($data);
}catch(Exception $e){
echo $e->getMessage();
exit;
}
}//create_customer
//Create charge
function create_charge($data){
try{
\Stripe\Stripe::setApiKey(SK_TEST_KEY);
$settings = [
'currency' => 'aud',
'amount'=>5500,
'description' => 'Widget Payment for ' .$data['widget_name'],
'customer' => $data['customerID'],
'metadata'=>["metadata1" => $data['metadata1'],"metadata2" => $data['metadata2']]
];
// Get the payment token ID submitted by the form:
$charge = \Stripe\Charge::create($settings);
printResponse($data, $charge->status);
}catch(Exception $e){
printResponse($data,$e->getMessage());
exit;
}
}//create_charge
//Create subscription
function create_subscription($data){
try{
\Stripe\Stripe::setApiKey(SK_TEST_KEY);
$settings = [
'customer' => $data['customerID'],
'metadata'=>["metadata1" => $data['metadata1'],"metadata2" => $data['metadata2']],
'items' => [
[
'plan' => $data['widget_class']
]
]
];
$subscription = \Stripe\Subscription::create($settings);
printResponse($data,$subscription->status);
}catch(Exception $e){
printResponse($data,$e->getMessage());
exit;
}
}
function printResponse($data,$status){
//CREATE Response JSON
print_r(json_encode([
'customer_name'=> $data['customer_name'],
'metadata1' => $data['metadata1'],
'metadata2'=> $data['metadata2'],
'payment_status'=>$status
]));
}
?>
Я просто хочу, чтобы, когда кто-то подписывает плату за событие подписки, к нему были прикреплены метаданные1 и метаданные2.