Send Stripe more info to make customer service easier, cap margin at $3 per label
This commit is contained in:
parent
d8feed270d
commit
378b6dae63
@ -9,10 +9,17 @@ try {
|
|||||||
$shipment = \EasyPost\Shipment::retrieve($_REQUEST["shipmentid"]);
|
$shipment = \EasyPost\Shipment::retrieve($_REQUEST["shipmentid"]);
|
||||||
|
|
||||||
$price = 0;
|
$price = 0;
|
||||||
|
$cost = 0;
|
||||||
foreach ($shipment->rates as $rate) {
|
foreach ($shipment->rates as $rate) {
|
||||||
if ($rate->id == $_REQUEST["rateid"]) {
|
if ($rate->id == $_REQUEST["rateid"]) {
|
||||||
|
$cost = $rate->rate;
|
||||||
$retail_rate = $rate->retail_rate ?? ($rate->list_rate ?? $rate->rate);
|
$retail_rate = $rate->retail_rate ?? ($rate->list_rate ?? $rate->rate);
|
||||||
$price = $retail_rate + 1.00;
|
if ($retail_rate - $cost > 3) {
|
||||||
|
// Cap at $3 profit to be nice
|
||||||
|
$price = $cost + 3.00;
|
||||||
|
} else {
|
||||||
|
$price = $cost + 1.00;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -45,9 +52,40 @@ try {
|
|||||||
$shipment->buy(['rate' => ['id' => $_REQUEST["rateid"]]]);
|
$shipment->buy(['rate' => ['id' => $_REQUEST["rateid"]]]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$pdffile = date("Ymd") . "_" . hash("sha256", $shipment->id) . ".pdf";
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$stripe = new \Stripe\StripeClient($_SETTINGS["stripe_sk"]);
|
$stripe = new \Stripe\StripeClient($_SETTINGS["stripe_sk"]);
|
||||||
$stripe->paymentIntents->update($intent->id, ["metadata" => ["tracking_number" => "$shipment->tracking_code", "rate" => $price - 1.00]]);
|
$stripe->paymentIntents->update($intent->id, [
|
||||||
|
"metadata" => [
|
||||||
|
"tracking_number" => "$shipment->tracking_code",
|
||||||
|
"from_email" => (empty($shipment->from_address->email) ? "None" : $shipment->from_address->email . ""),
|
||||||
|
"rate" => number_format($cost, 2),
|
||||||
|
"label" => $pdffile
|
||||||
|
],
|
||||||
|
"amount_details" => [
|
||||||
|
"line_items" => [
|
||||||
|
[
|
||||||
|
"product_name" => "Shipping Label",
|
||||||
|
"quantity" => 1,
|
||||||
|
"unit_cost" => $price * 100,
|
||||||
|
"unit_of_measure" => "each",
|
||||||
|
"product_code" => "$shipment->tracking_code",
|
||||||
|
"tax" => [
|
||||||
|
"total_tax_amount" => 0
|
||||||
|
],
|
||||||
|
"payment_method_options" => [
|
||||||
|
"card" => [
|
||||||
|
"commodity_code" => "43231515" // UNSPSC: Mailing and shipping software / Software that offices can use as an alternative to postage meters to print postage stamps and shipping labels.
|
||||||
|
]
|
||||||
|
]
|
||||||
|
]
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"payment_details" => [
|
||||||
|
"order_reference" => "$shipment->tracking_code"
|
||||||
|
]
|
||||||
|
]);
|
||||||
} catch (Exception $exx) {
|
} catch (Exception $exx) {
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -143,7 +181,6 @@ try {
|
|||||||
$pdf->AddPage();
|
$pdf->AddPage();
|
||||||
$pdf->Image($tmpfile, 0, 0, -300, -300, "PNG");
|
$pdf->Image($tmpfile, 0, 0, -300, -300, "PNG");
|
||||||
|
|
||||||
$pdffile = date("Ymd") . "_" . hash("sha256", $_REQUEST["shipmentid"]) . ".pdf";
|
|
||||||
$pdf->Output("F", __DIR__ . "/pdf/" . $pdffile);
|
$pdf->Output("F", __DIR__ . "/pdf/" . $pdffile);
|
||||||
|
|
||||||
// cleanup temp file
|
// cleanup temp file
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user