이것은 우연한 상인이 온라인 상인이 아닌 판매자 계정으로 지불을 처리하기 위해 작성한 맞춤 플러그인에서 가져온 것입니다. 이것은 모든 주문 데이터를 가져 와서 사용하기 위해 배열에 배치하는 함수입니다. 배송비는 필요 없기 때문에 배송비를 공백으로 남겨 뒀지 만 결제 정보와 동일한 방식으로 얻을 수 있습니다. 도움이되기를 바랍니다.
function get_itransact_args($order)
{
global $woocommerce;
$order_id = $order->id;
$billing_first_name = get_post_meta($order_id,'_billing_first_name',true);
$billing_last_name = get_post_meta($order_id,'_billing_last_name',true);
$billing_company = get_post_meta($order_id,'_billing_company',true);
$billing_address = get_post_meta($order_id,'_billing_address_1',true);
$billing_address2 = get_post_meta($order_id,'_billing_address_2',true);
$billing_city = get_post_meta($order_id,'_billing_city',true);
$billing_postcode = get_post_meta($order_id,'_billing_postcode',true);
$billing_country = get_post_meta($order_id,'_billing_country',true);
$billing_state = get_post_meta($order_id,'_billing_state',true);
$billing_email = get_post_meta($order_id,'_billing_email',true);
$billing_phone = get_post_meta($order_id,'_billing_phone',true);
$billing_paymethod = get_post_meta($order_id,'_payment_method',true);
$data = array();
$data['customerReference'] = $order_id.'-'.$order->order_key;
$data['description'] = "Payment for order id ".$order_id;
$data['email'] = $order->billing_email;
$data['INVNUM'] = $order_id;
$data['amount'] = number_format($order->get_total(), 2, '.', '');
$data['gatewayurl'] = $this->gatewayurl;
$data['vendor_id'] = $this->vendorid;
$items = $order->get_items();
foreach($items as $item) {
$item_id = $item['product_id'];
$product = new WC_Product($item_id);
$data["".$item_id ."-desc"] = $item['name'];
$data["".$item_id ."-cost"] = $product->price;
$data["".$item_id ."-qty"] = $item['qty'];
}
$shipping = $order->get_shipping();
$data["0-desc"] = 'shipping';
$data["0-cost"] = $shipping;
$data["0-qty"] = 1;
$data['ret_addr'] = add_query_arg('order', $order->id, add_query_arg('key', $order->order_key, get_permalink(woocommerce_get_page_id('pay'))));
$data['address'] = $billing_address. " " . $billing_address2;
$data['city'] = $billing_city;
$data['country'] = $billing_country;
$data['first_name'] = $billing_first_name;
$data['last_name'] = $billing_last_name;
$data['phone'] = $billing_phone;
$data['state'] = $billing_state;
$data['zip'] = $billing_postcode;
$data['saddr'] = '';
$data['scity'] = '';
$data['sctry'] = '';
$data['sfname'] = '';
$data['slname'] = '';
$data['sstate'] = '';
$data['szip'] = '';
return $data;
}