Schemat przepływu integracji Paystack Split Payments

Poniższe schematy blokowe przedstawiają podstawowy przepływ wymagany do uruchomienia podziału płatności Paystack dla WC Vendors. Może to być również zaadaptowane do obsługi dowolnej bramki płatności, która obsługuje podział płatności.

Patrząc na wtyczkę bramki płatności Paystack for WooCommerce, wydaje się, że podział płatności jest już obsługiwany, ale dotyczy stałego/predefiniowanego subkonta i nie obsługuje dynamicznych subkont opartych na liście sprzedawców pobranej z bieżącego przetwarzanego zamówienia. Aby WC Vendors Marketplace obsługiwał podział płatności z Paystack, wymagane jest, aby podział był generowany dynamicznie na podstawie liczby sprzedawców, których produkty znajdują się w aktualnie przetwarzanym zamówieniu.

Aby obsługiwać płatności z wieloma podziałami, administrator Marketplace musi posiadać konto Paystack i skonfigurować wtyczkę za pomocą kluczy API, aby subkonta mogły być tworzone za pośrednictwem API Paystack. Podczas onboardingu sprzedawcy podadzą szczegóły swojego konta rozliczeniowego, które zostaną wykorzystane do skonfigurowania subkont i ułatwienia podziału płatności.

Pobierz schemat blokowy w postaci dokumentu PDF

Onboarding sprzedawców

Sugerujemy prosty system onboardingu, który pozwoli sprzedawcom na utworzenie konta z poziomu ustawień Marketplace, wypełniając prosty formularz z danymi wymaganymi przez Paystack do utworzenia konta, lub mogą oni ręcznie wypełnić dane konta, jeśli już posiadają konto w Paystack.

Oto schemat blokowy pokazujący proces onboardingu. Rozpoczyna się on od Panelu Sprzedawcy na stronie Ustawienia Płatności.

Po utworzeniu subkonta, kod subkonta dla sprzedawcy musi zostać zapisany na koncie bieżącego sprzedawcy na marketplace, aby można go było wykorzystać do podziału płatności. Szczegółowe informacje można znaleźć w przewodniku integracja bramki płatności.

Przykład

<?php update_user_meta( $user->ID, '_paystack_sub_account_code', 'ACCT_xxxxxxxxxxxxx' ); ?>

Przepływ realizacji zakupu przez klienta

Na stronie Sklepu marketplace klient może kupić dowolną liczbę produktów od dowolnej liczby sprzedawców. Podczas realizacji zakupu integracja bramki płatności musi pobrać listę sprzedawców z utworzonego zamówienia i wykorzystać tę listę do utworzenia podziału płatności na podstawie całkowitej kwoty dla każdego sprzedawcy w koszyku oraz prowizji ustalonej przez administratora marketplace.

Przetwarzanie płatności

Przetwarzanie płatności obejmuje obliczenie podziałów na podstawie należności sprzedawcy z zamówienia, szczegółowe informacje można znaleźć w dokumencie Integracja bramki płatności. Poniżej znajduje się schemat blokowy przetwarzania płatności.

Podzielone kwoty muszą być obliczane dynamicznie na podstawie pozycji zamówienia, ustawień prowizji i dodatkowych opłat za koszyk, takich jak podatki lub koszty wysyłki. Należy również sprawdzić, kto otrzymuje prowizję od podatków i wysyłki.

<?php
if ( wc_string_to_bool( get_option( 'wcvendors_vendor_give_taxes' ) ) ) {
	// Addd tax fees to vendor total
} else {
	// Add tax total to marketplace split
}
?>
if ( wc_string_to_bool( get_option( 'wcvendors_vendor_give_shipping' ) ) ) {
	// Addd shipping fees to vendor total
} else {
	// Add shipping total to marketplace split
}

Aby utworzyć podział dla każdego sprzedawcy na podstawie zamówienia, możesz uzyskać należności sprzedawcy z zamówienia, a następnie pobrać kod subkonta dla każdego sprzedawcy z lokalnej bazy danych za pomocą identyfikatora sprzedawcy. Dokument integracja z bramką płatności zawiera odniesienie. Kod subkonta zostanie zapisany na koncie sprzedawcy podczas onboardingu.

Przykład:

public function process_split_payment( $order ) {
	$vendors_due  = WCV_Vendors::get_vendor_dues_from_order( $order, false );
	$sub_accounts = array();

	foreach ( $vendors_due as $vendor_id => $products ) {

		$_vendor_account = get_user_meta( $vendor_id, '_paystack_sub_account_code', true );

		$sub_accounts[] = array(
			'subaccount' => $_vendor_account,
			'share'      => $calculated_share,
		);

		// Other processing.

	}

	$split_payments = array(
		'name'              => 'Percentage Split for order #' . $order->get_id(),
		'type'              => 'percentage',
		'currency'          => woocommerce_get_currency(),
		'subaccounts'       => $sub_accounts,
		'bearer_type'       => 'subaccount',
		'bearer_subaccount' => 'ACCT_hdl8abxl8drhrl3',
	);

	$this->send_split_to_paystack( $split_payments );

	// Other processing.
}

Dodatkowe ustawienia

Podczas tworzenia podziałów płatności konieczne jest sprawdzenie ustawień administratora i ustawień prowizji pod kątem wszelkich opłat, które mogą zostać potrącone od administratora lub z subkont. Obejmują one koszty wysyłki, opłaty Paystack, podatki i inne opłaty. Opłaty te muszą być prawidłowo przypisane i potrącone lub wypłacone każdemu sprzedawcy, jeśli to konieczne.

Mogą być one również skonfigurowane na zasadzie transakcji i mogą wykorzystywać ustawienia konfiguracyjne określone przez właściciela platformy na stronie konfiguracji wtyczki. Musimy również wyświetlić te informacje sprzedawcom podczas onboardingu, aby wiedzieli, w co się pakują i jakie są związane z tym opłaty. Ponadto te ustawienia powinny być dostępne tylko wtedy, gdy zainstalowano wtyczkę WooCommerce + Paystack dla WooCommerce.

Czy ten artykuł był pomocny?

Powiązane artykuły

Zakończ zakup