Implementando PHP y Javascript SKD Ayuda para enviar variables adicionales

Estoy trabajando en PHP y Javascript ! Ya funciona correctamente todo luego de 3 dias tratando de entender la mala documentacion que hay !

Estoy trabajando en codeigniter Framework todo correcto .

necesito enviar desde mi vista hacia el controlador php unas variables adicionales que contienen informacion del cliente como su nombre y apellido, esto para adjuntarlo al recibo que genera Square en

$uid = uniqid();
$body = new \Square\Models\CreatePaymentRequest(
$cnon,
$uid,
$amount_money
);
// aqui necesito insertar datos externos que vienen desde la vista o pantalla con unas variables.
$body->setAutocomplete(true);
$body->setCustomerId(‘W92WH6P11H4Z77CTET0RNTGFW8’);
$body->setLocationId(‘LT38YY0C8A4Y3’);
$body->setReferenceId(‘123456’);
$body->setNote(‘Brief description petit3’);

el problema que tengo es que no se como pasar variables con informacion adicional, ya que en php recibo un JSON con todo lo que necesita internamente square.

como hago para enviar desde javascript datos adicionales por POST sin que afecte el JSON ya que lo intente y es como si enviara dos FORM al php y pues en un ciclo el php espera datos que ya fueron enviado en el primer formulario (que es el que envia el script de square) y entonces al no recibir nada me devuelve un error .

asi lo intente en Javascript enviando un formulario con las variables que necesitaba, y si llega pero repito es como si estuviera haciendo algo que ya paso y da error.

parte de mi codigo donde intento enviar.

 // Checkpoint 2.
    async function handlePaymentMethodSubmission(event, paymentMethod) {
      event.preventDefault();

      try {
        // disable the submit button as we await tokenization and make a payment request.
        cardButton.disabled = true;
        const token = await tokenize(paymentMethod);
        const paymentResults = await createPayment(token);
        displayPaymentResults('SUCCESS');

        console.debug('Payment Success', paymentResults);
      } catch (e) {
        cardButton.disabled = false;
        displayPaymentResults('FAILURE');
        console.error(e.message);
      }
      

      //revisar que todo se esta juntando en el controlador cuando se envia la data
      

        // POST the nonce form to the payment processing page

         //document.getElementById('datos-consumo-form').submit();  <- AQUI INTENTO ENVIAR EL FORMULARIO QUE TENGO POR ARRIBA CON LAS VARIABLES pero es como enviar otro formulario y me da error. ya que ya se envio el de javascript de square.
    }

    const cardButton = document.getElementById('card-button');
    cardButton.addEventListener('click', async function (event) {
      await handlePaymentMethodSubmission(event, card);
    });
  });

Con la Customers API, primero puede crear un perfil de cliente con la información del cliente que desea recopilar y luego pasar el ID_cliente generado en la solicitud de pago para asociar el cliente al pago. :slightly_smiling_face: