Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 以编程方式创建商业订单并应用付款方式_Php_Wordpress_Woocommerce - Fatal编程技术网

Php 以编程方式创建商业订单并应用付款方式

Php 以编程方式创建商业订单并应用付款方式,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,我有一个代码,在提交表格后创建一个商业订单 我需要设置付款方式,以便客户收到付款指示。如果有人能看到我的代码并提出建议,我将不胜感激: add_action( 'gform_after_submission_56', 'post_to_third_party', 10, 2 ); function post_to_third_party( $entry, $form ) { global $woocommerce; // use this to find out $entry o

我有一个代码,在提交表格后创建一个商业订单

我需要设置付款方式,以便客户收到付款指示。如果有人能看到我的代码并提出建议,我将不胜感激:

add_action( 'gform_after_submission_56', 'post_to_third_party', 10, 2 );
function post_to_third_party( $entry, $form ) {
    global $woocommerce;
    // use this to find out $entry output
    var_dump($entry);

    // Make sure to add hidden field somewhere in the form with product id and define it here, If you have some other way of defining products in the form you need to make sure product id is returned in the variable below somehow


    // set some variables
$user_id =rgar( $entry, '97' );
$product_id = rgar( $entry, '71' );
$quantity = rgar( $entry, '73' );
$note = rgar( $entry, '53' );

$product = wc_get_product($product_id);

  $address = array(   
         'first_name' => rgar( $entry, '98' ),
         'last_name'  => rgar( $entry, '99' ),
         'company'    => rgar( $entry, '' ),
         'email'      => rgar( $entry, '83' ),
         'phone'      => rgar( $entry, '84' ),
         'address_1'  => rgar( $entry, '88.1' ),
         'address_2'  => rgar( $entry, '88.2' ),
         'city'       => rgar( $entry, '88.3' ),
         'state'      => rgar( $entry, '88.4' ),
         'postcode'   => rgar( $entry, '88.5' ),
         'country'    => rgar( $entry, '88.6' ),
    );

$payment_gateways=rgar( $entry, '106' );
// Create the order object
$order = wc_create_order();
$order->set_customer_id( $user_id );

$order->add_product( wc_get_product($product_id), $quantity, $prices);

foreach ($order->get_items() as $item_key => $item ) {
    $item->add_meta_data( 'Booking Request', $note, true );
}

$order->set_address( $address, 'billing' );
$order->calculate_totals();
$order->update_status( 'on-hold', 'pending', TRUE); 

$order->add_order_note( $note );

    $coupon_code = rgar( $entry, '105' );
    $order->apply_coupon($coupon_code);
      // Set payment gateway
    $order->set_payment_method($payment_gateways);
}``` 

试试这个

$payment_gateways = WC()->payment_gateways->payment_gateways();
$order->set_payment_method($payment_gateways['stripe']);
这是我的工作代码
谢谢

我希望能够有一个表单字段来选择付款方式。您的解决方案将其设置为条带。@JessicaArmstrong WC()->支付网关->支付网关();此方法将返回wordpress中可用支付网关的数组。因此,只需制作一个函数,选择您的付款方式,并将其放入$order->set_payment_method()中即可。请检查此方法-